create-aiot 2.0.1-alpha.1 → 2.0.1-alpha.11
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/lib/bin.js +2 -1
- package/lib/bin.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +80 -29
- package/lib/index.js.map +1 -1
- package/lib/interface/IProjectParam.d.ts +1 -0
- package/lib/interface/IProjectParam.js.map +1 -1
- package/lib/template/template.json +2 -2
- package/lib/template/{xts-app-template → xts}/app-package-name/app/app.xts +1 -1
- package/lib/template/{xts-app-template → xts}/app-package-name/app/manifest.json +1 -1
- package/lib/template/{xts-app-template → xts}/aspect1/src/aspect.xts +1 -1
- package/lib/utils/TemplateUtil.d.ts +1 -0
- package/lib/utils/TemplateUtil.js +5 -2
- package/lib/utils/TemplateUtil.js.map +1 -1
- package/package.json +3 -3
- package/lib/template/xts-app-template/readme.md +0 -9
- /package/lib/template/{xts-app-template → xts}/app-package-name/app/resources/icon.png +0 -0
- /package/lib/template/{xts-app-template → xts}/aspect1/config.json +0 -0
- /package/lib/template/{xts-app-template → xts}/aspect1/src/manifest.json +0 -0
- /package/lib/template/{xts-app-template → xts}/aspect1/src/pages/Home.xts +0 -0
- /package/lib/template/{xts-app-template → xts}/aspect1/src/resources/logo.png +0 -0
package/lib/bin.js
CHANGED
|
@@ -20,7 +20,8 @@ function main() {
|
|
|
20
20
|
name: 'create-aiot',
|
|
21
21
|
description: 'create aiot project',
|
|
22
22
|
version: '2.0.0',
|
|
23
|
-
defaultCommand: command
|
|
23
|
+
defaultCommand: command,
|
|
24
|
+
commandList: [yield (0, _1.getCrerateXtsCommand)()]
|
|
24
25
|
};
|
|
25
26
|
commander_1.Command.registeProgram(config);
|
|
26
27
|
});
|
package/lib/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["bin.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,uDAA2D;AAC3D,
|
|
1
|
+
{"version":3,"sources":["bin.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,uDAA2D;AAC3D,wBAA8D;AAE9D,SAAe,IAAI;;QACjB,MAAM,OAAO,GAAG,MAAM,IAAA,uBAAoB,GAAE,CAAA;QAE5C,UAAU;QACV,MAAM,MAAM,GAAa;YACvB,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,qBAAqB;YAClC,OAAO,EAAE,OAAO;YAChB,cAAc,EAAE,OAAO;YACvB,WAAW,EAAE,CAAC,MAAM,IAAA,uBAAoB,GAAE,CAAC;SAC5C,CAAA;QAED,mBAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;IAChC,CAAC;CAAA;AAED,IAAI,EAAE,CAAA","file":"bin.js","sourcesContent":["#!/usr/bin/env node\n\nimport { Command, IProgram } from '@aiot-toolkit/commander'\nimport { getAiotCreateCommand, getCrerateXtsCommand } from '.'\n\nasync function main() {\n const command = await getAiotCreateCommand()\n\n // 创建命令行配置\n const config: IProgram = {\n name: 'create-aiot',\n description: 'create aiot project',\n version: '2.0.0',\n defaultCommand: command,\n commandList: [await getCrerateXtsCommand()]\n }\n\n Command.registeProgram(config)\n}\n\nmain()\n"],"sourceRoot":"../src"}
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -12,10 +12,44 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.getAiotCreateCommand = void 0;
|
|
15
|
+
exports.getCrerateXtsCommand = exports.getAiotCreateCommand = void 0;
|
|
16
16
|
const fs_1 = __importDefault(require("fs"));
|
|
17
17
|
const path_1 = __importDefault(require("path"));
|
|
18
18
|
const TemplateUtil_1 = __importDefault(require("./utils/TemplateUtil"));
|
|
19
|
+
function createAction(options, tem) {
|
|
20
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
21
|
+
const templateList = yield TemplateUtil_1.default.requestTemplateList();
|
|
22
|
+
const { name, v, aspect, packageName, template = tem, eslint = false } = options;
|
|
23
|
+
const templateItem = templateList.find((item) => item.name === template);
|
|
24
|
+
if (templateItem) {
|
|
25
|
+
const param = {
|
|
26
|
+
name,
|
|
27
|
+
version: v,
|
|
28
|
+
template: templateItem,
|
|
29
|
+
packageName,
|
|
30
|
+
tools: {
|
|
31
|
+
eslint
|
|
32
|
+
},
|
|
33
|
+
aspect
|
|
34
|
+
};
|
|
35
|
+
TemplateUtil_1.default.createProject(param, {
|
|
36
|
+
data: { version: v, appName: name, packageName },
|
|
37
|
+
includes: (path) => {
|
|
38
|
+
const stats = fs_1.default.statSync(path);
|
|
39
|
+
if (stats.isDirectory()) {
|
|
40
|
+
return ['src'].includes(path_1.default.basename(path));
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
return ['.json', '.ux'].includes(path_1.default.extname(path));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
console.log('template error');
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
19
53
|
function getAiotCreateCommand() {
|
|
20
54
|
return __awaiter(this, void 0, void 0, function* () {
|
|
21
55
|
const templateList = yield TemplateUtil_1.default.requestTemplateList();
|
|
@@ -66,38 +100,55 @@ function getAiotCreateCommand() {
|
|
|
66
100
|
}
|
|
67
101
|
],
|
|
68
102
|
action: (option) => {
|
|
69
|
-
|
|
70
|
-
const templateItem = templateList.find((item) => item.name === template);
|
|
71
|
-
if (templateItem) {
|
|
72
|
-
const param = {
|
|
73
|
-
name,
|
|
74
|
-
version: v,
|
|
75
|
-
template: templateItem,
|
|
76
|
-
tools: {
|
|
77
|
-
eslint
|
|
78
|
-
},
|
|
79
|
-
aspect
|
|
80
|
-
};
|
|
81
|
-
TemplateUtil_1.default.createProject(param, {
|
|
82
|
-
data: { version: v, appName: name },
|
|
83
|
-
includes: (path) => {
|
|
84
|
-
const stats = fs_1.default.statSync(path);
|
|
85
|
-
if (stats.isDirectory()) {
|
|
86
|
-
return ['src'].includes(path_1.default.basename(path));
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
return ['.json', '.ux'].includes(path_1.default.extname(path));
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
console.log('template error');
|
|
96
|
-
}
|
|
103
|
+
createAction(option);
|
|
97
104
|
}
|
|
98
105
|
};
|
|
99
106
|
});
|
|
100
107
|
}
|
|
101
108
|
exports.getAiotCreateCommand = getAiotCreateCommand;
|
|
109
|
+
function getCrerateXtsCommand() {
|
|
110
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
111
|
+
return {
|
|
112
|
+
name: 'xts',
|
|
113
|
+
description: 'create xts template project',
|
|
114
|
+
paramList: [
|
|
115
|
+
{
|
|
116
|
+
name: 'name',
|
|
117
|
+
description: 'poject name',
|
|
118
|
+
enableInquirer: true,
|
|
119
|
+
defaultValue: 'xts-project',
|
|
120
|
+
type: 'string',
|
|
121
|
+
validate(value) {
|
|
122
|
+
return TemplateUtil_1.default.validateProjectName(value);
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
name: 'packageName',
|
|
127
|
+
description: 'package name',
|
|
128
|
+
enableInquirer: true,
|
|
129
|
+
defaultValue: 'xts.app.test',
|
|
130
|
+
type: 'string'
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
name: 'v',
|
|
134
|
+
description: 'poject version',
|
|
135
|
+
enableInquirer: true,
|
|
136
|
+
defaultValue: '1.0.0',
|
|
137
|
+
type: 'string'
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
name: 'aspect',
|
|
141
|
+
type: 'string',
|
|
142
|
+
description: 'Do you need to create some aspect, with multiple aspect names separated by commas',
|
|
143
|
+
enableInquirer: true
|
|
144
|
+
}
|
|
145
|
+
],
|
|
146
|
+
action: (option) => {
|
|
147
|
+
createAction(option, 'xts');
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
exports.getCrerateXtsCommand = getCrerateXtsCommand;
|
|
102
153
|
|
|
103
154
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,4CAAmB;AACnB,gDAAuB;AAEvB,wEAA+C;
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,4CAAmB;AACnB,gDAAuB;AAEvB,wEAA+C;AAE/C,SAAe,YAAY,CAAC,OAAY,EAAE,GAAY;;QACpD,MAAM,YAAY,GAAG,MAAM,sBAAY,CAAC,mBAAmB,EAAE,CAAA;QAE7D,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,GAAG,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,OAAO,CAAA;QAEhF,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAA;QACxE,IAAI,YAAY,EAAE;YAChB,MAAM,KAAK,GAAkB;gBAC3B,IAAI;gBACJ,OAAO,EAAE,CAAC;gBACV,QAAQ,EAAE,YAAY;gBACtB,WAAW;gBACX,KAAK,EAAE;oBACL,MAAM;iBACP;gBACD,MAAM;aACP,CAAA;YACD,sBAAY,CAAC,aAAa,CAAC,KAAK,EAAE;gBAChC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE;gBAChD,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;oBACjB,MAAM,KAAK,GAAG,YAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;oBAC/B,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE;wBACvB,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,cAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;qBAC7C;yBAAM;wBACL,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;qBACrD;gBACH,CAAC;aACF,CAAC,CAAA;SACH;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;SAC9B;IACH,CAAC;CAAA;AAED,SAAsB,oBAAoB;;QACxC,MAAM,YAAY,GAAG,MAAM,sBAAY,CAAC,mBAAmB,EAAE,CAAA;QAE7D,OAAO;YACL,IAAI,EAAE,EAAE;YACR,WAAW,EAAE,SAAS;YACtB,SAAS,EAAE;gBACT;oBACE,IAAI,EAAE,MAAM;oBACZ,WAAW,EAAE,aAAa;oBAC1B,cAAc,EAAE,IAAI;oBACpB,YAAY,EAAE,cAAc;oBAC5B,IAAI,EAAE,QAAQ;oBACd,QAAQ,CAAC,KAAa;wBACpB,OAAO,sBAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;oBAChD,CAAC;iBACF;gBACD;oBACE,IAAI,EAAE,GAAG;oBACT,WAAW,EAAE,gBAAgB;oBAC7B,cAAc,EAAE,IAAI;oBACpB,YAAY,EAAE,OAAO;oBACrB,IAAI,EAAE,QAAQ;iBACf;gBACD;oBACE,IAAI,EAAE,UAAU;oBAChB,WAAW,EAAE,iBAAiB;oBAC9B,IAAI,EAAE,QAAQ;oBACd,cAAc,EAAE,IAAI;oBACpB,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;wBACjC,OAAO;4BACL,KAAK,EAAE,IAAI,CAAC,IAAI;4BAChB,WAAW,EAAE,IAAI,CAAC,WAAW;yBAC9B,CAAA;oBACH,CAAC,CAAC;iBACH;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,sDAAsD;oBACnE,cAAc,EAAE,IAAI;oBACpB,YAAY,EAAE,KAAK;iBACpB;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,YAAY;iBAC1B;aACF;YACD,MAAM,EAAE,CAAC,MAAW,EAAE,EAAE;gBACtB,YAAY,CAAC,MAAM,CAAC,CAAA;YACtB,CAAC;SACF,CAAA;IACH,CAAC;CAAA;AArDD,oDAqDC;AAED,SAAsB,oBAAoB;;QACxC,OAAO;YACL,IAAI,EAAE,KAAK;YACX,WAAW,EAAE,6BAA6B;YAC1C,SAAS,EAAE;gBACT;oBACE,IAAI,EAAE,MAAM;oBACZ,WAAW,EAAE,aAAa;oBAC1B,cAAc,EAAE,IAAI;oBACpB,YAAY,EAAE,aAAa;oBAC3B,IAAI,EAAE,QAAQ;oBACd,QAAQ,CAAC,KAAa;wBACpB,OAAO,sBAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;oBAChD,CAAC;iBACF;gBACD;oBACE,IAAI,EAAE,aAAa;oBACnB,WAAW,EAAE,cAAc;oBAC3B,cAAc,EAAE,IAAI;oBACpB,YAAY,EAAE,cAAc;oBAC5B,IAAI,EAAE,QAAQ;iBACf;gBACD;oBACE,IAAI,EAAE,GAAG;oBACT,WAAW,EAAE,gBAAgB;oBAC7B,cAAc,EAAE,IAAI;oBACpB,YAAY,EAAE,OAAO;oBACrB,IAAI,EAAE,QAAQ;iBACf;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,mFAAmF;oBACrF,cAAc,EAAE,IAAI;iBACrB;aACF;YACD,MAAM,EAAE,CAAC,MAAW,EAAE,EAAE;gBACtB,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;YAC7B,CAAC;SACF,CAAA;IACH,CAAC;CAAA;AAzCD,oDAyCC","file":"index.js","sourcesContent":["import { ICommand } from '@aiot-toolkit/commander'\nimport fs from 'fs'\nimport Path from 'path'\nimport IProjectParam from './interface/IProjectParam'\nimport TemplateUtil from './utils/TemplateUtil'\n\nasync function createAction(options: any, tem?: string) {\n const templateList = await TemplateUtil.requestTemplateList()\n\n const { name, v, aspect, packageName, template = tem, eslint = false } = options\n\n const templateItem = templateList.find((item) => item.name === template)\n if (templateItem) {\n const param: IProjectParam = {\n name,\n version: v,\n template: templateItem,\n packageName,\n tools: {\n eslint\n },\n aspect\n }\n TemplateUtil.createProject(param, {\n data: { version: v, appName: name, packageName },\n includes: (path) => {\n const stats = fs.statSync(path)\n if (stats.isDirectory()) {\n return ['src'].includes(Path.basename(path))\n } else {\n return ['.json', '.ux'].includes(Path.extname(path))\n }\n }\n })\n } else {\n console.log('template error')\n }\n}\n\nexport async function getAiotCreateCommand(): Promise<ICommand> {\n const templateList = await TemplateUtil.requestTemplateList()\n\n return {\n name: '',\n description: 'default',\n paramList: [\n {\n name: 'name',\n description: 'poject name',\n enableInquirer: true,\n defaultValue: 'aiot-project',\n type: 'string',\n validate(value: string) {\n return TemplateUtil.validateProjectName(value)\n }\n },\n {\n name: 'v',\n description: 'poject version',\n enableInquirer: true,\n defaultValue: '1.0.0',\n type: 'string'\n },\n {\n name: 'template',\n description: 'prject template',\n type: 'select',\n enableInquirer: true,\n choices: templateList.map((item) => {\n return {\n value: item.name,\n description: item.description\n }\n })\n },\n {\n name: 'eslint',\n type: 'confirm',\n description: 'Enabling eslint, if true, will create an eslint file',\n enableInquirer: true,\n defaultValue: false\n },\n {\n name: 'aspect',\n type: 'string',\n description: '配置aspect名称'\n }\n ],\n action: (option: any) => {\n createAction(option)\n }\n }\n}\n\nexport async function getCrerateXtsCommand(): Promise<ICommand> {\n return {\n name: 'xts',\n description: 'create xts template project',\n paramList: [\n {\n name: 'name',\n description: 'poject name',\n enableInquirer: true,\n defaultValue: 'xts-project',\n type: 'string',\n validate(value: string) {\n return TemplateUtil.validateProjectName(value)\n }\n },\n {\n name: 'packageName',\n description: 'package name',\n enableInquirer: true,\n defaultValue: 'xts.app.test',\n type: 'string'\n },\n {\n name: 'v',\n description: 'poject version',\n enableInquirer: true,\n defaultValue: '1.0.0',\n type: 'string'\n },\n {\n name: 'aspect',\n type: 'string',\n description:\n 'Do you need to create some aspect, with multiple aspect names separated by commas',\n enableInquirer: true\n }\n ],\n action: (option: any) => {\n createAction(option, 'xts')\n }\n }\n}\n"],"sourceRoot":"../src"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["interface/IProjectParam.ts"],"names":[],"mappings":"","file":"IProjectParam.js","sourcesContent":["import ITemplate from './ITemplate'\n\n/**\n * IProjectParam\n */\nexport default interface IProjectParam {\n name: string\n version: string\n template: ITemplate\n tools: {\n eslint: boolean\n }\n aspect?: string\n}\n"],"sourceRoot":"../../src"}
|
|
1
|
+
{"version":3,"sources":["interface/IProjectParam.ts"],"names":[],"mappings":"","file":"IProjectParam.js","sourcesContent":["import ITemplate from './ITemplate'\n\n/**\n * IProjectParam\n */\nexport default interface IProjectParam {\n name: string\n version: string\n template: ITemplate\n tools: {\n eslint: boolean\n }\n aspect?: string\n packageName?: string\n}\n"],"sourceRoot":"../../src"}
|
|
@@ -11,6 +11,7 @@ declare class TemplateUtil {
|
|
|
11
11
|
* @returns
|
|
12
12
|
*/
|
|
13
13
|
static validateProjectName(value: string): boolean | string;
|
|
14
|
+
static createXtsProject(): Promise<void>;
|
|
14
15
|
static createProject(param: IProjectParam, keywords?: {
|
|
15
16
|
data: Record<string, string>;
|
|
16
17
|
includes?: (path: string) => boolean;
|
|
@@ -42,6 +42,9 @@ class TemplateUtil {
|
|
|
42
42
|
}
|
|
43
43
|
return true;
|
|
44
44
|
}
|
|
45
|
+
static createXtsProject() {
|
|
46
|
+
return __awaiter(this, void 0, void 0, function* () { });
|
|
47
|
+
}
|
|
45
48
|
static createProject(param, keywords, plugins) {
|
|
46
49
|
return __awaiter(this, void 0, void 0, function* () {
|
|
47
50
|
const { name, template, aspect } = param;
|
|
@@ -106,7 +109,7 @@ class TemplateUtil {
|
|
|
106
109
|
static createAspect(projectAbsolutePath, aspect) {
|
|
107
110
|
// 按照逗号分割字符串,且去掉空格
|
|
108
111
|
const aspects = aspect.replace(' ', '').split(',');
|
|
109
|
-
const aspectAbsolutePath = path_1.default.join(__dirname, '../template', 'xts
|
|
112
|
+
const aspectAbsolutePath = path_1.default.join(__dirname, '../template', 'xts', 'aspect1');
|
|
110
113
|
// 循环生成自定义aspect
|
|
111
114
|
aspects.map((aspectItem) => {
|
|
112
115
|
const targetAspectPath = path_1.default.join(projectAbsolutePath, aspectItem);
|
|
@@ -123,7 +126,7 @@ class TemplateUtil {
|
|
|
123
126
|
return ['.json', '.ux'].includes(path_1.default.extname(path));
|
|
124
127
|
}
|
|
125
128
|
}
|
|
126
|
-
},
|
|
129
|
+
}, targetAspectPath);
|
|
127
130
|
});
|
|
128
131
|
}
|
|
129
132
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["utils/TemplateUtil.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["utils/TemplateUtil.ts"],"names":[],"mappings":"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","file":"TemplateUtil.js","sourcesContent":["import FileUtil from '@aiot-toolkit/shared-utils/lib/utils/FileUtil'\nimport NetworkUtil from '@aiot-toolkit/shared-utils/lib/utils/NetworkUtil'\nimport { input } from '@inquirer/prompts'\nimport FS from 'fs-extra'\nimport Path from 'path'\nimport IProjectParam from '../interface/IProjectParam'\nimport ITemplate from '../interface/ITemplate'\nimport json from '../template/template.json'\n\n/**\n * TemplateUtil\n */\nclass TemplateUtil {\n static async requestTemplateList(): Promise<ITemplate[]> {\n return json\n }\n\n /**\n * 验证项目名称,只能包含:字母、数字、-、_\n * @param value\n * @returns\n */\n static validateProjectName(value: string): boolean | string {\n const reg = /^[0-9a-zA-Z_\\u4e00-\\u9fa5\\-]+$/\n if (!value) {\n return `Please enter a project name`\n }\n if (!reg.test(value)) {\n return 'The project name can contain only Chinese, letters, number, _ , -'\n }\n\n return true\n }\n\n static async createXtsProject() {}\n\n static async createProject(\n param: IProjectParam,\n keywords?: {\n data: Record<string, string>\n includes?: (path: string) => boolean\n },\n plugins?: ((projectPath: string, param: IProjectParam) => Promise<void>)[]\n ) {\n const { name, template, aspect } = param\n\n // 获取项目名称和绝对路径,如果存在,则再次输入\n let projectName = name\n let projectAbsolutePath = Path.join(process.cwd(), projectName)\n while (FS.existsSync(projectAbsolutePath)) {\n console.log(`${projectAbsolutePath} exists. `)\n projectName = await input({\n message: 'please new project name',\n validate: this.validateProjectName\n })\n projectAbsolutePath = Path.join(process.cwd(), projectName)\n }\n\n FS.mkdirSync(projectAbsolutePath)\n\n // 复制模板\n if (template) {\n const { path } = template\n // 远程\n if (['http', 'git'].find((item) => path.startsWith(item))) {\n await NetworkUtil.gitClone(path, projectAbsolutePath)\n }\n //本地\n else {\n const templateAbsolutePath = Path.join(__dirname, '../template/', path)\n FS.copySync(templateAbsolutePath, projectAbsolutePath)\n // xts项目-处理aspect内容\n aspect && TemplateUtil.createAspect(projectAbsolutePath, aspect)\n }\n }\n // 遍历项目文件,替换词语\n if (keywords && keywords.data) {\n TemplateUtil.performReplace(keywords, projectAbsolutePath)\n }\n\n // 执行插件\n if (plugins) {\n for (let item of plugins) {\n await item(projectAbsolutePath, param)\n }\n }\n }\n /**\n * 遍历项目文件,替换词语\n * @param keywords\n * @param projectAbsolutePath\n */\n static performReplace(\n keywords: {\n data: Record<string, string>\n includes?: (path: string) => boolean\n },\n projectAbsolutePath: string\n ) {\n const { data, includes } = keywords\n const files = FileUtil.readAlldirSync(projectAbsolutePath, includes)\n if (files && files.length) {\n files.forEach((item) => {\n FileUtil.replaceFileContent(item, data)\n })\n }\n }\n /**\n * xts项目-处理aspect内容\n * @param projectAbsolutePath\n * @param aspect\n */\n static createAspect(projectAbsolutePath: string, aspect: string) {\n // 按照逗号分割字符串,且去掉空格\n const aspects = aspect.replace(' ', '').split(',')\n const aspectAbsolutePath = Path.join(__dirname, '../template', 'xts', 'aspect1')\n // 循环生成自定义aspect\n aspects.map((aspectItem) => {\n const targetAspectPath = Path.join(projectAbsolutePath, aspectItem)\n FS.copySync(aspectAbsolutePath, targetAspectPath)\n // 替换关键字\n TemplateUtil.performReplace(\n {\n data: { aspectName: aspectItem },\n includes: (path) => {\n const stats = FS.statSync(path)\n if (stats.isDirectory()) {\n return ['src'].includes(Path.basename(path))\n } else {\n return ['.json', '.ux'].includes(Path.extname(path))\n }\n }\n },\n targetAspectPath\n )\n })\n }\n}\nexport default TemplateUtil\n"],"sourceRoot":"../../src"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-aiot",
|
|
3
|
-
"version": "2.0.1-alpha.
|
|
3
|
+
"version": "2.0.1-alpha.11",
|
|
4
4
|
"description": "An easy way to start aiot project",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"keywords": [
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"test": "node ./__tests__/create-aiot.test.js"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@aiot-toolkit/commander": "2.0.1-alpha.
|
|
30
|
+
"@aiot-toolkit/commander": "2.0.1-alpha.11",
|
|
31
31
|
"ansi-colors": "^4.1.3",
|
|
32
32
|
"cli-progress": "^3.12.0",
|
|
33
33
|
"simple-git": "^3.19.1"
|
|
@@ -35,5 +35,5 @@
|
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@types/cli-progress": "^3.11.0"
|
|
37
37
|
},
|
|
38
|
-
"gitHead": "
|
|
38
|
+
"gitHead": "efd50ce0ed4755bc2cd12aebc5114319e75d9927"
|
|
39
39
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|