A low-code front-end framework that allows you to generate various backend pages using JSON configuration, greatly reducing development costs, and even eliminating the need for front-end expertise.
The following is for those who want to contribute to the development of amis. For usage, refer to the documentation above.
If GitHub downloads are slow, you can use the mirror on gitee.
Node.js versions 12/14/16 are recommended. Use npm 7+ because the workspaces feature is required.
# Install project dependencies. There may be errors with Node.js 12, but they don't affect normal use.
npm i --legacy-peer-deps
# Start the project. Once compilation is complete, access it at http://127.0.0.1:8888/examples/pages/simple.
npm start
If you're developing the editor, access it at http://127.0.0.1:8888/packages/amis-editor/
.
Note: After modifying code locally, you must run npm run build to complete compilation before executing test cases (
npm test --workspaces
), as Jest doesn't support TypeScript directly.
# Install dependencies
npm i --legacy-peer-deps
# Build the project
npm run build
# Run all test cases
npm test --workspaces
# Run a specific test case
# <spec-name> is the name of the test case, e.g., inputImage
npm test --workspace amis -- -t <spec-name>
# Run a specific test file
./node_modules/.bin/jest packages/amis/__tests__/renderers/Form/buttonToolBar.test.tsx
# Run a specific example in a test file
./node_modules/.bin/jest packages/amis/__tests__/renderers/Form/buttonToolBar.test.tsx -t 'Renderer:button-toolbar'
# View test coverage
npm run coverage
# Update snapshots
npm run update-snapshot
# Update a single snapshot
# <spec-name> is the name of the test case, e.g., inputImage
npm run update-snapshot --workspace amis -- -t <spec-name>
# Publish to internal registry
npm run publish
# Publish to external environment
# First, set the version number with the following command
npm run version
npm run release
Please use a branch for development. First, create a branch:
git checkout -b feat-xxx
After committing your changes, use git push --set-upstream origin feat-xxx
to create a remote branch.
Then submit a PR using the system-generated link: https://github.com/xxx/amis/pull/new/feat-xxx.
Please write in TypeScript. All reasonable changes, new public renderers, test cases, or documentation submissions will be accepted.
amis enables low-code front-end development. For a complete low-code platform, we recommend using AiSuDa.