{"_id":"@allen-z-x/elpis","_rev":"13-82342addac6e1c3572da6f6f96a51c5a","name":"@allen-z-x/elpis","dist-tags":{"latest":"1.0.12"},"versions":{"1.0.0":{"name":"@allen-z-x/elpis","version":"1.0.0","author":{"name":"张旭","email":"zhangxu_iii@163.com"},"license":"ISC","_id":"@allen-z-x/elpis@1.0.0","maintainers":[{"name":"allen-z-x","email":"zhangxu_iii@163.com"}],"dist":{"shasum":"dfbbfb4402e75f1efcd3972facc9293d7642a982","tarball":"https://registry.npmjs.org/@allen-z-x/elpis/-/elpis-1.0.0.tgz","fileCount":89,"integrity":"sha512-sekCquMnd5ZSfa/Q21lOU0WS2IbQxIGDIQLFyDFm9dgTuHHV5vg7CJzInOSeg2CJqXsJGqurPKj5ep7ABx72ag==","signatures":[{"sig":"MEUCIQD9S9OeZrt5gJ5WST4D+jOaVGhP/rFv+A223dRkM6Qf6wIgTaQfl5KgGwG2pROFTCtsLOURFJrWBJTBJE7Oudb60D8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1404989},"main":"index.js","gitHead":"895c96cd4de33b326abe38aad2a352fe09dc212d","scripts":{"lint":"eslint --quiet --ext .js,.vue .","test":"cross-env NODE_ENV=local jest test/**/*.test.js","prepare":"husky install"},"_npmUser":{"name":"allen-z-x","actor":{"name":"allen-z-x","type":"user","email":"zhangxu_iii@163.com"},"email":"zhangxu_iii@163.com"},"repository":{"url":"https://git.code.tencent.com/Allen_zx/Elpis.git","type":"git"},"_npmVersion":"11.4.1","description":"```javascript\r {\r   mode: 'dashboard', // 模板类型，不同模板类型对应不一样的模板数据结构\r   name: '', //名称\r   desc: '', //描述\r   icon: '', //图标\r   homePage: '', //首页（项目配置）\r   menu: [\r     {\r       key: '', //菜单唯一描述\r       name: '', //菜单名称\r       menuType: '', //枚举值  group/module","directories":{},"lint-staged":{"*.js":["eslint --fix"],"*.vue":["eslint --fix"],"*.less":["stylelint --fix"]},"_nodeVersion":"20.18.0","dependencies":{"ajv":"^6.10.2","koa":"^2.14.2","md5":"^2.2.1","vue":"^3.5.16","zod":"^3.22.4","glob":"^7.1.4","knex":"^0.19.0","less":"^3.8.1","vuex":"^4.1.0","axios":"^0.19.2","mysql":"^2.18.1","pinia":"^3.0.2","lodash":"^4.17.21","log4js":"^6.9.1","moment":"^2.29.4","echarts":"^5.5.0","esbuild":"^0.25.5","express":"^4.18.2","nodemon":"^1.19.2","webpack":"^5.99.9","consoler":"^0.2.0","cross-env":"^7.0.3","koa2-cors":"^2.0.6","stylelint":"^16.20.0","css-loader":"^6.8.1","koa-static":"^5.0.0","superagent":"^8.1.2","vue-loader":"^17.4.2","vue-router":"^4.2.4","@babel/core":"^7.24.0","@koa/router":"^12.0.0","less-loader":"^12.3.0","element-plus":"^2.9.11","jsonwebtoken":"^9.0.2","postcss-less":"^6.0.0","style-loader":"^4.0.0","koa-useragent":"2.0.0","node-schedule":"^2.1.1","thread-loader":"^4.0.4","webpack-merge":"^4.2.1","koa-bodyparser":"^4.3.0","koa-nunjucks-2":"^3.0.2","stylelint-less":"^3.0.1","vue-json-viewer":"^3.0.4","vue-style-loader":"^4.1.2","@babel/preset-env":"^7.4.5","generate-password":"^1.7.1","html-webpack-plugin":"^5.5.3","clean-webpack-plugin":"^4.0.0","terser-webpack-plugin":"^5.3.14","webpack-dev-middleware":"^6.1.1","webpack-hot-middleware":"^2.25.4","@element-plus/icons-vue":"^2.3.1","mini-css-extract-plugin":"^2.9.2","webpack-bundle-analyzer":"^4.10.2","stylelint-config-standard":"^38.0.0","css-minimizer-webpack-plugin":"^7.0.2","directory-named-webpack-plugin":"^4.0.1","@babel/plugin-transform-runtime":"^7.1.0","html-webpack-inject-attributes-plugin":"^1.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.1.7","eslint":"^7.32.0","prettier":"^3.5.3","supertest":"^4.0.2","lint-staged":"^16.1.0","babel-eslint":"^10.0.2","babel-loader":"^10.0.0","@commitlint/cli":"^19.8.1","eslint-plugin-vue":"^9.17.0","validate-commit-msg":"~2.14.0","eslint-plugin-import":"^2.28.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","@commitlint/config-conventional":"^19.8.1"},"_npmOperationalInternal":{"tmp":"tmp/elpis_1.0.0_1751354403379_0.5921961101232789","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@allen-z-x/elpis","version":"1.0.1","keywords":["elpis","koa","vue","nodejs","allen-z-x"],"author":{"name":"张旭","email":"zhangxu_iii@163.com"},"license":"ISC","_id":"@allen-z-x/elpis@1.0.1","maintainers":[{"name":"allen-z-x","email":"zhangxu_iii@163.com"}],"dist":{"shasum":"1c6ecf3fc7a1a3338fadb52a2d491b68084d91bd","tarball":"https://registry.npmjs.org/@allen-z-x/elpis/-/elpis-1.0.1.tgz","fileCount":89,"integrity":"sha512-XEwiNk0OwQN6GEBAxHhN8V8z+9MyxBDJdoft/Jt0q0XKRTyLA2lKOVJXDlQ1d9DQ13Rt5LSTxWjc+do4raIZXg==","signatures":[{"sig":"MEUCIFYpSsHuNSLFDweIm61QgI8nLdSry2Wf1a+E7fZOT3isAiEApyn1y1BafmfwUywuXrzUlapAURX0qVNCXvHb24CPDgg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1405082},"main":"index.js","gitHead":"38156650f65c8e5541c4b74af1b63cc02e12514a","scripts":{"lint":"eslint --quiet --ext .js,.vue .","test":"cross-env NODE_ENV=local jest test/**/*.test.js","prepare":"husky install"},"_npmUser":{"name":"allen-z-x","actor":{"name":"allen-z-x","type":"user","email":"zhangxu_iii@163.com"},"email":"zhangxu_iii@163.com"},"repository":{"url":"https://git.code.tencent.com/Allen_zx/Elpis.git","type":"git"},"_npmVersion":"11.4.1","description":"```javascript\r {\r   mode: 'dashboard', // 模板类型，不同模板类型对应不一样的模板数据结构\r   name: '', //名称\r   desc: '', //描述\r   icon: '', //图标\r   homePage: '', //首页（项目配置）\r   menu: [\r     {\r       key: '', //菜单唯一描述\r       name: '', //菜单名称\r       menuType: '', //枚举值  group/module","directories":{},"lint-staged":{"*.js":["eslint --fix"],"*.vue":["eslint --fix"],"*.less":["stylelint --fix"]},"_nodeVersion":"20.18.0","dependencies":{"ajv":"^6.10.2","koa":"^2.14.2","md5":"^2.2.1","vue":"^3.5.16","zod":"^3.22.4","glob":"^7.1.4","knex":"^0.19.0","less":"^3.8.1","vuex":"^4.1.0","axios":"^0.19.2","mysql":"^2.18.1","pinia":"^3.0.2","lodash":"^4.17.21","log4js":"^6.9.1","moment":"^2.29.4","echarts":"^5.5.0","esbuild":"^0.25.5","express":"^4.18.2","nodemon":"^1.19.2","webpack":"^5.99.9","consoler":"^0.2.0","cross-env":"^7.0.3","koa2-cors":"^2.0.6","stylelint":"^16.20.0","css-loader":"^6.8.1","koa-static":"^5.0.0","superagent":"^8.1.2","vue-loader":"^17.4.2","vue-router":"^4.2.4","@babel/core":"^7.24.0","@koa/router":"^12.0.0","less-loader":"^12.3.0","element-plus":"^2.9.11","jsonwebtoken":"^9.0.2","postcss-less":"^6.0.0","style-loader":"^4.0.0","koa-useragent":"2.0.0","node-schedule":"^2.1.1","thread-loader":"^4.0.4","webpack-merge":"^4.2.1","koa-bodyparser":"^4.3.0","koa-nunjucks-2":"^3.0.2","stylelint-less":"^3.0.1","vue-json-viewer":"^3.0.4","vue-style-loader":"^4.1.2","@babel/preset-env":"^7.4.5","generate-password":"^1.7.1","html-webpack-plugin":"^5.5.3","clean-webpack-plugin":"^4.0.0","terser-webpack-plugin":"^5.3.14","webpack-dev-middleware":"^6.1.1","webpack-hot-middleware":"^2.25.4","@element-plus/icons-vue":"^2.3.1","mini-css-extract-plugin":"^2.9.2","webpack-bundle-analyzer":"^4.10.2","stylelint-config-standard":"^38.0.0","css-minimizer-webpack-plugin":"^7.0.2","directory-named-webpack-plugin":"^4.0.1","@babel/plugin-transform-runtime":"^7.1.0","html-webpack-inject-attributes-plugin":"^1.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.1.7","eslint":"^7.32.0","prettier":"^3.5.3","supertest":"^4.0.2","lint-staged":"^16.1.0","babel-eslint":"^10.0.2","babel-loader":"^10.0.0","@commitlint/cli":"^19.8.1","eslint-plugin-vue":"^9.17.0","validate-commit-msg":"~2.14.0","eslint-plugin-import":"^2.28.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","@commitlint/config-conventional":"^19.8.1"},"_npmOperationalInternal":{"tmp":"tmp/elpis_1.0.1_1751355569369_0.8272200334300079","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@allen-z-x/elpis","version":"1.0.2","keywords":["elpis","koa","vue","nodejs","allen-z-x"],"author":{"name":"张旭","email":"zhangxu_iii@163.com"},"license":"ISC","_id":"@allen-z-x/elpis@1.0.2","maintainers":[{"name":"allen-z-x","email":"zhangxu_iii@163.com"}],"dist":{"shasum":"08c28f0262f0765ab8bf3acdd0b2a85fa3f8ac23","tarball":"https://registry.npmjs.org/@allen-z-x/elpis/-/elpis-1.0.2.tgz","fileCount":89,"integrity":"sha512-GtOglAGR/99fo3VTf5S/uFA2Y6dpIfo4Zlst3dspC4ZbMbv/bRpfHpXmkO8XR4btrVvMh6k3gRtEQaaCQgxDcQ==","signatures":[{"sig":"MEUCIQD2paaQKdKhJaV+nJvqpVWFt5r8mcADRvWy/R6TJ8wCUQIgBkpRI01Pl1WsUwHzq14ntXsQZxl9lRdt4dTwR9AeDGc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1405112},"main":"index.js","gitHead":"38156650f65c8e5541c4b74af1b63cc02e12514a","scripts":{"lint":"eslint --quiet --ext .js,.vue .","test":"cross-env NODE_ENV=local jest test/**/*.test.js","prepare":"husky install"},"_npmUser":{"name":"allen-z-x","actor":{"name":"allen-z-x","type":"user","email":"zhangxu_iii@163.com"},"email":"zhangxu_iii@163.com"},"repository":{"url":"https://git.code.tencent.com/Allen_zx/Elpis.git","type":"git"},"_npmVersion":"11.4.1","description":"elpis is a koa and vue project","directories":{},"lint-staged":{"*.js":["eslint --fix"],"*.vue":["eslint --fix"],"*.less":["stylelint --fix"]},"_nodeVersion":"20.18.0","dependencies":{"ajv":"^6.10.2","koa":"^2.14.2","md5":"^2.2.1","vue":"^3.5.16","zod":"^3.22.4","glob":"^7.1.4","knex":"^0.19.0","less":"^3.8.1","vuex":"^4.1.0","axios":"^0.19.2","mysql":"^2.18.1","pinia":"^3.0.2","lodash":"^4.17.21","log4js":"^6.9.1","moment":"^2.29.4","echarts":"^5.5.0","esbuild":"^0.25.5","express":"^4.18.2","nodemon":"^1.19.2","webpack":"^5.99.9","consoler":"^0.2.0","cross-env":"^7.0.3","koa2-cors":"^2.0.6","stylelint":"^16.20.0","css-loader":"^6.8.1","koa-static":"^5.0.0","superagent":"^8.1.2","vue-loader":"^17.4.2","vue-router":"^4.2.4","@babel/core":"^7.24.0","@koa/router":"^12.0.0","less-loader":"^12.3.0","babel-eslint":"^10.0.2","babel-loader":"^10.0.0","element-plus":"^2.9.11","jsonwebtoken":"^9.0.2","postcss-less":"^6.0.0","style-loader":"^4.0.0","koa-useragent":"2.0.0","node-schedule":"^2.1.1","thread-loader":"^4.0.4","webpack-merge":"^4.2.1","koa-bodyparser":"^4.3.0","koa-nunjucks-2":"^3.0.2","stylelint-less":"^3.0.1","vue-json-viewer":"^3.0.4","vue-style-loader":"^4.1.2","@babel/preset-env":"^7.4.5","generate-password":"^1.7.1","html-webpack-plugin":"^5.5.3","clean-webpack-plugin":"^4.0.0","terser-webpack-plugin":"^5.3.14","webpack-dev-middleware":"^6.1.1","webpack-hot-middleware":"^2.25.4","@element-plus/icons-vue":"^2.3.1","mini-css-extract-plugin":"^2.9.2","webpack-bundle-analyzer":"^4.10.2","stylelint-config-standard":"^38.0.0","css-minimizer-webpack-plugin":"^7.0.2","directory-named-webpack-plugin":"^4.0.1","@babel/plugin-transform-runtime":"^7.1.0","html-webpack-inject-attributes-plugin":"^1.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.1.7","eslint":"^7.32.0","prettier":"^3.5.3","supertest":"^4.0.2","lint-staged":"^16.1.0","@commitlint/cli":"^19.8.1","eslint-plugin-vue":"^9.17.0","validate-commit-msg":"~2.14.0","eslint-plugin-import":"^2.28.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","@commitlint/config-conventional":"^19.8.1"},"_npmOperationalInternal":{"tmp":"tmp/elpis_1.0.2_1751357246456_0.007381263197614674","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@allen-z-x/elpis","version":"1.0.3","keywords":["elpis","koa","vue","nodejs","allen-z-x"],"author":{"name":"张旭","email":"zhangxu_iii@163.com"},"license":"ISC","_id":"@allen-z-x/elpis@1.0.3","maintainers":[{"name":"allen-z-x","email":"zhangxu_iii@163.com"}],"dist":{"shasum":"bba097869bf7de20b471053de3fe74b1f5d5d3c3","tarball":"https://registry.npmjs.org/@allen-z-x/elpis/-/elpis-1.0.3.tgz","fileCount":89,"integrity":"sha512-UycbxUyqH4LBoQL812gA46DL/UXJN5aCcStd+8OscrO5YBwaSJOnlP4/aE8tGinOpMuaj3hh418TtSrN6dVMNA==","signatures":[{"sig":"MEYCIQDoDoDgo1729cpz451EkfHC3Ei2PrLBhbh3PKmwDp3JggIhANKhVMGdSPrZnJvsyePQp2Io4X+pDBKaP7sKwJq5ZiyZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1404920},"main":"index.js","gitHead":"38156650f65c8e5541c4b74af1b63cc02e12514a","scripts":{"lint":"eslint --quiet --ext .js,.vue .","test":"cross-env NODE_ENV=local jest test/**/*.test.js","prepare":"husky install"},"_npmUser":{"name":"allen-z-x","actor":{"name":"allen-z-x","type":"user","email":"zhangxu_iii@163.com"},"email":"zhangxu_iii@163.com"},"repository":{"url":"https://git.code.tencent.com/Allen_zx/Elpis.git","type":"git"},"_npmVersion":"11.4.1","description":"elpis is a koa and vue project","directories":{},"lint-staged":{"*.js":["eslint --fix"],"*.vue":["eslint --fix"],"*.less":["stylelint --fix"]},"_nodeVersion":"20.18.0","dependencies":{"ajv":"^6.10.2","koa":"^2.14.2","md5":"^2.2.1","vue":"^3.5.16","zod":"^3.22.4","glob":"^7.1.4","knex":"^0.19.0","less":"^3.8.1","vuex":"^4.1.0","axios":"^0.19.2","mysql":"^2.18.1","pinia":"^3.0.2","lodash":"^4.17.21","log4js":"^6.9.1","moment":"^2.29.4","echarts":"^5.5.0","esbuild":"^0.25.5","express":"^4.18.2","nodemon":"^1.19.2","webpack":"^5.99.9","consoler":"^0.2.0","cross-env":"^7.0.3","koa2-cors":"^2.0.6","stylelint":"^16.20.0","css-loader":"^6.8.1","koa-static":"^5.0.0","superagent":"^8.1.2","vue-loader":"^17.4.2","vue-router":"^4.2.4","@babel/core":"^7.24.0","@koa/router":"^12.0.0","less-loader":"^12.3.0","babel-eslint":"^10.0.2","babel-loader":"^10.0.0","element-plus":"^2.9.11","jsonwebtoken":"^9.0.2","postcss-less":"^6.0.0","style-loader":"^4.0.0","koa-useragent":"2.0.0","node-schedule":"^2.1.1","thread-loader":"^4.0.4","webpack-merge":"^4.2.1","koa-bodyparser":"^4.3.0","koa-nunjucks-2":"^3.0.2","stylelint-less":"^3.0.1","vue-json-viewer":"^3.0.4","vue-style-loader":"^4.1.2","@babel/preset-env":"^7.4.5","generate-password":"^1.7.1","html-webpack-plugin":"^5.5.3","clean-webpack-plugin":"^4.0.0","terser-webpack-plugin":"^5.3.14","webpack-dev-middleware":"^6.1.1","webpack-hot-middleware":"^2.25.4","@element-plus/icons-vue":"^2.3.1","mini-css-extract-plugin":"^2.9.2","stylelint-config-standard":"^38.0.0","css-minimizer-webpack-plugin":"^7.0.2","directory-named-webpack-plugin":"^4.0.1","@babel/plugin-transform-runtime":"^7.1.0","html-webpack-inject-attributes-plugin":"^1.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.1.7","eslint":"^7.32.0","prettier":"^3.5.3","supertest":"^4.0.2","lint-staged":"^16.1.0","@commitlint/cli":"^19.8.1","eslint-plugin-vue":"^9.17.0","validate-commit-msg":"~2.14.0","eslint-plugin-import":"^2.28.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","@commitlint/config-conventional":"^19.8.1"},"_npmOperationalInternal":{"tmp":"tmp/elpis_1.0.3_1751357672719_0.8603697026624662","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@allen-z-x/elpis","version":"1.0.4","keywords":["elpis","koa","vue","nodejs","allen-z-x/elpis"],"author":{"name":"张旭","email":"zhangxu_iii@163.com"},"license":"ISC","_id":"@allen-z-x/elpis@1.0.4","maintainers":[{"name":"allen-z-x","email":"zhangxu_iii@163.com"}],"dist":{"shasum":"e6ee1d4721e0dc6c0581cea6744412589c3b5c79","tarball":"https://registry.npmjs.org/@allen-z-x/elpis/-/elpis-1.0.4.tgz","fileCount":90,"integrity":"sha512-IUAoerKGUcaSkdcU1yREf93RWcZFcgCxCPRQpUCnpZ51Mv880ulcfMlsWYnOHku23iIRV3HSMX9lxm4NXR8h/w==","signatures":[{"sig":"MEQCIEO33kw0vT0ttFUYrazCxC3CmNyfAUQDfA0DPACrLzFbAiA2XOneqpCwEWeQZQ3NniKo1Em2f/X48rN2KotUNOBDDA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":972879},"main":"index.js","gitHead":"d83ab5bc5ff851377d07bbb7a1c684e199b370bc","scripts":{"lint":"eslint --quiet --ext .js,.vue .","test":"cross-env NODE_ENV=local jest test/**/*.test.js","prepare":"husky install"},"_npmUser":{"name":"allen-z-x","actor":{"name":"allen-z-x","type":"user","email":"zhangxu_iii@163.com"},"email":"zhangxu_iii@163.com"},"repository":{"url":"https://git.code.tencent.com/Allen_zx/Elpis.git","type":"git"},"_npmVersion":"11.4.1","description":"elpis is a koa and vue project.","directories":{},"lint-staged":{"*.js":["eslint --fix"],"*.vue":["eslint --fix"],"*.less":["stylelint --fix"]},"_nodeVersion":"20.18.0","dependencies":{"ajv":"^6.10.2","koa":"^2.14.2","md5":"^2.2.1","vue":"^3.5.16","zod":"^3.22.4","glob":"^7.1.4","knex":"^0.19.0","less":"^3.8.1","vuex":"^4.1.0","axios":"^0.19.2","mysql":"^2.18.1","pinia":"^3.0.2","lodash":"^4.17.21","log4js":"^6.9.1","moment":"^2.29.4","echarts":"^5.5.0","esbuild":"^0.25.5","express":"^4.18.2","nodemon":"^1.19.2","webpack":"^5.99.9","consoler":"^0.2.0","cross-env":"^7.0.3","koa2-cors":"^2.0.6","stylelint":"^16.20.0","css-loader":"^6.8.1","koa-static":"^5.0.0","superagent":"^8.1.2","vue-loader":"^17.4.2","vue-router":"^4.2.4","@babel/core":"^7.24.0","@koa/router":"^12.0.0","less-loader":"^12.3.0","babel-eslint":"^10.0.2","babel-loader":"^10.0.0","element-plus":"^2.9.11","jsonwebtoken":"^9.0.2","postcss-less":"^6.0.0","style-loader":"^4.0.0","koa-useragent":"2.0.0","node-schedule":"^2.1.1","thread-loader":"^4.0.4","webpack-merge":"^4.2.1","koa-bodyparser":"^4.3.0","koa-nunjucks-2":"^3.0.2","stylelint-less":"^3.0.1","vue-json-viewer":"^3.0.4","vue-style-loader":"^4.1.2","@babel/preset-env":"^7.4.5","generate-password":"^1.7.1","html-webpack-plugin":"^5.5.3","clean-webpack-plugin":"^4.0.0","terser-webpack-plugin":"^5.3.14","webpack-dev-middleware":"^6.1.1","webpack-hot-middleware":"^2.25.4","@element-plus/icons-vue":"^2.3.1","mini-css-extract-plugin":"^2.9.2","stylelint-config-standard":"^38.0.0","css-minimizer-webpack-plugin":"^7.0.2","directory-named-webpack-plugin":"^4.0.1","@babel/plugin-transform-runtime":"^7.1.0","html-webpack-inject-attributes-plugin":"^1.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.1.7","eslint":"^7.32.0","prettier":"^3.5.3","supertest":"^4.0.2","lint-staged":"^16.1.0","@commitlint/cli":"^19.8.1","eslint-plugin-vue":"^9.17.0","validate-commit-msg":"~2.14.0","eslint-plugin-import":"^2.28.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","@commitlint/config-conventional":"^19.8.1"},"_npmOperationalInternal":{"tmp":"tmp/elpis_1.0.4_1751544368220_0.2856056183524205","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@allen-z-x/elpis","version":"1.0.5","keywords":["elpis","koa","vue","nodejs","allen-z-x/elpis"],"author":{"name":"张旭","email":"zhangxu_iii@163.com"},"license":"ISC","_id":"@allen-z-x/elpis@1.0.5","maintainers":[{"name":"allen-z-x","email":"zhangxu_iii@163.com"}],"dist":{"shasum":"549374d38f022108eb06f5755cc252c73678ec40","tarball":"https://registry.npmjs.org/@allen-z-x/elpis/-/elpis-1.0.5.tgz","fileCount":90,"integrity":"sha512-ZACm7sldKagVDimr7+xaTz6RpkMVtNsLFXdtgUSywakS0PXtvvKqVhUafqphiW23yEdVHF4mk8p0hO3mLT+avw==","signatures":[{"sig":"MEYCIQCBT2H6/tg2IeOnhmgztRQeOujRcUJNQbDtRIL4jRLw3wIhAKUA0793VKNOBPHUPPzezw8zrKQ81m9bb4/XrVWkEAca","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":973066},"main":"index.js","gitHead":"9cdfc6827f72766474e021913aedde3ab58b0c2b","scripts":{"lint":"eslint --quiet --ext .js,.vue .","test":"cross-env NODE_ENV=local jest test/**/*.test.js","prepare":"husky install"},"_npmUser":{"name":"allen-z-x","actor":{"name":"allen-z-x","type":"user","email":"zhangxu_iii@163.com"},"email":"zhangxu_iii@163.com"},"repository":{"url":"https://git.code.tencent.com/Allen_zx/Elpis.git","type":"git"},"_npmVersion":"11.4.1","description":"Elpis - 基于 Koa + Vue3 的企业级全栈应用框架","directories":{},"lint-staged":{"*.js":["eslint --fix"],"*.vue":["eslint --fix"],"*.less":["stylelint --fix"]},"_nodeVersion":"20.18.0","dependencies":{"ajv":"^6.10.2","koa":"^2.14.2","md5":"^2.2.1","vue":"^3.5.16","zod":"^3.22.4","glob":"^7.1.4","knex":"^0.19.0","less":"^3.8.1","vuex":"^4.1.0","axios":"^0.19.2","mysql":"^2.18.1","pinia":"^3.0.2","lodash":"^4.17.21","log4js":"^6.9.1","moment":"^2.29.4","echarts":"^5.5.0","esbuild":"^0.25.5","express":"^4.18.2","nodemon":"^1.19.2","webpack":"^5.99.9","consoler":"^0.2.0","cross-env":"^7.0.3","koa2-cors":"^2.0.6","stylelint":"^16.20.0","css-loader":"^6.8.1","koa-static":"^5.0.0","superagent":"^8.1.2","vue-loader":"^17.4.2","vue-router":"^4.2.4","@babel/core":"^7.24.0","@koa/router":"^12.0.0","less-loader":"^12.3.0","babel-eslint":"^10.0.2","babel-loader":"^10.0.0","element-plus":"^2.9.11","jsonwebtoken":"^9.0.2","postcss-less":"^6.0.0","style-loader":"^4.0.0","koa-useragent":"2.0.0","node-schedule":"^2.1.1","thread-loader":"^4.0.4","webpack-merge":"^4.2.1","koa-bodyparser":"^4.3.0","koa-nunjucks-2":"^3.0.2","stylelint-less":"^3.0.1","vue-json-viewer":"^3.0.4","vue-style-loader":"^4.1.2","@babel/preset-env":"^7.4.5","generate-password":"^1.7.1","html-webpack-plugin":"^5.5.3","clean-webpack-plugin":"^4.0.0","terser-webpack-plugin":"^5.3.14","webpack-dev-middleware":"^6.1.1","webpack-hot-middleware":"^2.25.4","@element-plus/icons-vue":"^2.3.1","mini-css-extract-plugin":"^2.9.2","stylelint-config-standard":"^38.0.0","css-minimizer-webpack-plugin":"^7.0.2","directory-named-webpack-plugin":"^4.0.1","@babel/plugin-transform-runtime":"^7.1.0","html-webpack-inject-attributes-plugin":"^1.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.1.7","eslint":"^7.32.0","prettier":"^3.5.3","supertest":"^4.0.2","lint-staged":"^16.1.0","@commitlint/cli":"^19.8.1","eslint-plugin-vue":"^9.17.0","validate-commit-msg":"~2.14.0","eslint-plugin-import":"^2.28.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","@commitlint/config-conventional":"^19.8.1"},"_npmOperationalInternal":{"tmp":"tmp/elpis_1.0.5_1751615490612_0.5509087177901648","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@allen-z-x/elpis","version":"1.0.6","keywords":["elpis","koa","vue","nodejs","allen-z-x/elpis"],"author":{"name":"张旭","email":"zhangxu_iii@163.com"},"license":"ISC","_id":"@allen-z-x/elpis@1.0.6","maintainers":[{"name":"allen-z-x","email":"zhangxu_iii@163.com"}],"dist":{"shasum":"3d2a45fc30bc5e31e89edd5c96d6217ec15d0669","tarball":"https://registry.npmjs.org/@allen-z-x/elpis/-/elpis-1.0.6.tgz","fileCount":90,"integrity":"sha512-Xf0tzy6XbvkGFq13AuHHmTDN+j6cBBCBZWHxWS6tUNnPbjxK5rRBxzdiUeAr/vDexRTguzJk69GI9PJLtnwmSw==","signatures":[{"sig":"MEUCIG4fJtzve7DCe59r6B1vrdmsBDR1JoPsIwq40tXjHU/JAiEAlHyWTwaajMx4r5DvjvrHXxvDpsJFFRQaba3wtCJ9Ae4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":973062},"main":"index.js","gitHead":"f4c6eab4a644f58da23bb8cbf72b2c887f7b56e1","scripts":{"lint":"eslint --quiet --ext .js,.vue .","test":"cross-env NODE_ENV=local jest test/**/*.test.js","prepare":"husky install"},"_npmUser":{"name":"allen-z-x","actor":{"name":"allen-z-x","type":"user","email":"zhangxu_iii@163.com"},"email":"zhangxu_iii@163.com"},"repository":{"url":"https://git.code.tencent.com/Allen_zx/Elpis.git","type":"git"},"_npmVersion":"11.4.1","description":"Elpis - 基于 Koa + Vue3 的企业级全栈应用框架","directories":{},"lint-staged":{"*.js":["eslint --fix"],"*.vue":["eslint --fix"],"*.less":["stylelint --fix"]},"_nodeVersion":"20.18.0","dependencies":{"ajv":"^6.10.2","koa":"^2.14.2","md5":"^2.2.1","vue":"^3.5.16","zod":"^3.22.4","glob":"^7.1.4","knex":"^0.19.0","less":"^3.8.1","vuex":"^4.1.0","axios":"^0.19.2","mysql":"^2.18.1","pinia":"^3.0.2","lodash":"^4.17.21","log4js":"^6.9.1","moment":"^2.29.4","echarts":"^5.5.0","esbuild":"^0.25.5","express":"^4.18.2","nodemon":"^1.19.2","webpack":"^5.99.9","consoler":"^0.2.0","cross-env":"^7.0.3","koa2-cors":"^2.0.6","stylelint":"^16.20.0","css-loader":"^6.8.1","koa-static":"^5.0.0","superagent":"^8.1.2","vue-loader":"^17.4.2","vue-router":"^4.2.4","@babel/core":"^7.24.0","@koa/router":"^12.0.0","less-loader":"^12.3.0","babel-eslint":"^10.0.2","babel-loader":"^10.0.0","element-plus":"^2.9.11","jsonwebtoken":"^9.0.2","postcss-less":"^6.0.0","style-loader":"^4.0.0","koa-useragent":"2.0.0","node-schedule":"^2.1.1","thread-loader":"^4.0.4","webpack-merge":"^4.2.1","koa-bodyparser":"^4.3.0","koa-nunjucks-2":"^3.0.2","stylelint-less":"^3.0.1","vue-json-viewer":"^3.0.4","vue-style-loader":"^4.1.2","@babel/preset-env":"^7.4.5","generate-password":"^1.7.1","html-webpack-plugin":"^5.5.3","clean-webpack-plugin":"^4.0.0","terser-webpack-plugin":"^5.3.14","webpack-dev-middleware":"^6.1.1","webpack-hot-middleware":"^2.25.4","@element-plus/icons-vue":"^2.3.1","mini-css-extract-plugin":"^2.9.2","stylelint-config-standard":"^38.0.0","css-minimizer-webpack-plugin":"^7.0.2","directory-named-webpack-plugin":"^4.0.1","@babel/plugin-transform-runtime":"^7.1.0","html-webpack-inject-attributes-plugin":"^1.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.1.7","eslint":"^7.32.0","prettier":"^3.5.3","supertest":"^4.0.2","lint-staged":"^16.1.0","@commitlint/cli":"^19.8.1","eslint-plugin-vue":"^9.17.0","validate-commit-msg":"~2.14.0","eslint-plugin-import":"^2.28.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","@commitlint/config-conventional":"^19.8.1"},"_npmOperationalInternal":{"tmp":"tmp/elpis_1.0.6_1751615848959_0.8235316365374972","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@allen-z-x/elpis","version":"1.0.7","keywords":["elpis","koa","vue","nodejs","allen-z-x/elpis"],"author":{"name":"张旭","email":"zhangxu_iii@163.com"},"license":"ISC","_id":"@allen-z-x/elpis@1.0.7","maintainers":[{"name":"allen-z-x","email":"zhangxu_iii@163.com"}],"dist":{"shasum":"7e59ed679b376ae4c6cf2faafb701d22a2b20a5a","tarball":"https://registry.npmjs.org/@allen-z-x/elpis/-/elpis-1.0.7.tgz","fileCount":90,"integrity":"sha512-jOMldAWqCE+ny/PEa5NGqzHj3qp6SX1AAsH3DTGjWN0w1Sr2rjvsEigUIMpUv8UJDRKjj/iKChWc+ZdgzQp5tg==","signatures":[{"sig":"MEUCIQDFH+qW1YvoJqEUnruF7uivrX3/SZ9GwdN2ISUGytzDLAIgKBglZE/p5/oagtyX4wVeZEUT9hUVdzjMRZg8d1XS+8g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":974175},"main":"index.js","gitHead":"908927cc00eeacde03127e7976211950d5d13068","scripts":{"lint":"eslint --quiet --ext .js,.vue .","test":"cross-env NODE_ENV=local jest test/**/*.test.js","prepare":"husky install"},"_npmUser":{"name":"allen-z-x","actor":{"name":"allen-z-x","type":"user","email":"zhangxu_iii@163.com"},"email":"zhangxu_iii@163.com"},"repository":{"url":"https://git.code.tencent.com/Allen_zx/Elpis.git","type":"git"},"_npmVersion":"11.4.1","description":"Elpis - 基于 Koa + Vue3 的企业级全栈应用框架","directories":{},"lint-staged":{"*.js":["eslint --fix"],"*.vue":["eslint --fix"],"*.less":["stylelint --fix"]},"_nodeVersion":"20.18.0","dependencies":{"ajv":"^6.10.2","koa":"^2.14.2","md5":"^2.2.1","vue":"^3.5.16","zod":"^3.22.4","glob":"^7.1.4","knex":"^0.19.0","less":"^3.8.1","vuex":"^4.1.0","axios":"^0.19.2","mysql":"^2.18.1","pinia":"^3.0.2","lodash":"^4.17.21","log4js":"^6.9.1","moment":"^2.29.4","echarts":"^5.5.0","esbuild":"^0.25.5","express":"^4.18.2","nodemon":"^1.19.2","webpack":"^5.99.9","consoler":"^0.2.0","cross-env":"^7.0.3","koa2-cors":"^2.0.6","stylelint":"^16.20.0","css-loader":"^6.8.1","koa-static":"^5.0.0","superagent":"^8.1.2","vue-loader":"^17.4.2","vue-router":"^4.2.4","@babel/core":"^7.24.0","@koa/router":"^12.0.0","less-loader":"^12.3.0","babel-eslint":"^10.0.2","babel-loader":"^10.0.0","element-plus":"^2.9.11","jsonwebtoken":"^9.0.2","postcss-less":"^6.0.0","style-loader":"^4.0.0","koa-useragent":"2.0.0","node-schedule":"^2.1.1","thread-loader":"^4.0.4","webpack-merge":"^4.2.1","koa-bodyparser":"^4.3.0","koa-nunjucks-2":"^3.0.2","stylelint-less":"^3.0.1","vue-json-viewer":"^3.0.4","vue-style-loader":"^4.1.2","@babel/preset-env":"^7.4.5","generate-password":"^1.7.1","html-webpack-plugin":"^5.5.3","clean-webpack-plugin":"^4.0.0","terser-webpack-plugin":"^5.3.14","webpack-dev-middleware":"^6.1.1","webpack-hot-middleware":"^2.25.4","@element-plus/icons-vue":"^2.3.1","mini-css-extract-plugin":"^2.9.2","stylelint-config-standard":"^38.0.0","css-minimizer-webpack-plugin":"^7.0.2","directory-named-webpack-plugin":"^4.0.1","@babel/plugin-transform-runtime":"^7.1.0","html-webpack-inject-attributes-plugin":"^1.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.1.7","eslint":"^7.32.0","prettier":"^3.5.3","supertest":"^4.0.2","lint-staged":"^16.1.0","@commitlint/cli":"^19.8.1","eslint-plugin-vue":"^9.17.0","validate-commit-msg":"~2.14.0","eslint-plugin-import":"^2.28.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","@commitlint/config-conventional":"^19.8.1"},"_npmOperationalInternal":{"tmp":"tmp/elpis_1.0.7_1751635157529_0.9561424176545661","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@allen-z-x/elpis","version":"1.0.8","keywords":["elpis","koa","vue","nodejs","allen-z-x/elpis"],"author":{"name":"张旭","email":"zhangxu_iii@163.com"},"license":"ISC","_id":"@allen-z-x/elpis@1.0.8","maintainers":[{"name":"allen-z-x","email":"zhangxu_iii@163.com"}],"dist":{"shasum":"96ef79a9d61035abbdb10c5c167160104af17a24","tarball":"https://registry.npmjs.org/@allen-z-x/elpis/-/elpis-1.0.8.tgz","fileCount":90,"integrity":"sha512-CQYsAnas3g5LqpLHj8qWSN7sNaEJY4XMIJIbAueojnl2TXZIP0JK4ksJMqEoPZzP8pHuqAtv5YP6zLgo37elvg==","signatures":[{"sig":"MEYCIQDqIGOFCghvxvgYu83tn2Okhnx3M3SSBtWgk52uHIawpgIhAODXIFErejAcc5gNnTeD7NN4zuL91kKq32Hd5v074yeh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":974318},"main":"index.js","gitHead":"908927cc00eeacde03127e7976211950d5d13068","scripts":{"lint":"eslint --quiet --ext .js,.vue .","test":"cross-env NODE_ENV=local jest test/**/*.test.js","prepare":"husky install"},"_npmUser":{"name":"allen-z-x","actor":{"name":"allen-z-x","type":"user","email":"zhangxu_iii@163.com"},"email":"zhangxu_iii@163.com"},"repository":{"url":"https://git.code.tencent.com/Allen_zx/Elpis.git","type":"git"},"_npmVersion":"11.4.1","description":"Elpis - 基于 Koa + Vue3 的企业级全栈应用框架","directories":{},"lint-staged":{"*.js":["eslint --fix"],"*.vue":["eslint --fix"],"*.less":["stylelint --fix"]},"_nodeVersion":"20.18.0","dependencies":{"ajv":"^6.10.2","koa":"^2.14.2","md5":"^2.2.1","vue":"^3.5.16","zod":"^3.22.4","glob":"^7.1.4","knex":"^0.19.0","less":"^3.8.1","vuex":"^4.1.0","axios":"^0.19.2","mysql":"^2.18.1","pinia":"^3.0.2","lodash":"^4.17.21","log4js":"^6.9.1","moment":"^2.29.4","echarts":"^5.5.0","esbuild":"^0.25.5","express":"^4.18.2","nodemon":"^1.19.2","webpack":"^5.99.9","consoler":"^0.2.0","cross-env":"^7.0.3","koa2-cors":"^2.0.6","stylelint":"^16.20.0","css-loader":"^6.8.1","koa-static":"^5.0.0","superagent":"^8.1.2","vue-loader":"^17.4.2","vue-router":"^4.2.4","@babel/core":"^7.24.0","@koa/router":"^12.0.0","less-loader":"^12.3.0","babel-eslint":"^10.0.2","babel-loader":"^10.0.0","element-plus":"^2.9.11","jsonwebtoken":"^9.0.2","postcss-less":"^6.0.0","style-loader":"^4.0.0","koa-useragent":"2.0.0","node-schedule":"^2.1.1","thread-loader":"^4.0.4","webpack-merge":"^4.2.1","koa-bodyparser":"^4.3.0","koa-nunjucks-2":"^3.0.2","stylelint-less":"^3.0.1","vue-json-viewer":"^3.0.4","vue-style-loader":"^4.1.2","@babel/preset-env":"^7.4.5","generate-password":"^1.7.1","html-webpack-plugin":"^5.5.3","clean-webpack-plugin":"^4.0.0","terser-webpack-plugin":"^5.3.14","webpack-dev-middleware":"^6.1.1","webpack-hot-middleware":"^2.25.4","@element-plus/icons-vue":"^2.3.1","mini-css-extract-plugin":"^2.9.2","stylelint-config-standard":"^38.0.0","css-minimizer-webpack-plugin":"^7.0.2","directory-named-webpack-plugin":"^4.0.1","@babel/plugin-transform-runtime":"^7.1.0","html-webpack-inject-attributes-plugin":"^1.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.1.7","eslint":"^7.32.0","prettier":"^3.5.3","supertest":"^4.0.2","lint-staged":"^16.1.0","@commitlint/cli":"^19.8.1","eslint-plugin-vue":"^9.17.0","validate-commit-msg":"~2.14.0","eslint-plugin-import":"^2.28.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","@commitlint/config-conventional":"^19.8.1"},"_npmOperationalInternal":{"tmp":"tmp/elpis_1.0.8_1751635475424_0.2716948037428306","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@allen-z-x/elpis","version":"1.0.9","keywords":["elpis","koa","vue","nodejs","allen-z-x/elpis"],"author":{"name":"张旭","email":"zhangxu_iii@163.com"},"license":"ISC","_id":"@allen-z-x/elpis@1.0.9","maintainers":[{"name":"allen-z-x","email":"zhangxu_iii@163.com"}],"dist":{"shasum":"fc69797a613ccb3a1e8b884a0f52382b0df5ff3a","tarball":"https://registry.npmjs.org/@allen-z-x/elpis/-/elpis-1.0.9.tgz","fileCount":90,"integrity":"sha512-jvaibRf5wjyHQ4WTCFz7OmTaRX93355o6pmQLyiwE00FrVMNgRgVbrbGN09AWG4C+USao7miP4ATr4afVbJbiA==","signatures":[{"sig":"MEUCIAZocp2GFUwLpxWc6ttajwY8/DisSD95shBXgBymSHyCAiEAs6G5TAv6szqU3nXPfxybmhwapRjZfl+grZJHX3Upbmk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":974345},"main":"index.js","gitHead":"908927cc00eeacde03127e7976211950d5d13068","scripts":{"lint":"eslint --quiet --ext .js,.vue .","test":"cross-env NODE_ENV=local jest test/**/*.test.js","prepare":"husky install"},"_npmUser":{"name":"allen-z-x","actor":{"name":"allen-z-x","type":"user","email":"zhangxu_iii@163.com"},"email":"zhangxu_iii@163.com"},"repository":{"url":"https://git.code.tencent.com/Allen_zx/Elpis.git","type":"git"},"_npmVersion":"11.4.1","description":"Elpis - 基于 Koa + Vue3 的企业级全栈应用框架","directories":{},"lint-staged":{"*.js":["eslint --fix"],"*.vue":["eslint --fix"],"*.less":["stylelint --fix"]},"_nodeVersion":"20.18.0","dependencies":{"ajv":"^6.10.2","koa":"^2.14.2","md5":"^2.2.1","vue":"^3.5.16","zod":"^3.22.4","glob":"^7.1.4","knex":"^0.19.0","less":"^3.8.1","vuex":"^4.1.0","axios":"^0.19.2","mysql":"^2.18.1","pinia":"^3.0.2","lodash":"^4.17.21","log4js":"^6.9.1","moment":"^2.29.4","echarts":"^5.5.0","esbuild":"^0.25.5","express":"^4.18.2","nodemon":"^1.19.2","webpack":"^5.99.9","consoler":"^0.2.0","cross-env":"^7.0.3","koa2-cors":"^2.0.6","stylelint":"^16.20.0","css-loader":"^6.8.1","koa-static":"^5.0.0","superagent":"^8.1.2","vue-loader":"^17.4.2","vue-router":"^4.2.4","@babel/core":"^7.24.0","@koa/router":"^12.0.0","less-loader":"^12.3.0","babel-eslint":"^10.0.2","babel-loader":"^10.0.0","element-plus":"^2.9.11","jsonwebtoken":"^9.0.2","postcss-less":"^6.0.0","style-loader":"^4.0.0","koa-useragent":"2.0.0","node-schedule":"^2.1.1","thread-loader":"^4.0.4","webpack-merge":"^4.2.1","koa-bodyparser":"^4.3.0","koa-nunjucks-2":"^3.0.2","stylelint-less":"^3.0.1","vue-json-viewer":"^3.0.4","vue-style-loader":"^4.1.2","@babel/preset-env":"^7.4.5","generate-password":"^1.7.1","html-webpack-plugin":"^5.5.3","clean-webpack-plugin":"^4.0.0","terser-webpack-plugin":"^5.3.14","webpack-dev-middleware":"^6.1.1","webpack-hot-middleware":"^2.25.4","@element-plus/icons-vue":"^2.3.1","mini-css-extract-plugin":"^2.9.2","stylelint-config-standard":"^38.0.0","css-minimizer-webpack-plugin":"^7.0.2","directory-named-webpack-plugin":"^4.0.1","@babel/plugin-transform-runtime":"^7.1.0","html-webpack-inject-attributes-plugin":"^1.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.1.7","eslint":"^7.32.0","prettier":"^3.5.3","supertest":"^4.0.2","lint-staged":"^16.1.0","@commitlint/cli":"^19.8.1","eslint-plugin-vue":"^9.17.0","validate-commit-msg":"~2.14.0","eslint-plugin-import":"^2.28.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","@commitlint/config-conventional":"^19.8.1"},"_npmOperationalInternal":{"tmp":"tmp/elpis_1.0.9_1751636216697_0.829710545484662","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@allen-z-x/elpis","version":"1.0.10","keywords":["elpis","koa","vue","nodejs","allen-z-x/elpis"],"author":{"name":"张旭","email":"zhangxu_iii@163.com"},"license":"ISC","_id":"@allen-z-x/elpis@1.0.10","maintainers":[{"name":"allen-z-x","email":"zhangxu_iii@163.com"}],"dist":{"shasum":"c7ae54e9a7c28a86b4b7fff74cb344e48544e57c","tarball":"https://registry.npmjs.org/@allen-z-x/elpis/-/elpis-1.0.10.tgz","fileCount":90,"integrity":"sha512-GuwYn1cg7rh29IUydoQX/YVfkYl7e1dYzC11lx3V6wh9VUtt6RZm+3H8rSvQPz6PP6+uT3IazMOcQ43lCR11hQ==","signatures":[{"sig":"MEUCIFxDj2ekkcNaDsz/KhcCKK5Qah48ntohWbUJ/onRZ6dBAiEA1FATWeqZplx6w0VyslE5gnP0zeat1Nox8lzCQTzOuKQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":974417},"main":"index.js","gitHead":"908927cc00eeacde03127e7976211950d5d13068","scripts":{"lint":"eslint --quiet --ext .js,.vue .","test":"cross-env NODE_ENV=local jest test/**/*.test.js","prepare":"husky install"},"_npmUser":{"name":"allen-z-x","email":"zhangxu_iii@163.com"},"repository":{"url":"https://git.code.tencent.com/Allen_zx/Elpis.git","type":"git"},"_npmVersion":"11.4.1","description":"Elpis - 基于 Koa + Vue3 的企业级全栈应用框架","directories":{},"lint-staged":{"*.js":["eslint --fix"],"*.vue":["eslint --fix"],"*.less":["stylelint --fix"]},"_nodeVersion":"20.18.0","dependencies":{"ajv":"^6.10.2","koa":"^2.14.2","md5":"^2.2.1","vue":"^3.5.16","zod":"^3.22.4","glob":"^7.1.4","knex":"^0.19.0","less":"^3.8.1","vuex":"^4.1.0","axios":"^0.19.2","mysql":"^2.18.1","pinia":"^3.0.2","lodash":"^4.17.21","log4js":"^6.9.1","moment":"^2.29.4","echarts":"^5.5.0","esbuild":"^0.25.5","express":"^4.18.2","nodemon":"^1.19.2","webpack":"^5.99.9","consoler":"^0.2.0","cross-env":"^7.0.3","koa2-cors":"^2.0.6","stylelint":"^16.20.0","css-loader":"^6.8.1","koa-static":"^5.0.0","superagent":"^8.1.2","vue-loader":"^17.4.2","vue-router":"^4.2.4","@babel/core":"^7.24.0","@koa/router":"^12.0.0","less-loader":"^12.3.0","babel-eslint":"^10.0.2","babel-loader":"^10.0.0","element-plus":"^2.9.11","jsonwebtoken":"^9.0.2","postcss-less":"^6.0.0","style-loader":"^4.0.0","koa-useragent":"2.0.0","node-schedule":"^2.1.1","thread-loader":"^4.0.4","webpack-merge":"^4.2.1","koa-bodyparser":"^4.3.0","koa-nunjucks-2":"^3.0.2","stylelint-less":"^3.0.1","vue-json-viewer":"^3.0.4","vue-style-loader":"^4.1.2","@babel/preset-env":"^7.4.5","generate-password":"^1.7.1","html-webpack-plugin":"^5.5.3","clean-webpack-plugin":"^4.0.0","terser-webpack-plugin":"^5.3.14","webpack-dev-middleware":"^6.1.1","webpack-hot-middleware":"^2.25.4","@element-plus/icons-vue":"^2.3.1","mini-css-extract-plugin":"^2.9.2","stylelint-config-standard":"^38.0.0","css-minimizer-webpack-plugin":"^7.0.2","directory-named-webpack-plugin":"^4.0.1","@babel/plugin-transform-runtime":"^7.1.0","html-webpack-inject-attributes-plugin":"^1.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.1.7","eslint":"^7.32.0","prettier":"^3.5.3","supertest":"^4.0.2","lint-staged":"^16.1.0","@commitlint/cli":"^19.8.1","eslint-plugin-vue":"^9.17.0","validate-commit-msg":"~2.14.0","eslint-plugin-import":"^2.28.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","@commitlint/config-conventional":"^19.8.1"},"_npmOperationalInternal":{"tmp":"tmp/elpis_1.0.10_1752333221495_0.3116936179759253","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@allen-z-x/elpis","version":"1.0.11","keywords":["elpis","koa","vue","nodejs","allen-z-x/elpis"],"author":{"name":"张旭","email":"zhangxu_iii@163.com"},"license":"ISC","_id":"@allen-z-x/elpis@1.0.11","maintainers":[{"name":"allen-z-x","email":"zhangxu_iii@163.com"}],"dist":{"shasum":"102f5ae02ddccb6cb79062cf42985b621d66eff5","tarball":"https://registry.npmjs.org/@allen-z-x/elpis/-/elpis-1.0.11.tgz","fileCount":90,"integrity":"sha512-dVl2NjyRsKdAWbVs1Ga18cp16rwjg2RzTBk6rusBq++wzEsukQob3Wd18b1RukiXOEIbEY5YhjbWOIRT1WNVjA==","signatures":[{"sig":"MEUCIQD4mVvAd52zCCt3oZfj+4EZDaukPCL5SQATonlgkvRdfAIgHvquweERomnxApW3Qu187KdA4IMY0bxQvTXIWArDX6s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":974443},"main":"index.js","gitHead":"908927cc00eeacde03127e7976211950d5d13068","scripts":{"lint":"eslint --quiet --ext .js,.vue .","test":"cross-env NODE_ENV=local jest test/**/*.test.js","prepare":"husky install"},"_npmUser":{"name":"allen-z-x","email":"zhangxu_iii@163.com"},"repository":{"url":"https://git.code.tencent.com/Allen_zx/Elpis.git","type":"git"},"_npmVersion":"11.4.1","description":"Elpis - 基于 Koa + Vue3 的企业级全栈应用框架","directories":{},"lint-staged":{"*.js":["eslint --fix"],"*.vue":["eslint --fix"],"*.less":["stylelint --fix"]},"_nodeVersion":"20.18.0","dependencies":{"ajv":"^6.10.2","koa":"^2.14.2","md5":"^2.2.1","vue":"^3.5.16","zod":"^3.22.4","glob":"^7.1.4","knex":"^0.19.0","less":"^3.8.1","vuex":"^4.1.0","axios":"^0.19.2","mysql":"^2.18.1","pinia":"^3.0.2","lodash":"^4.17.21","log4js":"^6.9.1","moment":"^2.29.4","echarts":"^5.5.0","esbuild":"^0.25.5","express":"^4.18.2","nodemon":"^1.19.2","webpack":"^5.99.9","consoler":"^0.2.0","cross-env":"^7.0.3","koa2-cors":"^2.0.6","stylelint":"^16.20.0","css-loader":"^6.8.1","koa-static":"^5.0.0","superagent":"^8.1.2","vue-loader":"^17.4.2","vue-router":"^4.2.4","@babel/core":"^7.24.0","@koa/router":"^12.0.0","less-loader":"^12.3.0","babel-eslint":"^10.0.2","babel-loader":"^10.0.0","element-plus":"^2.9.11","jsonwebtoken":"^9.0.2","postcss-less":"^6.0.0","style-loader":"^4.0.0","koa-useragent":"2.0.0","node-schedule":"^2.1.1","thread-loader":"^4.0.4","webpack-merge":"^4.2.1","koa-bodyparser":"^4.3.0","koa-nunjucks-2":"^3.0.2","stylelint-less":"^3.0.1","vue-json-viewer":"^3.0.4","vue-style-loader":"^4.1.2","@babel/preset-env":"^7.4.5","generate-password":"^1.7.1","html-webpack-plugin":"^5.5.3","clean-webpack-plugin":"^4.0.0","terser-webpack-plugin":"^5.3.14","webpack-dev-middleware":"^6.1.1","webpack-hot-middleware":"^2.25.4","@element-plus/icons-vue":"^2.3.1","mini-css-extract-plugin":"^2.9.2","stylelint-config-standard":"^38.0.0","css-minimizer-webpack-plugin":"^7.0.2","directory-named-webpack-plugin":"^4.0.1","@babel/plugin-transform-runtime":"^7.1.0","html-webpack-inject-attributes-plugin":"^1.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.1.7","eslint":"^7.32.0","prettier":"^3.5.3","supertest":"^4.0.2","lint-staged":"^16.1.0","@commitlint/cli":"^19.8.1","eslint-plugin-vue":"^9.17.0","validate-commit-msg":"~2.14.0","eslint-plugin-import":"^2.28.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","@commitlint/config-conventional":"^19.8.1"},"_npmOperationalInternal":{"tmp":"tmp/elpis_1.0.11_1752333417769_0.004370960066091278","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@allen-z-x/elpis","version":"1.0.12","description":"Elpis - 基于 Koa + Vue3 的企业级全栈应用框架","repository":{"type":"git","url":"https://git.code.tencent.com/Allen_zx/Elpis.git"},"license":"ISC","author":{"name":"张旭","email":"zhangxu_iii@163.com"},"keywords":["elpis","koa","vue","nodejs","allen-z-x/elpis"],"main":"index.js","scripts":{"test":"cross-env NODE_ENV=local jest test/**/*.test.js","lint":"eslint --quiet --ext .js,.vue .","prepare":"husky install"},"dependencies":{"@babel/core":"^7.24.0","@babel/plugin-transform-runtime":"^7.1.0","@babel/preset-env":"^7.4.5","@element-plus/icons-vue":"^2.3.1","@koa/router":"^12.0.0","ajv":"^6.10.2","axios":"^0.19.2","babel-eslint":"^10.0.2","babel-loader":"^10.0.0","clean-webpack-plugin":"^4.0.0","consoler":"^0.2.0","cross-env":"^7.0.3","css-loader":"^6.8.1","css-minimizer-webpack-plugin":"^7.0.2","directory-named-webpack-plugin":"^4.0.1","echarts":"^5.5.0","element-plus":"^2.9.11","esbuild":"^0.25.5","express":"^4.18.2","generate-password":"^1.7.1","glob":"^7.1.4","html-webpack-inject-attributes-plugin":"^1.0.6","html-webpack-plugin":"^5.5.3","jsonwebtoken":"^9.0.2","knex":"^0.19.0","koa":"^2.14.2","koa-bodyparser":"^4.3.0","koa-nunjucks-2":"^3.0.2","koa-static":"^5.0.0","koa-useragent":"2.0.0","koa2-cors":"^2.0.6","less":"^3.8.1","less-loader":"^12.3.0","lodash":"^4.17.21","log4js":"^6.9.1","md5":"^2.2.1","mini-css-extract-plugin":"^2.9.2","moment":"^2.29.4","mysql":"^2.18.1","node-schedule":"^2.1.1","nodemon":"^1.19.2","pinia":"^3.0.2","postcss-less":"^6.0.0","style-loader":"^4.0.0","stylelint":"^16.20.0","stylelint-config-standard":"^38.0.0","stylelint-less":"^3.0.1","superagent":"^8.1.2","terser-webpack-plugin":"^5.3.14","thread-loader":"^4.0.4","vue":"^3.5.16","vue-json-viewer":"^3.0.4","vue-loader":"^17.4.2","vue-router":"^4.2.4","vue-style-loader":"^4.1.2","vuex":"^4.1.0","webpack":"^5.99.9","webpack-dev-middleware":"^6.1.1","webpack-hot-middleware":"^2.25.4","webpack-merge":"^4.2.1","zod":"^3.22.4"},"devDependencies":{"@commitlint/cli":"^19.8.1","@commitlint/config-conventional":"^19.8.1","eslint":"^7.32.0","eslint-config-prettier":"^10.1.5","eslint-plugin-import":"^2.28.1","eslint-plugin-prettier":"^5.4.1","eslint-plugin-vue":"^9.17.0","lint-staged":"^16.1.0","prettier":"^3.5.3","husky":"^9.1.7","jest":"^29.7.0","supertest":"^4.0.2","validate-commit-msg":"~2.14.0"},"lint-staged":{"*.js":["eslint --fix"],"*.vue":["eslint --fix"],"*.less":["stylelint --fix"]},"_id":"@allen-z-x/elpis@1.0.12","gitHead":"908927cc00eeacde03127e7976211950d5d13068","_nodeVersion":"20.18.0","_npmVersion":"11.4.1","dist":{"integrity":"sha512-7i8zIKfUQo1LzT4uPLnxKRUuAgF4Ec973z9x+vWpYWj8xESVcDHBTYUEJLx6PGTGdqwVaYMEzRPYBJJP/1nt7w==","shasum":"eb30bd64bfd71376b8007a6167ab3d81cfc19e16","tarball":"https://registry.npmjs.org/@allen-z-x/elpis/-/elpis-1.0.12.tgz","fileCount":90,"unpackedSize":974446,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEXjkY8+WL2oGPkz3rpkv0gcjE3FMe+j3f7L/MWB+WVLAiEA05YeOZwmYvE+mc4fpefJQzR3HIpbfRrcJSMEv71QvZU="}]},"_npmUser":{"name":"allen-z-x","email":"zhangxu_iii@163.com"},"directories":{},"maintainers":[{"name":"allen-z-x","email":"zhangxu_iii@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/elpis_1.0.12_1752333812396_0.8493764650576037"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-01T07:20:03.294Z","modified":"2025-07-12T15:23:33.133Z","1.0.0":"2025-07-01T07:20:03.571Z","1.0.1":"2025-07-01T07:39:29.633Z","1.0.2":"2025-07-01T08:07:26.716Z","1.0.3":"2025-07-01T08:14:32.970Z","1.0.4":"2025-07-03T12:06:08.489Z","1.0.5":"2025-07-04T07:51:30.820Z","1.0.6":"2025-07-04T07:57:29.198Z","1.0.7":"2025-07-04T13:19:17.803Z","1.0.8":"2025-07-04T13:24:35.635Z","1.0.9":"2025-07-04T13:36:56.960Z","1.0.10":"2025-07-12T15:13:41.755Z","1.0.11":"2025-07-12T15:16:58.001Z","1.0.12":"2025-07-12T15:23:32.654Z"},"author":{"name":"张旭","email":"zhangxu_iii@163.com"},"license":"ISC","keywords":["elpis","koa","vue","nodejs","allen-z-x/elpis"],"repository":{"type":"git","url":"https://git.code.tencent.com/Allen_zx/Elpis.git"},"description":"Elpis - 基于 Koa + Vue3 的企业级全栈应用框架","maintainers":[{"name":"allen-z-x","email":"zhangxu_iii@163.com"}],"readme":"# Elpis - 基于 Koa + Vue3 的企业级全栈应用框架\r\n\r\n![Npm 版本](https://img.shields.io/badge/@allen--z--x/elpis-v1.0.12-green)\r\n\r\n## elpis框架的核心设计哲学\r\n\r\n### 🤔 一、根本性问题洞察\r\n\r\n传统企业级应用中，开发者80%的时间消耗在重复性业务逻辑实现上：\r\n\r\n1. 基础CRUD接口的重复开发\r\n2. 相似业务组件的重复编写\r\n3. 大同小异的表单验证逻辑\r\n4. 高度雷同的表格展示需求\r\n\r\n### 📖 二、革命性解决方案\r\n\r\nElpis 通过 DSL 领域模型的开发范式重构开发流程：\r\n\r\n1. 统一建模层\r\n\r\n- 模型使用继承的理念，一个领域模型可以衍生出若干个项目\r\n\r\n2. 智能解析引擎\r\n\r\n- 模型 → 页面：自动生成 CRUD 标准页面\r\n- 模型 → 组件：动态渲染表单/表格/搜索框/详情面板/...\r\n- 模型 → 菜单：自动化配置前端路由\r\n\r\n### 🚩 三、工程价值量化\r\n\r\n| 指标             | 传统开发 | elpis方案 | 提升幅度 |\r\n| ---------------- | -------- | --------- | -------- |\r\n| CRUD实现耗时     | 8h       | 0.5h      | 16x      |\r\n| 代码重复率       | 80%      | <5%       | 16x      |\r\n| 需求变更响应速度 | 2天      | 2小时     | 24x      |\r\n\r\nElpis 为解决大量重复性 CRUD 业务场景而生。如果你想进一步了解 Elpis[本文章有详细介绍](https://juejin.cn/post/7523038523676196910)\r\n\r\n### model配置\r\n\r\n```javascript\r\n{\r\n  mode: 'dashboard', // 模板类型，不同模板类型对应不一样的模板数据结构\r\n  name: '', //名称\r\n  desc: '', //描述\r\n  icon: '', //图标\r\n  homePage: '', //首页（项目配置）\r\n  menu: [\r\n    {\r\n      key: '', //菜单唯一描述\r\n      name: '', //菜单名称\r\n      menuType: '', //枚举值  group/module\r\n\r\n      // 当menuType == group 时，可填\r\n      subMenu: [{}],\r\n\r\n      moduleType: '', // 枚举值  sider/iframe/custom/schema\r\n\r\n      //当 moduleType == sider 时\r\n      siderConfig: {\r\n        menu: [{}]\r\n      },\r\n\r\n      //当 moduleType == iframe 时\r\n      iframeConfig: {\r\n        path: '' // iframe 路径\r\n      },\r\n\r\n      //当 moduleType == custom 时\r\n      customConfig: {\r\n        path: '' // 自定义路由路径\r\n      },\r\n\r\n      //当 moduleType == schema 时\r\n      schemaConfig: {\r\n        api: '', // 数据源API (遵循 restfull 规范)\r\n        schema: {\r\n          type: 'object',\r\n          properties: {\r\n            key: {\r\n              type: '', //字段类型\r\n              label: '', //字段中文名\r\n              // 字段在 table 中的相关配置\r\n              tableOption: {\r\n                ...elTableColumnConfig, // 标准 el-table-column 配置\r\n                toFixed: 0,\r\n                visible: true // 默认为 true （false表示不在表单中显示）\r\n              },\r\n              // 字段在 search-bar 中的相关配置\r\n              searchOption: {\r\n                ...elComponentConfig, // 标准 el-component-config 配置\r\n                comType: '', // 配置组件类型  input/select/...\r\n                default: '', // 默认值\r\n\r\n                // 当 comType === 'select' 时，可配置\r\n                enumList: [\r\n                  {\r\n                    label: '',\r\n                    value: ''\r\n                  }\r\n                ],\r\n\r\n                // 当 comType === 'dynamicSelect' 时，可配置\r\n                api: '' // 数据源API (遵循 restfull 规范)\r\n              },\r\n              // 字段在不同动态 component 中的相关配置，前缀对应 componentConfig 中的键值\r\n              // 如：componentConfig.createForm  这里对应 createFormOption\r\n              // 字段在 createForm 中相关配置\r\n              createFormOption: {\r\n                ...elComponentConfig, // 标准 el-component-config 配置\r\n                comType: '', // 配置组件类型  input/select/...\r\n                visible: true, // 是否展示，默认为 true\r\n                disabled: false, // 是否禁用，默认为 false\r\n                default: '', // 默认值\r\n\r\n                // 当 comType === 'select' 时，可配置\r\n                enumList: [\r\n                  {\r\n                    label: '',\r\n                    value: ''\r\n                  }\r\n                ]\r\n              },\r\n              // 字段在 editForm 中相关配置\r\n              editFormOption: {\r\n                ...elComponentConfig, // 标准 el-component-config 配置\r\n                comType: '', // 配置组件类型  input/select/...\r\n                visible: true, // 是否展示，默认为 true\r\n                disabled: false, // 是否禁用，默认为 false\r\n                default: '', // 默认值\r\n\r\n                // 当 comType === 'select' 时，可配置\r\n                enumList: [\r\n                  {\r\n                    label: '',\r\n                    value: ''\r\n                  }\r\n                ]\r\n              },\r\n              detailPanelOption: {\r\n                ...elComponentConfig // 标准 el-component-config 配置\r\n              },\r\n              apiOption: {}, // 数据源配置\r\n              dbOption: {} // 数据库配置\r\n            }\r\n          },\r\n          required: [] // 标记哪些字段为必填项\r\n        },\r\n        tableConfig: {\r\n          headerButtons: [\r\n            {\r\n              label: '', // 按钮中文名\r\n              eventKey: '', // 按钮事件名\r\n              // 按钮具体配置\r\n              eventOption: {\r\n                // 当 eventKey === 'showComponent'\r\n                comName: '' // 组件名\r\n              },\r\n              ...elButtonConfig // 标准 el-button 配置\r\n            }\r\n          ], // 表头按钮\r\n          rowButtons: [\r\n            {\r\n              label: '', // 按钮中文名\r\n              eventKey: '', // 按钮事件名\r\n              eventOption: {\r\n                // 当 eventKey === 'showComponent'\r\n                comName: '', // 组件名\r\n\r\n                // 当 eventKey === 'remove'\r\n                params: {\r\n                  idKey: 'schema::idKey' // 当格式为 schema::tableKey 的时候，到 table 中找相应的字段\r\n                }\r\n              }, // 按钮具体配置\r\n              ...elButtonConfig // 标准 el-button 配置\r\n            }\r\n          ] // 行按钮\r\n        }, // table 相关配置\r\n        searchConfig: {}, //search-bar 相关配置\r\n        // 动态组件 相关配置\r\n        componentConfig: {\r\n          // createForm 表单相关配置\r\n          createForm: {\r\n            title: '', // 表单标题\r\n            saveBtnText: '' // 保存按钮文案\r\n          },\r\n          // editForm 表单相关配置\r\n          editForm: {\r\n            mainKey: '', // 表单主键，用于唯一标识要修改的数据对象\r\n            title: '', // 表单标题\r\n            saveBtnText: '' // 保存按钮文案\r\n          },\r\n          detailPanel: {\r\n            mainKey: '', // 表单主键，用于唯一标识要修改的数据对象\r\n            title: '' // 表单标题\r\n          }\r\n        }\r\n      }\r\n    }\r\n  ]\r\n}\r\n```\r\n\r\n### 服务端启动\r\n\r\n```javascript\r\nconst { serverStart } = require('@allen-z-x/elpis')\r\n\r\n// 启动 Elpis 服务\r\nconst app = serverStart({})\r\n```\r\n\r\n### 自定义服务端\r\n\r\n- router-schema\r\n- router\r\n- controller\r\n- service\r\n- extend\r\n- config\r\n\r\n### 前端构建\r\n\r\n```javascript\r\nconst { frontendBuild } = require('@allen-z-x/elpis')\r\n\r\nfrontendBuild(process.env.NODE_ENV)\r\n```\r\n\r\n### 自定义页面扩展\r\n\r\n- 在 `app/pages/` 目录下写入口 entry.xxx.js\r\n\r\n### dashboard / customView 自定义页面扩展\r\n\r\n- 在 `app/pages/dashboard/xxx/` 目录下写页面 (xxx自定义)\r\n\r\n### dashboard / components / schemaView / components 动态组件扩展\r\n\r\n1. 在 `app/pages/dashboard/components/schemaView/components/` 目录下写组件\r\n2. 配置到 `app/pages/dashboard/components/schemaView/component-config.js` 文件中\r\n\r\n### schemaForm 控件扩展\r\n\r\n1. 在 `app/pages/components/schemaForm/components/` 目录下写组件\r\n2. 配置到 `app/pages/components/schemaForm/form-item-config.js` 文件中\r\n\r\n### schemaSearchBar 控件扩展\r\n\r\n1. 在 `app/pages/components/schemaSearchBar/components/` 目录下写组件\r\n2. 配置到 `app/pages/components/schemaSearchBar/search-item-config.js` 文件中\r\n","readmeFilename":"README.md"}