# amis

> 一种MIS页面生成工具

Latest version **6.13.0** (published 2025-08-12) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install amis
pnpm add amis
yarn add amis
bun add amis
```

## Health

**Score 55/100 (C)** — status: stable.

Positive: has types; esm support; no vulnerabilities; high quality score; popular repo.

Warnings: low downloads; large bundle.

Negative: stale.

## Facts

| | |
|---|---|
| Version | 6.13.0 |
| Published | 2025-08-12 |
| First published | 2019-04-29 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 38 |
| Unpacked size | 73.7 MB |
| Known vulnerabilities | 0 (+3 in 2 direct dependencies) |
| Install scripts | no |
| GitHub stars | 18891 |
| Author | baidu |
| Maintainers | zhangjunah, nwind, 2betop, fis-dev, z418577198, yangwei9012, hsm-lv |
| Keywords | react, amis, mis, renderer, json, schema |

## Links

- npm: https://www.npmjs.com/package/amis
- Repository: https://github.com/baidu/amis
- Homepage: https://github.com/baidu/amis#readme
- Issues: https://github.com/baidu/amis/issues
- npm.io page: https://npm.io/package/amis

## Dependencies (38)

- [mobx](https://npm.io/package/mobx.md) ^4.5.0
- [xlsx](https://npm.io/package/xlsx.md) ^0.18.5
- [tslib](https://npm.io/package/tslib.md) ^2.3.1
- [file64](https://npm.io/package/file64.md) ^1.0.4
- [hls.js](https://npm.io/package/hls.js.md) 1.1.3
- [lodash](https://npm.io/package/lodash.md) ^4.17.15
- [moment](https://npm.io/package/moment.md) ^2.19.4
- [amis-ui](https://npm.io/package/amis-ui.md) ^6.13.0
- [echarts](https://npm.io/package/echarts.md) 5.5.1
- [exceljs](https://npm.io/package/exceljs.md) ^4.4.0
- [keycode](https://npm.io/package/keycode.md) ^2.2.1
- [amis-core](https://npm.io/package/amis-core.md) ^6.13.0
- [downshift](https://npm.io/package/downshift.md) 6.1.12
- [jsbarcode](https://npm.io/package/jsbarcode.md) ^3.11.5
- [mpegts.js](https://npm.io/package/mpegts.js.md) ^1.6.10
- [classnames](https://npm.io/package/classnames.md) 2.3.2
- [file-saver](https://npm.io/package/file-saver.md) ^2.0.2
- [hotkeys-js](https://npm.io/package/hotkeys-js.md) ^3.8.7
- [mobx-react](https://npm.io/package/mobx-react.md) ^6.3.1
- [prop-types](https://npm.io/package/prop-types.md) ^15.6.1
- [sortablejs](https://npm.io/package/sortablejs.md) 1.15.0
- [attr-accept](https://npm.io/package/attr-accept.md) 2.2.2
- [video-react](https://npm.io/package/video-react.md) 0.15.0
- [echarts-stat](https://npm.io/package/echarts-stat.md) ^1.2.0
- [match-sorter](https://npm.io/package/match-sorter.md) ^6.3.1
- [office-viewer](https://npm.io/package/office-viewer.md) *
- [react-cropper](https://npm.io/package/react-cropper.md) ^2.1.8
- [react-dropzone](https://npm.io/package/react-dropzone.md) ^11.4.2
- [mobx-state-tree](https://npm.io/package/mobx-state-tree.md) ^3.17.3
- [moment-timezone](https://npm.io/package/moment-timezone.md) ^0.5.34
- [react-json-view](https://npm.io/package/react-json-view.md) 1.21.3
- [echarts-wordcloud](https://npm.io/package/echarts-wordcloud.md) ^2.1.0
- [qrcode-react-next](https://npm.io/package/qrcode-react-next.md) 1.0.0
- [immutability-helper](https://npm.io/package/immutability-helper.md) ^3.1.1
- [blueimp-canvastoblob](https://npm.io/package/blueimp-canvastoblob.md) 2.1.0
- [react-transition-group](https://npm.io/package/react-transition-group.md) 4.4.2
- [hoist-non-react-statics](https://npm.io/package/hoist-non-react-statics.md) ^3.3.2
- [react-intersection-observer](https://npm.io/package/react-intersection-observer.md) 9.5.2

## Alternatives

- [@mapbox/jsonlint-lines-primitives](https://npm.io/package/@mapbox/jsonlint-lines-primitives.md) — 5.3M weekly downloads
- [reftools](https://npm.io/package/reftools.md) — 3.5M weekly downloads
- [@hey-api/openapi-ts](https://npm.io/package/@hey-api/openapi-ts.md) — 3.5M weekly downloads
- [@mapbox/geojson-rewind](https://npm.io/package/@mapbox/geojson-rewind.md) — 2.4M weekly downloads
- [turbo-stream](https://npm.io/package/turbo-stream.md) — 1.7M weekly downloads

## Recent versions

- 6.13.0 (latest) — 2025-08-12
- 6.12.0-ab.10 (custom) — 2026-01-27
- 7.0.0-next.8 (next) — 2025-12-29
- 6.14.0-beta.15 (beta) — 2025-12-25
- 1.4.1-echarts-5.3.1 (newEcharts) — 2022-03-10
- 6.12.0-ab.9 — 2026-01-05
- 7.0.0-next.7 — 2025-12-27
- 7.0.0-next.6 — 2025-12-25
- 7.0.0-next.5 — 2025-12-25
- 6.12.0-ab.7 — 2025-12-25
- 7.0.0-next.4 — 2025-12-25
- 7.0.0-next.3 — 2025-12-25
- 7.0.0-next.2 — 2025-12-24
- 7.0.0-next.1 — 2025-12-24
- 7.0.0-next.0 — 2025-12-24
- … 773 more at https://npm.io/package/amis/versions

## README

<div align="center">
  <p>
    <img width="284" src="https://github.com/baidu/amis/raw/master/examples/static/logo.png">
  </p>

[文档（国内）](https://aisuda.bce.baidu.com/amis/) |
[文档（国外）](https://baidu.github.io/amis/) |
[可视化编辑器](https://aisuda.github.io/amis-editor-demo/) |
[amis-admin](https://github.com/aisuda/amis-admin) |
[爱速搭](https://aisuda.baidu.com/)

</div>

<div align="center">
  如流群：3395342 |
  如流群2：5511067|
</div>

<div align="center">

![build](https://img.shields.io/github/actions/workflow/status/baidu/amis/gh-pages.yml)
![license](https://img.shields.io/github/license/baidu/amis.svg)
![version](https://img.shields.io/npm/v/amis)
![language](https://img.shields.io/github/languages/top/baidu/amis)
[![codecov](https://codecov.io/gh/baidu/amis/branch/master/graph/badge.svg?token=9LwimHGoE5)](https://codecov.io/gh/baidu/amis)
![last](https://img.shields.io/github/last-commit/baidu/amis.svg)

</div>

前端低代码框架，通过 JSON 配置就能生成各种后台页面，极大减少开发成本，甚至可以不需要了解前端。

## 开发指南

以下是参与开发 amis 才需要看的，使用请看前面的文档。

> 如果 github 下载慢可以使用 [gitee](https://gitee.com/baidu/amis) 上的镜像。

推荐使用 node 12/14/16。npm 7+， 因为用到了 workspaces 功能。

```bash
# 安装项目 npm 依赖，在 node 12 下会有报错但不影响正常使用。
npm i --legacy-peer-deps

# 启动项目，等编译结束后通过 http://127.0.0.1:8888/examples/pages/simple 访问。
npm start
```

如果是开发编辑器，需要访问 `http://127.0.0.1:8888/packages/amis-editor/`

### 测试

> 注意：本地修改代码后，执行测试用例（`npm test --workspaces`）之前需要先执行`npm run build`完成编译，因为 jest 并不支持 TypeScript

```bash
# 安装依赖
npm i --legacy-peer-deps

# 执行构建
npm run build

# 执行测试用例
npm test --workspaces

# 测试某个用例
# <spec-name>为用例名称，比如inputImage
npm test --workspace amis -- -t <spec-name>

# 运行某个单测文件
./node_modules/.bin/jest packages/amis/__tests__/renderers/Form/buttonToolBar.test.tsx

# 运行某个单测文件里的某个例子
./node_modules/.bin/jest packages/amis/__tests__/renderers/Form/buttonToolBar.test.tsx -t 'Renderer:button-toolbar'

# 查看测试用例覆盖率
npm run coverage

# 更新 snapshot
npm run update-snapshot

# 更新单个 snapshot
# <spec-name>为用例名称，比如inputImage
npm run update-snapshot --workspace amis -- -t  <spec-name>
```

### 发布版本

```bash
# 发布内部 registry
npm run publish

# 发布外网环境
# 先通过一下命令设置版本号
npm run version
npm run release
```

### 如何贡献

请使用分支开发，首先创建分支

    git checkout -b feat-xxx

开发提交后使用 `git push --set-upstream origin feat-xxx` 创建远程分支。

然后通过系统提示的 https://github.com/xxx/amis/pull/new/feat-xxx 链接来提交 PR。

请采用 typescript 编写，所有合理的改动、新的公用渲染器、用例或者文档的提交都会被接收。

## 贡献者

<a href="https://github.com/baidu/amis/graphs/contributors"><img src="https://opencollective.com/amis/contributors.svg?width=890" /></a>

## 低代码平台

amis 只能实现前端低代码，如果需要完整的低代码平台推荐使用[爱速搭](https://aisuda.baidu.com/)。

---
_Source: https://npm.io/package/amis · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
