neo-cmp-cli 1.7.1 → 1.7.3
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/README.md +4 -4
- package/package.json +1 -1
- package/src/initData/neo.config.js +4 -4
- package/src/module/main.js +4 -4
- package/src/neo/neoRequire.js +5 -5
- package/src/template/antd-custom-cmp-template/neo.config.js +10 -4
- package/src/template/antd-custom-cmp-template/package.json +1 -1
- package/src/template/antd-custom-cmp-template/src/components/infoCard/index.tsx +1 -1
- package/src/template/develop/neo-custom-cmp-template/neo.config.js +4 -4
- package/src/template/echarts-custom-cmp-template/neo.config.js +6 -6
- package/src/template/echarts-custom-cmp-template/package.json +1 -1
- package/src/template/empty-custom-cmp-template/neo.config.js +4 -4
- package/src/template/empty-custom-cmp-template/package.json +1 -1
- package/src/template/neo-custom-cmp-template/neo.config.js +4 -4
- package/src/template/neo-custom-cmp-template/package.json +1 -1
- package/src/template/react-custom-cmp-template/neo.config.js +4 -4
- package/src/template/react-custom-cmp-template/package.json +1 -1
- package/src/template/react-ts-custom-cmp-template/neo.config.js +4 -4
- package/src/template/react-ts-custom-cmp-template/package.json +1 -1
- package/src/template/vue2-custom-cmp-template/neo.config.js +4 -4
- package/src/template/vue2-custom-cmp-template/package.json +1 -1
- package/src/utils/cmpUtils/createCommonModulesCode.js +10 -10
package/README.md
CHANGED
|
@@ -474,8 +474,8 @@ module.exports = {
|
|
|
474
474
|
```javascript
|
|
475
475
|
module.exports = {
|
|
476
476
|
neoCommonModule: {
|
|
477
|
-
//
|
|
478
|
-
|
|
477
|
+
// exports: ['xxModule'], // 数组写法,用于导出当前自定义组件中的第三方依赖模块
|
|
478
|
+
exports: { 'xxModule_A': path.resolve('./src/components/xxModule_A') }, // 对象写法,可用于导出自定义组件中的某个内容模块(需要使用绝对路径导出)
|
|
479
479
|
},
|
|
480
480
|
}
|
|
481
481
|
```
|
|
@@ -484,8 +484,8 @@ module.exports = {
|
|
|
484
484
|
```javascript
|
|
485
485
|
module.exports = {
|
|
486
486
|
neoCommonModule: {
|
|
487
|
-
remoteDeps: ['neo-custom-cmpA'], //
|
|
488
|
-
|
|
487
|
+
remoteDeps: ['neo-custom-cmpA'], // 远程依赖(自定义组件),表示当前自定义组件 B 会用到哪些自定义组件
|
|
488
|
+
externals: ['xxModule_A'], // 自定义组件中需要剔除的外部模块(远程自定义组件中分享出来的模块),仅支持数组写法,需要和 remoteDeps 配合使用
|
|
489
489
|
},
|
|
490
490
|
}
|
|
491
491
|
```
|
package/package.json
CHANGED
|
@@ -41,12 +41,12 @@ module.exports = {
|
|
|
41
41
|
// 用于添加 Neo 共享依赖模块的配置信息
|
|
42
42
|
/*
|
|
43
43
|
neoCommonModule: {
|
|
44
|
-
//
|
|
45
|
-
|
|
44
|
+
// exports: ['xxModule'], // 数组写法,用于导出当前自定义组件中的第三方依赖模块
|
|
45
|
+
exports: { // 对象写法,可用于导出自定义组件中的某个内容模块(需要使用绝对路径导出)
|
|
46
46
|
'xxModule': path.resolve('./src/components/xxModule'), // 导出 xx组件 或 xx模块
|
|
47
47
|
},
|
|
48
|
-
// remoteDeps: ['xxCmpType'], // 远程依赖组件,表示当前自定义组件会用到的依赖组件,需要和
|
|
49
|
-
//
|
|
48
|
+
// remoteDeps: ['xxCmpType'], // 远程依赖组件,表示当前自定义组件会用到的依赖组件,需要和 externals 配合使用
|
|
49
|
+
// externals: ['xxModule'], // 自定义组件中需要剔除的模块,仅支持数组写法
|
|
50
50
|
},
|
|
51
51
|
*/
|
|
52
52
|
preview: {
|
package/src/module/main.js
CHANGED
|
@@ -26,7 +26,7 @@ const getValue = (originValue, defaultValue) => {
|
|
|
26
26
|
|
|
27
27
|
const neoCommonModule = curConfig.neoCommonModule || {};
|
|
28
28
|
// 自定义组件 需要剔除的依赖模块
|
|
29
|
-
const cmpNeoExternals = neoCommonModule.
|
|
29
|
+
const cmpNeoExternals = neoCommonModule.externals || [];
|
|
30
30
|
|
|
31
31
|
/**
|
|
32
32
|
* 添加 AddNeoRequirePlugin 到 webpack 配置
|
|
@@ -51,11 +51,11 @@ function addNeoRequirePlugin(webpackConfig, options = {}) {
|
|
|
51
51
|
* @param {object} externalsConfig 现有的 externals 配置
|
|
52
52
|
*/
|
|
53
53
|
function addNeoExternals(config, externalsConfig) {
|
|
54
|
-
const
|
|
54
|
+
const externals = getExternalsByNeoCommonModules(cmpNeoExternals);
|
|
55
55
|
if (externalsConfig && _.isPlainObject(externalsConfig)) {
|
|
56
|
-
config.externals = Object.assign(externalsConfig,
|
|
56
|
+
config.externals = Object.assign(externalsConfig, externals);
|
|
57
57
|
} else {
|
|
58
|
-
config.externals =
|
|
58
|
+
config.externals = externals;
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
|
package/src/neo/neoRequire.js
CHANGED
|
@@ -24,19 +24,19 @@ const NeoCommonModules = {
|
|
|
24
24
|
|
|
25
25
|
// 根据 Neo 共享出来的依赖模块,获取 externals 配置
|
|
26
26
|
const getExternalsByNeoCommonModules = (cmpNeoExternals) => {
|
|
27
|
-
const
|
|
27
|
+
const externals = {};
|
|
28
28
|
Object.keys(NeoCommonModules).forEach(moduleName => {
|
|
29
|
-
|
|
29
|
+
externals[moduleName] = `commonjs ${moduleName}`;
|
|
30
30
|
});
|
|
31
31
|
|
|
32
|
-
// 如果自定义组件有共享的依赖模块,则合并到
|
|
32
|
+
// 如果自定义组件有共享的依赖模块,则合并到 externals 中
|
|
33
33
|
if (cmpNeoExternals && cmpNeoExternals.length > 0) {
|
|
34
34
|
cmpNeoExternals.forEach(moduleName => {
|
|
35
|
-
|
|
35
|
+
externals[moduleName] = `commonjs ${moduleName}`;
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
return
|
|
39
|
+
return externals;
|
|
40
40
|
};
|
|
41
41
|
|
|
42
42
|
// 用于添加共享的依赖模块
|
|
@@ -41,12 +41,18 @@ module.exports = {
|
|
|
41
41
|
// 用于添加 Neo 共享依赖模块和剔除模块
|
|
42
42
|
/*
|
|
43
43
|
neoCommonModule: {
|
|
44
|
-
//
|
|
45
|
-
|
|
44
|
+
// exports: ['xxModule'], // 数组写法,用于导出当前自定义组件中的第三方依赖模块
|
|
45
|
+
exports: { // 对象写法,可用于导出自定义组件中的某个内容模块(需要使用绝对路径导出)
|
|
46
46
|
'xxModule': path.resolve('./src/components/xxModule'), // 导出 xx组件 或 xx模块
|
|
47
47
|
},
|
|
48
|
-
|
|
49
|
-
//
|
|
48
|
+
remoteDeps: ['xxCmpType'], // 远程依赖组件,表示当前自定义组件会用到的依赖组件,需要和 externals 配合使用
|
|
49
|
+
// externals: ['xxModule'], // 自定义组件中需要剔除的模块(仅支持数组写法)
|
|
50
|
+
},
|
|
51
|
+
*/
|
|
52
|
+
/*
|
|
53
|
+
neoCommonModule: {
|
|
54
|
+
remoteDeps: ['chartWidget'], // 远程依赖组件,表示当前自定义组件会用到的依赖组件,需要和 externals 配合使用
|
|
55
|
+
externals: ['chartWidget'], // 自定义组件中需要剔除的模块(仅支持数组写法)
|
|
50
56
|
},
|
|
51
57
|
*/
|
|
52
58
|
preview: {
|
|
@@ -41,13 +41,13 @@ module.exports = {
|
|
|
41
41
|
// 用于添加 Neo 共享依赖模块的配置信息
|
|
42
42
|
/*
|
|
43
43
|
neoCommonModule: {
|
|
44
|
-
//
|
|
45
|
-
|
|
44
|
+
// exports: ['xxModule'], // 数组写法,用于导出当前自定义组件中的第三方依赖模块
|
|
45
|
+
exports: { // 对象写法,可用于导出自定义组件中的某个内容模块(需要使用绝对路径导出)
|
|
46
46
|
'chart-widget': path.resolve('./src/components/chart-widget'), // 导出图表自定义组件
|
|
47
47
|
'neo-register': 'neo-register', // 导出 Neo 注册模块
|
|
48
48
|
},
|
|
49
|
-
// remoteDeps: ['xxModule'], // 远程依赖组件,表示当前自定义组件会用到的远程依赖组件,需要和
|
|
50
|
-
//
|
|
49
|
+
// remoteDeps: ['xxModule'], // 远程依赖组件,表示当前自定义组件会用到的远程依赖组件,需要和 externals 配合使用
|
|
50
|
+
// externals: ['xxModule'], // 自定义组件中需要剔除的模块,仅支持数组写法
|
|
51
51
|
},
|
|
52
52
|
*/
|
|
53
53
|
preview: {
|
|
@@ -41,14 +41,14 @@ module.exports = {
|
|
|
41
41
|
// 用于添加 Neo 共享依赖模块的配置信息
|
|
42
42
|
///*
|
|
43
43
|
neoCommonModule: {
|
|
44
|
-
//
|
|
45
|
-
|
|
46
|
-
//
|
|
47
|
-
'
|
|
44
|
+
// exports: ['xxModule'], // 数组写法,用于导出当前自定义组件中的第三方依赖模块
|
|
45
|
+
exports: {
|
|
46
|
+
// 对象写法,可用于导出自定义组件中的某个内容模块(需要使用绝对路径导出)
|
|
47
|
+
'chartWidget': path.resolve('./src/components/chartWidget'), // 导出图表自定义组件
|
|
48
48
|
'neo-register': 'neo-register', // 导出 Neo 注册模块
|
|
49
49
|
},
|
|
50
|
-
// remoteDeps: ['xxCmpType'], // 远程依赖组件,表示当前自定义组件会用到的依赖组件,需要和
|
|
51
|
-
//
|
|
50
|
+
// remoteDeps: ['xxCmpType'], // 远程依赖组件,表示当前自定义组件会用到的依赖组件,需要和 externals 配合使用
|
|
51
|
+
// externals: ['xxModule'], // 自定义组件中需要剔除的模块,仅支持数组写法
|
|
52
52
|
},
|
|
53
53
|
//*/
|
|
54
54
|
preview: {
|
|
@@ -41,12 +41,12 @@ module.exports = {
|
|
|
41
41
|
// 用于添加 Neo 共享依赖模块的配置信息
|
|
42
42
|
/*
|
|
43
43
|
neoCommonModule: {
|
|
44
|
-
//
|
|
45
|
-
|
|
44
|
+
// exports: ['xxModule'], // 数组写法,用于导出当前自定义组件中的第三方依赖模块
|
|
45
|
+
exports: { // 对象写法,可用于导出自定义组件中的某个内容模块(需要使用绝对路径导出)
|
|
46
46
|
'xxModule': path.resolve('./src/components/xxModule'), // 导出 xx组件 或 xx模块
|
|
47
47
|
},
|
|
48
|
-
// remoteDeps: ['xxCmpType'], // 远程依赖组件,表示当前自定义组件会用到的依赖组件,需要和
|
|
49
|
-
//
|
|
48
|
+
// remoteDeps: ['xxCmpType'], // 远程依赖组件,表示当前自定义组件会用到的依赖组件,需要和 externals 配合使用
|
|
49
|
+
// externals: ['xxModule'], // 自定义组件中需要剔除的模块,仅支持数组写法
|
|
50
50
|
},
|
|
51
51
|
*/
|
|
52
52
|
preview: {
|
|
@@ -49,12 +49,12 @@ module.exports = {
|
|
|
49
49
|
// 用于添加 Neo 共享依赖模块的配置信息
|
|
50
50
|
/*
|
|
51
51
|
neoCommonModule: {
|
|
52
|
-
//
|
|
53
|
-
|
|
52
|
+
// exports: ['xxModule'], // 数组写法,用于导出当前自定义组件中的第三方依赖模块
|
|
53
|
+
exports: { // 对象写法,可用于导出自定义组件中的某个内容模块(需要使用绝对路径导出)
|
|
54
54
|
'xxModule': path.resolve('./src/components/xxModule'), // 导出 xx组件 或 xx模块
|
|
55
55
|
},
|
|
56
|
-
// remoteDeps: ['xxCmpType'], // 远程依赖组件,表示当前自定义组件会用到的依赖组件,需要和
|
|
57
|
-
//
|
|
56
|
+
// remoteDeps: ['xxCmpType'], // 远程依赖组件,表示当前自定义组件会用到的依赖组件,需要和 externals 配合使用
|
|
57
|
+
// externals: ['xxModule'], // 自定义组件中需要剔除的模块,仅支持数组写法
|
|
58
58
|
},
|
|
59
59
|
*/
|
|
60
60
|
preview: {
|
|
@@ -45,12 +45,12 @@ module.exports = {
|
|
|
45
45
|
// 用于添加 Neo 共享依赖模块的配置信息
|
|
46
46
|
/*
|
|
47
47
|
neoCommonModule: {
|
|
48
|
-
//
|
|
49
|
-
|
|
48
|
+
// exports: ['xxModule'], // 数组写法,用于导出当前自定义组件中的第三方依赖模块
|
|
49
|
+
exports: { // 对象写法,可用于导出自定义组件中的某个内容模块(需要使用绝对路径导出)
|
|
50
50
|
'xxModule': path.resolve('./src/components/xxModule'), // 导出 xx组件 或 xx模块
|
|
51
51
|
},
|
|
52
|
-
// remoteDeps: ['xxCmpType'], // 远程依赖组件,表示当前自定义组件会用到的依赖组件,需要和
|
|
53
|
-
//
|
|
52
|
+
// remoteDeps: ['xxCmpType'], // 远程依赖组件,表示当前自定义组件会用到的依赖组件,需要和 externals 配合使用
|
|
53
|
+
// externals: ['xxModule'], // 自定义组件中需要剔除的模块,仅支持数组写法
|
|
54
54
|
},
|
|
55
55
|
*/
|
|
56
56
|
preview: {
|
|
@@ -41,12 +41,12 @@ module.exports = {
|
|
|
41
41
|
// 用于添加 Neo 共享依赖模块的配置信息
|
|
42
42
|
/*
|
|
43
43
|
neoCommonModule: {
|
|
44
|
-
//
|
|
45
|
-
|
|
44
|
+
// exports: ['xxModule'], // 数组写法,用于导出当前自定义组件中的第三方依赖模块
|
|
45
|
+
exports: { // 对象写法,可用于导出自定义组件中的某个内容模块(需要使用绝对路径导出)
|
|
46
46
|
'xxModule': path.resolve('./src/components/xxModule'), // 导出 xx组件 或 xx模块
|
|
47
47
|
},
|
|
48
|
-
// remoteDeps: ['xxCmpType'], // 远程依赖组件,表示当前自定义组件会用到的依赖组件,需要和
|
|
49
|
-
//
|
|
48
|
+
// remoteDeps: ['xxCmpType'], // 远程依赖组件,表示当前自定义组件会用到的依赖组件,需要和 externals 配合使用
|
|
49
|
+
// externals: ['xxModule'], // 自定义组件中需要剔除的模块,仅支持数组写法
|
|
50
50
|
},
|
|
51
51
|
*/
|
|
52
52
|
preview: {
|
|
@@ -50,12 +50,12 @@ module.exports = {
|
|
|
50
50
|
// 用于添加 Neo 共享依赖模块的配置信息
|
|
51
51
|
/*
|
|
52
52
|
neoCommonModule: {
|
|
53
|
-
//
|
|
54
|
-
|
|
53
|
+
// exports: ['xxModule'], // 数组写法,用于导出当前自定义组件中的第三方依赖模块
|
|
54
|
+
exports: { // 对象写法,可用于导出自定义组件中的某个内容模块(需要使用绝对路径导出)
|
|
55
55
|
'xxModule': path.resolve('./src/components/xxModule'), // 导出 xx组件 或 xx模块
|
|
56
56
|
},
|
|
57
|
-
// remoteDeps: ['xxCmpType'], // 远程依赖组件,表示当前自定义组件会用到的依赖组件,需要和
|
|
58
|
-
//
|
|
57
|
+
// remoteDeps: ['xxCmpType'], // 远程依赖组件,表示当前自定义组件会用到的依赖组件,需要和 externals 配合使用
|
|
58
|
+
// externals: ['xxModule'], // 自定义组件中需要剔除的模块,仅支持数组写法
|
|
59
59
|
},
|
|
60
60
|
*/
|
|
61
61
|
preview: {
|
|
@@ -9,9 +9,9 @@ const { isPlainObject } = require('lodash');
|
|
|
9
9
|
* @returns 组件预览代码
|
|
10
10
|
*/
|
|
11
11
|
const createCommonModulesCode = (neoCommonModule, cmpTypes) => {
|
|
12
|
-
const {
|
|
12
|
+
const { exports, remoteDeps } = neoCommonModule;
|
|
13
13
|
|
|
14
|
-
if (!
|
|
14
|
+
if (!exports && !remoteDeps) {
|
|
15
15
|
return '';
|
|
16
16
|
}
|
|
17
17
|
// 记录当前自定义组件共享出去的模块
|
|
@@ -19,18 +19,18 @@ const createCommonModulesCode = (neoCommonModule, cmpTypes) => {
|
|
|
19
19
|
// 记录当前自定义组件需要的远程依赖组件
|
|
20
20
|
const CustomCmpRemoteDeps = {};
|
|
21
21
|
|
|
22
|
-
// 根据
|
|
23
|
-
if (Array.isArray(
|
|
24
|
-
|
|
22
|
+
// 根据 exports 获取共享的依赖模块
|
|
23
|
+
if (Array.isArray(exports) && exports.length > 0) {
|
|
24
|
+
exports.forEach((module) => {
|
|
25
25
|
CustomCmpCommonModules[module] = require(module);
|
|
26
26
|
});
|
|
27
|
-
} else if (isPlainObject(
|
|
28
|
-
Object.keys(
|
|
29
|
-
CustomCmpCommonModules[moduleId] = `require('${
|
|
27
|
+
} else if (isPlainObject(exports) && Object.keys(exports).length > 0) {
|
|
28
|
+
Object.keys(exports).forEach((moduleId) => {
|
|
29
|
+
CustomCmpCommonModules[moduleId] = `require('${exports[moduleId]}')`;
|
|
30
30
|
});
|
|
31
|
-
} else if (
|
|
31
|
+
} else if (exports) {
|
|
32
32
|
console.error(
|
|
33
|
-
'
|
|
33
|
+
'exports 格式不正确,请检查 neo.config.js 文件中的 neoCommonModule / exports 配置'
|
|
34
34
|
);
|
|
35
35
|
process.exit(1);
|
|
36
36
|
}
|