{"_id":"@alilc/lowcode-code-generator","_rev":"58-9eb93a52826293faddb936c5842dce1e","name":"@alilc/lowcode-code-generator","dist-tags":{"beta":"1.1.3-beta.3","latest":"1.1.7"},"versions":{"1.0.0-beta.4":{"name":"@alilc/lowcode-code-generator","version":"1.0.0-beta.4","license":"MIT","_id":"@alilc/lowcode-code-generator@1.0.0-beta.4","maintainers":[{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"npm":{"mode":"yarn","lockfile":"enable"},"dist":{"shasum":"92415f7950d2409a773f6f821954a20a8c20af39","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.0.0-beta.4.tgz","fileCount":8,"integrity":"sha512-WUGulhwmeRli5N+hkpehb+3eX73lIlllZoqqlLed0JFIl9ZWTF+ZfBd7ikvjbtSC8MJDoWmqbZMOCTrUvNwo/g==","signatures":[{"sig":"MEYCIQDJUyCwoey1dZTgI3psSVQzZy3ni8dwgUSQk1b1fLLe4gIhALv6EfauolOUoHJh72dSPUARy1/GvnIYthvjhq1LBRPg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1109556,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh5Rc0CRA9TVsSAnZWagAAdu4P/i94Bs3iLrNQ5VLdw7rY\n76M0ZwAbYF3Z6sWvl/JppET33cdFe1xwXi1rslob3lcogFcGoniLEoMdNMou\nJnohfOlJTnzubQujcKbFuo62edSKgu6TNcPboEWTnFXmmXZUGksI9msK5VzE\nxMIH02y69KmA51hkVSLK+SehHQmguzIgysEjdM5H6OphFycsvF63eM2FaXMo\nzg5ZPkHeGRZ4F8fuZvktizgFuVjfdjGlrYoyNJmAJRtfefi4GO7IBmqAroXY\nQ6URbJsZp7mnTWQUSoHvTaBVvY4DY+cS3A1XJ+EpB2ff779oTHJ3J0cxvypb\n5Vu+dwl9NI2zv8XewsBfeO9wL21KnLzCfvIbd/yxeoeqDpRTrLOXWTyH5h7r\nNRcc2OEZCSpdHlKPshV/tChpy7NuC1sgC/bVde6mn72edy8lNA/uFUMX6EED\n0L8rKkTS9D1wxhoRFbDWhnvtWzsQk2dHcfgYM2JEdYVo5gk9kwqOkbZD8LCL\n53ZX6XiCOr64/pLSJRSk7HcjUEaqTMrZ23+2dmPvwSWQwTwd4/URS3YByNXP\ndEJHANwuDYeeWgK8qMNpu4URH/mDGSjUDbAH/+t4A/SBAycb4d+Dw3g2WJWk\n036QTi3HnS/+IqJ2d6IHGDVMiLbq3xQHpZdiZPsgVq4Sp9fnoQNi6GYaOb4y\niSUa\r\n=R05z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"jest","build":"npm run clean && node scripts/build","clean":"rimraf es lib types dist test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","release":"standard-version -t @alilc/lowcode-code-generator\\@ && git push --follow-tags && npm publish","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ --prerelease beta && git push --follow-tags && npm publish --tag beta","prepublishOnly":"npm run build","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"},"_npmVersion":"6.14.13","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"14.17.1","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@alilc/lowcode-types":"1.0.0-beta.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.3.1","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^27.0.7","ts-node":"^8.10.2","cross-env":"^7.0.3","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","build-plugin-component":"^0.2.22","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.0.0-beta.4_1642403636154_0.5036265059920053","host":"s3://npm-registry-packages"}},"1.0.0-beta.14":{"name":"@alilc/lowcode-code-generator","version":"1.0.0-beta.14","license":"MIT","_id":"@alilc/lowcode-code-generator@1.0.0-beta.14","maintainers":[{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"npm":{"mode":"yarn","lockfile":"enable"},"dist":{"shasum":"041c188f90d94f738fb07248fb59d6f2f787dc79","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.0.0-beta.14.tgz","fileCount":163,"integrity":"sha512-/M8nAwA/WoZCyTd035wAIsjul7m0R7QJfPuu1L9XCoM5D+Fkp3xA4I6wZrdv8zMaid/6YN0NL+T1JegBYX8tVA==","signatures":[{"sig":"MEUCIA00qcjPNyP4I26CDijxRy6xpFD4lEgaQFv90CXju8OXAiEAnbNYq26fG1PqD7EG2MQK6zP8112SePmYSsezPAEvivk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42611284,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6EMTCRA9TVsSAnZWagAAnWgP/ih7Q2QrI8TQ3RaMSWtv\nXtnwuI6KgKEgJ2n1L9m0diO8BaugGb4VI8ERiMcPHHZBjJLJn/aTvk35bpA8\nmm2d+6lKL7QMTXnPN3ngDOkk3VC+WnFXZ436MYSY+kH8BWeXamBB3hwzKSnK\npCnU3MESEazv1vO3AZ3YPvKSz7QHDjQMwkmolxPJhUIO/Q1jXscrGrQrBlQ6\nNEUBG0cwIccLD9mA7w+KX4FSzv9Q/E3p0R5Zp80NwXxd96ky2BtLMNfOAWSh\njT++ojbBsbpWDR3fe6iqcr/V8OPahA358DUYn1lSvBg4tWuIt8RZzs4N+04+\nXZ/Z7i1sVzf4y+xAgtEkJ01SAAEcW8/6xHsMGFRZqfhi12tN6J/TEU/KWcxz\n9WVNiTx1dKoxN8VFf77nU+ICaewMPSsMRqFDnhH4QLHgVlqrxKhSkFW+/MKY\nJjL4LbOCl0JbwFPZPGfHdYL/rILQHkCgWW4J0v+6KsfipBqPcEp5QfmjQb6a\nM1cxzZhzrdjEhMvQUAKW/+qo6bLLvqlRXMu1iiMSEDD5VqKSXWR6uQ2y7CR0\nKvny0TaSj/iCGS+htz9600XfxC0QbXqvvAykz30Xco/HuykvVpg+8RDZsy4W\nfs3ctDiZMTbnC80akzPWGGdPbbueUgY9XS7LtBU7JBu25neDG2+tpSpoST1j\nvvJS\r\n=AtvK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"gitHead":"340fd87bf7ee8e10c304dfea1ed0ec3a7cd31d0e","scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","release":"standard-version -t @alilc/lowcode-code-generator\\@ && git push --follow-tags && tnpm publish","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ --prerelease beta && git push --follow-tags && tnpm publish --tag beta","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"clarencep","email":"clarence.pchy@gmail.com"},"_npmVersion":"8.1.0","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"14.18.1","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"1.0.0-beta.13"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.7","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^27.1.3","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","build-plugin-component":"^0.2.22","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.0.0-beta.14_1642611474796_0.9573063794268397","host":"s3://npm-registry-packages"}},"1.0.0-beta.15":{"name":"@alilc/lowcode-code-generator","version":"1.0.0-beta.15","license":"MIT","_id":"@alilc/lowcode-code-generator@1.0.0-beta.15","maintainers":[{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"npm":{"mode":"yarn","lockfile":"enable"},"dist":{"shasum":"ff78c817a69c29b2832c84daf20623ca76d672c2","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.0.0-beta.15.tgz","fileCount":163,"integrity":"sha512-dJW+IBZvtFjU8NARa+qKc4azBb6d6sId9ocL+PFU6rF7Xpt/4bgqOuL8dJYRxDTMcdM0rIxPBdKOFbgajoztgA==","signatures":[{"sig":"MEUCIBJ+KjJYFp07rq5tLQ8mnexU0xNk8gVniP7kDb+HqvwSAiEAlY6Gs6RfR6hgMftghLD9I6GyYph4FJ/8qNtliSmYFQs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42611692,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6EcuCRA9TVsSAnZWagAAVXkQAJhBqO7DLHBbJeNf4Wjm\nQI6gng1EvurchzJy8Mq/mxaqwPRr/4YKN90fUNnDpEZuh9mLhKRugjFZqNsQ\n86Np2xo4ksC6F1G8AQ01Ao0wo92KjMYwZA2iZihUoo7NdK5sa8aj2deQssBK\nKesHoJsQ1HBXYkjx59rGzaWa3cfURNvSjFJvMG7OtRSnEvXgpA3SquKThSPE\nFT5XEhYzMlH80HouJz5Euml7aGpcuicDx2i6ZoyN3pYCgxZx2Qo8cKZH1Pli\n+IJkQZ2h4mrQeKq3o2+vK8pd8BzpQXkber8u1ZXIL6fjNNlWaT6gec/sSAnW\nujLLHNdStXXnDWOUDY0l1TGO3+YbFl8mbo3XhycJGKqhoRlyhgsyCsTwBjMe\niTiNczBmk1FvJL480Jwd/6t4ikOzgJEaM/CCpqYbMf32NqfjVHgens+PNft/\n1hHWsSKpReQDhtabSjDTEyZJsBiL6meT1UZ20SvHwZGQzzgE7WC3lExyqXUh\n7Fw1wOTx7KQrXap+0Y3uiTuK1Ik+OwKRmuFB+uceRwBaiNZpVnn8tPmplZAn\nRBTbPN2LH57XCbkzazrZwsG7kQaCE2jA3rs9o868c68jOXq6AMWKG869PooC\nJL5kf206rMcIIVm3QVSaraSqvOryMCoIbkJPBCDeq72S5AAG9VnhD8EBsbZ/\n2KpS\r\n=H8QE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","readme":"# 出码\n\n所谓出码，即将低代码编排出的 schema 进行解析并转换成最终可执行的代码的过程。本模块提供有 Icejs 和 Rax 两套框架的出码方案，并提供了强大而灵活的扩展机制。\n\n## 使用方法\n\n### 1) 通过命令行快速体验\n\n欢迎使用命令行工具快速体验：`npx @alilc/lowcode-code-generator -i example-schema.json -o generated -s icejs`\n\n--其中 example-schema.json 可以从[这里下载](https://unpkg.com/@alilc/lowcode-code-generator@beta/example-schema.json)\n\n### 2) 通过设计器插件快速体验\n\n1. 安装依赖: `npm install --save @alilc/lowcode-plugin-code-generator`\n2. 注册插件:\n\n```ts\nimport { plugins } from '@alilc/lowcode-engine';\nimport CodeGenPlugin from '@alilc/lowcode-plugin-code-generator';\n\n// 在你的初始化函数中：\nawait plugins.register(CodeGenPlugin);\n\n// 如果您不希望自动加上出码按钮，则可以这样注册\nawait plugins.register(CodeGenPlugin, { disableCodeGenActionBtn: true });\n```\n\n然后运行你的低代码编辑器项目即可 -- 在设计器的右上角会出现一个“出码”按钮，点击即可在浏览器中出码并预览。\n\n### 3）服务端出码接入\n\n此代码生成器一开始就是为服务端出码设计的，你可以直接这样来在 node.js 环境中使用：\n\n1. 安装依赖: `npm install --save @alilc/lowcode-code-generator`\n2. 引入代码生成器:\n\n```js\nimport CodeGenerator from '@alilc/lowcode-code-generator';\n```\n\n3. 创建项目构建器:\n\n```js\nconst projectBuilder = CodeGenerator.solutions.icejs();\n```\n\n4. 生成代码\n\n```js\nconst project = await projectBuilder.generateProject(\n  schema, // 编排搭建出来的 schema\n);\n```\n\n5. 将生成的代码写入到磁盘中(也可以生成一个 zip 包)\n\n```js\n// 写入磁盘\nawait CodeGenerator.publishers.disk().publish({\n  project, // 上一步生成的 project\n  outputPath: '/path/to/your/output/dir', // 输出目录\n  projectSlug: 'your-project-slug', // 项目标识\n});\n\n// 写入到 zip 包\nawait CodeGenerator.publishers.zip().publish({\n  project, // 上一步生成的 project\n  outputPath: '/path/to/your/output/dir', // 输出目录\n  projectSlug: 'your-project-slug', // 项目标识 -- 对应生成 your-project-slug.zip 文件\n});\n```\n\n注：一般来说在服务端出码可以跟 github/gitlab, CI 和 CD 流程等一起串起来使用，通常用于优化性能。\n\n### 4）浏览器中出码接入\n\n随着现在电脑性能和浏览器技术的发展，出码其实已经不必非得在服务端做了，借助于 Web Worker 特性，可以在浏览器中进行出码：\n\n1. 安装依赖: `npm install --save @alilc/lowcode-code-generator`\n2. 引入代码生成器:\n\n```js\nimport * as CodeGenerator from '@alilc/lowcode-code-generator/standalone-loader';\n```\n\n3. 【可选】提前初始化代码生成器:\n\n```js\n// 提前初始化下，这样后面用的时候更快(这个 init 内部会提前准备好创建 worker 的一些资源)\nawait CodeGenerator.init();\n```\n\n4. 出码\n\n```js\nconst result = await CodeGenerator.generateCode({\n  solution: 'icejs', // 出码方案 (目前内置有 icejs 和 rax )\n  schema, // 编排搭建出来的 schema\n});\n\nconsole.log(result); // 出码结果(默认是递归结构描述的，可以传 flattenResult: true 以生成扁平结构的结果)\n```\n\n注：一般来说在浏览器中出码适合做即时预览功能。\n\n### 5）自定义出码\n\n前端框架灵活多变，默认内置的出码方案很难满足所有人的需求，好在此代码生成器支持非常灵活的插件机制 -- 欢迎参考 ./src/plugins/xxx 来编写您自己的出码插件，然后参考 ./src/solutions/xxx 将各种插件组合成一套适合您的业务场景的出码方案。\n\n## 参与共建\n\n欢迎参与共建，如何共建请参阅：[./CONTRIBUTING.md](https://code.aone.alibaba-inc.com/ali-lowcode/code-generator/blob/develop/CONTRIBUTING.md)\n","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"gitHead":"334d2e03e26b25d0053dad0bb8a12a48c0b8e7ab","scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","release":"standard-version -t @alilc/lowcode-code-generator\\@ && git push --follow-tags && npm publish","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ --prerelease beta && git push --follow-tags && npm publish --tag beta","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"clarencep","email":"clarence.pchy@gmail.com"},"_npmVersion":"8.1.0","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"14.18.1","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"1.0.0-beta.13"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^27.4.7","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^27.1.3","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","build-plugin-component":"^0.2.22","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.0.0-beta.15_1642612526064_0.002359650797921331","host":"s3://npm-registry-packages"}},"1.0.0-beta.16":{"name":"@alilc/lowcode-code-generator","version":"1.0.0-beta.16","license":"MIT","_id":"@alilc/lowcode-code-generator@1.0.0-beta.16","maintainers":[{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"9366d5c3ad0af449b554b92ef35a27925740c1cd","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.0.0-beta.16.tgz","fileCount":164,"integrity":"sha512-eiWYAhFsQFabVz921rWJUL0lheIdtF/S8fvpFx8XJFRPsYwbde4+TW90FMTME3Gf8chfwtuXVRdOFdTmZ4/5Tg==","signatures":[{"sig":"MEUCIQD0WZ1GQCq0o3Zv4fbcMPHUM3hKRdOGYhEqAOz0DgpDqgIgQt06KP+fBrTp4vplDQDkZXyByupZqR7lW2Uy9X2h1PY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42624966,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAMyRCRA9TVsSAnZWagAA7ZIP/3/FD6U04DiI6caJadrw\nyqY2V6+pykbq1Qqasbej7WpjWt6Y6BIW3iVe54xEWFddbbt9Qg8LzA3qJoi1\nEmBCRHtCRplNW0GU+0Le7MtYnOUaSzcy87DRHT724CXfdiPF8A3E8PD83veV\nSiOlG13yjj70OLb5pyR8eGsc/9AExScU7XvVi0TxzkRjeVs/D794XFdE1KuQ\nXQRLMAvz1qM+GbWRap581UdcYTwXuIPfe5XY37XGrkClNYbhckQEB9U428Ni\nB9B6gOqdoH2LUdndwRhBEOj3vCc7ixQ0Ccafk/LC2aGLRAMu8sLS5FS4OfLB\n3FunQFYIO3fmFtHZElFiPb4BIbDSJmw2cik9l0e6TLzK7182xdnGkRMLidPm\nWnXxyCDvTTo0zwW8e9Rnr2XVjaTxpR50OAITrqef1/2jw8ex+0jWOHRO3nep\ndu+7BXXC8LXXhxYyvwS+5GWOd06+ouhwUCRpVjsATzzxI/9AQ5VOLg+rk5+F\n4LaDAA8JlWeXcgBMz4Jiwa2c3Utr+iTEBu6+OJHyPYjDsMLbHgwqhg02c3Kz\ndaoat4HZjBqJ/50bSk1hVzwECohESXlfRmbORTT6LUJoTNwe+lvRKQrRfLeT\nuMrrcys703TWvSpaSOq1kjrKpn2rnJToN7qcZ72SylUa5uXL3P6KkuyUFL9d\n95kL\r\n=ckfc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","readme":"# 出码\n\n所谓出码，即将低代码编排出的 schema 进行解析并转换成最终可执行的代码的过程。本模块提供有 Icejs 和 Rax 两套框架的出码方案，并提供了强大而灵活的扩展机制。\n\n## 使用方法\n\n### 1) 通过命令行快速体验\n\n欢迎使用命令行工具快速体验：`npx @alilc/lowcode-code-generator -i example-schema.json -o generated -s icejs`\n\n--其中 example-schema.json 可以从[这里下载](https://unpkg.com/@alilc/lowcode-code-generator@beta/example-schema.json)\n\n### 2) 通过设计器插件快速体验\n\n1. 安装依赖: `npm install --save @alilc/lowcode-plugin-code-generator`\n2. 注册插件:\n\n```ts\nimport { plugins } from '@alilc/lowcode-engine';\nimport CodeGenPlugin from '@alilc/lowcode-plugin-code-generator';\n\n// 在你的初始化函数中：\nawait plugins.register(CodeGenPlugin);\n\n// 如果您不希望自动加上出码按钮，则可以这样注册\nawait plugins.register(CodeGenPlugin, { disableCodeGenActionBtn: true });\n```\n\n然后运行你的低代码编辑器项目即可 -- 在设计器的右上角会出现一个“出码”按钮，点击即可在浏览器中出码并预览。\n\n### 3）服务端出码接入\n\n此代码生成器一开始就是为服务端出码设计的，你可以直接这样来在 node.js 环境中使用：\n\n1. 安装依赖: `npm install --save @alilc/lowcode-code-generator`\n2. 引入代码生成器:\n\n```js\nimport CodeGenerator from '@alilc/lowcode-code-generator';\n```\n\n3. 创建项目构建器:\n\n```js\nconst projectBuilder = CodeGenerator.solutions.icejs();\n```\n\n4. 生成代码\n\n```js\nconst project = await projectBuilder.generateProject(\n  schema, // 编排搭建出来的 schema\n);\n```\n\n5. 将生成的代码写入到磁盘中(也可以生成一个 zip 包)\n\n```js\n// 写入磁盘\nawait CodeGenerator.publishers.disk().publish({\n  project, // 上一步生成的 project\n  outputPath: '/path/to/your/output/dir', // 输出目录\n  projectSlug: 'your-project-slug', // 项目标识\n});\n\n// 写入到 zip 包\nawait CodeGenerator.publishers.zip().publish({\n  project, // 上一步生成的 project\n  outputPath: '/path/to/your/output/dir', // 输出目录\n  projectSlug: 'your-project-slug', // 项目标识 -- 对应生成 your-project-slug.zip 文件\n});\n```\n\n注：一般来说在服务端出码可以跟 github/gitlab, CI 和 CD 流程等一起串起来使用，通常用于优化性能。\n\n### 4）浏览器中出码接入\n\n随着现在电脑性能和浏览器技术的发展，出码其实已经不必非得在服务端做了，借助于 Web Worker 特性，可以在浏览器中进行出码：\n\n1. 安装依赖: `npm install --save @alilc/lowcode-code-generator`\n2. 引入代码生成器:\n\n```js\nimport * as CodeGenerator from '@alilc/lowcode-code-generator/standalone-loader';\n```\n\n3. 【可选】提前初始化代码生成器:\n\n```js\n// 提前初始化下，这样后面用的时候更快(这个 init 内部会提前准备好创建 worker 的一些资源)\nawait CodeGenerator.init();\n```\n\n4. 出码\n\n```js\nconst result = await CodeGenerator.generateCode({\n  solution: 'icejs', // 出码方案 (目前内置有 icejs 和 rax )\n  schema, // 编排搭建出来的 schema\n});\n\nconsole.log(result); // 出码结果(默认是递归结构描述的，可以传 flattenResult: true 以生成扁平结构的结果)\n```\n\n注：一般来说在浏览器中出码适合做即时预览功能。\n\n### 5）自定义出码\n\n前端框架灵活多变，默认内置的出码方案很难满足所有人的需求，好在此代码生成器支持非常灵活的插件机制 -- 欢迎参考 ./src/plugins/xxx 来编写您自己的出码插件，然后参考 ./src/solutions/xxx 将各种插件组合成一套适合您的业务场景的出码方案。\n\n## 参与共建\n\n欢迎参与共建，如何共建请参阅：[./CONTRIBUTING.md](https://code.aone.alibaba-inc.com/ali-lowcode/code-generator/blob/develop/CONTRIBUTING.md)\n","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"gitHead":"5f8c6bd714ad5028a19558a0f07b2d5683e51458","scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","release":"standard-version -t @alilc/lowcode-code-generator\\@ && git push --follow-tags && npm publish","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ --prerelease beta && git push --follow-tags && npm publish --tag beta","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"clarencep","email":"clarence.pchy@gmail.com"},"_npmVersion":"8.1.0","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"14.18.1","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0-beta.19"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^27.4.7","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^27.1.3","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.0.0-beta.16_1644219537482_0.574543859632586","host":"s3://npm-registry-packages"}},"1.0.0-beta.18":{"name":"@alilc/lowcode-code-generator","version":"1.0.0-beta.18","license":"MIT","_id":"@alilc/lowcode-code-generator@1.0.0-beta.18","maintainers":[{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"b01bcdbab7ebd57c40d5d7aeb41bd014b8ff624d","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.0.0-beta.18.tgz","fileCount":166,"integrity":"sha512-IOnZNLwfFRmCRZkyPLRfLz6KMwWwh0XC5kopO9DEXjl+kKvse3syHWoi6LtFG4yea6QNGc+Zuj0Hh5VRc1oL6A==","signatures":[{"sig":"MEUCIHN8uIsxH0eqTX1uJPDOv3xYp4Y2LmgpYyRp31uOOY+eAiEA39eXQY6hjKLIzqs2lN5AYv3HsljYbnh/oSdA05wPU4Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42675481,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiCiW1CRA9TVsSAnZWagAANUgP/0K+/rVhNx8mKGMXDXwd\no0QqxwZG03umJKRpe01r83jG0BjKuoA2brA3tpaN9tKK7z5Hm+QfdArcv3pA\nnvdIvuuXANsZz/A2QjW8FwSJxcqoLyCJ5R+XrhSwsyuDxm4bIrEg9sETd8u3\nPDU/YxMaO5BQAOoUO5EeVJvEjGrv3xF6WBlxwY2Fxz3HbOU6iIfO3R8x4xfP\nzDcOQpuX9BaBfOfD3LpK5ZzHI2AUhjcL/gjSOn3PWjJaRGGKKsdekDl+2PIf\nQS7qYw4/Jw7cWxvLHiX9/+iOGAPgyUwoSr9vUVZSaUFep2dIPw5MPbxQoP9z\n541XJulude9kKSKejsPHnudkFHaDvlfukzl1psC4BQSLpFenXZNGp9N3EYIf\nhO6vhhPKb1LyVtOHG6iZKXjI14zZHv03oC4dJVy4gCkPkeBZ/k6ImQ40EawY\nYSmKLwW6zD9taYrM6cUsgZZ/Z1YUHFe/MkCnXEWIyIRWc05/hvr2DicVLZIy\nsJtTdnmkGgIW4im4zZcfkRDuh8pyz3ZN7BQcA3TKX9M91yaBqYo+zSiSN34t\nW9j2QhVmD75uAdLieNAuX6q5rrHm0GMnFVUaqCwSXEUv9Un7bfDduUwtV3JE\ndTn3nb9eJ4kDE48n+jN6VAyVFL0mm5nl+n6csEpQvvGNlXNG8Qfep/XKg/ra\n+bol\r\n=iBiv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"gitHead":"f9a64a53edd1614d53c5fcbf79a19f2ee4dd12f8","scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","release":"standard-version -t @alilc/lowcode-code-generator\\@ && git push --follow-tags && npm publish","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ --prerelease beta && git push --follow-tags && npm publish --tag beta","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"clarencep","email":"clarence.pchy@gmail.com"},"_npmVersion":"8.1.0","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"14.18.1","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0-beta.19"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.7","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^27.1.3","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.0.0-beta.18_1644832181087_0.7924642811991258","host":"s3://npm-registry-packages"}},"1.0.0-beta.19":{"name":"@alilc/lowcode-code-generator","version":"1.0.0-beta.19","license":"MIT","_id":"@alilc/lowcode-code-generator@1.0.0-beta.19","maintainers":[{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"2e69c39735eaf46c37c398d93cb3d66f1e4e166a","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.0.0-beta.19.tgz","fileCount":166,"integrity":"sha512-XffVWihdU0f0qj07I/oGC/LRUUQGXmhybkJhxjCbbm7EJus/f9yWfNR/c6UITw7JQWstcqYmht3EgVRmJGhY2Q==","signatures":[{"sig":"MEYCIQDJipL55sGyJaN96qDT7Fed5/gZiTThjtA8nV8uNcNECAIhALjxhglqxKdrnb7V6ajI0hClEvq4VIoP0kW/yn7ENftS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42680564,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiCimOCRA9TVsSAnZWagAALWkP/3PslIJz7J8mJ06gid6D\nEADBhHqO1djxfVtUomTJkNBP2q0GHXyBRTWFasJNcufwr4VodNp3kGy68F28\niFqOhDwc/PoyF8Bt/yeFhXnPJaFoKFx2PKX/72JBW20omnCvmVpCi0Q3+O/x\n8XFIwX5WPA+ebBqFr+fPHO/3Wbko3PlsDPatk8p0rn/HGjlViWLHB0jBEHzQ\n+9EuyEo0Fh+LYFbCplDSQUGzlQMUErV36ymMe4pr3/iKGWXnnSEAwaeShj+H\nOE+046bmASAIC1MNxwT31M7d1f5vMaqgQ2URPvZIU07RHGflTdFuvnyoyJJt\n7OsLLV2IG62to3kLVET0zLROztQ5n/zMwN1x4Gq0syZxOWunTq9e/Ri0Y0MW\nKza5ZiHdf2HJiyrvZq9M4x8ham4AucAnpBd9oXbR2Y9/r58I/zQQOf12/W7s\n5Z3pSncPhLAvJX+g1q1ZUTgf88D0rKtlW8x1baTqztTzETLAiYx7QKQiLX8Z\n4t/7mSKGehb7Bl9QSlSdcqBJXWB+VwPsyd54k+uzkS4wo6hnb0nLC2bthGw5\nYcZImR7ntH3PTPgWQspkpB1IF64OM+b8Xd1REHhNAq3oKzmSnxX77Dxqr5sH\nKROnBTsx5LagzuLDrIndnu3xwHhmkv4ewEcow9EXH8ruHdd6v+Z5EpHqwGA7\npULc\r\n=sDNy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"gitHead":"3f3af2ad3ed0162cbc95a413f4981e491ebd7dc3","scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","release":"standard-version -t @alilc/lowcode-code-generator\\@ && git push --follow-tags && npm publish","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ --prerelease beta && git push --follow-tags && npm publish --tag beta","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"clarencep","email":"clarence.pchy@gmail.com"},"_npmVersion":"8.1.0","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"14.18.1","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0-beta.19"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.7","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^27.1.3","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.0.0-beta.19_1644833166066_0.8703336938954589","host":"s3://npm-registry-packages"}},"1.0.0-beta.20":{"name":"@alilc/lowcode-code-generator","version":"1.0.0-beta.20","license":"MIT","_id":"@alilc/lowcode-code-generator@1.0.0-beta.20","maintainers":[{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"90f9b28319ce74099b437389bfb7aeb399555f69","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.0.0-beta.20.tgz","fileCount":166,"integrity":"sha512-ED+HgmkIR1WCZ9LQ7hOj8cI7QEAkJzXyOabhh9V3AJViIIR05O70HhEBCCiCnzfgkp1sx8dBA9SidhjlslLj/w==","signatures":[{"sig":"MEQCIBy+xI7SOezT9+cw6cMSljs3ZbBt4SaUXqFvoPo74iPuAiAfrj9jz73ngCt00pRi4sX2Sgcw0TVw61p0KpePCqGVvw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42680971,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiCk7tCRA9TVsSAnZWagAAnS8P/2ruH9UA3lWaXYzUwq5i\nmT7Nro9Qxnz2y+MBiV0uVM5ipumIedJRfu8yFet4+BoJnPA9tZGqbX4ZOXMk\nPeXTyhZxY8xikLdvKRmvwxCpNfRk28O/awKVs41r51ZQDI/dw5F9dicxNVRB\n73jhDHL/iK2vQOacHTz3qfhmdJ7W9fLmazqzJcDAcTSBn7twkbcjkcr93R3B\nAxWyJ6z/gvqAsGkwPnycJtx4GmzWjut1GO7MwwuEjLBAjd/R036wSSvyQHqW\ntgsa53exBzcWRu/WdcCun/RSqdADn+8bMvuoAGypq1NECfGfNyx80sppJTrq\nMD0LrYoSrok6KbGClXmOO4UZXVBrgYRKDuSbXv+YXSuyyC+uNTsJ592jGZhO\nfpOlBg1aXUAQewhLYgguHXSxP0Q2/9w3Du4vrroIastQtL0ZdTfYdRkwMZLf\nvU3NyUXzi18Dh5OapZWWaQkjOB0YVVszmTv+9DKTFdHYy+Nd9Y8fRNUwOoIv\nINRlWa4jVY5//NfWF+v7uq6TfsBfMFBpfBlXksIa90UthWXQVp5QZd5xQodH\nBGzyIJGiwmjfzRz7wB/KSP2w4uBm4gO4LeHPeA90bnFcIevhHioVpkFOeTTX\nJSYs1VpecGSVs8Ojs2/2xeyZSixq5LTIO9oAKF7V/inQUxyu4ZDkUQAw+ZPv\nEoMg\r\n=nbBT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","readme":"# 出码\n\n所谓出码，即将低代码编排出的 schema 进行解析并转换成最终可执行的代码的过程。本模块提供有 Icejs 和 Rax 两套框架的出码方案，并提供了强大而灵活的扩展机制。\n\n## 使用方法\n\n### 1) 通过命令行快速体验\n\n欢迎使用命令行工具快速体验：`npx @alilc/lowcode-code-generator -i example-schema.json -o generated -s icejs`\n\n--其中 example-schema.json 可以从[这里下载](https://unpkg.com/@alilc/lowcode-code-generator@beta/example-schema.json)\n\n### 2) 通过设计器插件快速体验\n\n1. 安装依赖: `npm install --save @alilc/lowcode-plugin-code-generator`\n2. 注册插件:\n\n```ts\nimport { plugins } from '@alilc/lowcode-engine';\nimport CodeGenPlugin from '@alilc/lowcode-plugin-code-generator';\n\n// 在你的初始化函数中：\nawait plugins.register(CodeGenPlugin);\n\n// 如果您不希望自动加上出码按钮，则可以这样注册\nawait plugins.register(CodeGenPlugin, { disableCodeGenActionBtn: true });\n```\n\n然后运行你的低代码编辑器项目即可 -- 在设计器的右上角会出现一个“出码”按钮，点击即可在浏览器中出码并预览。\n\n### 3）服务端出码接入\n\n此代码生成器一开始就是为服务端出码设计的，你可以直接这样来在 node.js 环境中使用：\n\n1. 安装依赖: `npm install --save @alilc/lowcode-code-generator`\n2. 引入代码生成器:\n\n```js\nimport CodeGenerator from '@alilc/lowcode-code-generator';\n```\n\n3. 创建项目构建器:\n\n```js\nconst projectBuilder = CodeGenerator.solutions.icejs();\n```\n\n4. 生成代码\n\n```js\nconst project = await projectBuilder.generateProject(\n  schema, // 编排搭建出来的 schema\n);\n```\n\n5. 将生成的代码写入到磁盘中(也可以生成一个 zip 包)\n\n```js\n// 写入磁盘\nawait CodeGenerator.publishers.disk().publish({\n  project, // 上一步生成的 project\n  outputPath: '/path/to/your/output/dir', // 输出目录\n  projectSlug: 'your-project-slug', // 项目标识\n});\n\n// 写入到 zip 包\nawait CodeGenerator.publishers.zip().publish({\n  project, // 上一步生成的 project\n  outputPath: '/path/to/your/output/dir', // 输出目录\n  projectSlug: 'your-project-slug', // 项目标识 -- 对应生成 your-project-slug.zip 文件\n});\n```\n\n注：一般来说在服务端出码可以跟 github/gitlab, CI 和 CD 流程等一起串起来使用，通常用于优化性能。\n\n### 4）浏览器中出码接入\n\n随着现在电脑性能和浏览器技术的发展，出码其实已经不必非得在服务端做了，借助于 Web Worker 特性，可以在浏览器中进行出码：\n\n1. 安装依赖: `npm install --save @alilc/lowcode-code-generator`\n2. 引入代码生成器:\n\n```js\nimport * as CodeGenerator from '@alilc/lowcode-code-generator/standalone-loader';\n```\n\n3. 【可选】提前初始化代码生成器:\n\n```js\n// 提前初始化下，这样后面用的时候更快(这个 init 内部会提前准备好创建 worker 的一些资源)\nawait CodeGenerator.init();\n```\n\n4. 出码\n\n```js\nconst result = await CodeGenerator.generateCode({\n  solution: 'icejs', // 出码方案 (目前内置有 icejs 和 rax )\n  schema, // 编排搭建出来的 schema\n});\n\nconsole.log(result); // 出码结果(默认是递归结构描述的，可以传 flattenResult: true 以生成扁平结构的结果)\n```\n\n注：一般来说在浏览器中出码适合做即时预览功能。\n\n### 5）自定义出码\n\n前端框架灵活多变，默认内置的出码方案很难满足所有人的需求，好在此代码生成器支持非常灵活的插件机制 -- 欢迎参考 ./src/plugins/xxx 来编写您自己的出码插件，然后参考 ./src/solutions/xxx 将各种插件组合成一套适合您的业务场景的出码方案。\n\n## 参与共建\n\n欢迎参与共建，如何共建请参阅：[./CONTRIBUTING.md](https://code.aone.alibaba-inc.com/ali-lowcode/code-generator/blob/develop/CONTRIBUTING.md)\n","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"gitHead":"f1cda38cfef38ca639fb6a03bcc639ede2ebbe7a","scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","release":"standard-version -t @alilc/lowcode-code-generator\\@ && git push --follow-tags && npm publish","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ --prerelease beta && git push --follow-tags && npm publish --tag beta","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"clarencep","email":"clarence.pchy@gmail.com"},"_npmVersion":"8.1.0","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"14.18.1","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0-beta.19"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^27.4.7","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^27.1.3","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.0.0-beta.20_1644842733389_0.11553256811913526","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@alilc/lowcode-code-generator","version":"1.0.0","license":"MIT","_id":"@alilc/lowcode-code-generator@1.0.0","maintainers":[{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"f7046e16225adb0150cd8b9e559133db6e5a85cd","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.0.0.tgz","fileCount":166,"integrity":"sha512-T1QpPAx8vM18chvcGPNNvlCyISEN4S+XCxhUDORWfozr/WvNRGx10ioG04/exiWrKfxJtOOK1lreyEFX92RcbQ==","signatures":[{"sig":"MEUCIE8r1qlIRrWUln12dlPQUf+FFVL9RM4hbvhgOLYJWb5DAiEAuw68hXg6nYzLy8SLQBajl9K00ulBr/vLxBSaPvtH84w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42834737,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiDllnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoLgw//a9LclSaBCbXROwEL6wymjJdkuNdB1Q0piO1e+1uapsFuEfN6\r\n31xb/bI2J7d57g7RBo7MAoSraVyIQlJYh58p/QhAcIh+xBVCYK5XZs+ZGwJO\r\nBDQBt7RM3ppNgKzhdazNnzvifO1RXEERqgPTNnVSOQkDOkJ6Ft2wEGQ6IJSN\r\nk2J4HJVeieCpvlvA3SKvKAB3j5pMAr0dZuiXTd5I9NUjMroZLOA36nke0Qhy\r\n1QYFYzgfznBYECTPc8Ma77fx3aRP/iba3bLsWUGGymv+Esr4boIL3qhuxXWx\r\nYdoZeyOR7k6ul7WKPbh0XIY65PKwU3JjCdkTQG3CzfS+q52he7aizSZmRUPR\r\nt4HmAKBxasTU9FZIHI6CALHTzmjYZX8lL/hjluSsPlRBuiNzTGzP+iz/gFzn\r\nhFYW5fzvK3kqmofcRrPUjv9ewNEKjjhup9vOSiZiUrxTDZ80LJisY8kst06y\r\nIo5v025gyXE6v1bL9l59bQgASbEH7fHdkWg6bTI3Cf1D9MKZyg4iDSCL6ACG\r\nNQ4Od+St+LiXJnTPqJHLtv+Xq1jYSgftK5TfyEfjg+moGo7qRN8SrMshPuzI\r\nX2iplVP0HaTj/OHtjO9XZiEsH4cKKJPAqweJg2OtJ3wCKp2w9C9sUjdSraZc\r\n31Ffaxkt1quQnO1Xtj2DK8aNqyrdfnsF8kk=\r\n=0FwE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"gitHead":"0f661ef207442e3bb84434cc6efb39a4de9fc525","scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","release":"standard-version -t @alilc/lowcode-code-generator\\@ && git push --follow-tags && npm publish","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ --prerelease beta && git push --follow-tags && npm publish --tag beta","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"clarencep","email":"clarence.pchy@gmail.com"},"_npmVersion":"8.1.0","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"14.18.1","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.7","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^27.1.3","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.0.0_1645107558659_0.5172496610853412","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@alilc/lowcode-code-generator","version":"1.0.1","license":"MIT","_id":"@alilc/lowcode-code-generator@1.0.1","maintainers":[{"name":"akirakai","email":"akirakai@163.com"},{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"d7892a0a99d45047972744499eee1f01e8eee659","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.0.1.tgz","fileCount":166,"integrity":"sha512-rIWRnUQXDAjfRcD/mUdulkyTMKqLXqneip++dy2oDCR39ipXNuhpmAxoaAviSVVooIzz1AXHATCcOYgcBKofEw==","signatures":[{"sig":"MEQCIAKN04DhgyOgIub7wPuLYLAxfeSQm+FPlvjd0HBSsyHHAiAUPLjoQlTbMOKcHZ+O8EnwFZysLl5qp+3ZNK/h7I0Wwg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44039126,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiJt9vACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoiHw//Subsr5d0TigA3ukTTRse8QfglJajqbq/XyxIWWwX6awNJ5cH\r\n4dztwXGzyWoIHN2jPBUW7d/NLUMla1k6cnBu/JBgHIiN8NMKuzp9hVrK7SHU\r\npN1uDXliyDzN0wyPoWb3GoGyyKnDXrH1fYhoT0qJ0cmp3ENhPQCG2qBzD8lx\r\nMfMqTa9wzSFnCLvuoItsCeiofsfnBUUep4Fvn9pYIm4Qii6c8kFJVsHp981H\r\nL5NBE7jwqt5gDi2OepusW95TFltnyE+Ot2ebQUPOWN/0w2gTleQNcinGnci8\r\nWCq1uVxjj/EHqdNtrmwD3fMgb7m4/1HWyjLitx3g5/DfaWMtQR1PC3i5y03/\r\nMavZUQzoOBCBG4FviHA/j2rJg7I13NKUz8j6KFqiCGgpZ55LhNi38Qh+qgD8\r\nyak0QynA3CBpZGoaYdxp+3zp4L6709DJG+YsXDkvsOsD4+I+TQPlfRQkX9v2\r\nlBrI2Xo13XMqqC0IICqw/V9hSS8LhHQ+EpgIpLcq+/ABISACoFSdAW/dk4DL\r\nnAZ2V++uLNFafHY0tUVJrf0C1dIcXl4Ei+f/1kWkELF9/H73B8XQxPudRKIV\r\nG/Ktp+awo6zBbTO08J8sidh/OHQgVmffEvhseBNmK6wLROOzehEuXQ73ghT9\r\nMkRqGBQqhZjmduJ5EI2/Ojj/apJiKLovOEs=\r\n=AQB1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"gitHead":"0f3047c3952e79206cb431c7af10b7a43744845a","scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ --prerelease beta && git push --follow-tags && npm publish --tag beta","release:minor":"standard-version -t @alilc/lowcode-code-generator\\@ -r minor && git push --follow-tags && npm publish","release:patch":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch && git push --follow-tags && npm publish","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"clarencep","email":"clarence.pchy@gmail.com"},"_npmVersion":"8.1.0","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"14.18.1","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.7","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^27.1.3","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.0.1_1646714735341_0.04040844214249062","host":"s3://npm-registry-packages"}},"1.0.2-beta.0":{"name":"@alilc/lowcode-code-generator","version":"1.0.2-beta.0","license":"MIT","_id":"@alilc/lowcode-code-generator@1.0.2-beta.0","maintainers":[{"name":"akirakai","email":"akirakai@163.com"},{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"dd58738672ad86692679d8583dd7042dbd5edd41","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.0.2-beta.0.tgz","fileCount":167,"integrity":"sha512-xhqvLzXTgkUV30zXa9ZrKHt6jgEiZEqCT7Uo+M1mGcTcq692pDliHusqR1ouXkBdea0OizRCi1DhQVXX80ZWBQ==","signatures":[{"sig":"MEUCIQDecH1RbzbZbQM7Lov5dc0fWEuKJqEjvLmJXY04TyoaDQIgMl2nR2pPXIUJjgc07DhdEBNWmfuA07dIWtFMpR+ohmk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44060979,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiJvqKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqg4g//SChee1R5QNj6kfwIiYKvvRIAj9mHCoQuENTrj33/elY+FWrC\r\nCynYRFtO588e8XRLRbFYm8nGYi5JtlOzj64o/RY6ZLY5NgZWXuz8KdVzD4QQ\r\nAZh210kc8SNeaJphXjwSKgfHGTWqzR7NaEvn8AvRTwoPO6xFtPapwCX9/+Lu\r\ngAqjf1WkqoP+WvJOuo6evjQv2D3+J6FpawYwa5t3QqvtfqYDufVjLA6aUoxE\r\na/f8+KLlEcapj/9WxHCwc2qa1dM93/zr9Q+6JAj6oZyKtyAmpWTsTAVYUcpf\r\nEFFQpwMbIOXH+F5O8orcy6otpe6TOH45GxGN/kFpA+AXbrl7pdMF0nD0pypw\r\nPSfkY5f4NgNs+fYDr+JZG9mLzwWXFKJ0ULK5QY6pKM8WY860jWJo44xBNsro\r\n1W2yYWVOFmSI1gW6MseoHK3d0YLSFxyzHHG1HvBgX5FvRwnP4Q8p8qXBRfCd\r\nD9E5yX92+p0bJClKcikJ5fwJTfu21gMAOE2HC9LMHrzwdT6Rh2jRttlgietO\r\nycyznfLqtgkyGK52nmYJ4J7EkTIjV5zLiqSF++N73EK6NtYvKq69ysouv2aG\r\nW8pnEV+emUsMWOSS5/BKh3SloT/IOu5YfLMHxSPqT1JlHPDWS8a8yfqOsExb\r\nioypqVAsUFbqio1VkOp21xOwZAWLQazKSf8=\r\n=7+kX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","readme":"# 出码\n\n所谓出码，即将低代码编排出的 schema 进行解析并转换成最终可执行的代码的过程。本模块提供有 Icejs 和 Rax 两套框架的出码方案，并提供了强大而灵活的扩展机制。\n\n## 使用方法\n\n### 1) 通过命令行快速体验\n\n欢迎使用命令行工具快速体验：`npx @alilc/lowcode-code-generator -i example-schema.json -o generated -s icejs`\n\n--其中 example-schema.json 可以从[这里下载](https://unpkg.com/@alilc/lowcode-code-generator@beta/example-schema.json)\n\n### 2) 通过设计器插件快速体验\n\n1. 安装依赖: `npm install --save @alilc/lowcode-plugin-code-generator`\n2. 注册插件:\n\n```ts\nimport { plugins } from '@alilc/lowcode-engine';\nimport CodeGenPlugin from '@alilc/lowcode-plugin-code-generator';\n\n// 在你的初始化函数中：\nawait plugins.register(CodeGenPlugin);\n\n// 如果您不希望自动加上出码按钮，则可以这样注册\nawait plugins.register(CodeGenPlugin, { disableCodeGenActionBtn: true });\n```\n\n然后运行你的低代码编辑器项目即可 -- 在设计器的右上角会出现一个“出码”按钮，点击即可在浏览器中出码并预览。\n\n### 3）服务端出码接入\n\n此代码生成器一开始就是为服务端出码设计的，你可以直接这样来在 node.js 环境中使用：\n\n1. 安装依赖: `npm install --save @alilc/lowcode-code-generator`\n2. 引入代码生成器:\n\n```js\nimport CodeGenerator from '@alilc/lowcode-code-generator';\n```\n\n3. 创建项目构建器:\n\n```js\nconst projectBuilder = CodeGenerator.solutions.icejs();\n```\n\n4. 生成代码\n\n```js\nconst project = await projectBuilder.generateProject(\n  schema, // 编排搭建出来的 schema\n);\n```\n\n5. 将生成的代码写入到磁盘中(也可以生成一个 zip 包)\n\n```js\n// 写入磁盘\nawait CodeGenerator.publishers.disk().publish({\n  project, // 上一步生成的 project\n  outputPath: '/path/to/your/output/dir', // 输出目录\n  projectSlug: 'your-project-slug', // 项目标识\n});\n\n// 写入到 zip 包\nawait CodeGenerator.publishers.zip().publish({\n  project, // 上一步生成的 project\n  outputPath: '/path/to/your/output/dir', // 输出目录\n  projectSlug: 'your-project-slug', // 项目标识 -- 对应生成 your-project-slug.zip 文件\n});\n```\n\n注：一般来说在服务端出码可以跟 github/gitlab, CI 和 CD 流程等一起串起来使用，通常用于优化性能。\n\n### 4）浏览器中出码接入\n\n随着现在电脑性能和浏览器技术的发展，出码其实已经不必非得在服务端做了，借助于 Web Worker 特性，可以在浏览器中进行出码：\n\n1. 安装依赖: `npm install --save @alilc/lowcode-code-generator`\n2. 引入代码生成器:\n\n```js\nimport * as CodeGenerator from '@alilc/lowcode-code-generator/standalone-loader';\n```\n\n3. 【可选】提前初始化代码生成器:\n\n```js\n// 提前初始化下，这样后面用的时候更快(这个 init 内部会提前准备好创建 worker 的一些资源)\nawait CodeGenerator.init();\n```\n\n4. 出码\n\n```js\nconst result = await CodeGenerator.generateCode({\n  solution: 'icejs', // 出码方案 (目前内置有 icejs 和 rax )\n  schema, // 编排搭建出来的 schema\n});\n\nconsole.log(result); // 出码结果(默认是递归结构描述的，可以传 flattenResult: true 以生成扁平结构的结果)\n```\n\n注：一般来说在浏览器中出码适合做即时预览功能。\n\n### 5）自定义出码\n\n前端框架灵活多变，默认内置的出码方案很难满足所有人的需求，好在此代码生成器支持非常灵活的插件机制 -- 欢迎参考 ./src/plugins/xxx 来编写您自己的出码插件，然后参考 ./src/solutions/xxx 将各种插件组合成一套适合您的业务场景的出码方案。\n\n## 参与共建\n\n欢迎参与共建，如何共建请参阅：[./CONTRIBUTING.md](https://github.com/alibaba/lowcode-engine/blob/main/modules/code-generator/CONTRIBUTING.md)\n","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"gitHead":"6fde53bef614a194f9358be1b6a57383777cee54","scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch --prerelease beta && git push --follow-tags && npm publish --tag beta","release:minor":"standard-version -t @alilc/lowcode-code-generator\\@ -r minor && git push --follow-tags && npm publish","release:patch":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch && git push --follow-tags && npm publish","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"clarencep","email":"clarence.pchy@gmail.com"},"_npmVersion":"8.1.0","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"14.18.1","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^27.4.7","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^27.1.3","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.0.2-beta.0_1646721673966_0.5704349690987689","host":"s3://npm-registry-packages"}},"1.0.2-beta.1":{"name":"@alilc/lowcode-code-generator","version":"1.0.2-beta.1","license":"MIT","_id":"@alilc/lowcode-code-generator@1.0.2-beta.1","maintainers":[{"name":"akirakai","email":"akirakai@163.com"},{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"ded85379d41c47ad7c0d72de07aa766dd7ed4c4b","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.0.2-beta.1.tgz","fileCount":167,"integrity":"sha512-3KZqhI0rbmZQtqLPZIaBs+feagCzFrWD656KD4J4SvLgD2Wl94duO4veoWwqmsD+1Mmck0txnx1u72SSPnt3Vg==","signatures":[{"sig":"MEYCIQD4YDqUtNL7qrsYQm1scbPNZvRVCdMGnhde/SZOc5WnlAIhAJBR1/R0VMBSId0GIF2g6JDaV8NX1z+gbbz/YBzpx6Gy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44063153,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiJv8TACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo02g//aAuhg6Rs8bUvn0jiB1/qNAw+jKdU2I5butgGZGc25oJXc/kH\r\nvZkffKPzTlD4UWhDlCwztccF6mz94exQu8mQqYVfK90W8IUN5FKKbHgHimU+\r\nIfb/qVyi3H1LzWYB2h6Ks0Yeie4+3qDQ4T7eFzQjyGiUhslT/cEx3eY1Ibjf\r\nrkZdd/cwd1JG7DPRHvPXywz0NlPr+qND1NE3AYsJN936Y1/1mfVA49U/ZCEP\r\nMkb/M2WythcvTCd2Esr1hku3gGA435FdCUXo16KH4QmjhFCOsq4z+fb4eIH/\r\nbiNbYga2CthReJytHa3W7uHk0PyR5psMNOG3zxcp2A3kh8FKKnOah3+seJsE\r\ntzDAK+2FhPmh9IM7/51rlCCc7dTokGhODHQ29YlCWMYd4aLOnuFlMH7VCn8Q\r\ncyKWWNh2sgNmO2m6dpGkwCCKUCYsRHPBJBA9EdQIuLLrpVTL+892nAEMDzC2\r\n+2FOGkTkpZS4sIbL7pPWZBxkfkrF07SgG5a2JXY28umSIYn+jgXEZDpoHJE+\r\ntxlys3tK+xeSlzT9cicnJPlGnbb/RmkCWt3SSwxOuWn+ZGdym9IxQGmyBZlC\r\nIzqcQWv2Y1IDXEthUrDkogdiSCq4M/v1Cj3ZXGpCNif6WZA2gAuN9IbLminM\r\npfpA1eP3bW7mdJrNXb5oi0L/wSQ2mlbOqE0=\r\n=k/Qa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","readme":"# 出码\n\n所谓出码，即将低代码编排出的 schema 进行解析并转换成最终可执行的代码的过程。本模块提供有 Icejs 和 Rax 两套框架的出码方案，并提供了强大而灵活的扩展机制。\n\n## 使用方法\n\n### 1) 通过命令行快速体验\n\n欢迎使用命令行工具快速体验：`npx @alilc/lowcode-code-generator -i example-schema.json -o generated -s icejs`\n\n--其中 example-schema.json 可以从[这里下载](https://unpkg.com/@alilc/lowcode-code-generator@beta/example-schema.json)\n\n### 2) 通过设计器插件快速体验\n\n1. 安装依赖: `npm install --save @alilc/lowcode-plugin-code-generator`\n2. 注册插件:\n\n```ts\nimport { plugins } from '@alilc/lowcode-engine';\nimport CodeGenPlugin from '@alilc/lowcode-plugin-code-generator';\n\n// 在你的初始化函数中：\nawait plugins.register(CodeGenPlugin);\n\n// 如果您不希望自动加上出码按钮，则可以这样注册\nawait plugins.register(CodeGenPlugin, { disableCodeGenActionBtn: true });\n```\n\n然后运行你的低代码编辑器项目即可 -- 在设计器的右上角会出现一个“出码”按钮，点击即可在浏览器中出码并预览。\n\n### 3）服务端出码接入\n\n此代码生成器一开始就是为服务端出码设计的，你可以直接这样来在 node.js 环境中使用：\n\n1. 安装依赖: `npm install --save @alilc/lowcode-code-generator`\n2. 引入代码生成器:\n\n```js\nimport CodeGenerator from '@alilc/lowcode-code-generator';\n```\n\n3. 创建项目构建器:\n\n```js\nconst projectBuilder = CodeGenerator.solutions.icejs();\n```\n\n4. 生成代码\n\n```js\nconst project = await projectBuilder.generateProject(\n  schema, // 编排搭建出来的 schema\n);\n```\n\n5. 将生成的代码写入到磁盘中(也可以生成一个 zip 包)\n\n```js\n// 写入磁盘\nawait CodeGenerator.publishers.disk().publish({\n  project, // 上一步生成的 project\n  outputPath: '/path/to/your/output/dir', // 输出目录\n  projectSlug: 'your-project-slug', // 项目标识\n});\n\n// 写入到 zip 包\nawait CodeGenerator.publishers.zip().publish({\n  project, // 上一步生成的 project\n  outputPath: '/path/to/your/output/dir', // 输出目录\n  projectSlug: 'your-project-slug', // 项目标识 -- 对应生成 your-project-slug.zip 文件\n});\n```\n\n注：一般来说在服务端出码可以跟 github/gitlab, CI 和 CD 流程等一起串起来使用，通常用于优化性能。\n\n### 4）浏览器中出码接入\n\n随着现在电脑性能和浏览器技术的发展，出码其实已经不必非得在服务端做了，借助于 Web Worker 特性，可以在浏览器中进行出码：\n\n1. 安装依赖: `npm install --save @alilc/lowcode-code-generator`\n2. 引入代码生成器:\n\n```js\nimport * as CodeGenerator from '@alilc/lowcode-code-generator/standalone-loader';\n```\n\n3. 【可选】提前初始化代码生成器:\n\n```js\n// 提前初始化下，这样后面用的时候更快(这个 init 内部会提前准备好创建 worker 的一些资源)\nawait CodeGenerator.init();\n```\n\n4. 出码\n\n```js\nconst result = await CodeGenerator.generateCode({\n  solution: 'icejs', // 出码方案 (目前内置有 icejs 和 rax )\n  schema, // 编排搭建出来的 schema\n});\n\nconsole.log(result); // 出码结果(默认是递归结构描述的，可以传 flattenResult: true 以生成扁平结构的结果)\n```\n\n注：一般来说在浏览器中出码适合做即时预览功能。\n\n### 5）自定义出码\n\n前端框架灵活多变，默认内置的出码方案很难满足所有人的需求，好在此代码生成器支持非常灵活的插件机制 -- 欢迎参考 ./src/plugins/xxx 来编写您自己的出码插件，然后参考 ./src/solutions/xxx 将各种插件组合成一套适合您的业务场景的出码方案。\n\n## 参与共建\n\n欢迎参与共建，如何共建请参阅：[./CONTRIBUTING.md](https://github.com/alibaba/lowcode-engine/blob/main/modules/code-generator/CONTRIBUTING.md)\n","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"gitHead":"873baa0794263084eeeab2615efe99ab7cc488bf","scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch --prerelease beta && git push --follow-tags && npm publish --tag beta","release:minor":"standard-version -t @alilc/lowcode-code-generator\\@ -r minor && git push --follow-tags && npm publish","release:patch":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch && git push --follow-tags && npm publish","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"clarencep","email":"clarence.pchy@gmail.com"},"_npmVersion":"8.1.0","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"14.18.1","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^27.4.7","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^27.1.3","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.0.2-beta.1_1646722834729_0.5298332681041635","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@alilc/lowcode-code-generator","version":"1.0.2","license":"MIT","_id":"@alilc/lowcode-code-generator@1.0.2","maintainers":[{"name":"akirakai","email":"akirakai@163.com"},{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"1f2d71f643282344f55347fef19d669394f7f5a9","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.0.2.tgz","fileCount":167,"integrity":"sha512-8j5/Cps9XHFaoiPox/BGb7QtwobEwPm2Ii7wSJ/FQKJyflx7Ols0nAW+QwaYFQ4pGYgxuHsgFlBqHRLHrruNnQ==","signatures":[{"sig":"MEYCIQC+njyT3Ga9N/oI1rnWo76V74CBtsQ+0nTlPMux8+deEAIhAPoTgUEQaQ0dBAA1lPJtyjHv5fIjAk5jcIIb+dT4tgBI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44063290,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiJw/zACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq8zA/8Di6cqbhbB8lf0TN8SMQpmMqjqJTXdfbF4FhDIdve6VZ2G2wW\r\nqP7CeOVOPSVunHR80R8DQl7AsqlsY+/2lZOUe2WqLV9LgRY4QOPtimVfmZaq\r\nLh+XUgm6lJWh9qmxdMd7+RuZf+yPook1X/Icg6ga+Yh0DL6PLHS0M6Vb6i1S\r\nB1jT3HY0ZieoERO6IOXiYcD7DHXo38juSetF+5VZ7MNW5xePq7xiz6pHdeFo\r\nhOLhPbXK4PxCSSnVpkOWDI/5F28jTcAApk2l9Mlo/pHut+XT9GOlHYEykRlM\r\nC2fuBV7azBdAd+GQCEw74U10oy9Q6OsZzmuPxmCV4D2Dh3nQR2Cjsk9ABNOT\r\nj5RZ1CwI6VC9/tssXkBItlD8QBwOnAKnqDiSp7r8xrz0hZqnQZyjtTSJuJ1D\r\nvU65XsibDo56Ey873ciIxidW8o/P4Xs/vQHIcGlUFzia+fgBfhBsjWhZkLRd\r\nJdEKRMu5eJjL3qQBtTFun8WE701trPPTAyjIGYcfJ9JEyNWuQ+xPc3qpbR7V\r\nv0+dYaHlopNKvitWg/UXlvKpvv/u4Rtj3fc8qFqO0EW+YGDRALPvBcDlt2Yr\r\nfXTrG3UB59xfZPWHbb4ofDizwsKQg6T7C1LH55vusS3ZHsCrmEGp1WLZCbhR\r\nFTeQsHodxVNvIZgr/G+PzrkhLDjdKk6WfFo=\r\n=+l1P\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"gitHead":"d8087d4469082a29fa21ea239d508f2da5896cb0","scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch --prerelease beta && git push --follow-tags && npm publish --tag beta","release:minor":"standard-version -t @alilc/lowcode-code-generator\\@ -r minor && git push --follow-tags && npm publish","release:patch":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch && git push --follow-tags && npm publish","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"clarencep","email":"clarence.pchy@gmail.com"},"_npmVersion":"8.1.0","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"14.18.1","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.7","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^27.1.3","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.0.2_1646727155471_0.9715649792623702","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@alilc/lowcode-code-generator","version":"1.0.3","license":"MIT","_id":"@alilc/lowcode-code-generator@1.0.3","maintainers":[{"name":"akirakai","email":"akirakai@163.com"},{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"2fc5527fb6ad114a6690f0f41a760dd30f22c98f","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.0.3.tgz","fileCount":167,"integrity":"sha512-KCk48eNOi9HM55kNEMSKklWYzU4QFi4rTheXjfFqvnbw2fz9N7mfNZdV+IU5jfsRd8OT5IqETngBIRJWE+MLmw==","signatures":[{"sig":"MEUCIQCW5qVDyLDo0nC6uM+l2TMeLgSa51iYwksM174+BVMCwgIgBKNe/SNKA7lOq+9QP8a+hJqmBZbcrbWkoFmgDCMJj6s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44079694,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQoa0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmohWBAApGJyBvcfSAESMm9rJY8HjosmH73I4dYv076o+TCgdVFpcPqj\r\ncI88zwDLVDo9fv/w+KgstS3lBJO1gkw54do9FZYI095ZxFJEjIBX8OPNimEv\r\nVd1vkecHjDFkNtuauCaEGGxODJftLfIYUpon5HS5qQR1obI5gJuweqtvKVtG\r\nRYElzqjmmmMpeBiXn0gZ+4egl8DayHfsv0A0g/5GDxG049mBHeojpOn3RQlZ\r\nXPZh19RokelwWAAOgbTETcdJlOvOZszfHvjyNof9mveHCxUexLF+d6L1itR6\r\ncWRdcr6Sabk7nDt4gHFh/bdn1dU8j1XXeo6N1pwkk0Tkf6HQCc0dH1r2Ue79\r\n5hox+Vfr9GP4Ng4KKKNxo0XorLwZzxlclaWvAXnA1nL0yBvwx9t/tdad6n45\r\nFVPi/za0t5D1f3luVLfo/sS/e16DLsnyHRWg6eCRRWBjhio/aajSbJGPvtyG\r\nSWfzi9L0Mk8PEGj+9Smxzzsb7pxDHvwmcVeBO659Y95z3iTaD+6rs6Bu/FmV\r\nV9cbOF1pECVsBhARsI3AD5E32cr4rUNLa8IuIzwu2I1ilHk7r+Bcsntmk8pa\r\nFXmMDBZgGA6GpdlGW57C/vl5eNJyFlgSwLE+RAcQKfBBOD09W5wAhal1HvdH\r\n9b9t+benwTZHU/fUgxX/tVD+pqzvQhGtE8I=\r\n=vfa1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"gitHead":"7fcf11b991768980ee49d8e8703bb2ecf108d1b4","scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch --prerelease beta && git push --follow-tags && npm publish --tag beta","release:minor":"standard-version -t @alilc/lowcode-code-generator\\@ -r minor && git push --follow-tags && npm publish","release:patch":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch && git push --follow-tags && npm publish","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"clarencep","email":"clarence.pchy@gmail.com"},"_npmVersion":"8.1.0","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"14.18.1","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.7","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^27.1.3","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.0.3_1648527027893_0.5238479533726006","host":"s3://npm-registry-packages"}},"1.0.4-beta.0":{"name":"@alilc/lowcode-code-generator","version":"1.0.4-beta.0","license":"MIT","_id":"@alilc/lowcode-code-generator@1.0.4-beta.0","maintainers":[{"name":"liujuping123","email":"1052228950@qq.com"},{"name":"akirakai","email":"akirakai@163.com"},{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"4c0b3f7ae2f4942abd4674c59297aac4479d7b90","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.0.4-beta.0.tgz","fileCount":169,"integrity":"sha512-c7DGnaXsmjSVhmhMFz30Gnk9gpwFyZoOQ9IxfznY+8KDfb1pSQfxnwdiY0q7yJ97Jdtu81iMPkKZwLn01TInVw==","signatures":[{"sig":"MEUCIHs1nDyWsuRo1w9jF0r4Dy3xtv1KABADjoxkmJgUE37LAiEAyj/B+oETlwlPb+xZjhJUDcirU3uN6S73VEPI3fYp2NI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46637466,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiUwfFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpesQ/6Aju8bC5I4g9TwaDrpp34BS0QqV3vwKp9ZwOy0+AvRxgkorM+\r\n1Ho1G7fSykbi7Z+zjo8Gn7JUGKC05GayTlU/XrVvgzGhYe0itE5GEAcwYWND\r\n+NJWyFeODIkR37fT6+J92rYNNahNKl/CIMnAJXhPUSgWNTc3atqVNqTbE0jk\r\nlVafTTMu+mJXFNkQA5t3UBtcRakyHhsz7H7ewOvOC9z6GrV75dKWPTSc0OfJ\r\nzdtgRwlQAE+gexeXycF8mk8slc5p8gaEPYTujUxL9+i3qL80LXqLDpEZ/OCS\r\n4XcRRbzIYbKW0g/euVpGZ0SKDoFbaZyPrnUq40dpYIOqYYixta5K+NqT1gk+\r\ngiuTiAMV7tHO//6bW6j4VM7+zUNztMVOQN4f4MM0jfytI68riTKp1AElnFiS\r\n1TvT+DQ8W1D4VTcC51EKd4775ITVtev1ijEw4Ypoji192iPMtmGrn54jRpLo\r\nzzVMVGQ8Jr5oXl3VywB6sLigXvU1jW7BUZuvwJdk+iIEUiIvU8rTGnmPD0m/\r\nBXoBmjxbkrn058uvOtMeZKNkfvlTe+/Urogh9+mAJo0hHRNAZ+vcm4E9oo3w\r\n68xZcfn15Oal76urqWzdCNjO1W2AsMWreJjptrwuGulMmUPU/MJx7r9RYw/V\r\nFZkeiqjchl7Mcd2/ySiQZkSxrk1dqXu7Nrw=\r\n=qZ8S\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","readme":"# 出码\n\n所谓出码，即将低代码编排出的 schema 进行解析并转换成最终可执行的代码的过程。本模块提供有 Icejs 和 Rax 两套框架的出码方案，并提供了强大而灵活的扩展机制。\n\n## 使用方法\n\n### 1) 通过命令行快速体验\n\n欢迎使用命令行工具快速体验：`npx @alilc/lowcode-code-generator -i example-schema.json -o generated -s icejs`\n\n--其中 example-schema.json 可以从[这里下载](https://unpkg.com/@alilc/lowcode-code-generator@beta/example-schema.json)\n\n### 2) 通过设计器插件快速体验\n\n1. 安装依赖: `npm install --save @alilc/lowcode-plugin-code-generator`\n2. 注册插件:\n\n```ts\nimport { plugins } from '@alilc/lowcode-engine';\nimport CodeGenPlugin from '@alilc/lowcode-plugin-code-generator';\n\n// 在你的初始化函数中：\nawait plugins.register(CodeGenPlugin);\n\n// 如果您不希望自动加上出码按钮，则可以这样注册\nawait plugins.register(CodeGenPlugin, { disableCodeGenActionBtn: true });\n```\n\n然后运行你的低代码编辑器项目即可 -- 在设计器的右上角会出现一个“出码”按钮，点击即可在浏览器中出码并预览。\n\n### 3）服务端出码接入\n\n此代码生成器一开始就是为服务端出码设计的，你可以直接这样来在 node.js 环境中使用：\n\n1. 安装依赖: `npm install --save @alilc/lowcode-code-generator`\n2. 引入代码生成器:\n\n```js\nimport CodeGenerator from '@alilc/lowcode-code-generator';\n```\n\n3. 创建项目构建器:\n\n```js\nconst projectBuilder = CodeGenerator.solutions.icejs();\n```\n\n4. 生成代码\n\n```js\nconst project = await projectBuilder.generateProject(\n  schema, // 编排搭建出来的 schema\n);\n```\n\n5. 将生成的代码写入到磁盘中(也可以生成一个 zip 包)\n\n```js\n// 写入磁盘\nawait CodeGenerator.publishers.disk().publish({\n  project, // 上一步生成的 project\n  outputPath: '/path/to/your/output/dir', // 输出目录\n  projectSlug: 'your-project-slug', // 项目标识\n});\n\n// 写入到 zip 包\nawait CodeGenerator.publishers.zip().publish({\n  project, // 上一步生成的 project\n  outputPath: '/path/to/your/output/dir', // 输出目录\n  projectSlug: 'your-project-slug', // 项目标识 -- 对应生成 your-project-slug.zip 文件\n});\n```\n\n注：一般来说在服务端出码可以跟 github/gitlab, CI 和 CD 流程等一起串起来使用，通常用于优化性能。\n\n### 4）浏览器中出码接入\n\n随着现在电脑性能和浏览器技术的发展，出码其实已经不必非得在服务端做了，借助于 Web Worker 特性，可以在浏览器中进行出码：\n\n1. 安装依赖: `npm install --save @alilc/lowcode-code-generator`\n2. 引入代码生成器:\n\n```js\nimport * as CodeGenerator from '@alilc/lowcode-code-generator/standalone-loader';\n```\n\n3. 【可选】提前初始化代码生成器:\n\n```js\n// 提前初始化下，这样后面用的时候更快(这个 init 内部会提前准备好创建 worker 的一些资源)\nawait CodeGenerator.init();\n```\n\n4. 出码\n\n```js\nconst result = await CodeGenerator.generateCode({\n  solution: 'icejs', // 出码方案 (目前内置有 icejs 和 rax )\n  schema, // 编排搭建出来的 schema\n});\n\nconsole.log(result); // 出码结果(默认是递归结构描述的，可以传 flattenResult: true 以生成扁平结构的结果)\n```\n\n注：一般来说在浏览器中出码适合做即时预览功能。\n\n### 5）自定义出码\n\n前端框架灵活多变，默认内置的出码方案很难满足所有人的需求，好在此代码生成器支持非常灵活的插件机制 -- 欢迎参考 ./src/plugins/xxx 来编写您自己的出码插件，然后参考 ./src/solutions/xxx 将各种插件组合成一套适合您的业务场景的出码方案。\n\n## 参与共建\n\n欢迎参与共建，如何共建请参阅：[./CONTRIBUTING.md](https://github.com/alibaba/lowcode-engine/blob/main/modules/code-generator/CONTRIBUTING.md)\n","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"gitHead":"c18bc0261c9a61c8db3ea781cf71a8df0575f147","scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch --prerelease beta && git push --follow-tags && npm publish --tag beta","release:minor":"standard-version -t @alilc/lowcode-code-generator\\@ -r minor && git push --follow-tags && npm publish","release:patch":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch && git push --follow-tags && npm publish","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"clarencep","email":"clarence.pchy@gmail.com"},"_npmVersion":"8.1.0","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"14.18.1","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","nanomatch":"^1.2.13","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^27.4.7","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^27.1.3","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.0.4-beta.0_1649608645271_0.2971890684452272","host":"s3://npm-registry-packages"}},"1.0.4-beta.1":{"name":"@alilc/lowcode-code-generator","version":"1.0.4-beta.1","license":"MIT","_id":"@alilc/lowcode-code-generator@1.0.4-beta.1","maintainers":[{"name":"liujuping123","email":"1052228950@qq.com"},{"name":"akirakai","email":"akirakai@163.com"},{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"1a049ab3c58926f3019737a0c27e86bc9b7a6d21","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.0.4-beta.1.tgz","fileCount":169,"integrity":"sha512-dyVfaqKP93a6UyDWakwBN7E7TB9KFetNsUp1qmrxS4zh5wL3c3I9ajpshSjhAayxOUjOGCe/anocPHE7iZMakg==","signatures":[{"sig":"MEUCIBTrgBhakPWvTfD2PfF7CRmwGaPilelEIfLJfwbX6mNyAiEAnVVFCXRqfrJJQ89mTZpbw4UHy28oi2RGTwTRQoBmZiM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46685477,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiU6yHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrYORAAo8oQcRoiCbIPeh4NidtSnHUjOmnLjSFZybEvVyY+r2HhCN+4\r\nlFH720E9t5FPRLbu+fx0dug2sT0a+nzUwCb9B18ei44YOaJSZ/i4UyjdI3o8\r\nS3JqS8qV+EqsgCZSeHGBLGyNxuIZtiZpIKSXox70hRylNiCDIwbIULiaGchL\r\nL0CZlSKssU5dwXKWy17RHDEVFD57MnCzWKub1QbA9Z/RKXqzACmDW6J63BfD\r\nTKH1BOdUomoONNl/mDgmvitLvG5h2qVE3DzDmqyoAahmRXo+WdtdDWkZ+MVe\r\nThYhNUEzlRIZRP9++8ne6zYR4o2rycyZaiFXWU/fmbN1cu6sjRe4VsrDYtWO\r\nB9iaG3HI3wuwNZCLeZDiGS13YP+OTQYqeRTt00D7cfLeNATfgk+FxauDnKCg\r\nhsOUEoWmn9r358G3TVej4NYyI/5kPX4ijzk9U7C/vq3W+UMW+uHyTH7BIywq\r\nsJk+sjcteiJcRVf94lgaAZ4aDO9fepG1AJzj/Yr5nolov4rbjB909HzN5tv1\r\nG4yw7CICL28hfmrXOCOb4u1VIifCrUTFlk/KmfJRjwaRUUVeSpxYeG63jbYr\r\nPU9iXNp3lVGIccViqYVOSdsWhHgAOsLRFgNZL+w+rXxdWkw8I+ccyCNJt5Hy\r\nVyiGSwAfzWc1o2A5BwW/19Svhtwr378yEco=\r\n=wefZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","readme":"# 出码\n\n所谓出码，即将低代码编排出的 schema 进行解析并转换成最终可执行的代码的过程。本模块提供有 Icejs 和 Rax 两套框架的出码方案，并提供了强大而灵活的扩展机制。\n\n## 使用方法\n\n### 1) 通过命令行快速体验\n\n欢迎使用命令行工具快速体验：`npx @alilc/lowcode-code-generator -i example-schema.json -o generated -s icejs`\n\n--其中 example-schema.json 可以从[这里下载](https://unpkg.com/@alilc/lowcode-code-generator@beta/example-schema.json)\n\n### 2) 通过设计器插件快速体验\n\n1. 安装依赖: `npm install --save @alilc/lowcode-plugin-code-generator`\n2. 注册插件:\n\n```ts\nimport { plugins } from '@alilc/lowcode-engine';\nimport CodeGenPlugin from '@alilc/lowcode-plugin-code-generator';\n\n// 在你的初始化函数中：\nawait plugins.register(CodeGenPlugin);\n\n// 如果您不希望自动加上出码按钮，则可以这样注册\nawait plugins.register(CodeGenPlugin, { disableCodeGenActionBtn: true });\n```\n\n然后运行你的低代码编辑器项目即可 -- 在设计器的右上角会出现一个“出码”按钮，点击即可在浏览器中出码并预览。\n\n### 3）服务端出码接入\n\n此代码生成器一开始就是为服务端出码设计的，你可以直接这样来在 node.js 环境中使用：\n\n1. 安装依赖: `npm install --save @alilc/lowcode-code-generator`\n2. 引入代码生成器:\n\n```js\nimport CodeGenerator from '@alilc/lowcode-code-generator';\n```\n\n3. 创建项目构建器:\n\n```js\nconst projectBuilder = CodeGenerator.solutions.icejs();\n```\n\n4. 生成代码\n\n```js\nconst project = await projectBuilder.generateProject(\n  schema, // 编排搭建出来的 schema\n);\n```\n\n5. 将生成的代码写入到磁盘中(也可以生成一个 zip 包)\n\n```js\n// 写入磁盘\nawait CodeGenerator.publishers.disk().publish({\n  project, // 上一步生成的 project\n  outputPath: '/path/to/your/output/dir', // 输出目录\n  projectSlug: 'your-project-slug', // 项目标识\n});\n\n// 写入到 zip 包\nawait CodeGenerator.publishers.zip().publish({\n  project, // 上一步生成的 project\n  outputPath: '/path/to/your/output/dir', // 输出目录\n  projectSlug: 'your-project-slug', // 项目标识 -- 对应生成 your-project-slug.zip 文件\n});\n```\n\n注：一般来说在服务端出码可以跟 github/gitlab, CI 和 CD 流程等一起串起来使用，通常用于优化性能。\n\n### 4）浏览器中出码接入\n\n随着现在电脑性能和浏览器技术的发展，出码其实已经不必非得在服务端做了，借助于 Web Worker 特性，可以在浏览器中进行出码：\n\n1. 安装依赖: `npm install --save @alilc/lowcode-code-generator`\n2. 引入代码生成器:\n\n```js\nimport * as CodeGenerator from '@alilc/lowcode-code-generator/standalone-loader';\n```\n\n3. 【可选】提前初始化代码生成器:\n\n```js\n// 提前初始化下，这样后面用的时候更快(这个 init 内部会提前准备好创建 worker 的一些资源)\nawait CodeGenerator.init();\n```\n\n4. 出码\n\n```js\nconst result = await CodeGenerator.generateCode({\n  solution: 'icejs', // 出码方案 (目前内置有 icejs 和 rax )\n  schema, // 编排搭建出来的 schema\n});\n\nconsole.log(result); // 出码结果(默认是递归结构描述的，可以传 flattenResult: true 以生成扁平结构的结果)\n```\n\n注：一般来说在浏览器中出码适合做即时预览功能。\n\n### 5）自定义出码\n\n前端框架灵活多变，默认内置的出码方案很难满足所有人的需求，好在此代码生成器支持非常灵活的插件机制 -- 欢迎参考 ./src/plugins/xxx 来编写您自己的出码插件，然后参考 ./src/solutions/xxx 将各种插件组合成一套适合您的业务场景的出码方案。\n\n## 参与共建\n\n欢迎参与共建，如何共建请参阅：[./CONTRIBUTING.md](https://github.com/alibaba/lowcode-engine/blob/main/modules/code-generator/CONTRIBUTING.md)\n","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"gitHead":"7e43814008c40ada8efb8d5682b30bba2846fd2f","scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch --prerelease beta && git push --follow-tags && npm publish --tag beta","release:minor":"standard-version -t @alilc/lowcode-code-generator\\@ -r minor && git push --follow-tags && npm publish","release:patch":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch && git push --follow-tags && npm publish","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"clarencep","email":"clarence.pchy@gmail.com"},"_npmVersion":"8.1.0","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"14.18.1","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","fp-ts":"^2.11.9","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","nanomatch":"^1.2.13","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^27.4.7","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^27.1.3","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.0.4-beta.1_1649650822691_0.2520049474122017","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"@alilc/lowcode-code-generator","version":"1.0.4","license":"MIT","_id":"@alilc/lowcode-code-generator@1.0.4","maintainers":[{"name":"liujuping123","email":"1052228950@qq.com"},{"name":"akirakai","email":"akirakai@163.com"},{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"21bb06bf14973a396b0f1094c6e36d6562a7d35c","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.0.4.tgz","fileCount":169,"integrity":"sha512-ufUoLdisTSy79E1N8vXFVUmPp5uiqiIaJ3P4FKelyHm5zlRWKAc0QcW3C55sPOb5WAZ3f7eNg9bXl+KSENNWkA==","signatures":[{"sig":"MEUCIQCtQpOt39H0+L1STp1mWOzQSluR9iNog8czMs3y/qNP9AIgd5m2aj3VbIYfQUAUhFgsvh7HciFdgWVu/MCYI/7aqxE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46685825,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVPVgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoQ0w//ToIvvWrLoaGbItacidj2p4rbFQ2GHVQMLWYSfaxy6QiJj5+c\r\nL1+YF99E6wGt+H4Q05ijE+JbKWfUE6+e8ZJS9qYFoJsEH/nb3vQpDjSKnOCj\r\nLUx+tbgN/ygpZI/CoTRikmwpPn+fixcU9/d9VJuGNeN7WatCG/od03LkY8J0\r\n8Q095Ln/jEslaOW10xAdKs0a7KxBDTkd34oldIB86nlEpsKg2ieU6Jl+EiWO\r\nX3kaG8yOdOiLUY7pkJ78mNmUUOrJx/AeNhLUIPUJ+C+r3EbOCDRdbit+NfaB\r\nSA6BOSn6Jnap8TvKkW0nznyFQwYGR+GiViDfENGSX+Fx8szHNTT+pC/tL40A\r\nLCk/6QK00KSO4h3z3qjHWZzkLfQ3Tn63zigKb9iaq3NelwgfNRPThPbs1HeT\r\nyZniFGtJjuZmc/cP1Kb5gpu86et6ttY2/CX34EhzItczQq9hl2UD4AJJUE/O\r\nAe7Wh6PhElVyp/4BXGOBucpxYHY5QrSZrP7UayKi5Inrlql3ZilPEYNIQ1Ed\r\nth0zeKM0sePnE56/gAP4RHIDl2E5cmabi4dSPZovP762Qu5DX0bfGHAawHDp\r\nuGpZyF5BZU/ongTna5I+9LDlyRPJT/peGoGBHB4AhqXFJXSfiFCe6Lzze9An\r\nmUFLauxK/btQQ2rmmHhUNqYE4/dOI/wHLqs=\r\n=TJbN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"gitHead":"a8f891ed89f6f88ed584d7a290a698e34bf2c480","scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch --prerelease beta && git push --follow-tags && npm publish --tag beta","release:minor":"standard-version -t @alilc/lowcode-code-generator\\@ -r minor && git push --follow-tags && npm publish","release:patch":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch && git push --follow-tags && npm publish","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"clarencep","email":"clarence.pchy@gmail.com"},"_npmVersion":"8.1.0","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"14.18.1","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","fp-ts":"^2.11.9","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","nanomatch":"^1.2.13","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.7","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^27.1.3","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.0.4_1649735007695_0.40453328393395194","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"@alilc/lowcode-code-generator","version":"1.0.5","license":"MIT","_id":"@alilc/lowcode-code-generator@1.0.5","maintainers":[{"name":"otakuxv","email":"monkey362531@gmail.com"},{"name":"zyy7259","email":"zyy7259@gmail.com"},{"name":"sun2ama","email":"339341037@qq.com"},{"name":"hujiulong","email":"me@hujiulong.com"},{"name":"liujuping123","email":"1052228950@qq.com"},{"name":"akirakai","email":"akirakai@163.com"},{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"26cb25bf3c296038f7e2841c820ca52eaad7acd6","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.0.5.tgz","fileCount":169,"integrity":"sha512-2EQHKAJTpcW0W6lzDkAI5VkKMKP716jnk3DoACiDdeXsrvn4rPBmZDm27HcizDpVLa801sML4+84nxEGBuZv9g==","signatures":[{"sig":"MEUCIQCKVHayQqYJQ5iOdrfyGMl1j3abyEASwVh7fMl5dF4FbwIgCgsPaxRz14Fj+i6eSSrvdb6hjttAQd24gOuxbALiCaA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45940972,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjQ+GEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqbrQ//U74GoEziz5ECG7Z4n1G85uxEXbsmBiFQwTcboPu3qGF045DU\r\n1rU3r9kZlTeVfmCbR/sCybk9RXid3f54gAtYVS74+nJRoVnLEq0xUjdl09gi\r\nl49YPS87+ZGMzScNbU6OwMqNz0oN0sVMCl6QiKxdK133zWTI8KifMfmOTXGl\r\n2kGyTFLqma7qcjfobz5Y58hppqG+Wh69PGT358uxYKjSquCo+DQHN3z0ktQd\r\nyxwYNGwfZf0PFvzPiVP/JO52SaO/Y2SZ9CejPxg3pcMHEQYxGOd2ur//5bW0\r\nN6BQO8mkPnBV+rualgtWErYKy4+EtU49LjNE+0EuZ8d/MWTQm8X6VRgnOwll\r\na1sK61fgBTiEVZOJIHbIevGm9h7QqLOEsmN/qMsZGOVZXGReizSkGpMhWKCj\r\nH7TZvkyO66e1pFzocARiHYyNUuV62d6Lw1imv3HtNnPscCILkvTEZRw7s6ln\r\n+0vTIoKaR2O88p7TjUgWpm2C2U7ygWCTS8+EprSMpnhLukuWShRmBTYlPAv7\r\nvzncoI6+fcVNAZaU0AcJcHjcHUbE7BOu6QtaiMPLK1CKzXj/0LRuIddsqSgD\r\nHwf0Kv0KIMbTTGAW1zTpd+ZbyDJnrSC9JaBwK6/Q+t6XQ6lwkEGH81F0Us42\r\nNlEaTQZb5PIU+Lxm4CfUOvSt7ZE/QoRbNDg=\r\n=JC/1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"gitHead":"22f87ceed96f75d40c958165300065c7658531e9","scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch --prerelease beta && git push --follow-tags && npm publish --tag beta","release:minor":"standard-version -t @alilc/lowcode-code-generator\\@ -r minor && git push --follow-tags && npm publish","release:patch":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch && git push --follow-tags && npm publish","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"},"_npmVersion":"8.15.0","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"16.17.0","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","fp-ts":"^2.11.9","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","nanomatch":"^1.2.13","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.7","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^27.1.3","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.0.5_1665393027907_0.8189379436762951","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"@alilc/lowcode-code-generator","version":"1.0.6","license":"MIT","_id":"@alilc/lowcode-code-generator@1.0.6","maintainers":[{"name":"otakuxv","email":"monkey362531@gmail.com"},{"name":"zyy7259","email":"zyy7259@gmail.com"},{"name":"sun2ama","email":"339341037@qq.com"},{"name":"hujiulong","email":"me@hujiulong.com"},{"name":"liujuping123","email":"1052228950@qq.com"},{"name":"akirakai","email":"akirakai@163.com"},{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"47aeb1b8a30970c95ef7a114ad7977740c0514f5","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.0.6.tgz","fileCount":169,"integrity":"sha512-JvuU1hbmq0b9QjC7TStJbD4aoRfrV7yEGRwq2dfiVE5b19APGAxxmw0cQVrRxHqx2SoxHjglLcA5atZASBxqPw==","signatures":[{"sig":"MEUCIQD7TnzDQuKFC0cBCqQYTN1q1MFvdNEnLI23EHumnw9p/gIgNtXICXQuVOuhQiBRCKGtCz1oFuRM/vV6jjfX9MbxrYo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45960855,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjQ+G0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp+zA/8DbQY06Q126zldKvfncrZbgoUqlOGIxMryVQfrc3b2Grj+fx0\r\nJ7ZjanKZLnZoNtUMnRtjzXPU/kukzspzImJ0echa8PPoA8/BHQMyJkVPBX5Y\r\no+VQRJYgItY1sI+E5gdQS5KB1mg0fjZWDPEcA5HvSA2JWIJcW0/Ej21+GmRa\r\ny1LV6/soMvftvJCOM4rkDFpy8l5C1+Un/rUtlBrfE+HeISV69VkUsQ4C3JOU\r\n2cpdbvbET3vXNoP6gGrwpp8Sht/+1ffWHAdZwbDfJmTuIP2vc7a8JhiqybRp\r\nBA7ccmhnTdltTGz3NaEx2j3K52BHVSXC2LCyI8MGaOUxlmEdPxj2txcdrhz3\r\nTGXC1tn+8evxpjc8XLb9S422aSmtb7un2BHmCBvWTBqd7nKahOHz9btSQada\r\nOkJPx9LXhNgpKD8wS75WDPf2Pci3eTkoYUNmFMls/t0ZDsCrodlAVd8SiwlG\r\nVLwzfTNXBdu7BJJUZkUptY/Ny0XoKrQkgWzVaRP6MLmbin3bWCoGYFre7vy9\r\nHsKOq5t0Igv8MqtiPtI4JTv1cm843AZT+lfPP7o+4J3qSLG0xiB2j1Mn8Xag\r\n+7glkoksj4EmZXD9+NOaqbjXxm5la7aYUgzu+JJbtG3B2CL+hrK1+h8gmyoH\r\nLOQmAW53yNw3xpnzP2DeY+gnIJOcVaZdlhk=\r\n=cWF+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"gitHead":"51dd1538d2ad3c4b276a486cbc7ddb7a512e6745","scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch --prerelease beta && git push --follow-tags && npm publish --tag beta","release:minor":"standard-version -t @alilc/lowcode-code-generator\\@ -r minor && git push --follow-tags && npm publish","release:patch":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch && git push --follow-tags && npm publish","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"},"_npmVersion":"8.15.0","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"16.17.0","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","fp-ts":"^2.11.9","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","nanomatch":"^1.2.13","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.7","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^27.1.3","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.0.6_1665393076172_0.9398985223821335","host":"s3://npm-registry-packages"}},"1.0.7-beta.0":{"name":"@alilc/lowcode-code-generator","version":"1.0.7-beta.0","license":"MIT","_id":"@alilc/lowcode-code-generator@1.0.7-beta.0","maintainers":[{"name":"otakuxv","email":"monkey362531@gmail.com"},{"name":"zyy7259","email":"zyy7259@gmail.com"},{"name":"sun2ama","email":"339341037@qq.com"},{"name":"hujiulong","email":"me@hujiulong.com"},{"name":"liujuping123","email":"1052228950@qq.com"},{"name":"akirakai","email":"akirakai@163.com"},{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"633dad9e0fba2b099514ed5fe729f98c1df55d0a","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.0.7-beta.0.tgz","fileCount":169,"integrity":"sha512-R+5WPp+JtmoIA9msZliU00U41C1XrwwdwpVj+ptiI2laSUU3ghuCYoxoFZFNB6BSlNBOPwLOmaJYVZ79B9Ah1w==","signatures":[{"sig":"MEUCIE1RKtnl5NkIDLHVuiBH1N7zHqqf5+hYXwBbrg0jF9D5AiEA6Phag86fN8cCmNJzi5I0Jfn28619UFagTt+NuQjoj7w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46339527,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjV5zjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpjXQ/9GgMn5zv8hCnUhfRo/JZHGI3PBmEEN+DnZJ//S6IQGyyyzU/i\r\nWwlhKCJ8uoMESI5TMbwRgPoSmu1QbtzCyEUYlhQ7wUMWGy+aA29r37DGkH/1\r\nvschiHUlHzmqT/nVLWb0/VUBvVL7/wB8PkBeFO79BsQqnNjJAAiFKEuB98Tu\r\nmn0mKymzaYwPuPYGHzzL2MMDzFc1xILQv8IG9UuA8/SvBW6rOZIPRaDY6pWn\r\nwuFiOCjGKETPciH7r70rtnkUOtaCUtzHoKOvnsqKt5G/0IiCHqkILgdqDqMt\r\nRtGqoEd49mmGcWIyUFnXCR/upPj4WMorNWWZR+rfgS0PtNjoXeiV/LlgUSBj\r\nufAVf/JrQ7X9cyK51AcCzrYCB8rnRC+viy46DdWyJztVOaPX67rWSEfy9Qur\r\nsuLSWwuMwnEpcwaLvhfhRH+nUNpEuoQqyWwUDcld7j++MXpQ/BTFt6TlOmUA\r\n6MCT5v7wWHLWqLzTEbmc23yrDswKADwDmvWaFXk9wjUedcccG/Ihb3hjZgOK\r\nSr22yDKtckzd8owFRGyrAltHuh7mx7Qtt3JP+/udtva2u4jt3Q5pDnlmpCmU\r\n3KptRvbmhcaAjtOmlKY8jIHt96x2T/iVc5FtBaw8Pz3qmr+EPerLeUVZJ/Hq\r\nmegNHG6hNsGcHiATfcoA5PtzARI6cSEroTk=\r\n=hhev\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"gitHead":"1ecb2f3c5a92d2dc197305d98ee3c8efea688962","scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch --prerelease beta && git push --follow-tags && npm publish --tag beta","release:minor":"standard-version -t @alilc/lowcode-code-generator\\@ -r minor && git push --follow-tags && npm publish","release:patch":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch && git push --follow-tags && npm publish","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"clarencep","email":"clarence.pchy@gmail.com"},"_npmVersion":"8.15.1","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"14.20.0","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","fp-ts":"^2.11.9","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","nanomatch":"^1.2.13","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.7","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^27.1.3","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.0.7-beta.0_1666686178705_0.0694224764579836","host":"s3://npm-registry-packages"}},"1.0.7-beta.1":{"name":"@alilc/lowcode-code-generator","version":"1.0.7-beta.1","license":"MIT","_id":"@alilc/lowcode-code-generator@1.0.7-beta.1","maintainers":[{"name":"otakuxv","email":"monkey362531@gmail.com"},{"name":"zyy7259","email":"zyy7259@gmail.com"},{"name":"sun2ama","email":"339341037@qq.com"},{"name":"hujiulong","email":"me@hujiulong.com"},{"name":"liujuping123","email":"1052228950@qq.com"},{"name":"akirakai","email":"akirakai@163.com"},{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"5ba27cfb16274f8ff3e930ad1614a5272fe24ec3","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.0.7-beta.1.tgz","fileCount":169,"integrity":"sha512-Q0u/Fhz4OKX1kiZc96f7HCt9/15G3zfElbPUun7YjIrLzp1TWdUQr6ShwECW2P6zTMZz23iqxRTiQPu3VXCG+w==","signatures":[{"sig":"MEYCIQDrDzDu1d9R8NhWWAEQzF4xE0VAD75A9iKsOLQ2FcZITwIhAIca5+8dpySr9Ay9yWYYxQr2bLq4s51LQrFum+VBBr+x","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46340658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWOl6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqgIhAAmI52POGcXQmfbDf2o3FlYsSNj9Yo/g8TkjhLhqp4VGeNgZJT\r\nNCzV/cvpjeliztKuxzqP44JNyjQIDI4HCSEUwVmcpaPX2ePPgsw+60QQPZ4B\r\nA6v8iSmq9U4e4RkdBLIbof8h/fDccT/Q/oCluAQEVRjjkuIiEpSHBkNiPIYk\r\n00GyLClUhfHggSTBNrkZJgNg8JHLPtqcrSTnZPnqtxIdWkQEFi2g73+b1Wk8\r\n81Usbk2qR2Kzy+ByQ/PNVVCYD/xvMhJBIbTV6+W4J5MRhn0ZzF85mJkIMpzL\r\nu6M+pi0rS2AdgeiOJvIAzoa8NyXdCtqV3ZnZqxBvVfCFWlpledcO0+Kc/obv\r\nwBQ0jrY0f3massdy1Cp0LzdkXdPHct0rWxEhP0vknFK+brDB1rAJvIuhu4+8\r\n4cY8aH4HCPqMGLE6VW7YfFjGTv/JB/mWbtvnpe5p5Co+xfQjh0WH3SbMO6Wv\r\neWC4Rin2KuSskKuyU5F7RMenVJAHntsVERjlBqVeKyJLbcDNlMOnybsE6801\r\nKEy6swsG7ZbOC5cLLIxB0GQmW02YYKAYyCoiMycnkLVOf7jxN89119g6p99b\r\nzaAIA6edfva907Y+Y+/vKk7J8PaWanYoSq9v7r92tPkq/mTS0MoLnPY/2yQk\r\nCb015HAXZWP0zqCXwiU83GPmE54UaI4XwhM=\r\n=FiJF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","readme":"# 出码\n\n所谓出码，即将低代码编排出的 schema 进行解析并转换成最终可执行的代码的过程。本模块提供有 Icejs 和 Rax 两套框架的出码方案，并提供了强大而灵活的扩展机制。\n\n## 使用方法\n\n### 1) 通过命令行快速体验\n\n欢迎使用命令行工具快速体验：`npx @alilc/lowcode-code-generator -i example-schema.json -o generated -s icejs`\n\n--其中 example-schema.json 可以从[这里下载](https://unpkg.com/@alilc/lowcode-code-generator@beta/example-schema.json)\n\n### 2) 通过设计器插件快速体验\n\n1. 安装依赖: `npm install --save @alilc/lowcode-plugin-code-generator`\n2. 注册插件:\n\n```ts\nimport { plugins } from '@alilc/lowcode-engine';\nimport CodeGenPlugin from '@alilc/lowcode-plugin-code-generator';\n\n// 在你的初始化函数中：\nawait plugins.register(CodeGenPlugin);\n\n// 如果您不希望自动加上出码按钮，则可以这样注册\nawait plugins.register(CodeGenPlugin, { disableCodeGenActionBtn: true });\n```\n\n然后运行你的低代码编辑器项目即可 -- 在设计器的右上角会出现一个“出码”按钮，点击即可在浏览器中出码并预览。\n\n### 3）服务端出码接入\n\n此代码生成器一开始就是为服务端出码设计的，你可以直接这样来在 node.js 环境中使用：\n\n1. 安装依赖: `npm install --save @alilc/lowcode-code-generator`\n2. 引入代码生成器:\n\n```js\nimport CodeGenerator from '@alilc/lowcode-code-generator';\n```\n\n3. 创建项目构建器:\n\n```js\nconst projectBuilder = CodeGenerator.solutions.icejs();\n```\n\n4. 生成代码\n\n```js\nconst project = await projectBuilder.generateProject(\n  schema, // 编排搭建出来的 schema\n);\n```\n\n5. 将生成的代码写入到磁盘中(也可以生成一个 zip 包)\n\n```js\n// 写入磁盘\nawait CodeGenerator.publishers.disk().publish({\n  project, // 上一步生成的 project\n  outputPath: '/path/to/your/output/dir', // 输出目录\n  projectSlug: 'your-project-slug', // 项目标识\n});\n\n// 写入到 zip 包\nawait CodeGenerator.publishers.zip().publish({\n  project, // 上一步生成的 project\n  outputPath: '/path/to/your/output/dir', // 输出目录\n  projectSlug: 'your-project-slug', // 项目标识 -- 对应生成 your-project-slug.zip 文件\n});\n```\n\n注：一般来说在服务端出码可以跟 github/gitlab, CI 和 CD 流程等一起串起来使用，通常用于优化性能。\n\n### 4）浏览器中出码接入\n\n随着现在电脑性能和浏览器技术的发展，出码其实已经不必非得在服务端做了，借助于 Web Worker 特性，可以在浏览器中进行出码：\n\n1. 安装依赖: `npm install --save @alilc/lowcode-code-generator`\n2. 引入代码生成器:\n\n```js\nimport * as CodeGenerator from '@alilc/lowcode-code-generator/standalone-loader';\n```\n\n3. 【可选】提前初始化代码生成器:\n\n```js\n// 提前初始化下，这样后面用的时候更快(这个 init 内部会提前准备好创建 worker 的一些资源)\nawait CodeGenerator.init();\n```\n\n4. 出码\n\n```js\nconst result = await CodeGenerator.generateCode({\n  solution: 'icejs', // 出码方案 (目前内置有 icejs 和 rax )\n  schema, // 编排搭建出来的 schema\n});\n\nconsole.log(result); // 出码结果(默认是递归结构描述的，可以传 flattenResult: true 以生成扁平结构的结果)\n```\n\n注：一般来说在浏览器中出码适合做即时预览功能。\n\n### 5）自定义出码\n\n前端框架灵活多变，默认内置的出码方案很难满足所有人的需求，好在此代码生成器支持非常灵活的插件机制 -- 欢迎参考 ./src/plugins/xxx 来编写您自己的出码插件，然后参考 ./src/solutions/xxx 将各种插件组合成一套适合您的业务场景的出码方案。\n\n## 参与共建\n\n欢迎参与共建，如何共建请参阅：[./CONTRIBUTING.md](https://github.com/alibaba/lowcode-engine/blob/main/modules/code-generator/CONTRIBUTING.md)\n","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"gitHead":"491635ccabf6f5e4e4b479e4e68c033b20372ace","scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch --prerelease beta && git push --follow-tags && npm publish --tag beta","release:minor":"standard-version -t @alilc/lowcode-code-generator\\@ -r minor && git push --follow-tags && npm publish","release:patch":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch && git push --follow-tags && npm publish","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"clarencep","email":"clarence.pchy@gmail.com"},"_npmVersion":"8.15.1","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"14.20.0","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","fp-ts":"^2.11.9","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","nanomatch":"^1.2.13","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^27.4.7","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^27.1.3","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.0.7-beta.1_1666771322066_0.8836116831219716","host":"s3://npm-registry-packages"}},"1.0.7-beta.2":{"name":"@alilc/lowcode-code-generator","version":"1.0.7-beta.2","license":"MIT","_id":"@alilc/lowcode-code-generator@1.0.7-beta.2","maintainers":[{"name":"jack.lianjie","email":"jack.lianjie@gmail.com"},{"name":"otakuxv","email":"monkey362531@gmail.com"},{"name":"zyy7259","email":"zyy7259@gmail.com"},{"name":"sun2ama","email":"339341037@qq.com"},{"name":"hujiulong","email":"me@hujiulong.com"},{"name":"liujuping123","email":"1052228950@qq.com"},{"name":"akirakai","email":"akirakai@163.com"},{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"54f413ab0e2d4a449d7f4c163ba2a149a2b91a45","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.0.7-beta.2.tgz","fileCount":170,"integrity":"sha512-D6TPS9+FZAOzwZhr65pXkGRH4EgbPWWPDD9sy/BZrQ2pVI6ABfwh7sYXaqhoXgtMwQp56EaThDYysIt9rbbONw==","signatures":[{"sig":"MEQCIDkdIFJWIVpKJsK51LXW5wLV5Ucch++e1KBPM5noaV3bAiBz9WsjLUYp3/yj6hd6mUQdhu89GsAC6cdqO/E/8apjDA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46008570,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfwk5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoVQQ//YVB632Liotjw8GC6yXh6EgiUxV5o1j9vOOs3SsK3DJ5aZMBp\r\n7K4f3ZXCbT1HlchmTLatmUoaprdsL5iusv7ISUtmK7zeXod3xsDFgVE17Hkn\r\nU2ORS/as+wd6p3sBkZXR8iOBWHivXpQ60Jmdx1aEEgpIM0RXDiBILrwkR4Wh\r\nnEri+GKNgVTHnuqoCiDGOa8oh/BM5zI6CqQY347DJ1WwMDcPgdieKkcZEAOu\r\np0Xn7AEn0LXciH6GqDMsd/8WOjgjOoxlcXwxquKE5VNJ7tn1cfg8df3XrwJX\r\nqvi9t/rTK2cVazWjlmAOOQdTqY1qUJjCQsYfLUowPLdqp56NEU3HplcDNZvr\r\niWc/QBhTfRVS/49qUUHfhug0/j7G6tGVgKXrjxXWAIKAYYM0dF2viltHB/aS\r\nsKMma9lFwRVy54h5MmozsLouCinIPdI9rGDC18mKp9zXii0FQcYmCzyTakc8\r\noeYUh8XwmYjyAH6lOLWdd9sKCvdNk9FjEkXOmnHG6mhcsVPeCHB9D1Fx1TCx\r\nJWx9b5qor8shwm6C/winvPF/DQ2lEhcoxItwP0jaVstUWQcrnH0Qt3ESF6cx\r\nLsHP1oGKlegYiMKua2i5AvyAt1MRHWz7AW9gDUJRPDaheIBuPk6meFu5w2rN\r\nG0ajEhAhURBXqbYh+tJNQl1qn2MDyVstuS4=\r\n=5RFE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","readme":"# 出码\n\n所谓出码，即将低代码编排出的 schema 进行解析并转换成最终可执行的代码的过程。本模块提供有 Icejs 和 Rax 两套框架的出码方案，并提供了强大而灵活的扩展机制。\n\n## 使用方法\n\n### 1) 通过命令行快速体验\n\n欢迎使用命令行工具快速体验：`npx @alilc/lowcode-code-generator -i example-schema.json -o generated -s icejs`\n\n--其中 example-schema.json 可以从[这里下载](https://unpkg.com/@alilc/lowcode-code-generator@beta/example-schema.json)\n\n### 2) 通过设计器插件快速体验\n\n1. 安装依赖: `npm install --save @alilc/lowcode-plugin-code-generator`\n2. 注册插件:\n\n```ts\nimport { plugins } from '@alilc/lowcode-engine';\nimport CodeGenPlugin from '@alilc/lowcode-plugin-code-generator';\n\n// 在你的初始化函数中：\nawait plugins.register(CodeGenPlugin);\n\n// 如果您不希望自动加上出码按钮，则可以这样注册\nawait plugins.register(CodeGenPlugin, { disableCodeGenActionBtn: true });\n```\n\n然后运行你的低代码编辑器项目即可 -- 在设计器的右上角会出现一个“出码”按钮，点击即可在浏览器中出码并预览。\n\n### 3）服务端出码接入\n\n此代码生成器一开始就是为服务端出码设计的，你可以直接这样来在 node.js 环境中使用：\n\n1. 安装依赖: `npm install --save @alilc/lowcode-code-generator`\n2. 引入代码生成器:\n\n```js\nimport CodeGenerator from '@alilc/lowcode-code-generator';\n```\n\n3. 创建项目构建器:\n\n```js\nconst projectBuilder = CodeGenerator.solutions.icejs();\n```\n\n4. 生成代码\n\n```js\nconst project = await projectBuilder.generateProject(\n  schema, // 编排搭建出来的 schema\n);\n```\n\n5. 将生成的代码写入到磁盘中(也可以生成一个 zip 包)\n\n```js\n// 写入磁盘\nawait CodeGenerator.publishers.disk().publish({\n  project, // 上一步生成的 project\n  outputPath: '/path/to/your/output/dir', // 输出目录\n  projectSlug: 'your-project-slug', // 项目标识\n});\n\n// 写入到 zip 包\nawait CodeGenerator.publishers.zip().publish({\n  project, // 上一步生成的 project\n  outputPath: '/path/to/your/output/dir', // 输出目录\n  projectSlug: 'your-project-slug', // 项目标识 -- 对应生成 your-project-slug.zip 文件\n});\n```\n\n注：一般来说在服务端出码可以跟 github/gitlab, CI 和 CD 流程等一起串起来使用，通常用于优化性能。\n\n### 4）浏览器中出码接入\n\n随着现在电脑性能和浏览器技术的发展，出码其实已经不必非得在服务端做了，借助于 Web Worker 特性，可以在浏览器中进行出码：\n\n1. 安装依赖: `npm install --save @alilc/lowcode-code-generator`\n2. 引入代码生成器:\n\n```js\nimport * as CodeGenerator from '@alilc/lowcode-code-generator/standalone-loader';\n```\n\n3. 【可选】提前初始化代码生成器:\n\n```js\n// 提前初始化下，这样后面用的时候更快(这个 init 内部会提前准备好创建 worker 的一些资源)\nawait CodeGenerator.init();\n```\n\n4. 出码\n\n```js\nconst result = await CodeGenerator.generateCode({\n  solution: 'icejs', // 出码方案 (目前内置有 icejs 和 rax )\n  schema, // 编排搭建出来的 schema\n});\n\nconsole.log(result); // 出码结果(默认是递归结构描述的，可以传 flattenResult: true 以生成扁平结构的结果)\n```\n\n注：一般来说在浏览器中出码适合做即时预览功能。\n\n### 5）自定义出码\n\n前端框架灵活多变，默认内置的出码方案很难满足所有人的需求，好在此代码生成器支持非常灵活的插件机制 -- 欢迎参考 ./src/plugins/xxx 来编写您自己的出码插件，然后参考 ./src/solutions/xxx 将各种插件组合成一套适合您的业务场景的出码方案。\n\n## 参与共建\n\n欢迎参与共建，如何共建请参阅：[./CONTRIBUTING.md](https://github.com/alibaba/lowcode-engine/blob/main/modules/code-generator/CONTRIBUTING.md)\n","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch --prerelease beta && git push --follow-tags && npm publish --tag beta","release:minor":"standard-version -t @alilc/lowcode-code-generator\\@ -r minor && git push --follow-tags && npm publish","release:patch":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch && git push --follow-tags && npm publish","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"},"_npmVersion":"6.14.13","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"14.17.1","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","fp-ts":"^2.11.9","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","nanomatch":"^1.2.13","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^27.4.7","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^27.1.3","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.0.7-beta.2_1669269816661_0.9680533689518362","host":"s3://npm-registry-packages"}},"1.0.7-beta.3":{"name":"@alilc/lowcode-code-generator","version":"1.0.7-beta.3","license":"MIT","_id":"@alilc/lowcode-code-generator@1.0.7-beta.3","maintainers":[{"name":"woshilaoge","email":"woshilaoge@hotmail.com"},{"name":"jack.lianjie","email":"jack.lianjie@gmail.com"},{"name":"otakuxv","email":"monkey362531@gmail.com"},{"name":"zyy7259","email":"zyy7259@gmail.com"},{"name":"sun2ama","email":"339341037@qq.com"},{"name":"hujiulong","email":"me@hujiulong.com"},{"name":"liujuping123","email":"1052228950@qq.com"},{"name":"akirakai","email":"akirakai@163.com"},{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"aee21f2f2f66ddfb67f3cbd016c69f7b9938d75b","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.0.7-beta.3.tgz","fileCount":170,"integrity":"sha512-ZiX2yg65sqyVn8UaeKc7TU8+Yx3yp4a96VVEM0P6miwMewabLt9wwQQdlEru14cu8mQpn0Av2bbRnDq047jW6Q==","signatures":[{"sig":"MEYCIQDNH4M66NFuVAuYvjz1a0PKJofoNJ+UMCwL1ZvAO0FhjQIhAJWzu4McSVB5YNA6CO1ZHEJiBAjBv4OtB8c31Ki7fslc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45992143,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhHRKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpYlQ/+PJOYFIaRnNxYXk5TuqxFMMJ3Th+59pc98xGWpSmwGsD9GxJe\r\no+i5ZPBjJPXZRVXv2ZCOLrtys82KpEkEPhh44pi/WBpegwX3V8g/afAqQixs\r\nIAnCb3GEN3/rcV7k7bb486ECymHs3tV7KBEwRsw7COYZBsRq8aCqCEC5fhc0\r\nyzkhWxY5ZIaTDAUmLc0DPPCrwDiHX2dltyyAoL5Bx28/xBX27uxRSsJTC3Md\r\nL9GmoAHS2qsUsBbd/cesC1v8HyB9sQtJ2wGR3S2TQPjj67Ej+KPKKJpSQxTM\r\nP+Hv63xu+9ilKUwLdNWpUMAJbfNSWbt1cU38b+4XkBqEvJHWhskKG861yP+K\r\nOkeJeVuh38vvl0+6/f/pWmTsjgwWcmWkHWZpfe7B+crkO6yBcrXOMjyMww61\r\n/xu/1Dbob6+AgiQpDBLip5/WGDEod9aEQGvnPN0KkFFKWvPSUnUUN9l+YOvX\r\nroGlcQ7sR/zaxx5QlHWMiOXVSe2I9NGR5c8IE3KAq/lmYbysJtEHwK3xBcr2\r\n1G+/FauPuV43X7a8m2LLlE4+J/W4160dAA9SRlxfZw8ORnV0C/qHY7BCF8o5\r\n8f6KS0F4UHRYYJdpvr2i2inhCrDc+gjR7RwsjgypWfbYw3F8WeXZQrVwz21i\r\ndVSayGj+Gb+jdeZOvXgkO51YnpoN7ylR0KA=\r\n=o3pB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","readme":"# 出码\n\n所谓出码，即将低代码编排出的 schema 进行解析并转换成最终可执行的代码的过程。本模块提供有 Icejs 和 Rax 两套框架的出码方案，并提供了强大而灵活的扩展机制。\n\n## 使用方法\n\n### 1) 通过命令行快速体验\n\n欢迎使用命令行工具快速体验：`npx @alilc/lowcode-code-generator -i example-schema.json -o generated -s icejs`\n\n--其中 example-schema.json 可以从[这里下载](https://unpkg.com/@alilc/lowcode-code-generator@beta/example-schema.json)\n\n### 2) 通过设计器插件快速体验\n\n1. 安装依赖: `npm install --save @alilc/lowcode-plugin-code-generator`\n2. 注册插件:\n\n```ts\nimport { plugins } from '@alilc/lowcode-engine';\nimport CodeGenPlugin from '@alilc/lowcode-plugin-code-generator';\n\n// 在你的初始化函数中：\nawait plugins.register(CodeGenPlugin);\n\n// 如果您不希望自动加上出码按钮，则可以这样注册\nawait plugins.register(CodeGenPlugin, { disableCodeGenActionBtn: true });\n```\n\n然后运行你的低代码编辑器项目即可 -- 在设计器的右上角会出现一个“出码”按钮，点击即可在浏览器中出码并预览。\n\n### 3）服务端出码接入\n\n此代码生成器一开始就是为服务端出码设计的，你可以直接这样来在 node.js 环境中使用：\n\n1. 安装依赖: `npm install --save @alilc/lowcode-code-generator`\n2. 引入代码生成器:\n\n```js\nimport CodeGenerator from '@alilc/lowcode-code-generator';\n```\n\n3. 创建项目构建器:\n\n```js\nconst projectBuilder = CodeGenerator.solutions.icejs();\n```\n\n4. 生成代码\n\n```js\nconst project = await projectBuilder.generateProject(\n  schema, // 编排搭建出来的 schema\n);\n```\n\n5. 将生成的代码写入到磁盘中(也可以生成一个 zip 包)\n\n```js\n// 写入磁盘\nawait CodeGenerator.publishers.disk().publish({\n  project, // 上一步生成的 project\n  outputPath: '/path/to/your/output/dir', // 输出目录\n  projectSlug: 'your-project-slug', // 项目标识\n});\n\n// 写入到 zip 包\nawait CodeGenerator.publishers.zip().publish({\n  project, // 上一步生成的 project\n  outputPath: '/path/to/your/output/dir', // 输出目录\n  projectSlug: 'your-project-slug', // 项目标识 -- 对应生成 your-project-slug.zip 文件\n});\n```\n\n注：一般来说在服务端出码可以跟 github/gitlab, CI 和 CD 流程等一起串起来使用，通常用于优化性能。\n\n### 4）浏览器中出码接入\n\n随着现在电脑性能和浏览器技术的发展，出码其实已经不必非得在服务端做了，借助于 Web Worker 特性，可以在浏览器中进行出码：\n\n1. 安装依赖: `npm install --save @alilc/lowcode-code-generator`\n2. 引入代码生成器:\n\n```js\nimport * as CodeGenerator from '@alilc/lowcode-code-generator/standalone-loader';\n```\n\n3. 【可选】提前初始化代码生成器:\n\n```js\n// 提前初始化下，这样后面用的时候更快(这个 init 内部会提前准备好创建 worker 的一些资源)\nawait CodeGenerator.init();\n```\n\n4. 出码\n\n```js\nconst result = await CodeGenerator.generateCode({\n  solution: 'icejs', // 出码方案 (目前内置有 icejs 和 rax )\n  schema, // 编排搭建出来的 schema\n});\n\nconsole.log(result); // 出码结果(默认是递归结构描述的，可以传 flattenResult: true 以生成扁平结构的结果)\n```\n\n注：一般来说在浏览器中出码适合做即时预览功能。\n\n### 5）自定义出码\n\n前端框架灵活多变，默认内置的出码方案很难满足所有人的需求，好在此代码生成器支持非常灵活的插件机制 -- 欢迎参考 ./src/plugins/xxx 来编写您自己的出码插件，然后参考 ./src/solutions/xxx 将各种插件组合成一套适合您的业务场景的出码方案。\n\n## 参与共建\n\n欢迎参与共建，如何共建请参阅：[./CONTRIBUTING.md](https://github.com/alibaba/lowcode-engine/blob/main/modules/code-generator/CONTRIBUTING.md)\n","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch --prerelease beta && git push --follow-tags && npm publish --tag beta","release:minor":"standard-version -t @alilc/lowcode-code-generator\\@ -r minor && git push --follow-tags && npm publish","release:patch":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch && git push --follow-tags && npm publish","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"},"_npmVersion":"6.14.13","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"14.17.1","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","fp-ts":"^2.11.9","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","nanomatch":"^1.2.13","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^27.4.7","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^27.1.3","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"standard-version":{"skip":{"changelog":true}},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.0.7-beta.3_1669624906041_0.7278380870863383","host":"s3://npm-registry-packages"}},"1.0.7-beta.4":{"name":"@alilc/lowcode-code-generator","version":"1.0.7-beta.4","license":"MIT","_id":"@alilc/lowcode-code-generator@1.0.7-beta.4","maintainers":[{"name":"qingniaotonghua","email":"1021281778@qq.com"},{"name":"woshilaoge","email":"woshilaoge@hotmail.com"},{"name":"jack.lianjie","email":"jack.lianjie@gmail.com"},{"name":"otakuxv","email":"monkey362531@gmail.com"},{"name":"zyy7259","email":"zyy7259@gmail.com"},{"name":"sun2ama","email":"339341037@qq.com"},{"name":"hujiulong","email":"me@hujiulong.com"},{"name":"liujuping123","email":"1052228950@qq.com"},{"name":"akirakai","email":"akirakai@163.com"},{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"66729b5dabc915f7aa2b0c30b214ce0b16b3f514","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.0.7-beta.4.tgz","fileCount":170,"integrity":"sha512-mtNXCiVofRZYXYXEbqgUzw927k8InJt3RN5KAS8toKY+tr8DlFKD6dz2qy+b5UKAu3IZ2WyMtm6TzqntdjB7wQ==","signatures":[{"sig":"MEYCIQCbZtjEK5ZxS0Hy09HQccChuqHXdgcLYZ/ffNcwm6299wIhAINWNaKVmy50umwVqjx+wnpCsBdR31+iBZgoz2eat6av","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46156405,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjnAy+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr4uxAAgdtwjhlPIpEQ1uVItfyK7QvwFwPm4x6tc2VckIeVeqDStSpI\r\n2QGL/8KeffVbvzP2igMEhrnL0szQg1g3Xba7i7da3nKahR13UMbIsj5WJR6Q\r\nJPEg3Yj4W5kt97xPEDjiEzSYwn4vm/fngf+JYEwQXJGl/y202CYrrXwCmuvX\r\nOpA+oSCoPC58kilZ8F0njYJmmrLuaOh4AFbt0wX8rmG5VBxkQTPzHq+kws6g\r\nJozZbE94oaxlOpHkvQNCQSVyilpuXIezWY3g0kPtmv+kcCPhFGz7xB2epGzC\r\nzY1IqyLwmD043LHQgrrjkOkzKZQkISwhoWPyKg9nu2P+9cnyspTb5U5fhH0j\r\nQ+T+f8jZl8kZNwahBqgvlBNMG8YMn2pGkouWetJ4/SOO73+e0c5WB9z5cPPc\r\nOy+fw5tPmWKIqfjywtbIWZnsSPRBNuwsautJ8XVTAxCG9jxIb6pCduGKfC+9\r\nH2TKcimiFsbQ4fkZBSfRtTJyyDssfkOUv6NFfAp5bmCdnCF7K3kiegkYHsSy\r\nvEkUiSZj7N6efvnlKpNTy08Jz8pqa/LaVuFnbTroWi9iotwWOYR2NGVnJpvg\r\nbpBFe48upI099ovO71oHxWJNWvzoBWBE6OWPENYYCkvbQJPXNGoJbDTJf64T\r\nC2XTpj49jt6Bsym5ZbgNCcrcZRJD60BIHVQ=\r\n=wTWK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","readme":"# 出码\n\n所谓出码，即将低代码编排出的 schema 进行解析并转换成最终可执行的代码的过程。本模块提供有 Icejs 和 Rax 两套框架的出码方案，并提供了强大而灵活的扩展机制。\n\n## 使用方法\n\n### 1) 通过命令行快速体验\n\n欢迎使用命令行工具快速体验：`npx @alilc/lowcode-code-generator -i example-schema.json -o generated -s icejs`\n\n--其中 example-schema.json 可以从[这里下载](https://unpkg.com/@alilc/lowcode-code-generator@beta/example-schema.json)\n\n### 2) 通过设计器插件快速体验\n\n1. 安装依赖: `npm install --save @alilc/lowcode-plugin-code-generator`\n2. 注册插件:\n\n```ts\nimport { plugins } from '@alilc/lowcode-engine';\nimport CodeGenPlugin from '@alilc/lowcode-plugin-code-generator';\n\n// 在你的初始化函数中：\nawait plugins.register(CodeGenPlugin);\n\n// 如果您不希望自动加上出码按钮，则可以这样注册\nawait plugins.register(CodeGenPlugin, { disableCodeGenActionBtn: true });\n```\n\n然后运行你的低代码编辑器项目即可 -- 在设计器的右上角会出现一个“出码”按钮，点击即可在浏览器中出码并预览。\n\n### 3）服务端出码接入\n\n此代码生成器一开始就是为服务端出码设计的，你可以直接这样来在 node.js 环境中使用：\n\n1. 安装依赖: `npm install --save @alilc/lowcode-code-generator`\n2. 引入代码生成器:\n\n```js\nimport CodeGenerator from '@alilc/lowcode-code-generator';\n```\n\n3. 创建项目构建器:\n\n```js\nconst projectBuilder = CodeGenerator.solutions.icejs();\n```\n\n4. 生成代码\n\n```js\nconst project = await projectBuilder.generateProject(\n  schema, // 编排搭建出来的 schema\n);\n```\n\n5. 将生成的代码写入到磁盘中(也可以生成一个 zip 包)\n\n```js\n// 写入磁盘\nawait CodeGenerator.publishers.disk().publish({\n  project, // 上一步生成的 project\n  outputPath: '/path/to/your/output/dir', // 输出目录\n  projectSlug: 'your-project-slug', // 项目标识\n});\n\n// 写入到 zip 包\nawait CodeGenerator.publishers.zip().publish({\n  project, // 上一步生成的 project\n  outputPath: '/path/to/your/output/dir', // 输出目录\n  projectSlug: 'your-project-slug', // 项目标识 -- 对应生成 your-project-slug.zip 文件\n});\n```\n\n注：一般来说在服务端出码可以跟 github/gitlab, CI 和 CD 流程等一起串起来使用，通常用于优化性能。\n\n### 4）浏览器中出码接入\n\n随着现在电脑性能和浏览器技术的发展，出码其实已经不必非得在服务端做了，借助于 Web Worker 特性，可以在浏览器中进行出码：\n\n1. 安装依赖: `npm install --save @alilc/lowcode-code-generator`\n2. 引入代码生成器:\n\n```js\nimport * as CodeGenerator from '@alilc/lowcode-code-generator/standalone-loader';\n```\n\n3. 【可选】提前初始化代码生成器:\n\n```js\n// 提前初始化下，这样后面用的时候更快(这个 init 内部会提前准备好创建 worker 的一些资源)\nawait CodeGenerator.init();\n```\n\n4. 出码\n\n```js\nconst result = await CodeGenerator.generateCode({\n  solution: 'icejs', // 出码方案 (目前内置有 icejs 和 rax )\n  schema, // 编排搭建出来的 schema\n});\n\nconsole.log(result); // 出码结果(默认是递归结构描述的，可以传 flattenResult: true 以生成扁平结构的结果)\n```\n\n注：一般来说在浏览器中出码适合做即时预览功能。\n\n### 5）自定义出码\n\n前端框架灵活多变，默认内置的出码方案很难满足所有人的需求，好在此代码生成器支持非常灵活的插件机制 -- 欢迎参考 ./src/plugins/xxx 来编写您自己的出码插件，然后参考 ./src/solutions/xxx 将各种插件组合成一套适合您的业务场景的出码方案。\n\n## 参与共建\n\n欢迎参与共建，如何共建请参阅：[./CONTRIBUTING.md](https://github.com/alibaba/lowcode-engine/blob/main/modules/code-generator/CONTRIBUTING.md)\n","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch --prerelease beta && git push --follow-tags && npm publish --tag beta","release:minor":"standard-version -t @alilc/lowcode-code-generator\\@ -r minor && git push --follow-tags && npm publish","release:patch":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch && git push --follow-tags && npm publish","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"},"_npmVersion":"6.14.13","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"14.17.1","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","fp-ts":"^2.11.9","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","nanomatch":"^1.2.13","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^27.4.7","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^27.1.3","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"standard-version":{"skip":{"changelog":true}},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.0.7-beta.4_1671171261786_0.7157827569728876","host":"s3://npm-registry-packages"}},"1.0.7-beta.5":{"name":"@alilc/lowcode-code-generator","version":"1.0.7-beta.5","license":"MIT","_id":"@alilc/lowcode-code-generator@1.0.7-beta.5","maintainers":[{"name":"qingniaotonghua","email":"1021281778@qq.com"},{"name":"woshilaoge","email":"woshilaoge@hotmail.com"},{"name":"jack.lianjie","email":"jack.lianjie@gmail.com"},{"name":"otakuxv","email":"monkey362531@gmail.com"},{"name":"zyy7259","email":"zyy7259@gmail.com"},{"name":"sun2ama","email":"339341037@qq.com"},{"name":"hujiulong","email":"me@hujiulong.com"},{"name":"liujuping123","email":"1052228950@qq.com"},{"name":"akirakai","email":"akirakai@163.com"},{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"a34e583cd4413481e5c3a02e8042875c62b6540b","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.0.7-beta.5.tgz","fileCount":170,"integrity":"sha512-GHQ534iJWYimpjvnsZJEWZV7bENfKwbTlKPMF3X4VWwWU02wt6b4sat84EQSBs9IFOkvHaMt0wPT/zOM8rkccw==","signatures":[{"sig":"MEQCIBNYX217koOfXCq68YRLzke+5Qv2DoarOtEO5lzbci0OAiB9nsBecXfhF3vjmK6SAPOG8IVTGNvHmGoWs7pNygtiCw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46381252,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjorSZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqVEhAAi7OWN0PsBE9n2ia8btBpN0ENvpN/pT2W5p796zs6cMOKFD1C\r\nYhq8ZwyqASthXQ1dkejs0ge1vq9VqEkIhcmN5ElmpbvsyjpQER92AGRZeGNP\r\n44pGj1ixYcp4na+JE0irB9uOUGiaihifw5vi1jmzBARA8rlnKV2jXkF4di+7\r\nnQCYnu5eSDPi4TaqlGNmjTegVdSGXb6/UHwKAhqmFmPS0BQkPLT/nfC8oJJ8\r\nZhufCk+odECwgoKFR6rxedRzG5Z07VKikdVf7dqla4Rce/AzJ1DAOAoq3Z/O\r\nT/yP8YB6w36/IO+O77Ei5jLFJikrTbxa6ihgucmJglrTbEJz17PVM9WZzUHp\r\ndhgSoCOOfQSREKO2fDhR1D2qiBZWulSWDiqm8PDlvqoeioS0yC1AHbSNkKDr\r\nBAcD2ebyNShtqNbQuK41CsCOFhWNpOhJf0zp2e3FO0NPg07prcDFjIbH2dhu\r\ns+WoFGf5wvd7yph1qQanab/CPkRroF6JMPHxBJgXytjsULk4UqV5Fh01yQsr\r\nLwADgaTi2OZERZITsskz35CfgiF/sXxYlUpIHzxn1I85zw1XXr8p5+AtY8Qx\r\n+qjBzFOAHyP3e0NL+2nwwIa6hXA8sHRvUAa59EyXM0HsFggUuKD26d+acK1P\r\nxe7Ro23pD27EBPNAkdQvCYu2XTZIPhkcDSo=\r\n=d3Dn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","readme":"# 出码\n\n所谓出码，即将低代码编排出的 schema 进行解析并转换成最终可执行的代码的过程。本模块提供有 Icejs 和 Rax 两套框架的出码方案，并提供了强大而灵活的扩展机制。\n\n## 使用方法\n\n### 1) 通过命令行快速体验\n\n欢迎使用命令行工具快速体验：`npx @alilc/lowcode-code-generator -i example-schema.json -o generated -s icejs`\n\n--其中 example-schema.json 可以从[这里下载](https://unpkg.com/@alilc/lowcode-code-generator@beta/example-schema.json)\n\n### 2) 通过设计器插件快速体验\n\n1. 安装依赖: `npm install --save @alilc/lowcode-plugin-code-generator`\n2. 注册插件:\n\n```ts\nimport { plugins } from '@alilc/lowcode-engine';\nimport CodeGenPlugin from '@alilc/lowcode-plugin-code-generator';\n\n// 在你的初始化函数中：\nawait plugins.register(CodeGenPlugin);\n\n// 如果您不希望自动加上出码按钮，则可以这样注册\nawait plugins.register(CodeGenPlugin, { disableCodeGenActionBtn: true });\n```\n\n然后运行你的低代码编辑器项目即可 -- 在设计器的右上角会出现一个“出码”按钮，点击即可在浏览器中出码并预览。\n\n### 3）服务端出码接入\n\n此代码生成器一开始就是为服务端出码设计的，你可以直接这样来在 node.js 环境中使用：\n\n1. 安装依赖: `npm install --save @alilc/lowcode-code-generator`\n2. 引入代码生成器:\n\n```js\nimport CodeGenerator from '@alilc/lowcode-code-generator';\n```\n\n3. 创建项目构建器:\n\n```js\nconst projectBuilder = CodeGenerator.solutions.icejs();\n```\n\n4. 生成代码\n\n```js\nconst project = await projectBuilder.generateProject(\n  schema, // 编排搭建出来的 schema\n);\n```\n\n5. 将生成的代码写入到磁盘中(也可以生成一个 zip 包)\n\n```js\n// 写入磁盘\nawait CodeGenerator.publishers.disk().publish({\n  project, // 上一步生成的 project\n  outputPath: '/path/to/your/output/dir', // 输出目录\n  projectSlug: 'your-project-slug', // 项目标识\n});\n\n// 写入到 zip 包\nawait CodeGenerator.publishers.zip().publish({\n  project, // 上一步生成的 project\n  outputPath: '/path/to/your/output/dir', // 输出目录\n  projectSlug: 'your-project-slug', // 项目标识 -- 对应生成 your-project-slug.zip 文件\n});\n```\n\n注：一般来说在服务端出码可以跟 github/gitlab, CI 和 CD 流程等一起串起来使用，通常用于优化性能。\n\n### 4）浏览器中出码接入\n\n随着现在电脑性能和浏览器技术的发展，出码其实已经不必非得在服务端做了，借助于 Web Worker 特性，可以在浏览器中进行出码：\n\n1. 安装依赖: `npm install --save @alilc/lowcode-code-generator`\n2. 引入代码生成器:\n\n```js\nimport * as CodeGenerator from '@alilc/lowcode-code-generator/standalone-loader';\n```\n\n3. 【可选】提前初始化代码生成器:\n\n```js\n// 提前初始化下，这样后面用的时候更快(这个 init 内部会提前准备好创建 worker 的一些资源)\nawait CodeGenerator.init();\n```\n\n4. 出码\n\n```js\nconst result = await CodeGenerator.generateCode({\n  solution: 'icejs', // 出码方案 (目前内置有 icejs 和 rax )\n  schema, // 编排搭建出来的 schema\n});\n\nconsole.log(result); // 出码结果(默认是递归结构描述的，可以传 flattenResult: true 以生成扁平结构的结果)\n```\n\n注：一般来说在浏览器中出码适合做即时预览功能。\n\n### 5）自定义出码\n\n前端框架灵活多变，默认内置的出码方案很难满足所有人的需求，好在此代码生成器支持非常灵活的插件机制 -- 欢迎参考 ./src/plugins/xxx 来编写您自己的出码插件，然后参考 ./src/solutions/xxx 将各种插件组合成一套适合您的业务场景的出码方案。\n\n## 参与共建\n\n欢迎参与共建，如何共建请参阅：[./CONTRIBUTING.md](https://github.com/alibaba/lowcode-engine/blob/main/modules/code-generator/CONTRIBUTING.md)\n","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"gitHead":"89f4b11303033b446e2350637fb5e5c9c631fc68","scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch --prerelease beta && git push --follow-tags && npm publish --tag beta","release:minor":"standard-version -t @alilc/lowcode-code-generator\\@ -r minor && git push --follow-tags && npm publish","release:patch":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch && git push --follow-tags && npm publish","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"eternalsky","email":"wsj7552715@hotmail.com"},"_npmVersion":"8.11.0","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"16.16.0","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","fp-ts":"^2.11.9","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","nanomatch":"^1.2.13","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^27.4.7","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^27.1.3","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"standard-version":{"skip":{"changelog":true}},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.0.7-beta.5_1671607448866_0.6251746359731103","host":"s3://npm-registry-packages"}},"1.0.7":{"name":"@alilc/lowcode-code-generator","version":"1.0.7","license":"MIT","_id":"@alilc/lowcode-code-generator@1.0.7","maintainers":[{"name":"qingniaotonghua","email":"1021281778@qq.com"},{"name":"woshilaoge","email":"woshilaoge@hotmail.com"},{"name":"jack.lianjie","email":"jack.lianjie@gmail.com"},{"name":"otakuxv","email":"monkey362531@gmail.com"},{"name":"zyy7259","email":"zyy7259@gmail.com"},{"name":"sun2ama","email":"339341037@qq.com"},{"name":"hujiulong","email":"me@hujiulong.com"},{"name":"liujuping123","email":"1052228950@qq.com"},{"name":"akirakai","email":"akirakai@163.com"},{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"e1c4656f4c6e1d8bab28b4123e356fefc7f71732","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.0.7.tgz","fileCount":170,"integrity":"sha512-fq4INwuioJ3q5G9uncC6GJH1zsC7rQ+RIptDjvUqOmPLg5OzQOBL2E5mwroZdb6TCabH4MAxVNzCi+V1wcshYg==","signatures":[{"sig":"MEUCIHPMTF9QKR9IxLGBzYW9vEnl8GLsENhvdqzMSALI+tftAiEAsBQEnmxF6dWENb0MHUY+btcB3kKSSAUtJgEizzGPB1M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46327981,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJju9gFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrygQ/+PdcJrgCzWNKCM6VOJVre+N9eLgDH5Z7g8dTA9VEQskFCAFEC\r\neSNtWaZ4w8zwTFElWyy0VWDVOh2G50RV/xZfeHr7awJsKjbm0u15mw9vkEL7\r\n/3zwe45gKw02dSjL06ckTMkOhREpuXiSDC4yQ93tSLFfXBBSjykKVS4UgOTw\r\nBM7xlzCN4KQJiGJ+EcH0m9le5InmU0sKOnMRahVdWCQyWQi4a1RzzfCMcAaM\r\nDiE+nDQjqrFyyqqC3TIaIqNes6kZp6jzs5zEcZfKEPsNhqReo7P0hi/HGDhD\r\nH0GUXvaxS40EJNmn1Ue4G/VX5jTbPywqpMBZKFVqd72R2eGW8wYgL7HTcaJj\r\nrBkhrEToU8MiW+IxeVc2q0ViHwqLFLRpCHLGA0QHOUPNs14pZHyWv2OoyGsW\r\nCUiUzPKBwLNC6+HdYyRQP7MoGDJG7RXHIMa+9dr3r7n9TcWnQ3Zx1ZFZKRe3\r\noQV86vFZ+G7dFjdWjle+jicEMAss2hA7DbbqjLVpTawhrp9GFMrWTzFJHIoV\r\nvXbiF2y8gi1otf+uvittUYmNt2Qr4Jwo1dKuCQ2ZkZhCcBp0rKUcixSgw+1r\r\nGtLxL2Tc8bEgBtj4XD5Wld5JMCM0V/uPyPjonOvU5X//zlpL4op6t8F5J2Qr\r\ndDzlQJwNz1zOazeSG2WjeZ63EFtUZTG96Ys=\r\n=FVqO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch --prerelease beta && git push --follow-tags && npm publish --tag beta","release:minor":"standard-version -t @alilc/lowcode-code-generator\\@ -r minor && git push --follow-tags && npm publish","release:patch":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch && git push --follow-tags && npm publish","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"},"_npmVersion":"6.14.13","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"14.17.1","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","fp-ts":"^2.11.9","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","nanomatch":"^1.2.13","babel-jest":"^26.5.2","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.5.2","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^26.5.2","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"standard-version":{"skip":{"changelog":true}},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.0.7_1673254916680_0.6655700134591711","host":"s3://npm-registry-packages"}},"1.0.8":{"name":"@alilc/lowcode-code-generator","version":"1.0.8","license":"MIT","_id":"@alilc/lowcode-code-generator@1.0.8","maintainers":[{"name":"leoyuan","email":"yuanlihao1988@163.com"},{"name":"whatever_lll","email":"whatever6g@gmail.com"},{"name":"yang1996","email":"89915256@qq.com"},{"name":"jun.li","email":"jun.lukesmail@gmail.com"},{"name":"qingniaotonghua","email":"1021281778@qq.com"},{"name":"woshilaoge","email":"woshilaoge@hotmail.com"},{"name":"jack.lianjie","email":"jack.lianjie@gmail.com"},{"name":"otakuxv","email":"monkey362531@gmail.com"},{"name":"zyy7259","email":"zyy7259@gmail.com"},{"name":"sun2ama","email":"339341037@qq.com"},{"name":"hujiulong","email":"me@hujiulong.com"},{"name":"liujuping123","email":"1052228950@qq.com"},{"name":"akirakai","email":"akirakai@163.com"},{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"498d375ec1b2f5c6d1c46fa9a1cfa6cfba787c9b","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.0.8.tgz","fileCount":171,"integrity":"sha512-ShanKZR7CUiLne+b2v50raaZPBu9/qccEqLPvsq1gIfsQGQWcKegRhoiCdS3jTceriuCBixNDk2smLlzNl+8mA==","signatures":[{"sig":"MEUCIE8iNZNQj+ldqCZCvHVXnqmnBrKYB/0KnqfcoyRNbmz7AiEAkq1mZ1eKepD9mWvGhnTCM1O6TgYS7RolK5jB/qQEXkk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46920192,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkCtO3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrnng/9GdOzjH2yZACGy+Np3Q/54bGkEojSdE5FgIOwjBTqIqVTz6GT\r\nlO6sgUejTsQPJJEioDbqB7q0Lvipp6aB+mMWVpErjlG+YuevKdE/7mZUQHq4\r\nBBcGxWYondUCgsqfJWe2FO0tOIo7NvnVZ41JER3F7eZRsI8T/M1p9dRCCmub\r\n8Oz49ec/FNj9gVv/7IW0AQYwfVKBdrytkMyVV4TSbQUETRNAjQ8rNKmCam+n\r\nFxQQy6CWxxEcuO6HwtrnnomC66pxIFbCkKsnZxRANJyqpLMvflWFCVGQFXQB\r\n8epgkg6tT5/hUMtfrW6IiwUVAGbKbI7CJtiQakKSX2r749trG8hWDhTeSYfn\r\nKR1YTbnRljaYvwmZaE10gWXb8kXjCd8r4RLZLIekgUfPXHFrq2N+DNn6g/BM\r\n0G6hW+iQjPPVWNoTCunlNbR231bv5Jphq+bKLHdXsxtCM+fXSMsxAum+zfk+\r\nFU5KT5IwAmnKiBeqPltlMKEyo1PiZTXdIPbxF9vJ/BtoOU6CHQxCseX7sh7O\r\nlueIfRBS90EAOKF2boMLAaJyNoqQDhapmFEsLU2zYgSHgLHiK09xyeJpk0B0\r\nya/ZUvR3l/RpMrbxByLpWjumSCRIwxC34NSFrSzPm6Iq0rAFRv8KpyRO6YsX\r\nMeepSxLoL3E2EyMpxSWDVJgaiD6tU+DofAk=\r\n=Tujq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch --prerelease beta && git push --follow-tags && npm publish --tag beta","release:minor":"standard-version -t @alilc/lowcode-code-generator\\@ -r minor && git push --follow-tags && npm publish","release:patch":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch && git push --follow-tags && npm publish","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"leoyuan","email":"yuanlihao1988@163.com"},"_npmVersion":"6.14.17","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"14.19.3","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","fp-ts":"^2.11.9","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","nanomatch":"^1.2.13","babel-jest":"^26.5.2","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.5.2","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^26.5.2","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"standard-version":{"skip":{"changelog":true}},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.0.8_1678431158922_0.8789080371149227","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@alilc/lowcode-code-generator","version":"1.1.0","license":"MIT","_id":"@alilc/lowcode-code-generator@1.1.0","maintainers":[{"name":"leoyuan","email":"yuanlihao1988@163.com"},{"name":"whatever_lll","email":"whatever6g@gmail.com"},{"name":"yang1996","email":"89915256@qq.com"},{"name":"jun.li","email":"jun.lukesmail@gmail.com"},{"name":"qingniaotonghua","email":"1021281778@qq.com"},{"name":"woshilaoge","email":"woshilaoge@hotmail.com"},{"name":"jack.lianjie","email":"jack.lianjie@gmail.com"},{"name":"otakuxv","email":"monkey362531@gmail.com"},{"name":"zyy7259","email":"zyy7259@gmail.com"},{"name":"sun2ama","email":"339341037@qq.com"},{"name":"hujiulong","email":"me@hujiulong.com"},{"name":"liujuping123","email":"1052228950@qq.com"},{"name":"akirakai","email":"akirakai@163.com"},{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"homepage":"https://github.com/alibaba/lowcode-engine#readme","bugs":{"url":"https://github.com/alibaba/lowcode-engine/issues"},"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"bd50f8db5ad51cb5967b3775336e063013bfee66","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.1.0.tgz","fileCount":195,"integrity":"sha512-zDa90LupaRx3OHSnEV6FXxvwBkqK3SHl8xEzkseS0F1bQ+23ugg3MGFaidNpsDIvmIGbcTZoUS3SbtAto65JfA==","signatures":[{"sig":"MEUCIQCrBa4QUJx4NZDaGJpZQzZjAYfKYSFvAqlQvpzU4yOw2AIgJIuNk9v9pKrpzSrO5+t3B53ueMP7b4VlhblUPG/0HLQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47161438,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJO3KACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo3Zg//SMaPrlqv0Ua8gCT4thWoRcyWxtdRf8rjYTKQFY9iOr7DN07m\r\nmWaeMM8FkStXkkVK/cEG90K0n/PhCMIFKwr09GFY+GRyW1qg/Yxw+5EeiJTa\r\nYs0Jc01iLqPv8lcCYqZZ/JkfLmuI9NNt/72PRuz/v7UzQ5P/PaGUr63tnfb/\r\nzv+qKM5GWHuSSXOCB00h+H61nouC6LOAi4NkgPeAwIA2/fpjJ0xCFuyBd6sd\r\nFgOgW8FMMrLcm6ybanUvBsfaUcwQMN6q94NSdXXUIONv8S2zm6ScbVwL/9Q9\r\n5GooC1N6sBgZ1t+prXvWO4aSnN2hIsZtpwbCiZTwRev6bHxtrlKqjLvi9TBn\r\nAUnB0ZCmfFxRglXpUFmamRRL5GRLj1gTWer7rSCVZtxjY9B3NOxKgTody9kT\r\nc8ohu9f4FTgVAwgUkosOZ+adZV9k0BiSoKDhIBpsLcXnJFg49XgP4fa7OS1Q\r\nlFvnL8G+UB4FSnI1OHHPYu4A4Ch8QTUsGzaqL/k4dJmv6eTTzgc/BTsYd45K\r\nDmsiDozjxfv+Y3pSN4crwaH8ST/42Rff525ol4sl5Nj7IWuwdgpWWvGe6UPg\r\ndKZTD2nX6R+rD7X5g2RlG+/HsS1VCG/aCEwLyen/v+Mtr2CorYryoJGbM+VD\r\nLWWZknrqtX7JYL7VJehPwOSLR1SFaqV+HYA=\r\n=jxh8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"gitHead":"7879a63638d54038001186d8a9b9b77bcf24a290","scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch --prerelease beta && git push --follow-tags && npm publish --tag beta","release:minor":"standard-version -t @alilc/lowcode-code-generator\\@ -r minor && git push --follow-tags && npm publish","release:patch":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch && git push --follow-tags && npm publish","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"leoyuan","email":"yuanlihao1988@163.com"},"repository":{"url":"git+ssh://git@github.com/alibaba/lowcode-engine.git","type":"git"},"_npmVersion":"8.18.0","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"18.8.0","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","fp-ts":"^2.11.9","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","nanomatch":"^1.2.13","babel-jest":"^26.5.2","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.5.2","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^26.5.2","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"standard-version":{"skip":{"changelog":true}},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.1.0_1680141769762_0.7591243218675012","host":"s3://npm-registry-packages"}},"1.1.1-beta.1":{"name":"@alilc/lowcode-code-generator","version":"1.1.1-beta.1","license":"MIT","_id":"@alilc/lowcode-code-generator@1.1.1-beta.1","maintainers":[{"name":"leoyuan","email":"yuanlihao1988@163.com"},{"name":"whatever_lll","email":"whatever6g@gmail.com"},{"name":"yang1996","email":"89915256@qq.com"},{"name":"jun.li","email":"jun.lukesmail@gmail.com"},{"name":"qingniaotonghua","email":"1021281778@qq.com"},{"name":"woshilaoge","email":"woshilaoge@hotmail.com"},{"name":"jack.lianjie","email":"jack.lianjie@gmail.com"},{"name":"otakuxv","email":"monkey362531@gmail.com"},{"name":"zyy7259","email":"zyy7259@gmail.com"},{"name":"sun2ama","email":"339341037@qq.com"},{"name":"hujiulong","email":"me@hujiulong.com"},{"name":"liujuping123","email":"1052228950@qq.com"},{"name":"akirakai","email":"akirakai@163.com"},{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"homepage":"https://github.com/alibaba/lowcode-engine#readme","bugs":{"url":"https://github.com/alibaba/lowcode-engine/issues"},"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"0068cafbad818bfac66243fcbd94a9a2fa3e2fbf","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.1.1-beta.1.tgz","fileCount":196,"integrity":"sha512-NFBThQ9zm1LEbCdvhInfiOXMqrDuzydhNRU53pn6KI0cSZ7fD+vaFBIhCqLBWIgoeOsA8sxtaKtWtS7/CjsZag==","signatures":[{"sig":"MEQCICmpMYwQtU2k/Qf+0SVygKFJw/uz2tAx4nnGZVArGpMqAiBZUyIfItK9kRy+ABt1B84qn2+VoWfO/DNYJwkRH0skNA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47193236,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJqM5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo6MA/9HaEnSkWax0kNM5W8N8skOTBkAmBAmUQ9wNKD3vQt5mP7DhJb\r\nfLYTockEtKxWx4ZxlaIFw+RLY8d9AIWZNnZD2Ty9FSa5bjQTiDTW55Td6704\r\nbXZV4pamOV2ZR7MlJc9PCb4C7XGffBxjqVWRU+lTuUpqHDci9PL3gqWfcn1Z\r\nU8GSDpNHnE9u0mE++2sKHBgNZxsISs/amy3XsJK0MGTsOlJvwUwAPaMhcneB\r\nAON03/0CJtjxu/vt7yVOAzrTFT+e+dgP4kIlLlgncUbjU9EYs025K0WNLjPo\r\n8IGcMJZLbXtz039VNPV+JlAvIGQuNUsSbTcuAI3zecNZX55xCPIYROBCO5I4\r\nGgd1AKeacdbLXYBsJf+q+oAPmhSZkAPW+JcCh5d9m2Bp8hGKG69Oj7y+3yVH\r\nR6gUN3Yr7R9G4b1lPU0BlcYerCC7BbNxiBQhSwGqVgKj7dyw875QnWfsajAG\r\nKP1CsNbWPI1DoAJWctolNIFC9EIeEEP3R1ghl4lvX96+nbdd9v33QoT+1L2Z\r\n5YV9Z177D+lOVhTozqFpDqdLJav0Dz8GhcJw6qJO4wnecRQRaZN2v6iVk8DE\r\ndY5NjZcb8zZV470fBFzvJeDVd0JggISNj15ZzduCaadQgSIbUlmYseT5z7tk\r\nG1HRrhFSGdeeXszoyMIUZfpOY+yfQu426mY=\r\n=hNYg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","readme":"# 出码\n\n所谓出码，即将低代码编排出的 schema 进行解析并转换成最终可执行的代码的过程。本模块提供有 Icejs 和 Rax 两套框架的出码方案，并提供了强大而灵活的扩展机制。\n\n## 使用方法\n\n### 1) 通过命令行快速体验\n\n欢迎使用命令行工具快速体验：`npx @alilc/lowcode-code-generator -i example-schema.json -o generated -s icejs`\n\n--其中 example-schema.json 可以从[这里下载](https://unpkg.com/@alilc/lowcode-code-generator@beta/example-schema.json)\n\n### 2) 通过设计器插件快速体验\n\n1. 安装依赖: `npm install --save @alilc/lowcode-plugin-code-generator`\n2. 注册插件:\n\n```ts\nimport { plugins } from '@alilc/lowcode-engine';\nimport CodeGenPlugin from '@alilc/lowcode-plugin-code-generator';\n\n// 在你的初始化函数中：\nawait plugins.register(CodeGenPlugin);\n\n// 如果您不希望自动加上出码按钮，则可以这样注册\nawait plugins.register(CodeGenPlugin, { disableCodeGenActionBtn: true });\n```\n\n然后运行你的低代码编辑器项目即可 -- 在设计器的右上角会出现一个“出码”按钮，点击即可在浏览器中出码并预览。\n\n### 3）服务端出码接入\n\n此代码生成器一开始就是为服务端出码设计的，你可以直接这样来在 node.js 环境中使用：\n\n1. 安装依赖: `npm install --save @alilc/lowcode-code-generator`\n2. 引入代码生成器:\n\n```js\nimport CodeGenerator from '@alilc/lowcode-code-generator';\n```\n\n3. 创建项目构建器:\n\n```js\nconst projectBuilder = CodeGenerator.solutions.icejs();\n```\n\n4. 生成代码\n\n```js\nconst project = await projectBuilder.generateProject(\n  schema, // 编排搭建出来的 schema\n);\n```\n\n5. 将生成的代码写入到磁盘中(也可以生成一个 zip 包)\n\n```js\n// 写入磁盘\nawait CodeGenerator.publishers.disk().publish({\n  project, // 上一步生成的 project\n  outputPath: '/path/to/your/output/dir', // 输出目录\n  projectSlug: 'your-project-slug', // 项目标识\n});\n\n// 写入到 zip 包\nawait CodeGenerator.publishers.zip().publish({\n  project, // 上一步生成的 project\n  outputPath: '/path/to/your/output/dir', // 输出目录\n  projectSlug: 'your-project-slug', // 项目标识 -- 对应生成 your-project-slug.zip 文件\n});\n```\n\n注：一般来说在服务端出码可以跟 github/gitlab, CI 和 CD 流程等一起串起来使用，通常用于优化性能。\n\n### 4）浏览器中出码接入\n\n随着现在电脑性能和浏览器技术的发展，出码其实已经不必非得在服务端做了，借助于 Web Worker 特性，可以在浏览器中进行出码：\n\n1. 安装依赖: `npm install --save @alilc/lowcode-code-generator`\n2. 引入代码生成器:\n\n```js\nimport * as CodeGenerator from '@alilc/lowcode-code-generator/standalone-loader';\n```\n\n3. 【可选】提前初始化代码生成器:\n\n```js\n// 提前初始化下，这样后面用的时候更快(这个 init 内部会提前准备好创建 worker 的一些资源)\nawait CodeGenerator.init();\n```\n\n4. 出码\n\n```js\nconst result = await CodeGenerator.generateCode({\n  solution: 'icejs', // 出码方案 (目前内置有 icejs 和 rax )\n  schema, // 编排搭建出来的 schema\n});\n\nconsole.log(result); // 出码结果(默认是递归结构描述的，可以传 flattenResult: true 以生成扁平结构的结果)\n```\n\n注：一般来说在浏览器中出码适合做即时预览功能。\n\n### 5）自定义出码\n\n前端框架灵活多变，默认内置的出码方案很难满足所有人的需求，好在此代码生成器支持非常灵活的插件机制 -- 欢迎参考 ./src/plugins/xxx 来编写您自己的出码插件，然后参考 ./src/solutions/xxx 将各种插件组合成一套适合您的业务场景的出码方案。\n\n## 参与共建\n\n欢迎参与共建，如何共建请参阅：[./CONTRIBUTING.md](https://github.com/alibaba/lowcode-engine/blob/main/modules/code-generator/CONTRIBUTING.md)\n","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch --prerelease beta && git push --follow-tags && npm publish --tag beta","release:minor":"standard-version -t @alilc/lowcode-code-generator\\@ -r minor && git push --follow-tags && npm publish","release:patch":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch && git push --follow-tags && npm publish","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"leoyuan","email":"yuanlihao1988@163.com"},"repository":{"url":"git+ssh://git@github.com/alibaba/lowcode-engine.git","type":"git"},"_npmVersion":"6.14.17","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"14.19.3","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","fp-ts":"^2.11.9","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","nanomatch":"^1.2.13","babel-jest":"^26.5.2","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^26.5.2","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^26.5.2","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"standard-version":{"skip":{"changelog":true}},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.1.1-beta.1_1680253753018_0.830500224012994","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"@alilc/lowcode-code-generator","version":"1.1.2","license":"MIT","_id":"@alilc/lowcode-code-generator@1.1.2","maintainers":[{"name":"leoyuan","email":"yuanlihao1988@163.com"},{"name":"whatever_lll","email":"whatever6g@gmail.com"},{"name":"yang1996","email":"89915256@qq.com"},{"name":"jun.li","email":"jun.lukesmail@gmail.com"},{"name":"qingniaotonghua","email":"1021281778@qq.com"},{"name":"woshilaoge","email":"woshilaoge@hotmail.com"},{"name":"jack.lianjie","email":"jack.lianjie@gmail.com"},{"name":"otakuxv","email":"monkey362531@gmail.com"},{"name":"zyy7259","email":"zyy7259@gmail.com"},{"name":"sun2ama","email":"339341037@qq.com"},{"name":"hujiulong","email":"me@hujiulong.com"},{"name":"liujuping123","email":"1052228950@qq.com"},{"name":"akirakai","email":"akirakai@163.com"},{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"homepage":"https://github.com/alibaba/lowcode-engine#readme","bugs":{"url":"https://github.com/alibaba/lowcode-engine/issues"},"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"8cd8955426851820aaca08e1b5164a73385c93f3","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.1.2.tgz","fileCount":196,"integrity":"sha512-O6kQ+mTw6JzRi3ZZsXcabPJH7tytPvJFX5uBOkOwWTkopTzbeJfG6iNpZTd8AoMHrjwL41s5g7hzPEwUp2nJ1w==","signatures":[{"sig":"MEUCIQD08o7QQzppH7JucZfKNasg3bw08R/lzXhl9Fs2ocx0/QIgMaugs1YiYLHIiZTDmdup6ZVwPc4lu9WAPgVTfw8txug=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47202536},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch --prerelease beta && git push --follow-tags && npm publish --tag beta","release:minor":"standard-version -t @alilc/lowcode-code-generator\\@ -r minor && git push --follow-tags && npm publish","release:patch":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch && git push --follow-tags && npm publish","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"leoyuan","email":"yuanlihao1988@163.com"},"repository":{"url":"git+ssh://git@github.com/alibaba/lowcode-engine.git","type":"git"},"_npmVersion":"6.14.17","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"14.19.3","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","fp-ts":"^2.11.9","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","nanomatch":"^1.2.13","babel-jest":"^26.5.2","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.5.2","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^26.5.2","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"standard-version":{"skip":{"changelog":true}},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.1.2_1683364339024_0.011481707862291968","host":"s3://npm-registry-packages"}},"1.1.3-beta.1":{"name":"@alilc/lowcode-code-generator","version":"1.1.3-beta.1","license":"MIT","_id":"@alilc/lowcode-code-generator@1.1.3-beta.1","maintainers":[{"name":"leoyuan","email":"yuanlihao1988@163.com"},{"name":"whatever_lll","email":"whatever6g@gmail.com"},{"name":"yang1996","email":"89915256@qq.com"},{"name":"jun.li","email":"jun.lukesmail@gmail.com"},{"name":"qingniaotonghua","email":"1021281778@qq.com"},{"name":"woshilaoge","email":"woshilaoge@hotmail.com"},{"name":"jack.lianjie","email":"jack.lianjie@gmail.com"},{"name":"otakuxv","email":"monkey362531@gmail.com"},{"name":"zyy7259","email":"zyy7259@gmail.com"},{"name":"sun2ama","email":"339341037@qq.com"},{"name":"hujiulong","email":"me@hujiulong.com"},{"name":"liujuping123","email":"1052228950@qq.com"},{"name":"akirakai","email":"akirakai@163.com"},{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"homepage":"https://github.com/alibaba/lowcode-engine#readme","bugs":{"url":"https://github.com/alibaba/lowcode-engine/issues"},"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"5a2c258c30bd48ac9f11bc0a548335b26459ca61","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.1.3-beta.1.tgz","fileCount":196,"integrity":"sha512-3zXnyxk774hc+vweFgroTPFwUV7UvLOOUCQS9Zb0xE5TAOEIfGDGSKF72O1jzCLLzHxGZvD6gwYzH/7F7J564A==","signatures":[{"sig":"MEYCIQCZOWnNq1xNVM9upUtxfTfrl4oJ40gYfjgQcPuqz7SFOgIhAK+cSnEPJbtijTioIxJxuWBA5JhtYjd6p9sk5Kfp+KR/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47457145},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","readme":"# 出码\n\n所谓出码，即将低代码编排出的 schema 进行解析并转换成最终可执行的代码的过程。本模块提供有 Icejs 和 Rax 两套框架的出码方案，并提供了强大而灵活的扩展机制。\n\n## 使用方法\n\n### 1) 通过命令行快速体验\n\n欢迎使用命令行工具快速体验：`npx @alilc/lowcode-code-generator -i example-schema.json -o generated -s icejs`\n\n--其中 example-schema.json 可以从[这里下载](https://unpkg.com/@alilc/lowcode-code-generator@beta/example-schema.json)\n\n### 2) 通过设计器插件快速体验\n\n1. 安装依赖: `npm install --save @alilc/lowcode-plugin-code-generator`\n2. 注册插件:\n\n```ts\nimport { plugins } from '@alilc/lowcode-engine';\nimport CodeGenPlugin from '@alilc/lowcode-plugin-code-generator';\n\n// 在你的初始化函数中：\nawait plugins.register(CodeGenPlugin);\n\n// 如果您不希望自动加上出码按钮，则可以这样注册\nawait plugins.register(CodeGenPlugin, { disableCodeGenActionBtn: true });\n```\n\n然后运行你的低代码编辑器项目即可 -- 在设计器的右上角会出现一个“出码”按钮，点击即可在浏览器中出码并预览。\n\n### 3）服务端出码接入\n\n此代码生成器一开始就是为服务端出码设计的，你可以直接这样来在 node.js 环境中使用：\n\n1. 安装依赖: `npm install --save @alilc/lowcode-code-generator`\n2. 引入代码生成器:\n\n```js\nimport CodeGenerator from '@alilc/lowcode-code-generator';\n```\n\n3. 创建项目构建器:\n\n```js\nconst projectBuilder = CodeGenerator.solutions.icejs();\n```\n\n4. 生成代码\n\n```js\nconst project = await projectBuilder.generateProject(\n  schema, // 编排搭建出来的 schema\n);\n```\n\n5. 将生成的代码写入到磁盘中(也可以生成一个 zip 包)\n\n```js\n// 写入磁盘\nawait CodeGenerator.publishers.disk().publish({\n  project, // 上一步生成的 project\n  outputPath: '/path/to/your/output/dir', // 输出目录\n  projectSlug: 'your-project-slug', // 项目标识\n});\n\n// 写入到 zip 包\nawait CodeGenerator.publishers.zip().publish({\n  project, // 上一步生成的 project\n  outputPath: '/path/to/your/output/dir', // 输出目录\n  projectSlug: 'your-project-slug', // 项目标识 -- 对应生成 your-project-slug.zip 文件\n});\n```\n\n注：一般来说在服务端出码可以跟 github/gitlab, CI 和 CD 流程等一起串起来使用，通常用于优化性能。\n\n### 4）浏览器中出码接入\n\n随着现在电脑性能和浏览器技术的发展，出码其实已经不必非得在服务端做了，借助于 Web Worker 特性，可以在浏览器中进行出码：\n\n1. 安装依赖: `npm install --save @alilc/lowcode-code-generator`\n2. 引入代码生成器:\n\n```js\nimport * as CodeGenerator from '@alilc/lowcode-code-generator/standalone-loader';\n```\n\n3. 【可选】提前初始化代码生成器:\n\n```js\n// 提前初始化下，这样后面用的时候更快(这个 init 内部会提前准备好创建 worker 的一些资源)\nawait CodeGenerator.init();\n```\n\n4. 出码\n\n```js\nconst result = await CodeGenerator.generateCode({\n  solution: 'icejs', // 出码方案 (目前内置有 icejs 和 rax )\n  schema, // 编排搭建出来的 schema\n});\n\nconsole.log(result); // 出码结果(默认是递归结构描述的，可以传 flattenResult: true 以生成扁平结构的结果)\n```\n\n注：一般来说在浏览器中出码适合做即时预览功能。\n\n### 5）自定义出码\n\n前端框架灵活多变，默认内置的出码方案很难满足所有人的需求，好在此代码生成器支持非常灵活的插件机制 -- 欢迎参考 ./src/plugins/xxx 来编写您自己的出码插件，然后参考 ./src/solutions/xxx 将各种插件组合成一套适合您的业务场景的出码方案。\n\n## 参与共建\n\n欢迎参与共建，如何共建请参阅：[./CONTRIBUTING.md](https://github.com/alibaba/lowcode-engine/blob/main/modules/code-generator/CONTRIBUTING.md)\n","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch --prerelease beta && git push --follow-tags && npm publish --tag beta","release:minor":"standard-version -t @alilc/lowcode-code-generator\\@ -r minor && git push --follow-tags && npm publish","release:patch":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch && git push --follow-tags && npm publish","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"leoyuan","email":"yuanlihao1988@163.com"},"repository":{"url":"git+ssh://git@github.com/alibaba/lowcode-engine.git","type":"git"},"_npmVersion":"6.14.17","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"14.19.3","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","fp-ts":"^2.11.9","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","nanomatch":"^1.2.13","babel-jest":"^26.5.2","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^26.5.2","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^26.5.2","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"standard-version":{"skip":{"changelog":true}},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.1.3-beta.1_1684466729532_0.15024621286972795","host":"s3://npm-registry-packages"}},"1.1.3-beta.3":{"name":"@alilc/lowcode-code-generator","version":"1.1.3-beta.3","license":"MIT","_id":"@alilc/lowcode-code-generator@1.1.3-beta.3","maintainers":[{"name":"leoyuan","email":"yuanlihao1988@163.com"},{"name":"whatever_lll","email":"whatever6g@gmail.com"},{"name":"yang1996","email":"89915256@qq.com"},{"name":"jun.li","email":"jun.lukesmail@gmail.com"},{"name":"qingniaotonghua","email":"1021281778@qq.com"},{"name":"woshilaoge","email":"woshilaoge@hotmail.com"},{"name":"jack.lianjie","email":"jack.lianjie@gmail.com"},{"name":"otakuxv","email":"monkey362531@gmail.com"},{"name":"zyy7259","email":"zyy7259@gmail.com"},{"name":"sun2ama","email":"339341037@qq.com"},{"name":"hujiulong","email":"me@hujiulong.com"},{"name":"liujuping123","email":"1052228950@qq.com"},{"name":"akirakai","email":"akirakai@163.com"},{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"homepage":"https://github.com/alibaba/lowcode-engine#readme","bugs":{"url":"https://github.com/alibaba/lowcode-engine/issues"},"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"66e07e30ae1bdaf98a404e40672aefe385d0a0ba","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.1.3-beta.3.tgz","fileCount":196,"integrity":"sha512-twyyaI9h2Go7XP1nW74ojrJRD+ao/qxhvMEaqB5mWO9Ck6mKW6J2O680U4dQRi2OSbhCtjZzqHgBWqc0/XZ8lA==","signatures":[{"sig":"MEQCIDc2YOyvpgErC2BpNynyNYusm+tuMRI6y+CYZ4B+nWWnAiAIW/ETb80+MevkKebsLXCOZfJcLNUmG19lZjPIyqteew==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47374675},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","readme":"# 出码\n\n所谓出码，即将低代码编排出的 schema 进行解析并转换成最终可执行的代码的过程。本模块提供有 Icejs 和 Rax 两套框架的出码方案，并提供了强大而灵活的扩展机制。\n\n## 使用方法\n\n### 1) 通过命令行快速体验\n\n欢迎使用命令行工具快速体验：`npx @alilc/lowcode-code-generator -i example-schema.json -o generated -s icejs`\n\n--其中 example-schema.json 可以从[这里下载](https://unpkg.com/@alilc/lowcode-code-generator@beta/example-schema.json)\n\n### 2) 通过设计器插件快速体验\n\n1. 安装依赖: `npm install --save @alilc/lowcode-plugin-code-generator`\n2. 注册插件:\n\n```ts\nimport { plugins } from '@alilc/lowcode-engine';\nimport CodeGenPlugin from '@alilc/lowcode-plugin-code-generator';\n\n// 在你的初始化函数中：\nawait plugins.register(CodeGenPlugin);\n\n// 如果您不希望自动加上出码按钮，则可以这样注册\nawait plugins.register(CodeGenPlugin, { disableCodeGenActionBtn: true });\n```\n\n然后运行你的低代码编辑器项目即可 -- 在设计器的右上角会出现一个“出码”按钮，点击即可在浏览器中出码并预览。\n\n### 3）服务端出码接入\n\n此代码生成器一开始就是为服务端出码设计的，你可以直接这样来在 node.js 环境中使用：\n\n1. 安装依赖: `npm install --save @alilc/lowcode-code-generator`\n2. 引入代码生成器:\n\n```js\nimport CodeGenerator from '@alilc/lowcode-code-generator';\n```\n\n3. 创建项目构建器:\n\n```js\nconst projectBuilder = CodeGenerator.solutions.icejs();\n```\n\n4. 生成代码\n\n```js\nconst project = await projectBuilder.generateProject(\n  schema, // 编排搭建出来的 schema\n);\n```\n\n5. 将生成的代码写入到磁盘中(也可以生成一个 zip 包)\n\n```js\n// 写入磁盘\nawait CodeGenerator.publishers.disk().publish({\n  project, // 上一步生成的 project\n  outputPath: '/path/to/your/output/dir', // 输出目录\n  projectSlug: 'your-project-slug', // 项目标识\n});\n\n// 写入到 zip 包\nawait CodeGenerator.publishers.zip().publish({\n  project, // 上一步生成的 project\n  outputPath: '/path/to/your/output/dir', // 输出目录\n  projectSlug: 'your-project-slug', // 项目标识 -- 对应生成 your-project-slug.zip 文件\n});\n```\n\n注：一般来说在服务端出码可以跟 github/gitlab, CI 和 CD 流程等一起串起来使用，通常用于优化性能。\n\n### 4）浏览器中出码接入\n\n随着现在电脑性能和浏览器技术的发展，出码其实已经不必非得在服务端做了，借助于 Web Worker 特性，可以在浏览器中进行出码：\n\n1. 安装依赖: `npm install --save @alilc/lowcode-code-generator`\n2. 引入代码生成器:\n\n```js\nimport * as CodeGenerator from '@alilc/lowcode-code-generator/standalone-loader';\n```\n\n3. 【可选】提前初始化代码生成器:\n\n```js\n// 提前初始化下，这样后面用的时候更快(这个 init 内部会提前准备好创建 worker 的一些资源)\nawait CodeGenerator.init();\n```\n\n4. 出码\n\n```js\nconst result = await CodeGenerator.generateCode({\n  solution: 'icejs', // 出码方案 (目前内置有 icejs 和 rax )\n  schema, // 编排搭建出来的 schema\n});\n\nconsole.log(result); // 出码结果(默认是递归结构描述的，可以传 flattenResult: true 以生成扁平结构的结果)\n```\n\n注：一般来说在浏览器中出码适合做即时预览功能。\n\n### 5）自定义出码\n\n前端框架灵活多变，默认内置的出码方案很难满足所有人的需求，好在此代码生成器支持非常灵活的插件机制 -- 欢迎参考 ./src/plugins/xxx 来编写您自己的出码插件，然后参考 ./src/solutions/xxx 将各种插件组合成一套适合您的业务场景的出码方案。\n\n## 参与共建\n\n欢迎参与共建，如何共建请参阅：[./CONTRIBUTING.md](https://github.com/alibaba/lowcode-engine/blob/main/modules/code-generator/CONTRIBUTING.md)\n","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch --prerelease beta && git push --follow-tags && npm publish --tag beta","release:minor":"standard-version -t @alilc/lowcode-code-generator\\@ -r minor && git push --follow-tags && npm publish","release:patch":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch && git push --follow-tags && npm publish","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"leoyuan","email":"yuanlihao1988@163.com"},"repository":{"url":"git+ssh://git@github.com/alibaba/lowcode-engine.git","type":"git"},"_npmVersion":"6.14.17","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"14.19.3","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","fp-ts":"^2.11.9","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","nanomatch":"^1.2.13","babel-jest":"^26.5.2","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^26.5.2","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^26.5.2","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"standard-version":{"skip":{"changelog":true}},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.1.3-beta.3_1685962521487_0.8009133646847928","host":"s3://npm-registry-packages"}},"1.1.3":{"name":"@alilc/lowcode-code-generator","version":"1.1.3","license":"MIT","_id":"@alilc/lowcode-code-generator@1.1.3","maintainers":[{"name":"leoyuan","email":"yuanlihao1988@163.com"},{"name":"whatever_lll","email":"whatever6g@gmail.com"},{"name":"yang1996","email":"89915256@qq.com"},{"name":"jun.li","email":"jun.lukesmail@gmail.com"},{"name":"qingniaotonghua","email":"1021281778@qq.com"},{"name":"woshilaoge","email":"woshilaoge@hotmail.com"},{"name":"jack.lianjie","email":"jack.lianjie@gmail.com"},{"name":"otakuxv","email":"monkey362531@gmail.com"},{"name":"zyy7259","email":"zyy7259@gmail.com"},{"name":"sun2ama","email":"339341037@qq.com"},{"name":"hujiulong","email":"me@hujiulong.com"},{"name":"liujuping123","email":"1052228950@qq.com"},{"name":"akirakai","email":"akirakai@163.com"},{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"homepage":"https://github.com/alibaba/lowcode-engine#readme","bugs":{"url":"https://github.com/alibaba/lowcode-engine/issues"},"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"41e2ecf7c8c59b0db959387d3b413dac4acc086f","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.1.3.tgz","fileCount":196,"integrity":"sha512-/PJ/WczXqbdpYLEAPw6fO+rb57+VsTVNqFo+PVf6U+FAf6GDuU1fNP5Za2a0VOaLIM9VuvOtjwADT+c4LbpXbg==","signatures":[{"sig":"MEYCIQCvTC7ditOytRsdbnMs6tCXznHbMt0hreJoQlNU+iogXAIhAJQULkDZA2sDA5ek9vcuULFhR2kESuRs3o88DuT/YxVP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47374654},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch --prerelease beta && git push --follow-tags && npm publish --tag beta","release:minor":"standard-version -t @alilc/lowcode-code-generator\\@ -r minor && git push --follow-tags && npm publish","release:patch":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch && git push --follow-tags && npm publish","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"leoyuan","email":"yuanlihao1988@163.com"},"repository":{"url":"git+ssh://git@github.com/alibaba/lowcode-engine.git","type":"git"},"_npmVersion":"6.14.17","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"14.19.3","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","fp-ts":"^2.11.9","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","nanomatch":"^1.2.13","babel-jest":"^26.5.2","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.5.2","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^26.5.2","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"standard-version":{"skip":{"changelog":true}},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.1.3_1685962830993_0.44049741218524874","host":"s3://npm-registry-packages"}},"1.1.4":{"name":"@alilc/lowcode-code-generator","version":"1.1.4","license":"MIT","_id":"@alilc/lowcode-code-generator@1.1.4","maintainers":[{"name":"leoyuan","email":"yuanlihao1988@163.com"},{"name":"whatever_lll","email":"whatever6g@gmail.com"},{"name":"yang1996","email":"89915256@qq.com"},{"name":"jun.li","email":"jun.lukesmail@gmail.com"},{"name":"qingniaotonghua","email":"1021281778@qq.com"},{"name":"woshilaoge","email":"woshilaoge@hotmail.com"},{"name":"jack.lianjie","email":"jack.lianjie@gmail.com"},{"name":"otakuxv","email":"monkey362531@gmail.com"},{"name":"zyy7259","email":"zyy7259@gmail.com"},{"name":"sun2ama","email":"339341037@qq.com"},{"name":"hujiulong","email":"me@hujiulong.com"},{"name":"liujuping123","email":"1052228950@qq.com"},{"name":"akirakai","email":"akirakai@163.com"},{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"homepage":"https://github.com/alibaba/lowcode-engine/#readme","bugs":{"url":"https://github.com/alibaba/lowcode-engine/issues"},"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"0bbf38b64ad98fd1b33ccaf960c863b778193df5","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.1.4.tgz","fileCount":196,"integrity":"sha512-tRaStqhrvjuYB1DxCzS3u41oizY8PbGC3NoF1KEeE/SSgN064LtaFDzLRnuhZHT+CMxJ72btLRqq9lxRCLsyRw==","signatures":[{"sig":"MEYCIQCuC2lvhvco/Fj5SWmX/MquXn3lICMlfj9MYfkBlFBhrAIhAN39iHzf1DMF7FNGQwfFrDTIkMldlNHZbGEZh8nxyE5y","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47375027},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch --prerelease beta && git push --follow-tags && npm publish --tag beta","release:minor":"standard-version -t @alilc/lowcode-code-generator\\@ -r minor && git push --follow-tags && npm publish","release:patch":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch && git push --follow-tags && npm publish","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"leoyuan","email":"yuanlihao1988@163.com"},"repository":{"url":"https://github.com/alibaba/lowcode-engine/tree/main/modules/code-generator","type":"http"},"_npmVersion":"6.14.17","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"14.19.3","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","fp-ts":"^2.11.9","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","nanomatch":"^1.2.13","babel-jest":"^26.5.2","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.5.2","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^26.5.2","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"standard-version":{"skip":{"changelog":true}},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.1.4_1686302839337_0.7092191532190872","host":"s3://npm-registry-packages"}},"1.1.5":{"name":"@alilc/lowcode-code-generator","version":"1.1.5","license":"MIT","_id":"@alilc/lowcode-code-generator@1.1.5","maintainers":[{"name":"leoyuan","email":"yuanlihao1988@163.com"},{"name":"whatever_lll","email":"whatever6g@gmail.com"},{"name":"yang1996","email":"89915256@qq.com"},{"name":"jun.li","email":"jun.lukesmail@gmail.com"},{"name":"qingniaotonghua","email":"1021281778@qq.com"},{"name":"woshilaoge","email":"woshilaoge@hotmail.com"},{"name":"jack.lianjie","email":"jack.lianjie@gmail.com"},{"name":"otakuxv","email":"monkey362531@gmail.com"},{"name":"zyy7259","email":"zyy7259@gmail.com"},{"name":"sun2ama","email":"339341037@qq.com"},{"name":"hujiulong","email":"me@hujiulong.com"},{"name":"liujuping123","email":"1052228950@qq.com"},{"name":"akirakai","email":"akirakai@163.com"},{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"homepage":"https://github.com/alibaba/lowcode-engine/#readme","bugs":{"url":"https://github.com/alibaba/lowcode-engine/issues"},"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"8ec4a70e664be24366016850f5a7ded15982c045","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.1.5.tgz","fileCount":196,"integrity":"sha512-r0MYMs+EG8YXOA1tR9M8BEVTy1Sz+LV5pFPfsXyIOKL+WLmA7QfxJBPymmBAPD8cvxNIifCSXSm9yOI0VVYy0g==","signatures":[{"sig":"MEUCIFZ3YYgohQPD/5yAZkrr4R0jTfJWaP1iaYQiZHCAhRsjAiEA7ndqBqL3JAujfEeZisuWiCdaprG4QgtnoW8kJiB1jUI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47422808},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"gitHead":"87a40764273a63bb3775b78e248d8993a3c45845","scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch --prerelease beta && git push --follow-tags && npm publish --tag beta","release:minor":"standard-version -t @alilc/lowcode-code-generator\\@ -r minor && git push --follow-tags && npm publish","release:patch":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch && git push --follow-tags && npm publish","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"eternalsky","email":"wsj7552715@hotmail.com"},"repository":{"url":"git+https://github.com/alibaba/lowcode-engine.git#main","type":"http"},"_npmVersion":"8.11.0","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"16.16.0","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","fp-ts":"^2.11.9","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","nanomatch":"^1.2.13","babel-jest":"^26.5.2","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.5.2","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^26.5.2","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"standard-version":{"skip":{"changelog":true}},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.1.5_1689241662175_0.34009228936477953","host":"s3://npm-registry-packages"}},"1.1.6":{"name":"@alilc/lowcode-code-generator","version":"1.1.6","license":"MIT","_id":"@alilc/lowcode-code-generator@1.1.6","maintainers":[{"name":"leoyuan","email":"yuanlihao1988@163.com"},{"name":"whatever_lll","email":"whatever6g@gmail.com"},{"name":"yang1996","email":"89915256@qq.com"},{"name":"jun.li","email":"jun.lukesmail@gmail.com"},{"name":"qingniaotonghua","email":"1021281778@qq.com"},{"name":"woshilaoge","email":"woshilaoge@hotmail.com"},{"name":"jack.lianjie","email":"jack.lianjie@gmail.com"},{"name":"otakuxv","email":"monkey362531@gmail.com"},{"name":"zyy7259","email":"zyy7259@gmail.com"},{"name":"sun2ama","email":"339341037@qq.com"},{"name":"hujiulong","email":"me@hujiulong.com"},{"name":"liujuping123","email":"1052228950@qq.com"},{"name":"akirakai","email":"akirakai@163.com"},{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"homepage":"https://github.com/alibaba/lowcode-engine/#readme","bugs":{"url":"https://github.com/alibaba/lowcode-engine/issues"},"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"da85f45b367b0bf3c9a002e32d577e6aca5be354","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.1.6.tgz","fileCount":196,"integrity":"sha512-v9PvAiYo/K34Y9h3gBJpseRg/Jb08lQDq6vcv7cLW3Ib8qF5FWh7TF3zz0y7Zw+4yVO+jnsLVfytc3v13SAhDA==","signatures":[{"sig":"MEUCIQC6kWbWYoBHkO1nsOqQCrR95uTR+POdCWIdcV3kR1C8LQIgRaI+Qg5oXKfie0rsFagflpEFYpuMl6zIjdg+braLCKM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47424093},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"gitHead":"288dbd63948884666a4582efab14d260be315cca","scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch --prerelease beta && git push --follow-tags && npm publish --tag beta","release:minor":"standard-version -t @alilc/lowcode-code-generator\\@ -r minor && git push --follow-tags && npm publish","release:patch":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch && git push --follow-tags && npm publish","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"eternalsky","email":"wsj7552715@hotmail.com"},"repository":{"url":"git+https://github.com/alibaba/lowcode-engine.git#main","type":"http"},"_npmVersion":"8.11.0","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"16.16.0","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","fp-ts":"^2.11.9","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","nanomatch":"^1.2.13","babel-jest":"^26.5.2","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.5.2","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^26.5.2","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"standard-version":{"skip":{"changelog":true}},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.1.6_1690286436451_0.4017771402391501","host":"s3://npm-registry-packages"}},"1.1.7":{"name":"@alilc/lowcode-code-generator","version":"1.1.7","license":"MIT","_id":"@alilc/lowcode-code-generator@1.1.7","maintainers":[{"name":"leoyuan","email":"yuanlihao1988@163.com"},{"name":"whatever_lll","email":"whatever6g@gmail.com"},{"name":"yang1996","email":"89915256@qq.com"},{"name":"jun.li","email":"jun.lukesmail@gmail.com"},{"name":"qingniaotonghua","email":"1021281778@qq.com"},{"name":"woshilaoge","email":"woshilaoge@hotmail.com"},{"name":"jack.lianjie","email":"jack.lianjie@gmail.com"},{"name":"otakuxv","email":"monkey362531@gmail.com"},{"name":"zyy7259","email":"zyy7259@gmail.com"},{"name":"sun2ama","email":"339341037@qq.com"},{"name":"hujiulong","email":"me@hujiulong.com"},{"name":"liujuping123","email":"1052228950@qq.com"},{"name":"akirakai","email":"akirakai@163.com"},{"name":"xingmolu","email":"591745264@qq.com"},{"name":"eternalsky","email":"wsj7552715@hotmail.com"},{"name":"mark-ck","email":"muscle.mark.cheng@gmail.com"},{"name":"hzd822","email":"hzd822@qq.com"},{"name":"clarencep","email":"clarence.pchy@gmail.com"},{"name":"alvarto","email":"humphry.huang9@gmail.com"},{"name":"leoyuan88","email":"yuanlihao1988@gmail.com"}],"homepage":"https://github.com/alibaba/lowcode-engine/#readme","bugs":{"url":"https://github.com/alibaba/lowcode-engine/issues"},"bin":{"lowcode-code-generator":"bin/lowcode-code-generator.js"},"dist":{"shasum":"85e46a94ccfe49802b1e3ddfc1bc114bfa4017d0","tarball":"https://registry.npmjs.org/@alilc/lowcode-code-generator/-/lowcode-code-generator-1.1.7.tgz","fileCount":196,"integrity":"sha512-GhZDRHMYteP7QPSIG1GI9kiD3akAvBmCq9La49L9kjVKanhMih4ppTvY/z6ZavaFQ8LUfs9U3Ia1OjVgSZq7pw==","signatures":[{"sig":"MEUCIAm1lDirXz4m4/ynIdepDPg4sepUoWT7cImOMWg2zrAXAiEAxWa/WyoULY4WyDp5pcbCObiFlQiTN9SoEFr3rjyH3KI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47957043},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"es/index.js","browser":{"path":"path-browserify","lodash":"lodash-es","prettier":"prettier/standalone"},"engines":{"node":">=10.0.0"},"gitHead":"173978ffd4f8b13f6babcc5c14b2c450bca73eb7","scripts":{"demo":"node bin/lowcode-code-generator.js -i example-schema.json -o demo -s icejs","lint":"eslint --ext .jsx,.js,.ts,.tsx src/","test":"npm run test:normal && npm run test:standalone","build":"npm run clean && node scripts/build","clean":"rimraf es lib dist types generated demo coverage output test-cases/*/*/actual","start":"jest --watchAll","lintfix":"eslint --ext .jsx,.js,.ts,.tsx --fix src/","template":"node ./scripts/build-template-static-files.js","test:cov":"jest --coverage","check:types":"tsc --noEmit","test:normal":"jest","release:beta":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch --prerelease beta && git push --follow-tags && npm publish --tag beta","release:minor":"standard-version -t @alilc/lowcode-code-generator\\@ -r minor && git push --follow-tags && npm publish","release:patch":"standard-version -t @alilc/lowcode-code-generator\\@ -r patch && git push --follow-tags && npm publish","prepublishOnly":"npm run build","test:standalone":"node scripts/test-standalone","build:standalone":"node scripts/build-standalone","analyze:standalone":"ANALYZE=true node scripts/build-standalone","test:update-snapshots":"cross-env UPDATE_EXPECTED=true jest -u"},"typings":"types/index.d.ts","_npmUser":{"name":"qingniaotonghua","email":"1021281778@qq.com"},"repository":{"url":"git+https://github.com/alibaba/lowcode-engine.git#main","type":"http"},"_npmVersion":"8.1.2","description":"出码引擎 for LowCode Engine","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx}":"eslint"},"_nodeVersion":"16.13.2","dependencies":{"qs":"^6.10.1","glob":"^7.2.0","chalk":"^4.1.0","debug":"^4.3.2","fp-ts":"^2.11.9","json5":"^2.2.0","jsonc":"^2.0.0","jszip":"^3.5.0","tslib":"^2.3.1","buffer":"^6.0.3","lodash":"^4.17.21","moment":"^2.29.1","semver":"^7.3.4","mock-fs":"^5.1.2","fs-extra":"9.x","prettier":"^2.5.1","@types/qs":"^6.9.6","commander":"^6.1.0","lodash-es":"^4.17.21","nanomatch":"^1.2.13","babel-jest":"^26.5.2","file-saver":"^2.0.5","node-fetch":"2.x","short-uuid":"^3.1.1","@types/glob":"^7.2.0","change-case":"^3.1.0","@babel/types":"^7.12.12","@types/debug":"^4.1.7","@babel/parser":"^7.12.11","@types/lodash":"^4.14.162","@types/semver":"^7.3.4","html-entities":"^2.3.2","@babel/runtime":"^7.12.5","@babel/traverse":"^7.12.12","@types/fs-extra":"^9.0.12","path-browserify":"^1.0.1","@babel/generator":"^7.12.11","@types/node-fetch":"2.x","@alilc/lowcode-types":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.5.2","eslint":"^7.17.0","rimraf":"^3.0.2","esbuild":"^0.14.5","ts-jest":"^26.5.2","ts-node":"^8.10.2","cross-env":"^7.0.3","jest-util":"^27.4.2","ts-loader":"^6.2.2","typescript":"4.x","@types/jest":"^27.0.2","@types/node":"^14.14.20","concurrently":"^6.5.1","yargs-parser":"^20.2.9","@types/lodash":"^4.14.162","@iceworks/spec":"^1.4.2","tsconfig-paths":"^3.9.0","@types/prettier":"^2.4.2","standard-version":"^9.1.1","@types/file-saver":"^2.0.7","eslint-config-ali":"^11.4.1","esbuild-visualizer":"^0.3.1","eslint-plugin-react":"^7.22.0","esbuild-plugin-alias":"^0.2.1","eslint-plugin-import":"^2.22.1","esbuild-plugin-ignore":"^1.1.0","@types/babel__traverse":"^7.11.0","@typescript-eslint/parser":"^4.12.0","eslint-plugin-react-hooks":"^4.2.0","@typescript-eslint/eslint-plugin":"^4.12.0"},"standard-version":{"skip":{"changelog":true}},"_npmOperationalInternal":{"tmp":"tmp/lowcode-code-generator_1.1.7_1704267723516_0.9045143393060138","host":"s3://npm-registry-packages"}}},"time":{"created":"2022-01-17T07:13:56.050Z","modified":"2025-03-04T07:42:56.055Z","1.0.0-beta.4":"2022-01-17T07:13:56.367Z","1.0.0-beta.14":"2022-01-19T16:57:55.667Z","1.0.0-beta.15":"2022-01-19T17:15:26.582Z","1.0.0-beta.16":"2022-02-07T07:38:57.758Z","1.0.0-beta.18":"2022-02-14T09:49:41.334Z","1.0.0-beta.19":"2022-02-14T10:06:06.420Z","1.0.0-beta.20":"2022-02-14T12:45:33.708Z","1.0.0":"2022-02-17T14:19:19.044Z","1.0.1":"2022-03-08T04:45:35.663Z","1.0.2-beta.0":"2022-03-08T06:41:14.343Z","1.0.2-beta.1":"2022-03-08T07:00:35.176Z","1.0.2":"2022-03-08T08:12:35.799Z","1.0.3":"2022-03-29T04:10:28.259Z","1.0.4-beta.0":"2022-04-10T16:37:25.696Z","1.0.4-beta.1":"2022-04-11T04:20:23.196Z","1.0.4":"2022-04-12T03:43:28.074Z","1.0.5":"2022-10-10T09:10:28.284Z","1.0.6":"2022-10-10T09:11:16.504Z","1.0.7-beta.0":"2022-10-25T08:22:59.065Z","1.0.7-beta.1":"2022-10-26T08:02:02.470Z","1.0.7-beta.2":"2022-11-24T06:03:37.018Z","1.0.7-beta.3":"2022-11-28T08:41:46.494Z","1.0.7-beta.4":"2022-12-16T06:14:22.203Z","1.0.7-beta.5":"2022-12-21T07:24:09.230Z","1.0.7":"2023-01-09T09:01:57.109Z","1.0.8":"2023-03-10T06:52:39.322Z","1.1.0":"2023-03-30T02:02:50.566Z","1.1.1-beta.1":"2023-03-31T09:09:13.390Z","1.1.2":"2023-05-06T09:12:19.395Z","1.1.3-beta.1":"2023-05-19T03:25:29.846Z","1.1.3-beta.3":"2023-06-05T10:55:21.864Z","1.1.3":"2023-06-05T11:00:31.348Z","1.1.4":"2023-06-09T09:27:19.735Z","1.1.5":"2023-07-13T09:47:42.690Z","1.1.6":"2023-07-25T12:00:36.815Z","1.1.7":"2024-01-03T07:42:04.745Z"},"bugs":{"url":"https://github.com/alibaba/lowcode-engine/issues"},"license":"MIT","homepage":"https://github.com/alibaba/lowcode-engine/#readme","repository":{"url":"git+https://github.com/alibaba/lowcode-engine.git#main","type":"http"},"description":"出码引擎 for LowCode Engine","maintainers":[{"email":"me@hujiulong.com","name":"hujiulong"},{"email":"clarence.pchy@gmail.com","name":"clarencep"},{"email":"humphry.huang9@gmail.com","name":"alvarto"},{"email":"akirakai@163.com","name":"akirakai"},{"email":"591745264@qq.com","name":"xingmolu"},{"email":"yuanlihao1988@163.com","name":"leoyuan"},{"email":"yuanlihao1988@gmail.com","name":"leoyuan88"},{"email":"1052228950@qq.com","name":"liujuping123"},{"email":"hzd822@qq.com","name":"hzd822"},{"email":"muscle.mark.cheng@gmail.com","name":"mark-ck"},{"email":"wsj7552715@hotmail.com","name":"eternalsky"},{"email":"jun.lukesmail@gmail.com","name":"jun.li"},{"email":"89915256@qq.com","name":"yang1996"},{"email":"339341037@qq.com","name":"sun2ama"},{"email":"zyy7259@gmail.com","name":"zyy7259"},{"email":"monkey362531@gmail.com","name":"otakuxv"},{"email":"jack.lianjie@gmail.com","name":"jack.lianjie"},{"email":"woshilaoge@hotmail.com","name":"woshilaoge"},{"email":"1021281778@qq.com","name":"qingniaotonghua"},{"email":"whatever6g@gmail.com","name":"whatever_lll"},{"email":"1ncounter.100@gmail.com","name":"1ncounter"},{"email":"710411486@qq.com","name":"soberz"}],"readme":"# 出码\n\n所谓出码，即将低代码编排出的 schema 进行解析并转换成最终可执行的代码的过程。本模块提供有 Icejs 和 Rax 两套框架的出码方案，并提供了强大而灵活的扩展机制。\n\n## 使用方法\n\n### 1) 通过命令行快速体验\n\n欢迎使用命令行工具快速体验：`npx @alilc/lowcode-code-generator -i example-schema.json -o generated -s icejs`\n\n--其中 example-schema.json 可以从[这里下载](https://unpkg.com/@alilc/lowcode-code-generator@beta/example-schema.json)\n\n### 2) 通过设计器插件快速体验\n\n1. 安装依赖: `npm install --save @alilc/lowcode-plugin-code-generator`\n2. 注册插件:\n\n```ts\nimport { plugins } from '@alilc/lowcode-engine';\nimport CodeGenPlugin from '@alilc/lowcode-plugin-code-generator';\n\n// 在你的初始化函数中：\nawait plugins.register(CodeGenPlugin);\n\n// 如果您不希望自动加上出码按钮，则可以这样注册\nawait plugins.register(CodeGenPlugin, { disableCodeGenActionBtn: true });\n```\n\n然后运行你的低代码编辑器项目即可 -- 在设计器的右上角会出现一个“出码”按钮，点击即可在浏览器中出码并预览。\n\n### 3）服务端出码接入\n\n此代码生成器一开始就是为服务端出码设计的，你可以直接这样来在 node.js 环境中使用：\n\n1. 安装依赖: `npm install --save @alilc/lowcode-code-generator`\n2. 引入代码生成器:\n\n```js\nimport CodeGenerator from '@alilc/lowcode-code-generator';\n```\n\n3. 创建项目构建器:\n\n```js\nconst projectBuilder = CodeGenerator.solutions.icejs();\n```\n\n4. 生成代码\n\n```js\nconst project = await projectBuilder.generateProject(\n  schema, // 编排搭建出来的 schema\n);\n```\n\n5. 将生成的代码写入到磁盘中(也可以生成一个 zip 包)\n\n```js\n// 写入磁盘\nawait CodeGenerator.publishers.disk().publish({\n  project, // 上一步生成的 project\n  outputPath: '/path/to/your/output/dir', // 输出目录\n  projectSlug: 'your-project-slug', // 项目标识\n});\n\n// 写入到 zip 包\nawait CodeGenerator.publishers.zip().publish({\n  project, // 上一步生成的 project\n  outputPath: '/path/to/your/output/dir', // 输出目录\n  projectSlug: 'your-project-slug', // 项目标识 -- 对应生成 your-project-slug.zip 文件\n});\n```\n\n注：一般来说在服务端出码可以跟 github/gitlab, CI 和 CD 流程等一起串起来使用，通常用于优化性能。\n\n### 4）浏览器中出码接入\n\n随着现在电脑性能和浏览器技术的发展，出码其实已经不必非得在服务端做了，借助于 Web Worker 特性，可以在浏览器中进行出码：\n\n1. 安装依赖: `npm install --save @alilc/lowcode-code-generator`\n2. 引入代码生成器:\n\n```js\nimport * as CodeGenerator from '@alilc/lowcode-code-generator/standalone-loader';\n```\n\n3. 【可选】提前初始化代码生成器:\n\n```js\n// 提前初始化下，这样后面用的时候更快(这个 init 内部会提前准备好创建 worker 的一些资源)\nawait CodeGenerator.init();\n```\n\n4. 出码\n\n```js\nconst project = await CodeGenerator.generateCode({\n  solution: 'icejs', // 出码方案 (目前内置有 icejs 和 rax )\n  schema, // 编排搭建出来的 schema\n});\n\nconsole.log(project); // 出码结果(默认是递归结构描述的，可以传 flattenResult: true 以生成扁平结构的结果)\n```\n\n注：一般来说在浏览器中出码适合做即时预览功能。\n\n5. 下载 zip 包\n\n```js\n// 写入到 zip 包\nawait CodeGenerator.publishers.zip().publish({\n  project, // 上一步生成的 project\n  projectSlug: 'your-project-slug', // 项目标识 -- 对应下载 your-project-slug.zip 文件\n});\n```\n\n### 5）自定义出码\n\n前端框架灵活多变，默认内置的出码方案很难满足所有人的需求，好在此代码生成器支持非常灵活的插件机制 -- 欢迎参考 ./src/plugins/xxx 来编写您自己的出码插件，然后参考 ./src/solutions/xxx 将各种插件组合成一套适合您的业务场景的出码方案。\n\n## 参与共建\n\n欢迎参与共建，如何共建请参阅：[./CONTRIBUTING.md](https://github.com/alibaba/lowcode-engine/blob/main/modules/code-generator/CONTRIBUTING.md)\n","readmeFilename":"README.md"}