neo-cmp-cli 1.2.3 → 1.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/module/index.js +3 -5
- package/src/module/main.js +3 -7
- package/src/neo/neoRequire.js +18 -0
- package/src/template/antd-custom-cmp-template/package.json +2 -2
- package/src/template/antd-custom-cmp-template/src/assets/img/NeoCRM.jpg +0 -0
- package/src/template/antd-custom-cmp-template/src/assets/img/custom-widget.svg +1 -0
- package/src/template/antd-custom-cmp-template/src/assets/img/favicon.png +0 -0
- package/src/template/develop/neo-custom-cmp-template/.prettierrc.js +12 -0
- package/src/template/develop/neo-custom-cmp-template/README.md +48 -0
- package/src/template/develop/neo-custom-cmp-template/commitlint.config.js +59 -0
- package/src/template/develop/neo-custom-cmp-template/docs/README.md +13 -0
- package/src/template/develop/neo-custom-cmp-template/neo.config.js +121 -0
- package/src/template/develop/neo-custom-cmp-template/package.json +63 -0
- package/src/template/develop/neo-custom-cmp-template/public/css/base.css +283 -0
- package/src/template/develop/neo-custom-cmp-template/public/scripts/app/bluebird.js +6679 -0
- package/src/template/develop/neo-custom-cmp-template/public/template.html +13 -0
- package/src/template/develop/neo-custom-cmp-template/src/assets/css/common.scss +127 -0
- package/src/template/develop/neo-custom-cmp-template/src/assets/css/mixin.scss +47 -0
- package/src/template/develop/neo-custom-cmp-template/src/assets/img/NeoCRM.jpg +0 -0
- package/src/template/develop/neo-custom-cmp-template/src/assets/img/custom-widget.svg +1 -0
- package/src/template/develop/neo-custom-cmp-template/src/assets/img/favicon.png +0 -0
- package/src/template/develop/neo-custom-cmp-template/src/assets/img/table.svg +1 -0
- package/src/template/develop/neo-custom-cmp-template/src/components/contact-card-list/README.md +65 -0
- package/src/template/develop/neo-custom-cmp-template/src/components/contact-card-list/index.tsx +180 -0
- package/src/template/develop/neo-custom-cmp-template/src/components/contact-card-list/model.ts +56 -0
- package/src/template/develop/neo-custom-cmp-template/src/components/contact-card-list/style.scss +260 -0
- package/src/template/develop/neo-custom-cmp-template/src/components/contact-form/README.md +94 -0
- package/src/template/develop/neo-custom-cmp-template/src/components/contact-form/index.tsx +251 -0
- package/src/template/develop/neo-custom-cmp-template/src/components/contact-form/model.ts +56 -0
- package/src/template/develop/neo-custom-cmp-template/src/components/contact-form/style.scss +120 -0
- package/src/template/{neo-custom-cmp-template → develop/neo-custom-cmp-template}/src/components/neo-entity-grid/index.tsx +41 -32
- package/src/template/{neo-custom-cmp-template → develop/neo-custom-cmp-template}/src/components/neo-entity-grid/model.ts +0 -7
- package/src/template/develop/neo-custom-cmp-template/src/utils/axiosFetcher.ts +29 -0
- package/src/template/develop/neo-custom-cmp-template/src/utils/queryObjectData.ts +39 -0
- package/src/template/develop/neo-custom-cmp-template/src/utils/xobjects.ts +203 -0
- package/src/template/develop/neo-custom-cmp-template/tsconfig.json +68 -0
- package/src/template/echarts-custom-cmp-template/package.json +1 -1
- package/src/template/echarts-custom-cmp-template/src/assets/img/NeoCRM.jpg +0 -0
- package/src/template/echarts-custom-cmp-template/src/assets/img/chart.svg +1 -0
- package/src/template/echarts-custom-cmp-template/src/assets/img/custom-widget.svg +1 -0
- package/src/template/echarts-custom-cmp-template/src/assets/img/favicon.png +0 -0
- package/src/template/neo-custom-cmp-template/README.md +4 -3
- package/src/template/neo-custom-cmp-template/docs/README.md +244 -0
- package/src/template/neo-custom-cmp-template/neo.config.js +1 -0
- package/src/template/neo-custom-cmp-template/package.json +6 -3
- package/src/template/neo-custom-cmp-template/src/assets/img/NeoCRM.jpg +0 -0
- package/src/template/neo-custom-cmp-template/src/assets/img/card-list.svg +1 -0
- package/src/template/neo-custom-cmp-template/src/assets/img/contact-form.svg +1 -0
- package/src/template/neo-custom-cmp-template/src/assets/img/custom-widget.svg +1 -0
- package/src/template/neo-custom-cmp-template/src/assets/img/table.svg +1 -0
- package/src/template/neo-custom-cmp-template/src/components/contact-card-list/README.md +66 -0
- package/src/template/neo-custom-cmp-template/src/components/contact-card-list/index.tsx +180 -0
- package/src/template/neo-custom-cmp-template/src/components/contact-card-list/model.ts +56 -0
- package/src/template/neo-custom-cmp-template/src/components/contact-card-list/style.scss +260 -0
- package/src/template/neo-custom-cmp-template/src/components/contact-form/README.md +94 -0
- package/src/template/neo-custom-cmp-template/src/components/contact-form/index.tsx +251 -0
- package/src/template/neo-custom-cmp-template/src/components/contact-form/model.ts +56 -0
- package/src/template/neo-custom-cmp-template/src/components/contact-form/style.scss +120 -0
- package/src/template/neo-custom-cmp-template/src/components/xobject-table/README.md +113 -0
- package/src/template/neo-custom-cmp-template/src/components/xobject-table/index.tsx +744 -0
- package/src/template/neo-custom-cmp-template/src/components/xobject-table/model.ts +122 -0
- package/src/template/neo-custom-cmp-template/src/components/xobject-table/style.scss +304 -0
- package/src/template/neo-custom-cmp-template/src/utils/axiosFetcher.ts +37 -0
- package/src/template/neo-custom-cmp-template/src/utils/queryObjectData.ts +65 -0
- package/src/template/neo-custom-cmp-template/src/utils/xobjects.ts +162 -0
- package/src/template/neo-custom-cmp-template/tsconfig.json +4 -1
- package/src/template/react-custom-cmp-template/package.json +1 -1
- package/src/template/react-custom-cmp-template/src/assets/img/NeoCRM.jpg +0 -0
- package/src/template/react-custom-cmp-template/src/assets/img/custom-widget.svg +1 -0
- package/src/template/react-custom-cmp-template/src/assets/img/favicon.png +0 -0
- package/src/template/react-ts-custom-cmp-template/package.json +1 -1
- package/src/template/react-ts-custom-cmp-template/src/assets/img/NeoCRM.jpg +0 -0
- package/src/template/react-ts-custom-cmp-template/src/assets/img/custom-widget.svg +1 -0
- package/src/template/react-ts-custom-cmp-template/src/assets/img/favicon.png +0 -0
- package/src/template/vue2-custom-cmp-template/package.json +1 -1
- package/src/template/vue2-custom-cmp-template/src/assets/img/NeoCRM.jpg +0 -0
- package/src/template/vue2-custom-cmp-template/src/assets/img/custom-widget.svg +1 -0
- package/src/template/vue2-custom-cmp-template/src/assets/img/favicon.png +0 -0
- package/src/template/neo-custom-cmp-template/src/components/info-card/index.tsx +0 -69
- package/src/template/neo-custom-cmp-template/src/components/info-card/model.ts +0 -78
- package/src/template/neo-custom-cmp-template/src/components/info-card/style.scss +0 -105
- /package/src/template/{neo-custom-cmp-template → develop/neo-custom-cmp-template}/src/components/neo-entity-grid/README.md +0 -0
- /package/src/template/{neo-custom-cmp-template → develop/neo-custom-cmp-template}/src/components/neo-entity-grid/style.scss +0 -0
package/package.json
CHANGED
package/src/module/index.js
CHANGED
|
@@ -181,10 +181,9 @@ yargs
|
|
|
181
181
|
}
|
|
182
182
|
}
|
|
183
183
|
)
|
|
184
|
-
/*
|
|
185
184
|
.command(
|
|
186
|
-
'
|
|
187
|
-
'
|
|
185
|
+
'dev',
|
|
186
|
+
'开启组件预览模式',
|
|
188
187
|
(yargs) => {
|
|
189
188
|
yargs
|
|
190
189
|
.reset()
|
|
@@ -192,10 +191,9 @@ yargs
|
|
|
192
191
|
.alias('h', 'help');
|
|
193
192
|
},
|
|
194
193
|
() => {
|
|
195
|
-
mainAction.
|
|
194
|
+
mainAction.dev();
|
|
196
195
|
}
|
|
197
196
|
)
|
|
198
|
-
*/
|
|
199
197
|
.command(
|
|
200
198
|
'linkDebug',
|
|
201
199
|
'开启外链调试模式(在线上页面设计器端调试)',
|
package/src/module/main.js
CHANGED
|
@@ -29,15 +29,11 @@ module.exports = {
|
|
|
29
29
|
neoInitByCopy,
|
|
30
30
|
inspect,
|
|
31
31
|
neoConfigInit,
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
console.error('未找到 preview 相关配置。');
|
|
32
|
+
dev: () => {
|
|
33
|
+
if (!curConfig.dev) {
|
|
34
|
+
console.error('未找到 dev 相关配置。');
|
|
36
35
|
process.exit(1);
|
|
37
36
|
}
|
|
38
|
-
curConfig.dev = Object.assign(curConfig.dev, curConfig.preview); // 将 preview 设置给 dev
|
|
39
|
-
delete curConfig.preview;
|
|
40
|
-
|
|
41
37
|
akfun.dev(curConfig, consoleTag);
|
|
42
38
|
},
|
|
43
39
|
previewCmp: (cmpName) => {
|
package/src/neo/neoRequire.js
CHANGED
|
@@ -87,6 +87,24 @@ const initNeoRequire = () => {
|
|
|
87
87
|
}
|
|
88
88
|
};
|
|
89
89
|
|
|
90
|
+
/**
|
|
91
|
+
* 用于加载 Neo 共享出来的依赖模块
|
|
92
|
+
* @param moduleName 模块名称
|
|
93
|
+
* @returns 模块对象或 undefined
|
|
94
|
+
*/
|
|
95
|
+
const neoRequire = (moduleName) => {
|
|
96
|
+
const defaultModule = { cmpType: moduleName, __esModule: true }; // 默认模块
|
|
97
|
+
if (!window.__NeoCommonModules) {
|
|
98
|
+
window.__NeoCommonModules = {}
|
|
99
|
+
}
|
|
100
|
+
if (window.__NeoCommonModules[moduleName]) {
|
|
101
|
+
return window.__NeoCommonModules[moduleName]
|
|
102
|
+
} else {
|
|
103
|
+
window.__NeoCommonModules[moduleName] = defaultModule;
|
|
104
|
+
return window.__NeoCommonModules[moduleName];
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
90
108
|
module.exports = {
|
|
91
109
|
initNeoRequire,
|
|
92
110
|
addNeoCommonModules,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "antd-custom-cmp-template",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.9",
|
|
4
4
|
"description": "neo自定义组件模板(react&ts技术栈)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"自定义组件模板",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"@commitlint/config-conventional": "^9.1.1",
|
|
48
48
|
"@types/react": "^16.9.11",
|
|
49
49
|
"@types/react-dom": "^16.9.15",
|
|
50
|
-
"neo-cmp-cli": "^1.2.
|
|
50
|
+
"neo-cmp-cli": "^1.2.3",
|
|
51
51
|
"husky": "^4.2.5",
|
|
52
52
|
"lint-staged": "^10.2.9",
|
|
53
53
|
"prettier": "^2.0.5"
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1756957113315" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5395" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M288 768v115.2c0 25.6 19.2 44.8 44.8 44.8h556.8c25.6 0 44.8-19.2 44.8-44.8v-198.4s0-6.4-6.4-6.4h-83.2c-38.4 0-70.4-32-70.4-70.4 0-38.4 32-70.4 70.4-70.4h83.2s6.4 0 6.4-6.4V332.8c0-25.6-19.2-44.8-44.8-44.8H768C768 198.4 697.6 128 608 128S448 198.4 448 288H332.8c-25.6 0-44.8 19.2-44.8 44.8V448C198.4 448 128 518.4 128 608S198.4 768 288 768z m0-249.6h70.4V358.4h160V288c0-51.2 38.4-89.6 89.6-89.6 51.2 0 89.6 38.4 89.6 89.6v70.4h160v108.8h-19.2c-76.8 0-140.8 64-140.8 140.8 0 76.8 64 140.8 140.8 140.8h19.2v108.8H358.4v-160H288c-51.2 0-89.6-38.4-89.6-89.6 0-51.2 38.4-89.6 89.6-89.6z" p-id="5396" fill="#0764f5"></path></svg>
|
|
Binary file
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/*
|
|
2
|
+
prettier 配置文件
|
|
3
|
+
更多配置信息:https://prettier.io/docs/en/options.html
|
|
4
|
+
*/
|
|
5
|
+
module.exports = {
|
|
6
|
+
semi: true, // Semicolons 分号,默认需要分号
|
|
7
|
+
tabWidth: 2, // 空格,默认 2,
|
|
8
|
+
useTabs: false,
|
|
9
|
+
singleQuote: true, // 单引号还是双引号,默认为false 双引号
|
|
10
|
+
trailingComma: 'all', // 逗号
|
|
11
|
+
jsxBracketSameLine: false, // 默认为false,Put the > of a multi-line JSX element at the end of the last line instead of being alone on the next line (does not apply to self closing elements).
|
|
12
|
+
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
### 目录说明
|
|
2
|
+
- src: 自定义组件源码;
|
|
3
|
+
- src/assets: 存放组件静态资源,比如 css、img等;
|
|
4
|
+
- src/components: 存放自定义组件代码,每个自定义组件以自身名称(cmpType 数值)作为目录进行存放;
|
|
5
|
+
- src/components/contact-form/index.tsx: 自定义组件的内容文件;
|
|
6
|
+
- src/components/contact-form/model.ts: 自定义组件的模型文件,用于对接页面设计器;
|
|
7
|
+
- neo.config.js: neo-cmp-cli 配置文件。
|
|
8
|
+
|
|
9
|
+
### 组件开发规范
|
|
10
|
+
- 存放在 src/components 目录下的自定义组件,默认 index 为自定义组件源码入口文件,register.[tj]s 为注册 自定义组件的脚本文件,model.[tj]s 为自定义组件的模型文件(对接页面设计器需要);
|
|
11
|
+
- 当 neo.config.js 中的 entry 为空或者不存在时,cli 将根据 src/components 目录下的自定义组件结构生成对应的 entry 配置(可在命令控制台查看生成的 entry 配置);
|
|
12
|
+
- 自定义组件中可用的配置项类型 请见 [当前可用表单项](https://github.com/wibetter/neo-register/blob/master/docs/FormItemType.md);
|
|
13
|
+
- 自定义组件最外层请设置一个唯一的 ClassName(比如 xx-cmpType-container),所有内容样式请放在该 ClassName 中,避免自定义组件样式相互干扰;
|
|
14
|
+
- 默认开启代码规范检测(含样式内容),如需关闭,请调整 neo.config.js 相关配置;
|
|
15
|
+
- 请使用 react 16版本;
|
|
16
|
+
- 支持在自定义组件中使用 Open API,详细见[使用说明](./docs/README.md)。
|
|
17
|
+
|
|
18
|
+
### 自定义组件注册器使用说明
|
|
19
|
+
- [neo-register 使用说明](https://www.npmjs.com/package/neo-register?activeTab=readme)
|
|
20
|
+
备注:预览、调试(linkDebug)和构建发布时 cli 会自动创建对应的注册文件(含 neo-register 的使用),用户无需关注 neo-register。
|
|
21
|
+
|
|
22
|
+
### 开发说明
|
|
23
|
+
|
|
24
|
+
1. **安装依赖**
|
|
25
|
+
```bash
|
|
26
|
+
$ npm i 或者 yarn
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
2. **preview: 组件预览模式(带热更新)**
|
|
30
|
+
> preview模式:用于预览自定义组件内容。
|
|
31
|
+
```bash
|
|
32
|
+
$ npm run preview
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
3. **linkDebug: 外链调试(在线上页面设计器端预览自定义组件)**
|
|
36
|
+
> linkDebug模式:用于在线上页面设计器中预览和调试自定义组件。
|
|
37
|
+
```bash
|
|
38
|
+
$ npm run linkDebug
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
4. **发布到对象存储服务中**
|
|
42
|
+
> 需要确保 package.json 中的 name 值唯一,version 值不重复。
|
|
43
|
+
```bash
|
|
44
|
+
$ npm run publish2oss
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### 配置项说明(neo-cmp-cli)
|
|
48
|
+
[请查看neo-cmp-cli](https://github.com/wibetter/neo-cmp-cli)
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* https://www.npmjs.com/package/@commitlint/config-conventional\
|
|
3
|
+
*
|
|
4
|
+
* Git提交规范-配置文件
|
|
5
|
+
* Commit message 由Header、Body 和 Footer三个部分组成,其格式如下:
|
|
6
|
+
* <type>(<scope>): <subject>
|
|
7
|
+
* <BLANK LINE>
|
|
8
|
+
* <body>
|
|
9
|
+
* <BLANK LINE>
|
|
10
|
+
* <footer>
|
|
11
|
+
*
|
|
12
|
+
*【备注】
|
|
13
|
+
* type 用于说明 commit 的类别,常用下面 7 个标识:
|
|
14
|
+
* scope 用于说明当前功能点作用于哪个页面或者哪个功能模块;
|
|
15
|
+
* subject 用于简短的描述当前commit,不超过50个字符;
|
|
16
|
+
* body 用于填写对本次 commit 的详细描述,可以分成多行;
|
|
17
|
+
* footer 不兼容变动声明,或者关闭 Issue。
|
|
18
|
+
*
|
|
19
|
+
* 【type类型取值类型】
|
|
20
|
+
* feat:新功能(feature)
|
|
21
|
+
* fix:功能优化
|
|
22
|
+
* bug:修补bug
|
|
23
|
+
* docs:文档(documentation)
|
|
24
|
+
* style:格式(不影响代码运行的变动)
|
|
25
|
+
* refactor:重构(即不是新增功能,也不是修改bug的代码变动)
|
|
26
|
+
* test:增加测试
|
|
27
|
+
* chore:构建过程或辅助工具的变动
|
|
28
|
+
* build:影响构建系统或外部依赖项的更改(示例范围:gulp,broccoli,npm)
|
|
29
|
+
* ci:对 CI 配置文件和脚本的更改(示例范围:Travis,Circle,BrowserStack,SauceLabs)
|
|
30
|
+
* perf:改进性能的代码更改
|
|
31
|
+
*
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
module.exports = {
|
|
35
|
+
extends: ['@commitlint/config-conventional'],
|
|
36
|
+
rules: {
|
|
37
|
+
'type-enum': [
|
|
38
|
+
2,
|
|
39
|
+
'always',
|
|
40
|
+
[
|
|
41
|
+
'feat',
|
|
42
|
+
'fix',
|
|
43
|
+
'bug',
|
|
44
|
+
'docs',
|
|
45
|
+
'style',
|
|
46
|
+
'refactor',
|
|
47
|
+
'test',
|
|
48
|
+
'chore',
|
|
49
|
+
'perf',
|
|
50
|
+
'build',
|
|
51
|
+
'ci',
|
|
52
|
+
],
|
|
53
|
+
],
|
|
54
|
+
'type-empty': [2, 'never'],
|
|
55
|
+
'scope-empty': [1, 'never'],
|
|
56
|
+
'subject-full-stop': [0, 'never'],
|
|
57
|
+
'subject-case': [0, 'never'],
|
|
58
|
+
},
|
|
59
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
## Open api 文档
|
|
2
|
+
- [Open API 简介](https://doc.xiaoshouyi.com/#/proMan/workplaceDetailApi?url=%2F%2Fconcepts%2Fapi_apiIntroduction.html&id=1405&dir=output_1757929564205)。
|
|
3
|
+
|
|
4
|
+
## Neo 自定义组件中可用的 open api 接口
|
|
5
|
+
- [查询对象列表](https://doc.xiaoshouyi.com/#/proMan/workplaceDetailApi?url=%2F%2Fconcepts%2FpaasQueryObjectList.html&id=1405&dir=output_1757929564205&time=1758780224026): /rest/metadata/v2.0/xobjects/filter;
|
|
6
|
+
- 查询标准对象列表: /rest/metadata/v2.0/xobjects/filter?custom=false&active=true;
|
|
7
|
+
- 查询自定义对象列表: /rest/metadata/v2.0/xobjects/filter?custom=true&active=true;
|
|
8
|
+
- [创建业务数据](https://doc.xiaoshouyi.com/#/proMan/workplaceDetailApi?url=%2F%2Fconcepts%2Fapi_paas_customObject_create.html&id=1405&dir=output_1757929564205&time=1758782257815): /rest/data/v2.0/xobjects/{xObjectApiKey};
|
|
9
|
+
- [更新业务数据](https://doc.xiaoshouyi.com/#/proMan/workplaceDetailApi?url=%2F%2Fconcepts%2Fapi_paas_customObject_update.html&id=1405&dir=output_1757929564205&time=1758782321910): /rest/data/v2.0/xobjects/{xObjectApiKey}/{id};
|
|
10
|
+
- [获取业务数据信息(单个数据)](https://doc.xiaoshouyi.com/#/proMan/workplaceDetailApi?url=%2F%2Fconcepts%2Fapi_paas_customObject_getBusinessDataInformation.html&id=1405&dir=output_1757929564205&time=1758781533725): /rest/data/v2.0/xobjects/{xObjectApiKey}/{id};
|
|
11
|
+
- [查询接口(通用查询接口)](https://doc.xiaoshouyi.com/#/proMan/workplaceDetailApi?url=%2F%2Fconcepts%2Fapi_queryInterfaceDescription.html&id=1405&dir=output_1757929564205&time=1758784491846): /rest/data/v2/query;
|
|
12
|
+
- [获取业务类型描述](https://doc.xiaoshouyi.com/?sso-domain=login-cd.xiaoshouyi.com#/proMan/workplaceDetailApi?url=%2F%2Fconcepts%2Fapi_paas_customObject_getBusinessTypeDescription.html&id=1405&dir=output_1757929564205&time=1758798530511): /rest/data/v2.0/xobjects/{xObjectApiKey}/busiType;
|
|
13
|
+
- 更多可用接口见[文档](https://doc.xiaoshouyi.com/#/proMan/workplaceDetailApi?url=%2F%2Fconcepts%2Fapi_apiIntroduction.html&id=1405&dir=output_1757929564205)。
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
const path = require('path');
|
|
3
|
+
|
|
4
|
+
// 统一路径解析
|
|
5
|
+
function resolve(dir) {
|
|
6
|
+
return path.resolve(__dirname, dir);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
// 包括生产和开发的环境配置信息
|
|
10
|
+
module.exports = {
|
|
11
|
+
settings: {
|
|
12
|
+
enableESLint: true, // 调试模式是否开启ESLint,默认开启ESLint检测代码格式
|
|
13
|
+
enableESLintFix: true, // 是否自动修正代码格式,默认不自动修正
|
|
14
|
+
enableStyleLint: false, // 是否开启StyleLint,默认开启ESLint检测代码格式
|
|
15
|
+
enableStyleLintFix: false, // 是否需要StyleLint自动修正代码格式
|
|
16
|
+
},
|
|
17
|
+
webpack: {
|
|
18
|
+
target: ['web', 'es5'], // 指定目标环境为 web 和 es5,确保兼容性
|
|
19
|
+
resolve: {
|
|
20
|
+
// webpack的resolve配置
|
|
21
|
+
extensions: ['.js', '.jsx', '.ts', '.tsx', '.umd.js', '.min.js', '.json'], // 用于配置webpack在尝试过程中用到的后缀列表
|
|
22
|
+
alias: {
|
|
23
|
+
'@': resolve('src'),
|
|
24
|
+
$assets: resolve('src/assets'),
|
|
25
|
+
$public: resolve('public'),
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
// sassResources中的sass文件会自动注入每一个sass文件中
|
|
29
|
+
sassResources: [
|
|
30
|
+
resolve('./src/assets/css/common.scss'),
|
|
31
|
+
resolve('./src/assets/css/mixin.scss'),
|
|
32
|
+
],
|
|
33
|
+
// createDeclaration: true, // 打包时是否创建ts声明文件
|
|
34
|
+
ignoreNodeModules: false, // 打包时是否忽略 node_modules
|
|
35
|
+
// allowList: [], // ignoreNodeModules为true时生效
|
|
36
|
+
// projectDir: ['src'],
|
|
37
|
+
// template: resolve('./public/template.html'), // 自定义html模板
|
|
38
|
+
// plugins: [],
|
|
39
|
+
// babelPlugins: [],
|
|
40
|
+
},
|
|
41
|
+
// 用于添加 Neo 共享依赖模块的配置信息
|
|
42
|
+
/*
|
|
43
|
+
neoCommonModule: {
|
|
44
|
+
// neoExports: ['xxModule'], // 自定义组件 共享出来的模块,支持数组和对象形式
|
|
45
|
+
neoExports: { // 对象写法
|
|
46
|
+
'chart-widget': path.resolve('./src/components/chart-widget'), // 导出图表自定义组件
|
|
47
|
+
'neo-register': 'neo-register', // 导出 Neo 注册模块
|
|
48
|
+
},
|
|
49
|
+
// neoExternals: ['xxModule'], // 自定义组件中需要剔除的模块,仅支持数组写法
|
|
50
|
+
// remotes: ['xxModule'], // 远程组件,表示当前自定义组件会用到的远程组件,需要和 neoExternals 配合使用
|
|
51
|
+
},
|
|
52
|
+
*/
|
|
53
|
+
preview: {
|
|
54
|
+
// 用于开启本地预览模式的相关配置信息
|
|
55
|
+
/*
|
|
56
|
+
【特别说明】以下配置项都自带默认值,非必填。如需自定义请自行配置。
|
|
57
|
+
entry: { // 根据 src/components 目录下的文件自动生成 entry 相关配置
|
|
58
|
+
// 本地预览自定义组件内容
|
|
59
|
+
index: './src/preview.jsx',
|
|
60
|
+
},
|
|
61
|
+
NODE_ENV: 'development',
|
|
62
|
+
port: 80, // 设置基础端口,如果被占用则自动寻找可用端口
|
|
63
|
+
assetsPublicPath: '/', // 设置静态资源的引用路径(根域名+路径)
|
|
64
|
+
assetsSubDirectory: '',
|
|
65
|
+
hostname: 'localhost',
|
|
66
|
+
proxyTable: {
|
|
67
|
+
'/apiTest': {
|
|
68
|
+
target: 'http://api-test.com.cn', // 不支持跨域的接口根地址
|
|
69
|
+
ws: true,
|
|
70
|
+
changeOrigin: true,
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
*/
|
|
74
|
+
},
|
|
75
|
+
linkDebug: {
|
|
76
|
+
// 用于开启本地调试模式的相关配置信息
|
|
77
|
+
/*
|
|
78
|
+
【特别说明】以下配置项都自带默认值,非必填。如需自定义请自行配置。
|
|
79
|
+
entry: { // 根据 src/components 目录下的文件自动生成 entry 相关配置
|
|
80
|
+
// 外链调试(在线上页面设计器端预览自定义组件)
|
|
81
|
+
index: [
|
|
82
|
+
'./src/components/info-card/register.ts',
|
|
83
|
+
'./src/components/info-card/model.ts',
|
|
84
|
+
],
|
|
85
|
+
},
|
|
86
|
+
NODE_ENV: 'development',
|
|
87
|
+
port: 80, // 设置基础端口,如果被占用则自动寻找可用端口
|
|
88
|
+
closeHotReload: true, // 是否关闭热更新
|
|
89
|
+
assetsPublicPath: '/', // 设置静态资源的引用路径(根域名+路径)
|
|
90
|
+
assetsSubDirectory: '',
|
|
91
|
+
hostname: 'localhost',
|
|
92
|
+
proxyTable: {
|
|
93
|
+
'/apiTest': {
|
|
94
|
+
target: 'http://api-test.com.cn', // 不支持跨域的接口根地址
|
|
95
|
+
ws: true,
|
|
96
|
+
changeOrigin: true,
|
|
97
|
+
},
|
|
98
|
+
}
|
|
99
|
+
*/
|
|
100
|
+
},
|
|
101
|
+
publish2oss: {
|
|
102
|
+
// 用于构建并发布至 OSS 的相关配置
|
|
103
|
+
/*
|
|
104
|
+
【特别说明】以下配置项都自带默认值,非必填。如需自定义请自行配置。
|
|
105
|
+
NODE_ENV: 'production',
|
|
106
|
+
entry: { // 根据 src/components 目录下的文件自动生成 entry 相关配置
|
|
107
|
+
InfoCardModel: './src/components/info-card/model.ts',
|
|
108
|
+
infoCard: './src/components/info-card/register.ts'
|
|
109
|
+
},
|
|
110
|
+
cssExtract: false, // 不额外提取css文件
|
|
111
|
+
ossType: 'ali', // oss类型:ali、baidu
|
|
112
|
+
ossConfig: {
|
|
113
|
+
endpoint: 'https://oss-cn-beijing.aliyuncs.com',
|
|
114
|
+
AccessKeyId: 'xxx',
|
|
115
|
+
AccessKeySecret: 'xx',
|
|
116
|
+
bucket: 'neo-widgets' // 存储桶名称
|
|
117
|
+
},
|
|
118
|
+
assetsRoot: resolve('dist') // 上传指定目录下的脚本文件
|
|
119
|
+
*/
|
|
120
|
+
},
|
|
121
|
+
};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "neo-custom-cmp-template",
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"description": "neo自定义组件模板(react&ts技术栈)",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"自定义组件模板",
|
|
7
|
+
"react&ts技术栈",
|
|
8
|
+
"neo自定义组件"
|
|
9
|
+
],
|
|
10
|
+
"author": "wibetter",
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"scripts": {
|
|
13
|
+
"preview": "neo preview --cmpType=contact-form",
|
|
14
|
+
"preview2": "neo preview --cmpType=contact-card-list",
|
|
15
|
+
"linkDebug": "neo linkDebug",
|
|
16
|
+
"publish2oss": "neo publish2oss",
|
|
17
|
+
"format": "prettier --write \"src/**/**/*.{js,jsx,ts,tsx,vue,scss,json}\""
|
|
18
|
+
},
|
|
19
|
+
"files": [
|
|
20
|
+
"dist/*"
|
|
21
|
+
],
|
|
22
|
+
"husky": {
|
|
23
|
+
"hooks": {
|
|
24
|
+
"pre-commit": "lint-staged",
|
|
25
|
+
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"lint-staged": {
|
|
29
|
+
"src/**/**/*.{js,jsx,ts,tsx,vue,scss,json}": [
|
|
30
|
+
"prettier --write"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"repository": {
|
|
34
|
+
"type": "git",
|
|
35
|
+
"url": "https://git@github.com:wibetter/neo-custom-cmp-template.git"
|
|
36
|
+
},
|
|
37
|
+
"bugs": {
|
|
38
|
+
"url": "https://github.com/wibetter/neo-custom-cmp-template/issues"
|
|
39
|
+
},
|
|
40
|
+
"dependencies": {
|
|
41
|
+
"neo-register": "^1.0.2",
|
|
42
|
+
"react": "^16.9.0",
|
|
43
|
+
"react-dom": "^16.9.0",
|
|
44
|
+
"axios": "^0.27.2",
|
|
45
|
+
"antd": "^4.9.4",
|
|
46
|
+
"lodash": "^4.17.21"
|
|
47
|
+
},
|
|
48
|
+
"devDependencies": {
|
|
49
|
+
"@commitlint/cli": "^8.3.5",
|
|
50
|
+
"@commitlint/config-conventional": "^9.1.1",
|
|
51
|
+
"@types/react": "^16.9.11",
|
|
52
|
+
"@types/react-dom": "^16.9.15",
|
|
53
|
+
"@types/axios": "^0.14.0",
|
|
54
|
+
"neo-cmp-cli": "^1.2.3",
|
|
55
|
+
"husky": "^4.2.5",
|
|
56
|
+
"lint-staged": "^10.2.9",
|
|
57
|
+
"prettier": "^2.0.5"
|
|
58
|
+
},
|
|
59
|
+
"engines": {
|
|
60
|
+
"node": ">= 10.13.0",
|
|
61
|
+
"npm": ">= 6.4.1"
|
|
62
|
+
}
|
|
63
|
+
}
|