neo-cmp-cli 1.8.6-beta.6 → 1.8.7
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/bin/index.js +2 -2
- package/package.json +3 -3
- package/src/config/auth.config.js +27 -0
- package/src/config/default.config.js +176 -0
- package/src/config/index.js +9 -0
- package/src/initData/defaultTemplate.html +13 -0
- package/src/initData/neo.config.js +138 -0
- package/src/main.js +221 -0
- package/src/module/inspect.js +41 -0
- package/src/module/neoInit.js +55 -0
- package/src/module/neoInitByCopy.js +61 -0
- package/src/neo/NeoUMDContent.js +30 -0
- package/src/neo/neoLogin.js +565 -0
- package/src/neo/neoRequire.js +125 -0
- package/src/neo/neoService.js +874 -0
- package/src/neo/webpack.mf.js +60 -0
- package/src/neo/wrapperContent.js +16 -0
- package/src/oss/publish2oss.js +348 -0
- package/src/plugins/AddNeoRequirePlugin-v1.js +47 -0
- package/src/plugins/AddNeoRequirePlugin.js +179 -0
- package/src/plugins/README.md +109 -0
- package/src/utils/autoEntryRootDir.js +85 -0
- package/src/utils/cmpUtils/createCmpByTemplate.js +60 -0
- package/src/utils/cmpUtils/createCmpByZip.js +408 -0
- package/src/utils/cmpUtils/createCommonModulesCode.js +121 -0
- package/src/utils/cmpUtils/deleteCmp.js +63 -0
- package/src/utils/cmpUtils/getCmpModelRegisterCode.js +31 -0
- package/src/utils/cmpUtils/getCmpPreviewCode.js +43 -0
- package/src/utils/cmpUtils/getCmpRegisterCode.js +31 -0
- package/src/utils/cmpUtils/getCmpTypeByDir.js +41 -0
- package/src/utils/cmpUtils/hasCmpTypeByDir.js +11 -0
- package/src/utils/cmpUtils/previewCmp.js +55 -0
- package/src/utils/cmpUtils/pullCmp.js +104 -0
- package/src/utils/cmpUtils/pushCmp.js +230 -0
- package/src/utils/common.js +107 -0
- package/src/utils/configureNeoBuild.js +109 -0
- package/src/utils/generateEntries.js +63 -0
- package/src/utils/neoConfigInit.js +13 -0
- package/src/utils/neoParams.js +12 -0
- package/src/utils/pathUtils.js +23 -0
- package/src/utils/projectNameValidator.js +76 -0
- package/src/utils/projectUtils/createCmpProjectByTemplate.js +59 -0
- package/src/utils/projectUtils/createCmpProjectZip.js +120 -0
- package/src/utils/projectUtils/getEntries.js +80 -0
- package/src/utils/projectUtils/getEntriesWithAutoRegister.js +108 -0
- package/src/utils/projectUtils/hasNeoProject.js +17 -0
- package/src/utils/projectUtils/openProject.js +96 -0
- package/src/utils/projectUtils/updatePublishLog.js +30 -0
- package/src/utils/replaceInFiles.js +47 -0
- package/src/utils/replaceInFilesByMap.js +54 -0
- package/src/utils/replaceInPackage.js +134 -0
- package/src/utils/resetPackageVersion.js +115 -0
- package/test/deprecate-versions.js +1 -1
- package/test/neo.config.js +1 -25
- package/dist/_virtual/AddNeoRequirePlugin.js +0 -8
- package/dist/_virtual/OverloadYield.js +0 -5
- package/dist/_virtual/_commonjsHelpers.js +0 -40
- package/dist/_virtual/array-set.js +0 -5
- package/dist/_virtual/base64-vlq.js +0 -5
- package/dist/_virtual/base64.js +0 -5
- package/dist/_virtual/binary-search.js +0 -5
- package/dist/_virtual/createCmpByZip.js +0 -8
- package/dist/_virtual/deleteCmp.js +0 -8
- package/dist/_virtual/index.js +0 -9
- package/dist/_virtual/mapping-list.js +0 -5
- package/dist/_virtual/neoLogin.js +0 -8
- package/dist/_virtual/neoService.js +0 -8
- package/dist/_virtual/openProject.js +0 -8
- package/dist/_virtual/publish2oss.js +0 -8
- package/dist/_virtual/pullCmp.js +0 -8
- package/dist/_virtual/pushCmp.js +0 -8
- package/dist/_virtual/quick-sort.js +0 -5
- package/dist/_virtual/regenerator.js +0 -5
- package/dist/_virtual/regeneratorAsync.js +0 -5
- package/dist/_virtual/regeneratorAsyncGen.js +0 -5
- package/dist/_virtual/regeneratorAsyncIterator.js +0 -5
- package/dist/_virtual/regeneratorDefine.js +0 -5
- package/dist/_virtual/regeneratorKeys.js +0 -5
- package/dist/_virtual/regeneratorRuntime.js +0 -5
- package/dist/_virtual/regeneratorValues.js +0 -5
- package/dist/_virtual/source-map-consumer.js +0 -5
- package/dist/_virtual/source-map-generator.js +0 -5
- package/dist/_virtual/source-map-support.js +0 -5
- package/dist/_virtual/source-map.js +0 -5
- package/dist/_virtual/source-node.js +0 -5
- package/dist/_virtual/typeof.js +0 -5
- package/dist/_virtual/typescript.js +0 -5
- package/dist/_virtual/util.js +0 -5
- package/dist/config/auth.config.js +0 -50
- package/dist/config/default.config.js +0 -225
- package/dist/config/index.js +0 -27
- package/dist/main.js +0 -9
- package/dist/main2.js +0 -261
- package/dist/module/inspect.js +0 -64
- package/dist/module/neoInit.js +0 -69
- package/dist/module/neoInitByCopy.js +0 -81
- package/dist/neo/neoLogin.js +0 -663
- package/dist/neo/neoRequire.js +0 -118
- package/dist/neo/neoService.js +0 -1246
- package/dist/node_modules/@babel/runtime/helpers/OverloadYield.js +0 -19
- package/dist/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js +0 -29
- package/dist/node_modules/@babel/runtime/helpers/esm/extends.js +0 -13
- package/dist/node_modules/@babel/runtime/helpers/regenerator.js +0 -105
- package/dist/node_modules/@babel/runtime/helpers/regeneratorAsync.js +0 -24
- package/dist/node_modules/@babel/runtime/helpers/regeneratorAsyncGen.js +0 -23
- package/dist/node_modules/@babel/runtime/helpers/regeneratorAsyncIterator.js +0 -50
- package/dist/node_modules/@babel/runtime/helpers/regeneratorDefine.js +0 -37
- package/dist/node_modules/@babel/runtime/helpers/regeneratorKeys.js +0 -25
- package/dist/node_modules/@babel/runtime/helpers/regeneratorRuntime.js +0 -98
- package/dist/node_modules/@babel/runtime/helpers/regeneratorValues.js +0 -35
- package/dist/node_modules/@babel/runtime/helpers/typeof.js +0 -25
- package/dist/node_modules/@babel/runtime/regenerator/index.js +0 -29
- package/dist/node_modules/buffer-from/index.js +0 -57
- package/dist/node_modules/source-map/lib/array-set.js +0 -134
- package/dist/node_modules/source-map/lib/base64-vlq.js +0 -144
- package/dist/node_modules/source-map/lib/base64.js +0 -81
- package/dist/node_modules/source-map/lib/binary-search.js +0 -122
- package/dist/node_modules/source-map/lib/mapping-list.js +0 -94
- package/dist/node_modules/source-map/lib/quick-sort.js +0 -126
- package/dist/node_modules/source-map/lib/source-map-consumer.js +0 -1018
- package/dist/node_modules/source-map/lib/source-map-generator.js +0 -385
- package/dist/node_modules/source-map/lib/source-node.js +0 -400
- package/dist/node_modules/source-map/lib/util.js +0 -449
- package/dist/node_modules/source-map/source-map.js +0 -25
- package/dist/node_modules/source-map-support/source-map-support.js +0 -610
- package/dist/node_modules/typescript/lib/typescript.js +0 -22376
- package/dist/oss/publish2oss.js +0 -378
- package/dist/plugins/AddNeoRequirePlugin.js +0 -178
- package/dist/utils/autoEntryRootDir.js +0 -98
- package/dist/utils/cmpUtils/createCmpByTemplate.js +0 -73
- package/dist/utils/cmpUtils/createCmpByZip.js +0 -530
- package/dist/utils/cmpUtils/createCommonModulesCode.js +0 -84
- package/dist/utils/cmpUtils/deleteCmp.js +0 -98
- package/dist/utils/cmpUtils/getCmpModelRegisterCode.js +0 -38
- package/dist/utils/cmpUtils/getCmpPreviewCode.js +0 -37
- package/dist/utils/cmpUtils/getCmpRegisterCode.js +0 -38
- package/dist/utils/cmpUtils/getCmpTypeByDir.js +0 -58
- package/dist/utils/cmpUtils/hasCmpTypeByDir.js +0 -25
- package/dist/utils/cmpUtils/previewCmp.js +0 -74
- package/dist/utils/cmpUtils/pullCmp.js +0 -144
- package/dist/utils/cmpUtils/pushCmp.js +0 -290
- package/dist/utils/common.js +0 -121
- package/dist/utils/configureNeoBuild.js +0 -153
- package/dist/utils/generateEntries.js +0 -73
- package/dist/utils/neoConfigInit.js +0 -25
- package/dist/utils/neoParams.js +0 -23
- package/dist/utils/pathUtils.js +0 -48
- package/dist/utils/projectNameValidator.js +0 -89
- package/dist/utils/projectUtils/createCmpProjectByTemplate.js +0 -74
- package/dist/utils/projectUtils/createCmpProjectZip.js +0 -135
- package/dist/utils/projectUtils/getEntries.js +0 -99
- package/dist/utils/projectUtils/getEntriesWithAutoRegister.js +0 -127
- package/dist/utils/projectUtils/hasNeoProject.js +0 -31
- package/dist/utils/projectUtils/openProject.js +0 -169
- package/dist/utils/projectUtils/updatePublishLog.js +0 -45
- package/dist/utils/replaceInFilesByMap.js +0 -70
- package/dist/utils/replaceInPackage.js +0 -151
- package/dist/utils/resetPackageVersion.js +0 -134
package/dist/utils/pathUtils.js
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var require$$1 = require('node:path');
|
|
4
|
-
var require$$0 = require('node:fs');
|
|
5
|
-
|
|
6
|
-
var pathUtils;
|
|
7
|
-
var hasRequiredPathUtils;
|
|
8
|
-
|
|
9
|
-
function requirePathUtils () {
|
|
10
|
-
if (hasRequiredPathUtils) return pathUtils;
|
|
11
|
-
hasRequiredPathUtils = 1;
|
|
12
|
-
var path = require$$1;
|
|
13
|
-
var fs = require$$0;
|
|
14
|
-
|
|
15
|
-
// 当前命令执行的路径
|
|
16
|
-
var currentRoot = function currentRoot() {
|
|
17
|
-
return fs.realpathSync(process.cwd());
|
|
18
|
-
};
|
|
19
|
-
var resolveToCurrentRoot = function resolveToCurrentRoot(filePath) {
|
|
20
|
-
return path.resolve(currentRoot(), filePath);
|
|
21
|
-
};
|
|
22
|
-
var resolveToCurrentDist = function resolveToCurrentDist(filePath, outDir) {
|
|
23
|
-
return path.resolve(currentRoot(), outDir || 'dist/', filePath);
|
|
24
|
-
};
|
|
25
|
-
var currentSrc = function currentSrc() {
|
|
26
|
-
return resolveToCurrentRoot('src');
|
|
27
|
-
};
|
|
28
|
-
var currentBuild = function currentBuild() {
|
|
29
|
-
return resolveToCurrentRoot('build');
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
// 获取当前项目的package文件(从当前命令执行的路径下查找)
|
|
33
|
-
var catchCurPackageJson = function catchCurPackageJson() {
|
|
34
|
-
return resolveToCurrentRoot('package.json');
|
|
35
|
-
};
|
|
36
|
-
pathUtils = {
|
|
37
|
-
currentRoot: currentRoot,
|
|
38
|
-
resolveToCurrentRoot: resolveToCurrentRoot,
|
|
39
|
-
resolveToCurrentDist: resolveToCurrentDist,
|
|
40
|
-
resolve: resolveToCurrentRoot,
|
|
41
|
-
currentSrc: currentSrc,
|
|
42
|
-
currentBuild: currentBuild,
|
|
43
|
-
catchCurPackageJson: catchCurPackageJson
|
|
44
|
-
};
|
|
45
|
-
return pathUtils;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
exports.__require = requirePathUtils;
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* 文件名验证工具
|
|
5
|
-
* 验证规则:
|
|
6
|
-
* 1. 至少5个字符
|
|
7
|
-
* 2. 必须以字母开头
|
|
8
|
-
* 3. 只能包含字母、数字、连字符(-)
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
var projectNameValidator;
|
|
12
|
-
var hasRequiredProjectNameValidator;
|
|
13
|
-
|
|
14
|
-
function requireProjectNameValidator () {
|
|
15
|
-
if (hasRequiredProjectNameValidator) return projectNameValidator;
|
|
16
|
-
hasRequiredProjectNameValidator = 1;
|
|
17
|
-
/**
|
|
18
|
-
* 验证文件名是否符合规范
|
|
19
|
-
* @param {string} ProjectName 文件名(不包含路径和扩展名)
|
|
20
|
-
* @returns {Object} 验证结果对象
|
|
21
|
-
*/
|
|
22
|
-
function validateProjectName(ProjectName) {
|
|
23
|
-
var errors = [];
|
|
24
|
-
|
|
25
|
-
// 检查文件名是否为空
|
|
26
|
-
if (!ProjectName || ProjectName.trim().length === 0) {
|
|
27
|
-
errors.push('文件名不能为空');
|
|
28
|
-
return {
|
|
29
|
-
isValid: false,
|
|
30
|
-
errors: errors
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
// 检查长度是否至少5个字符
|
|
35
|
-
if (ProjectName.length < 5) {
|
|
36
|
-
errors.push("\u6587\u4EF6\u540D\u957F\u5EA6\u5FC5\u987B\u81F3\u5C115\u4E2A\u5B57\u7B26\uFF0C\u5F53\u524D\u957F\u5EA6: " + ProjectName.length);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
// 检查是否以字母开头
|
|
40
|
-
if (!/^[a-zA-Z]/.test(ProjectName)) {
|
|
41
|
-
errors.push('文件名必须以字母开头');
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
// 检查是否只包含字母、数字、连字符
|
|
45
|
-
if (!/^[a-zA-Z][a-zA-Z0-9-]*$/.test(ProjectName)) {
|
|
46
|
-
errors.push('文件名只能包含字母、数字和连字符(-),且必须以字母开头');
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
// 检查是否包含连续连字符
|
|
50
|
-
if (ProjectName.includes('--')) {
|
|
51
|
-
errors.push('文件名不能包含连续连字符(--)');
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
// 检查是否以连字符结尾
|
|
55
|
-
if (ProjectName.endsWith('-')) {
|
|
56
|
-
errors.push('文件名不能以连字符结尾');
|
|
57
|
-
}
|
|
58
|
-
return {
|
|
59
|
-
isValid: errors.length === 0,
|
|
60
|
-
errors: errors
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* 验证文件名并返回布尔值
|
|
66
|
-
* @param {string} ProjectName 文件名
|
|
67
|
-
* @returns {boolean} 是否有效
|
|
68
|
-
*/
|
|
69
|
-
function isValidProjectName(ProjectName) {
|
|
70
|
-
return validateProjectName(ProjectName).isValid;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* 获取文件名验证的错误信息
|
|
75
|
-
* @param {string} ProjectName 文件名
|
|
76
|
-
* @returns {Array} 错误信息数组
|
|
77
|
-
*/
|
|
78
|
-
function getProjectNameErrors(ProjectName) {
|
|
79
|
-
return validateProjectName(ProjectName).errors;
|
|
80
|
-
}
|
|
81
|
-
projectNameValidator = {
|
|
82
|
-
validateProjectName: validateProjectName,
|
|
83
|
-
isValidProjectName: isValidProjectName,
|
|
84
|
-
getProjectNameErrors: getProjectNameErrors
|
|
85
|
-
};
|
|
86
|
-
return projectNameValidator;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
exports.__require = requireProjectNameValidator;
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var require$$0 = require('fs-extra');
|
|
4
|
-
var require$$1 = require('node:path');
|
|
5
|
-
var neoParams = require('../neoParams.js');
|
|
6
|
-
var replaceInPackage = require('../replaceInPackage.js');
|
|
7
|
-
var resetPackageVersion = require('../resetPackageVersion.js');
|
|
8
|
-
var autoEntryRootDir = require('../autoEntryRootDir.js');
|
|
9
|
-
var hasNeoProject = require('./hasNeoProject.js');
|
|
10
|
-
|
|
11
|
-
var createCmpProjectByTemplate;
|
|
12
|
-
var hasRequiredCreateCmpProjectByTemplate;
|
|
13
|
-
|
|
14
|
-
function requireCreateCmpProjectByTemplate () {
|
|
15
|
-
if (hasRequiredCreateCmpProjectByTemplate) return createCmpProjectByTemplate;
|
|
16
|
-
hasRequiredCreateCmpProjectByTemplate = 1;
|
|
17
|
-
var fs = require$$0;
|
|
18
|
-
var path = require$$1;
|
|
19
|
-
var _require = neoParams.__require(),
|
|
20
|
-
consoleTag = _require.consoleTag; // 输出标记
|
|
21
|
-
var _require2 = replaceInPackage.__require(),
|
|
22
|
-
replaceInPackage$1 = _require2.replaceInPackage;
|
|
23
|
-
var _require3 = resetPackageVersion.__require(),
|
|
24
|
-
resetPackageVersion$1 = _require3.resetPackageVersion;
|
|
25
|
-
var autoEntryRootDir$1 = autoEntryRootDir.__require();
|
|
26
|
-
var hasNeoProject$1 = hasNeoProject.__require();
|
|
27
|
-
var cmpTemplateList = {
|
|
28
|
-
'react-ts': {
|
|
29
|
-
projectName: 'empty-custom-cmp-template',
|
|
30
|
-
dir: path.resolve(__dirname, '../../../template/empty-custom-cmp-template')
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* 通过拷贝模板创建自定义组件
|
|
36
|
-
* @param {*} projectName 自定义组件项目名称
|
|
37
|
-
* @param {*} type 自定义组件类型
|
|
38
|
-
*/
|
|
39
|
-
createCmpProjectByTemplate = function (projectName, type) {
|
|
40
|
-
if (type === void 0) {
|
|
41
|
-
type = 'react-ts';
|
|
42
|
-
}
|
|
43
|
-
var finalProjectPath = path.resolve(process.cwd(), projectName);
|
|
44
|
-
if (hasNeoProject$1()) {
|
|
45
|
-
console.error(consoleTag + "\u521B\u5EFA\u81EA\u5B9A\u4E49\u7EC4\u4EF6\u9879\u76EE\u5931\u8D25\uFF0C\u5F53\u524D\u76EE\u5F55\uFF08" + process.cwd() + "\uFF09\u5DF2\u7ECF\u662F\u4E00\u4E2A\u81EA\u5B9A\u4E49\u7EC4\u4EF6\u9879\u76EE\uFF0C\u8BF7\u52FF\u91CD\u590D\u521B\u5EFA\u3002");
|
|
46
|
-
process.exit(1);
|
|
47
|
-
}
|
|
48
|
-
if (fs.existsSync(finalProjectPath)) {
|
|
49
|
-
console.error(consoleTag + "\u521B\u5EFA\u81EA\u5B9A\u4E49\u7EC4\u4EF6\u9879\u76EE\u5931\u8D25\uFF0C\u5F53\u524D\u5DF2\u5B58\u5728\uFF08" + projectName + "\uFF09\u9879\u76EE\uFF0C\u8BF7\u52FF\u521B\u5EFA\u91CD\u540D\u9879\u76EE\u3002");
|
|
50
|
-
process.exit(1);
|
|
51
|
-
}
|
|
52
|
-
var curCmpTemplate = cmpTemplateList[type];
|
|
53
|
-
if (!curCmpTemplate) {
|
|
54
|
-
console.error(consoleTag + "\u521B\u5EFA\u81EA\u5B9A\u4E49\u7EC4\u4EF6\u9879\u76EE\u5931\u8D25\uFF0C\u5F53\u524D\u4E0D\u652F\u6301" + type + "\u7C7B\u578B\u3002");
|
|
55
|
-
process.exit(1);
|
|
56
|
-
}
|
|
57
|
-
var currentTemplateDir = curCmpTemplate.dir;
|
|
58
|
-
var finalProjectName = projectName || 'neoCustomCmp';
|
|
59
|
-
fs.copy(currentTemplateDir, finalProjectPath).then(function () {
|
|
60
|
-
replaceInPackage$1(finalProjectPath, curCmpTemplate.projectName, finalProjectName);
|
|
61
|
-
replaceInPackage$1(finalProjectPath, 'wibetter', 'xxx');
|
|
62
|
-
replaceInPackage$1(finalProjectPath, 'neo自定义组件模板', 'neo自定义组件');
|
|
63
|
-
resetPackageVersion$1(finalProjectPath);
|
|
64
|
-
console.log(consoleTag + "\u5DF2\u521B\u5EFA\u81EA\u5B9A\u4E49\u7EC4\u4EF6\u9879\u76EE\uFF08" + finalProjectName + "\uFF09!");
|
|
65
|
-
// 自动切换到项目根目录
|
|
66
|
-
autoEntryRootDir$1(finalProjectPath);
|
|
67
|
-
}).catch(function (err) {
|
|
68
|
-
return console.error(consoleTag + "\u81EA\u5B9A\u4E49\u7EC4\u4EF6\u6A21\u677F\u4E0B\u8F7D\u5931\u8D25\uFF1A", err);
|
|
69
|
-
});
|
|
70
|
-
};
|
|
71
|
-
return createCmpProjectByTemplate;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
exports.__require = requireCreateCmpProjectByTemplate;
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var require$$0 = require('fs-extra');
|
|
4
|
-
var require$$1 = require('node:path');
|
|
5
|
-
var require$$2 = require('adm-zip');
|
|
6
|
-
var require$$2$1 = require('lodash');
|
|
7
|
-
var neoParams = require('../neoParams.js');
|
|
8
|
-
var hasNeoProject = require('./hasNeoProject.js');
|
|
9
|
-
|
|
10
|
-
var createCmpProjectZip;
|
|
11
|
-
var hasRequiredCreateCmpProjectZip;
|
|
12
|
-
|
|
13
|
-
function requireCreateCmpProjectZip () {
|
|
14
|
-
if (hasRequiredCreateCmpProjectZip) return createCmpProjectZip;
|
|
15
|
-
hasRequiredCreateCmpProjectZip = 1;
|
|
16
|
-
var fs = require$$0;
|
|
17
|
-
var path = require$$1;
|
|
18
|
-
var AdmZip = require$$2;
|
|
19
|
-
var _ = require$$2$1;
|
|
20
|
-
var _require = neoParams.__require(),
|
|
21
|
-
consoleTag = _require.consoleTag; // 输出标记
|
|
22
|
-
var hasNeoProject$1 = hasNeoProject.__require();
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* 创建自定义组件源码 zip 包
|
|
26
|
-
* @param {*} cmpType 自定义组件名称
|
|
27
|
-
* @returns {string} zip 文件路径
|
|
28
|
-
*/
|
|
29
|
-
createCmpProjectZip = function (cmpType, _projectPath, assetsRoot) {
|
|
30
|
-
var projectRoot = _projectPath || process.cwd();
|
|
31
|
-
var finalAssetsRoot = assetsRoot || path.join(projectRoot, 'dist');
|
|
32
|
-
if (!hasNeoProject$1(_projectPath)) {
|
|
33
|
-
console.error(consoleTag + "\u5F53\u524D\u76EE\u5F55\u4E0D\u662F\u81EA\u5B9A\u4E49\u7EC4\u4EF6\u9879\u76EE\uFF0C\u8BF7\u5728\u81EA\u5B9A\u4E49\u7EC4\u4EF6\u9879\u76EE\u76EE\u5F55\u4E0B\u6267\u884C\u3002");
|
|
34
|
-
process.exit(1);
|
|
35
|
-
}
|
|
36
|
-
if (!cmpType) {
|
|
37
|
-
console.error(consoleTag + "\u81EA\u5B9A\u4E49\u7EC4\u4EF6\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");
|
|
38
|
-
process.exit(1);
|
|
39
|
-
}
|
|
40
|
-
var zip = new AdmZip();
|
|
41
|
-
|
|
42
|
-
// 需要排除的目录和文件
|
|
43
|
-
var excludeDirs = ['node_modules', '.neo-cli', 'dist'];
|
|
44
|
-
var excludeFiles = ['.eslintcache', 'auth.config.js'];
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* 判断文件/目录是否应该被排除
|
|
48
|
-
* @param {string} filePath 文件路径
|
|
49
|
-
* @param {string} relativePath 相对路径
|
|
50
|
-
* @returns {boolean} 是否应该排除
|
|
51
|
-
*/
|
|
52
|
-
var shouldExclude = function shouldExclude(filePath, relativePath) {
|
|
53
|
-
var name = path.basename(filePath);
|
|
54
|
-
var stat = fs.statSync(filePath);
|
|
55
|
-
|
|
56
|
-
// 排除指定的目录
|
|
57
|
-
if (stat.isDirectory() && excludeDirs.includes(name)) {
|
|
58
|
-
return true;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
// 排除指定的文件
|
|
62
|
-
if (stat.isFile() && excludeFiles.includes(name)) {
|
|
63
|
-
return true;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
// 对于 src/components 目录,只包含 cmpType 子目录
|
|
67
|
-
// 处理逻辑:如果路径是 src/components/xxx,且 xxx 不是 cmpType,则排除
|
|
68
|
-
if (relativePath.startsWith('src/components')) {
|
|
69
|
-
var relativeToComponents = path.relative('src/components', relativePath);
|
|
70
|
-
// 如果相对路径不为空,说明已经在 components 的子目录中
|
|
71
|
-
if (relativeToComponents && relativeToComponents !== '.') {
|
|
72
|
-
var firstPart = relativeToComponents.split(path.sep)[0];
|
|
73
|
-
// 如果第一个部分不是 cmpType,则排除
|
|
74
|
-
if (firstPart !== cmpType) {
|
|
75
|
-
return true;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
return false;
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* 递归遍历目录并添加到 zip
|
|
84
|
-
* @param {string} dirPath 目录路径
|
|
85
|
-
* @param {string} relativePath 相对路径(用于 zip 中的路径)
|
|
86
|
-
*/
|
|
87
|
-
var _addDirectoryToZip = function addDirectoryToZip(dirPath, relativePath) {
|
|
88
|
-
if (relativePath === void 0) {
|
|
89
|
-
relativePath = '';
|
|
90
|
-
}
|
|
91
|
-
try {
|
|
92
|
-
var items = fs.readdirSync(dirPath);
|
|
93
|
-
items.forEach(function (item) {
|
|
94
|
-
var itemPath = path.join(dirPath, item);
|
|
95
|
-
var itemRelativePath = relativePath ? path.join(relativePath, item) : item;
|
|
96
|
-
|
|
97
|
-
// 检查是否应该排除
|
|
98
|
-
if (shouldExclude(itemPath, itemRelativePath)) {
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
var stat = fs.statSync(itemPath);
|
|
102
|
-
if (stat.isDirectory()) {
|
|
103
|
-
// 递归处理子目录
|
|
104
|
-
_addDirectoryToZip(itemPath, itemRelativePath);
|
|
105
|
-
} else if (stat.isFile()) {
|
|
106
|
-
// 添加文件到 zip,保持相对路径结构
|
|
107
|
-
var fileContent = fs.readFileSync(itemPath);
|
|
108
|
-
zip.addFile(itemRelativePath, fileContent);
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
|
-
} catch (error) {
|
|
112
|
-
console.error(consoleTag + "\u904D\u5386\u76EE\u5F55\u5931\u8D25 (" + dirPath + "):", error.message);
|
|
113
|
-
}
|
|
114
|
-
};
|
|
115
|
-
|
|
116
|
-
// 开始遍历项目根目录
|
|
117
|
-
_addDirectoryToZip(projectRoot);
|
|
118
|
-
|
|
119
|
-
// 生成 zip 文件名
|
|
120
|
-
var zipFileName = _.camelCase(cmpType) + "Source.zip";
|
|
121
|
-
var zipPath = path.join(finalAssetsRoot, zipFileName);
|
|
122
|
-
|
|
123
|
-
// 如果已存在同名 zip 文件,先删除
|
|
124
|
-
if (fs.existsSync(zipPath)) {
|
|
125
|
-
fs.removeSync(zipPath);
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
// 写入 zip 文件
|
|
129
|
-
zip.writeZip(zipPath);
|
|
130
|
-
return zipPath;
|
|
131
|
-
};
|
|
132
|
-
return createCmpProjectZip;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
exports.__require = requireCreateCmpProjectZip;
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var require$$0 = require('node:fs');
|
|
4
|
-
var require$$1 = require('node:path');
|
|
5
|
-
var require$$2 = require('lodash');
|
|
6
|
-
var pathUtils = require('../pathUtils.js');
|
|
7
|
-
|
|
8
|
-
var getEntries;
|
|
9
|
-
var hasRequiredGetEntries;
|
|
10
|
-
|
|
11
|
-
function requireGetEntries () {
|
|
12
|
-
if (hasRequiredGetEntries) return getEntries;
|
|
13
|
-
hasRequiredGetEntries = 1;
|
|
14
|
-
var fs = require$$0;
|
|
15
|
-
var path = require$$1;
|
|
16
|
-
var _ = require$$2;
|
|
17
|
-
var _require = pathUtils.__require(),
|
|
18
|
-
resolveToCurrentRoot = _require.resolveToCurrentRoot;
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* 从指定目录获取组件入口文件
|
|
22
|
-
* @param {*} defaultComponentsDir 默认组件目录
|
|
23
|
-
* @returns 组件入口文件
|
|
24
|
-
*/
|
|
25
|
-
getEntries = function (defaultComponentsDir, cmpType) {
|
|
26
|
-
if (defaultComponentsDir === void 0) {
|
|
27
|
-
defaultComponentsDir = './src/components';
|
|
28
|
-
}
|
|
29
|
-
var widgetEntries = {};
|
|
30
|
-
var linkDebugEntries = {
|
|
31
|
-
index: []
|
|
32
|
-
};
|
|
33
|
-
var cmpTypes = []; // 用于记录组件名称
|
|
34
|
-
var defaultExports = {}; // 用于记录默认导出
|
|
35
|
-
var componentsBaseDir = resolveToCurrentRoot(defaultComponentsDir);
|
|
36
|
-
if (!fs.existsSync(componentsBaseDir)) {
|
|
37
|
-
console.error("\u672A\u627E\u5230\u7EC4\u4EF6\u76EE\u5F55\uFF0C\u8BF7\u68C0\u67E5 " + defaultComponentsDir + " \u76EE\u5F55\u662F\u5426\u5B58\u5728");
|
|
38
|
-
|
|
39
|
-
// 退出进程
|
|
40
|
-
process.exit(1);
|
|
41
|
-
}
|
|
42
|
-
try {
|
|
43
|
-
// 读取指定目录下的所有文件
|
|
44
|
-
var widgetDirs = [];
|
|
45
|
-
if (cmpType) {
|
|
46
|
-
// 如果传入了 cmpType,则只读取指定组件目录
|
|
47
|
-
widgetDirs = [cmpType];
|
|
48
|
-
} else {
|
|
49
|
-
widgetDirs = fs.readdirSync(componentsBaseDir);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
// 遍历所有目录
|
|
53
|
-
widgetDirs.forEach(function (dir) {
|
|
54
|
-
var filePath = path.join(componentsBaseDir, dir);
|
|
55
|
-
// 获取文件状态
|
|
56
|
-
var stat = fs.statSync(filePath);
|
|
57
|
-
// 如果文件是目录,则递归处理子目录
|
|
58
|
-
if (stat.isDirectory() && !dir.startsWith('.') && dir !== 'node_modules') {
|
|
59
|
-
var curCmpPath = path.join(componentsBaseDir, dir);
|
|
60
|
-
var curCmpName = dir; // _.camelCase(dir);
|
|
61
|
-
var cmpNameKey = _.camelCase(curCmpName);
|
|
62
|
-
|
|
63
|
-
// 记录组件类型
|
|
64
|
-
cmpTypes.push(curCmpName);
|
|
65
|
-
fs.readdirSync(curCmpPath).filter(function (file) {
|
|
66
|
-
return file.match(/[index|register|model]\.(tsx?|jsx?|vue)$/);
|
|
67
|
-
}).map(function (file) {
|
|
68
|
-
return path.join(defaultComponentsDir, curCmpName, file);
|
|
69
|
-
}).forEach(function (filePath) {
|
|
70
|
-
var curPath = "./" + filePath;
|
|
71
|
-
if (filePath.match(/register\.[tj]sx?$/)) {
|
|
72
|
-
widgetEntries[cmpNameKey] = curPath;
|
|
73
|
-
} else if (filePath.match(/model\.[tj]sx?$/)) {
|
|
74
|
-
widgetEntries[cmpNameKey + "Model"] = curPath;
|
|
75
|
-
} else if (filePath.match(/index\.(tsx?|jsx?|vue)$/)) {
|
|
76
|
-
// 组件内容文件
|
|
77
|
-
defaultExports[cmpNameKey] = path.resolve(filePath); // 记录默认导出
|
|
78
|
-
}
|
|
79
|
-
linkDebugEntries.index.push(curPath);
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
} catch (error) {
|
|
84
|
-
console.error('获取自定义组件入口文件失败(getEntries):', error);
|
|
85
|
-
|
|
86
|
-
// 退出进程
|
|
87
|
-
process.exit(1);
|
|
88
|
-
}
|
|
89
|
-
return {
|
|
90
|
-
widgetEntries: widgetEntries,
|
|
91
|
-
linkDebugEntries: linkDebugEntries,
|
|
92
|
-
cmpTypes: cmpTypes,
|
|
93
|
-
defaultExports: defaultExports
|
|
94
|
-
};
|
|
95
|
-
};
|
|
96
|
-
return getEntries;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
exports.__require = requireGetEntries;
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var require$$0 = require('node:fs');
|
|
4
|
-
var require$$1 = require('node:path');
|
|
5
|
-
var require$$2 = require('lodash');
|
|
6
|
-
var pathUtils = require('../pathUtils.js');
|
|
7
|
-
var getCmpRegisterCode = require('../cmpUtils/getCmpRegisterCode.js');
|
|
8
|
-
var getCmpModelRegisterCode = require('../cmpUtils/getCmpModelRegisterCode.js');
|
|
9
|
-
|
|
10
|
-
var getEntriesWithAutoRegister;
|
|
11
|
-
var hasRequiredGetEntriesWithAutoRegister;
|
|
12
|
-
|
|
13
|
-
function requireGetEntriesWithAutoRegister () {
|
|
14
|
-
if (hasRequiredGetEntriesWithAutoRegister) return getEntriesWithAutoRegister;
|
|
15
|
-
hasRequiredGetEntriesWithAutoRegister = 1;
|
|
16
|
-
var fs = require$$0;
|
|
17
|
-
var path = require$$1;
|
|
18
|
-
var _ = require$$2;
|
|
19
|
-
var _require = pathUtils.__require(),
|
|
20
|
-
resolveToCurrentRoot = _require.resolveToCurrentRoot;
|
|
21
|
-
var getCmpRegisterCode$1 = getCmpRegisterCode.__require();
|
|
22
|
-
var getCmpModelRegisterCode$1 = getCmpModelRegisterCode.__require();
|
|
23
|
-
/**
|
|
24
|
-
* 从指定目录获取组件入口文件,并自动创建对应的注册文件
|
|
25
|
-
* @param {*} defaultComponentsDir 默认组件目录
|
|
26
|
-
* @returns 组件入口文件
|
|
27
|
-
*/
|
|
28
|
-
getEntriesWithAutoRegister = function (defaultComponentsDir, cmpType) {
|
|
29
|
-
if (defaultComponentsDir === void 0) {
|
|
30
|
-
defaultComponentsDir = './src/components';
|
|
31
|
-
}
|
|
32
|
-
var widgetEntries = {};
|
|
33
|
-
var linkDebugEntries = {
|
|
34
|
-
index: []
|
|
35
|
-
};
|
|
36
|
-
var cmpTypes = []; // 用于记录组件名称
|
|
37
|
-
var defaultExports = {}; // 用于记录默认导出
|
|
38
|
-
var componentsBaseDir = resolveToCurrentRoot(defaultComponentsDir);
|
|
39
|
-
if (!fs.existsSync(componentsBaseDir)) {
|
|
40
|
-
console.error("\u672A\u627E\u5230\u7EC4\u4EF6\u76EE\u5F55\uFF0C\u8BF7\u68C0\u67E5 " + defaultComponentsDir + " \u76EE\u5F55\u662F\u5426\u5B58\u5728");
|
|
41
|
-
|
|
42
|
-
// 退出进程
|
|
43
|
-
process.exit(1);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
// 创建存放 cli 的临时目录
|
|
47
|
-
var cliTempDir = resolveToCurrentRoot('./.neo-cli');
|
|
48
|
-
if (!fs.existsSync(cliTempDir)) {
|
|
49
|
-
fs.mkdirSync(cliTempDir);
|
|
50
|
-
}
|
|
51
|
-
try {
|
|
52
|
-
// 读取指定目录下的所有文件
|
|
53
|
-
var widgetDirs = [];
|
|
54
|
-
if (cmpType) {
|
|
55
|
-
// 如果传入了 cmpType,则只读取指定组件目录
|
|
56
|
-
widgetDirs = [cmpType];
|
|
57
|
-
} else {
|
|
58
|
-
widgetDirs = fs.readdirSync(componentsBaseDir);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
// 遍历所有目录
|
|
62
|
-
widgetDirs.forEach(function (dir) {
|
|
63
|
-
// 当前自定义组件目录
|
|
64
|
-
var widgetPath = path.join(componentsBaseDir, dir);
|
|
65
|
-
// 获取文件状态
|
|
66
|
-
var stat = fs.statSync(widgetPath);
|
|
67
|
-
// 如果文件是目录,则递归处理子目录
|
|
68
|
-
if (stat.isDirectory() && !dir.startsWith('.') && dir !== 'node_modules') {
|
|
69
|
-
// 当前自定义组件名称
|
|
70
|
-
var curCmpName = dir; // _.camelCase(dir);
|
|
71
|
-
var cmpNameKey = _.camelCase(curCmpName);
|
|
72
|
-
|
|
73
|
-
// 记录组件类型
|
|
74
|
-
cmpTypes.push(curCmpName);
|
|
75
|
-
|
|
76
|
-
// 当前自定义组件临时目录
|
|
77
|
-
var cmpTempDir = cliTempDir + "/" + curCmpName;
|
|
78
|
-
if (!fs.existsSync(cmpTempDir)) {
|
|
79
|
-
fs.mkdirSync(cmpTempDir);
|
|
80
|
-
}
|
|
81
|
-
fs.readdirSync(widgetPath).filter(function (file) {
|
|
82
|
-
return file.match(/(index|model)\.(tsx?|jsx?|vue)$/);
|
|
83
|
-
}).map(function (file) {
|
|
84
|
-
return path.join(defaultComponentsDir, curCmpName, file);
|
|
85
|
-
}).forEach(function (filePath) {
|
|
86
|
-
if (filePath.match(/index\.(tsx?|jsx?|vue)$/)) {
|
|
87
|
-
// 记录默认导出
|
|
88
|
-
defaultExports[cmpNameKey] = path.resolve(filePath);
|
|
89
|
-
|
|
90
|
-
// 自动创建对应的注册文件
|
|
91
|
-
var registerContent = getCmpRegisterCode$1(componentsBaseDir, curCmpName);
|
|
92
|
-
var registerDir = cmpTempDir + "/register.js";
|
|
93
|
-
|
|
94
|
-
// 写入注册文件
|
|
95
|
-
fs.writeFileSync(registerDir, registerContent);
|
|
96
|
-
widgetEntries[cmpNameKey] = registerDir;
|
|
97
|
-
linkDebugEntries.index.push(registerDir);
|
|
98
|
-
} else if (filePath.match(/model\.[tj]sx?$/)) {
|
|
99
|
-
// 自动创建对应的模型注册文件
|
|
100
|
-
var modelRegisterContent = getCmpModelRegisterCode$1(componentsBaseDir, curCmpName);
|
|
101
|
-
var modelRegisterDir = cmpTempDir + "/model.js";
|
|
102
|
-
|
|
103
|
-
// 写入模型注册文件
|
|
104
|
-
fs.writeFileSync(modelRegisterDir, modelRegisterContent);
|
|
105
|
-
widgetEntries[cmpNameKey + "Model"] = modelRegisterDir;
|
|
106
|
-
linkDebugEntries.index.push(modelRegisterDir);
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
|
-
} catch (error) {
|
|
112
|
-
console.error('获取自定义组件入口文件失败(getEntriesWithAutoRegister):', error);
|
|
113
|
-
|
|
114
|
-
// 退出进程
|
|
115
|
-
process.exit(1);
|
|
116
|
-
}
|
|
117
|
-
return {
|
|
118
|
-
widgetEntries: widgetEntries,
|
|
119
|
-
linkDebugEntries: linkDebugEntries,
|
|
120
|
-
cmpTypes: cmpTypes,
|
|
121
|
-
defaultExports: defaultExports
|
|
122
|
-
};
|
|
123
|
-
};
|
|
124
|
-
return getEntriesWithAutoRegister;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
exports.__require = requireGetEntriesWithAutoRegister;
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var require$$0 = require('fs-extra');
|
|
4
|
-
var require$$1 = require('node:path');
|
|
5
|
-
|
|
6
|
-
var hasNeoProject;
|
|
7
|
-
var hasRequiredHasNeoProject;
|
|
8
|
-
|
|
9
|
-
function requireHasNeoProject () {
|
|
10
|
-
if (hasRequiredHasNeoProject) return hasNeoProject;
|
|
11
|
-
hasRequiredHasNeoProject = 1;
|
|
12
|
-
var fs = require$$0;
|
|
13
|
-
var path = require$$1;
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* 判断当前是否存在 自定义组件项目
|
|
17
|
-
* 备注:neo.config.js 和 package.json 必须同时存在才算作 自定义组件项目
|
|
18
|
-
*/
|
|
19
|
-
hasNeoProject = function (_projectPath) {
|
|
20
|
-
var projectPath = _projectPath || process.cwd();
|
|
21
|
-
var neoConfigPath = path.resolve(projectPath, 'neo.config.js');
|
|
22
|
-
var packagePath = path.resolve(projectPath, 'package.json');
|
|
23
|
-
if (fs.existsSync(neoConfigPath) && fs.existsSync(packagePath)) {
|
|
24
|
-
return true;
|
|
25
|
-
}
|
|
26
|
-
return false;
|
|
27
|
-
};
|
|
28
|
-
return hasNeoProject;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
exports.__require = requireHasNeoProject;
|