@lakutata/cli 1.0.9 → 1.0.13
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/build/interfaces/IProjectGeneratorOptions.d.ts +1 -0
- package/build/lib/generators/application/ApplicationGenerator.js +1 -0
- package/build/lib/generators/application/ApplicationGenerator.js.map +1 -1
- package/build/lib/generators/application/files/AppFile.js +2 -2
- package/build/lib/generators/application/files/AppFile.js.map +1 -1
- package/build/lib/generators/component/ComponentGenerator.js +3 -1
- package/build/lib/generators/component/ComponentGenerator.js.map +1 -1
- package/build/lib/generators/module/ModuleGenerator.js +3 -1
- package/build/lib/generators/module/ModuleGenerator.js.map +1 -1
- package/build/lib/generators/plugin/PluginGenerator.js +3 -1
- package/build/lib/generators/plugin/PluginGenerator.js.map +1 -1
- package/build/lib/generators/project/ProjectGenerator.d.ts +1 -0
- package/build/lib/generators/project/ProjectGenerator.js +2 -1
- package/build/lib/generators/project/ProjectGenerator.js.map +1 -1
- package/build/lib/manipulators/CreateDockerFileManipulator.d.ts +3 -0
- package/build/lib/manipulators/CreateDockerFileManipulator.js +82 -0
- package/build/lib/manipulators/CreateDockerFileManipulator.js.map +1 -0
- package/build/lib/menus/initializeMenus/InitializeApplicationProject.js +3 -6
- package/build/lib/menus/initializeMenus/InitializeApplicationProject.js.map +1 -1
- package/build/lib/menus/initializeMenus/InitializeComponentProject.js +3 -6
- package/build/lib/menus/initializeMenus/InitializeComponentProject.js.map +1 -1
- package/build/lib/menus/initializeMenus/InitializeModuleProject.js +3 -6
- package/build/lib/menus/initializeMenus/InitializeModuleProject.js.map +1 -1
- package/build/lib/menus/initializeMenus/InitializePluginProject.js +3 -6
- package/build/lib/menus/initializeMenus/InitializePluginProject.js.map +1 -1
- package/build/lib/menus/manipulateMenus/ManipulateApplicationProject.js +6 -1
- package/build/lib/menus/manipulateMenus/ManipulateApplicationProject.js.map +1 -1
- package/package.json +4 -1
- package/src/interfaces/IProjectGeneratorOptions.ts +1 -0
- package/src/lib/generators/application/ApplicationGenerator.ts +1 -0
- package/src/lib/generators/application/files/AppFile.ts +2 -2
- package/src/lib/generators/component/ComponentGenerator.ts +3 -1
- package/src/lib/generators/module/ModuleGenerator.ts +3 -1
- package/src/lib/generators/plugin/PluginGenerator.ts +3 -1
- package/src/lib/generators/project/ProjectGenerator.ts +3 -1
- package/src/lib/manipulators/CreateDockerFileManipulator.ts +81 -0
- package/src/lib/menus/initializeMenus/InitializeApplicationProject.ts +3 -7
- package/src/lib/menus/initializeMenus/InitializeComponentProject.ts +3 -7
- package/src/lib/menus/initializeMenus/InitializeModuleProject.ts +3 -7
- package/src/lib/menus/initializeMenus/InitializePluginProject.ts +3 -7
- package/src/lib/menus/manipulateMenus/ManipulateApplicationProject.ts +6 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApplicationGenerator.js","sourceRoot":"","sources":["../../../../src/lib/generators/application/ApplicationGenerator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ApplicationGenerator.js","sourceRoot":"","sources":["../../../../src/lib/generators/application/ApplicationGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,10 +19,10 @@ class AppFile extends ProjectSourceFile_1.ProjectSourceFile {
|
|
|
19
19
|
file.addStatements(writer => {
|
|
20
20
|
writer.writeLine(`createApp(Config(${this.isTest ? 'false' : 'true'})).then(app=>{`);
|
|
21
21
|
if (this.isTest) {
|
|
22
|
-
writer.writeLine('app.Logger.info(`[${app.
|
|
22
|
+
writer.writeLine('app.Logger.info(`[${app.getName()}] is running in development mode`)');
|
|
23
23
|
}
|
|
24
24
|
else {
|
|
25
|
-
writer.writeLine('app.Logger.info(`[${app.
|
|
25
|
+
writer.writeLine('app.Logger.info(`[${app.getName()}] is running`)');
|
|
26
26
|
}
|
|
27
27
|
writer.writeLine('}).catch(e=>{');
|
|
28
28
|
writer.writeLine('console.error(e)');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppFile.js","sourceRoot":"","sources":["../../../../../src/lib/generators/application/files/AppFile.ts"],"names":[],"mappings":";;;AAAA,uEAAiE;AAGjE,MAAa,OAAQ,SAAQ,qCAAiB;IAI1C,YAAY,SAAkB,KAAK;QAC/B,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,YAAY,CAAA;IACnE,CAAC;IAED,cAAc,CAAC,IAAgB;QAC3B,IAAI,CAAC,oBAAoB,CAAC,EAAC,YAAY,EAAE,CAAC,WAAW,CAAC,EAAE,eAAe,EAAE,gBAAgB,EAAC,CAAC,CAAA;QAC3F,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,IAAI,CAAC,oBAAoB,CAAC,EAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,kBAAkB,EAAC,CAAC,CAAA;SAC7F;aAAM;YACH,IAAI,CAAC,oBAAoB,CAAC,EAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,iBAAiB,EAAC,CAAC,CAAA;SAC5F;QACD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;YACxB,MAAM,CAAC,SAAS,CAAC,oBAAoB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,CAAA;YACpF,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,MAAM,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"AppFile.js","sourceRoot":"","sources":["../../../../../src/lib/generators/application/files/AppFile.ts"],"names":[],"mappings":";;;AAAA,uEAAiE;AAGjE,MAAa,OAAQ,SAAQ,qCAAiB;IAI1C,YAAY,SAAkB,KAAK;QAC/B,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,YAAY,CAAA;IACnE,CAAC;IAED,cAAc,CAAC,IAAgB;QAC3B,IAAI,CAAC,oBAAoB,CAAC,EAAC,YAAY,EAAE,CAAC,WAAW,CAAC,EAAE,eAAe,EAAE,gBAAgB,EAAC,CAAC,CAAA;QAC3F,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,IAAI,CAAC,oBAAoB,CAAC,EAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,kBAAkB,EAAC,CAAC,CAAA;SAC7F;aAAM;YACH,IAAI,CAAC,oBAAoB,CAAC,EAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,iBAAiB,EAAC,CAAC,CAAA;SAC5F;QACD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;YACxB,MAAM,CAAC,SAAS,CAAC,oBAAoB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,CAAA;YACpF,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,MAAM,CAAC,SAAS,CAAC,sEAAsE,CAAC,CAAA;aAC3F;iBAAM;gBACH,MAAM,CAAC,SAAS,CAAC,kDAAkD,CAAC,CAAA;aACvE;YACD,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;YACjC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAA;YACpC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAA;YACnC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACf,CAAC;CACJ;AA/BD,0BA+BC"}
|
|
@@ -19,6 +19,7 @@ class ComponentGenerator {
|
|
|
19
19
|
this.devDependencies = options.devDependencies ? options.devDependencies : {};
|
|
20
20
|
}
|
|
21
21
|
async generate() {
|
|
22
|
+
const testFile = new ComponentTestFile_1.ComponentTestFile(this.entryName);
|
|
22
23
|
const projectGenerator = new ProjectGenerator_1.ProjectGenerator({
|
|
23
24
|
entry: this.entryName,
|
|
24
25
|
projectDirectory: this.projectPath,
|
|
@@ -50,8 +51,9 @@ class ComponentGenerator {
|
|
|
50
51
|
importLakutataCoreInDev: true,
|
|
51
52
|
files: [
|
|
52
53
|
new ComponentFile_1.ComponentFile(this.entryName),
|
|
53
|
-
|
|
54
|
+
testFile
|
|
54
55
|
],
|
|
56
|
+
testFile: testFile.filePath,
|
|
55
57
|
ignores: {
|
|
56
58
|
'.gitignore': [
|
|
57
59
|
`${this.outputDir}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentGenerator.js","sourceRoot":"","sources":["../../../../src/lib/generators/component/ComponentGenerator.ts"],"names":[],"mappings":";;;AACA,kEAA4D;AAE5D,yDAAmD;AACnD,iEAA2D;AAE3D,MAAa,kBAAkB;IAa3B,YAAY,OAAuB;QAPlB,cAAS,GAAW,QAAQ,CAAA;QAC5B,cAAS,GAAW,KAAK,CAAA;QAOtC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAA;QAC/B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QACxB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;QAClC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,0BAA0B,CAAA;QACzF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;QACxD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAA;QAC/D,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAA;QACpE,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;IACjF,CAAC;IAKM,KAAK,CAAC,QAAQ;QACjB,MAAM,gBAAgB,GAAG,IAAI,mCAAgB,CAAC;YAC1C,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,gBAAgB,EAAE,IAAI,CAAC,WAAW;YAClC,cAAc,EAAE;gBACZ,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,eAAe,EAAE,IAAI,CAAC,YAAY;gBAClC,QAAQ,EAAE;oBACN,QAAQ,EAAE;wBACN,IAAI,EAAE,WAAW;wBACjB,WAAW,EAAE;4BACT,UAAU,EAAE,gBAAgB;yBAC/B;qBACJ;iBACJ;aACJ;YACD,WAAW,EAAE;gBACT,SAAS;gBACT,gBAAgB;gBAChB,WAAW;aACd;YACD,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,uBAAuB,EAAE,IAAI;YAC7B,KAAK,EAAE;gBACH,IAAI,6BAAa,CAAC,IAAI,CAAC,SAAS,CAAC;gBACjC,
|
|
1
|
+
{"version":3,"file":"ComponentGenerator.js","sourceRoot":"","sources":["../../../../src/lib/generators/component/ComponentGenerator.ts"],"names":[],"mappings":";;;AACA,kEAA4D;AAE5D,yDAAmD;AACnD,iEAA2D;AAE3D,MAAa,kBAAkB;IAa3B,YAAY,OAAuB;QAPlB,cAAS,GAAW,QAAQ,CAAA;QAC5B,cAAS,GAAW,KAAK,CAAA;QAOtC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAA;QAC/B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QACxB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;QAClC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,0BAA0B,CAAA;QACzF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;QACxD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAA;QAC/D,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAA;QACpE,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;IACjF,CAAC;IAKM,KAAK,CAAC,QAAQ;QACjB,MAAM,QAAQ,GAAG,IAAI,qCAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACtD,MAAM,gBAAgB,GAAG,IAAI,mCAAgB,CAAC;YAC1C,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,gBAAgB,EAAE,IAAI,CAAC,WAAW;YAClC,cAAc,EAAE;gBACZ,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,eAAe,EAAE,IAAI,CAAC,YAAY;gBAClC,QAAQ,EAAE;oBACN,QAAQ,EAAE;wBACN,IAAI,EAAE,WAAW;wBACjB,WAAW,EAAE;4BACT,UAAU,EAAE,gBAAgB;yBAC/B;qBACJ;iBACJ;aACJ;YACD,WAAW,EAAE;gBACT,SAAS;gBACT,gBAAgB;gBAChB,WAAW;aACd;YACD,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,uBAAuB,EAAE,IAAI;YAC7B,KAAK,EAAE;gBACH,IAAI,6BAAa,CAAC,IAAI,CAAC,SAAS,CAAC;gBACjC,QAAQ;aACX;YACD,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,OAAO,EAAE;gBACL,YAAY,EAAE;oBACV,GAAG,IAAI,CAAC,SAAS,EAAE;oBACnB,IAAI,IAAI,CAAC,SAAS,IAAI;oBACtB,KAAK,IAAI,CAAC,SAAS,EAAE;oBACrB,IAAI,IAAI,CAAC,SAAS,GAAG;oBACrB,IAAI,IAAI,CAAC,SAAS,EAAE;iBACvB;gBACD,YAAY,EAAE;oBACV,MAAM,IAAI,CAAC,SAAS,EAAE;oBACtB,KAAK,IAAI,CAAC,SAAS,EAAE;iBACxB;aACJ;SACJ,CAAC,CAAA;QACF,MAAM,gBAAgB,CAAC,QAAQ,EAAE,CAAA;IACrC,CAAC;CACJ;AAhFD,gDAgFC"}
|
|
@@ -19,6 +19,7 @@ class ModuleGenerator {
|
|
|
19
19
|
this.devDependencies = options.devDependencies ? options.devDependencies : {};
|
|
20
20
|
}
|
|
21
21
|
async generate() {
|
|
22
|
+
const testFile = new ModuleTestFile_1.ModuleTestFile(this.entryName);
|
|
22
23
|
const projectGenerator = new ProjectGenerator_1.ProjectGenerator({
|
|
23
24
|
entry: this.entryName,
|
|
24
25
|
projectDirectory: this.projectPath,
|
|
@@ -60,8 +61,9 @@ class ModuleGenerator {
|
|
|
60
61
|
importLakutataCoreInDev: true,
|
|
61
62
|
files: [
|
|
62
63
|
new ModuleFile_1.ModuleFile(this.entryName),
|
|
63
|
-
|
|
64
|
+
testFile
|
|
64
65
|
],
|
|
66
|
+
testFile: testFile.filePath,
|
|
65
67
|
ignores: {
|
|
66
68
|
'.gitignore': [
|
|
67
69
|
`${this.outputDir}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleGenerator.js","sourceRoot":"","sources":["../../../../src/lib/generators/module/ModuleGenerator.ts"],"names":[],"mappings":";;;AAEA,kEAA4D;AAC5D,mDAA6C;AAC7C,2DAAqD;AAErD,MAAa,eAAe;IAaxB,YAAY,OAAoB;QAPf,cAAS,GAAW,QAAQ,CAAA;QAC5B,cAAS,GAAW,KAAK,CAAA;QAOtC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAA;QAC/B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QACxB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;QAClC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,uBAAuB,CAAA;QACtF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;QACxD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAA;QAC/D,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAA;QACpE,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;IACjF,CAAC;IAKM,KAAK,CAAC,QAAQ;QACjB,MAAM,gBAAgB,GAAG,IAAI,mCAAgB,CAAC;YAC1C,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,gBAAgB,EAAE,IAAI,CAAC,WAAW;YAClC,cAAc,EAAE;gBACZ,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,eAAe,EAAE,IAAI,CAAC,YAAY;gBAClC,QAAQ,EAAE;oBACN,QAAQ,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE;4BACT,OAAO,EAAE,aAAa;4BACtB,SAAS,EAAE,eAAe;4BAC1B,OAAO,EAAE,aAAa;4BACtB,UAAU,EAAE,gBAAgB;4BAC5B,OAAO,EAAE,aAAa;4BACtB,UAAU,EAAE,gBAAgB;yBAC/B;qBACJ;iBACJ;aACJ;YACD,WAAW,EAAE;gBACT,SAAS;gBACT,gBAAgB;gBAChB,aAAa;gBACb,eAAe;gBACf,aAAa;gBACb,gBAAgB;gBAChB,aAAa;gBACb,WAAW;aACd;YACD,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,uBAAuB,EAAE,IAAI;YAC7B,KAAK,EAAE;gBACH,IAAI,uBAAU,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC9B,
|
|
1
|
+
{"version":3,"file":"ModuleGenerator.js","sourceRoot":"","sources":["../../../../src/lib/generators/module/ModuleGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ class PluginGenerator {
|
|
|
19
19
|
this.devDependencies = options.devDependencies ? options.devDependencies : {};
|
|
20
20
|
}
|
|
21
21
|
async generate() {
|
|
22
|
+
const testFile = new PluginTestFile_1.PluginTestFile(this.entryName);
|
|
22
23
|
const projectGenerator = new ProjectGenerator_1.ProjectGenerator({
|
|
23
24
|
entry: this.entryName,
|
|
24
25
|
projectDirectory: this.projectPath,
|
|
@@ -50,8 +51,9 @@ class PluginGenerator {
|
|
|
50
51
|
importLakutataCoreInDev: true,
|
|
51
52
|
files: [
|
|
52
53
|
new PluginFile_1.PluginFile(this.entryName),
|
|
53
|
-
|
|
54
|
+
testFile
|
|
54
55
|
],
|
|
56
|
+
testFile: testFile.filePath,
|
|
55
57
|
ignores: {
|
|
56
58
|
'.gitignore': [
|
|
57
59
|
`${this.outputDir}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginGenerator.js","sourceRoot":"","sources":["../../../../src/lib/generators/plugin/PluginGenerator.ts"],"names":[],"mappings":";;;AAEA,kEAA4D;AAC5D,mDAA6C;AAC7C,2DAAqD;AAErD,MAAa,eAAe;IAaxB,YAAY,OAAoB;QAPf,cAAS,GAAW,QAAQ,CAAA;QAC5B,cAAS,GAAW,KAAK,CAAA;QAOtC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAA;QAC/B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QACxB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;QAClC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,uBAAuB,CAAA;QACtF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;QACxD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAA;QAC/D,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAA;QACpE,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;IACjF,CAAC;IAKM,KAAK,CAAC,QAAQ;QACjB,MAAM,gBAAgB,GAAG,IAAI,mCAAgB,CAAC;YAC1C,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,gBAAgB,EAAE,IAAI,CAAC,WAAW;YAClC,cAAc,EAAE;gBACZ,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,eAAe,EAAE,IAAI,CAAC,YAAY;gBAClC,QAAQ,EAAE;oBACN,QAAQ,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE;4BACT,UAAU,EAAE,gBAAgB;yBAC/B;qBACJ;iBACJ;aACJ;YACD,WAAW,EAAE;gBACT,SAAS;gBACT,gBAAgB;gBAChB,WAAW;aACd;YACD,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,uBAAuB,EAAE,IAAI;YAC7B,KAAK,EAAE;gBACH,IAAI,uBAAU,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC9B,
|
|
1
|
+
{"version":3,"file":"PluginGenerator.js","sourceRoot":"","sources":["../../../../src/lib/generators/plugin/PluginGenerator.ts"],"names":[],"mappings":";;;AAEA,kEAA4D;AAC5D,mDAA6C;AAC7C,2DAAqD;AAErD,MAAa,eAAe;IAaxB,YAAY,OAAoB;QAPf,cAAS,GAAW,QAAQ,CAAA;QAC5B,cAAS,GAAW,KAAK,CAAA;QAOtC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAA;QAC/B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QACxB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;QAClC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,uBAAuB,CAAA;QACtF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;QACxD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAA;QAC/D,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAA;QACpE,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;IACjF,CAAC;IAKM,KAAK,CAAC,QAAQ;QACjB,MAAM,QAAQ,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACnD,MAAM,gBAAgB,GAAG,IAAI,mCAAgB,CAAC;YAC1C,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,gBAAgB,EAAE,IAAI,CAAC,WAAW;YAClC,cAAc,EAAE;gBACZ,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,eAAe,EAAE,IAAI,CAAC,YAAY;gBAClC,QAAQ,EAAE;oBACN,QAAQ,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE;4BACT,UAAU,EAAE,gBAAgB;yBAC/B;qBACJ;iBACJ;aACJ;YACD,WAAW,EAAE;gBACT,SAAS;gBACT,gBAAgB;gBAChB,WAAW;aACd;YACD,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,uBAAuB,EAAE,IAAI;YAC7B,KAAK,EAAE;gBACH,IAAI,uBAAU,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC9B,QAAQ;aACX;YACD,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,OAAO,EAAE;gBACL,YAAY,EAAE;oBACV,GAAG,IAAI,CAAC,SAAS,EAAE;oBACnB,IAAI,IAAI,CAAC,SAAS,IAAI;oBACtB,KAAK,IAAI,CAAC,SAAS,EAAE;oBACrB,IAAI,IAAI,CAAC,SAAS,GAAG;oBACrB,IAAI,IAAI,CAAC,SAAS,EAAE;iBACvB;gBACD,YAAY,EAAE;oBACV,MAAM,IAAI,CAAC,SAAS,EAAE;oBACtB,KAAK,IAAI,CAAC,SAAS,EAAE;iBACxB;aACJ;SACJ,CAAC,CAAA;QACF,MAAM,gBAAgB,CAAC,QAAQ,EAAE,CAAA;IACrC,CAAC;CACJ;AAhFD,0CAgFC"}
|
|
@@ -12,6 +12,7 @@ export declare class ProjectGenerator implements IGenerator {
|
|
|
12
12
|
private readonly files;
|
|
13
13
|
private readonly ignores;
|
|
14
14
|
private readonly lakutataPackageName;
|
|
15
|
+
private readonly testFilePath;
|
|
15
16
|
private lakutataCoreVersion;
|
|
16
17
|
constructor(options: IProjectGeneratorOptions);
|
|
17
18
|
private checkLatestFrameworkVersion;
|
|
@@ -20,6 +20,7 @@ class ProjectGenerator {
|
|
|
20
20
|
this.projectEntryPoint = options.entry;
|
|
21
21
|
this.packageOptions = options.packageOptions;
|
|
22
22
|
this.files = options.files;
|
|
23
|
+
this.testFilePath = options.testFile;
|
|
23
24
|
this.directories = options.directories ? options.directories : [];
|
|
24
25
|
this.sourceDir = options.sourceDir ? options.sourceDir : 'src';
|
|
25
26
|
this.outputDir = options.outputDir ? options.outputDir : 'build';
|
|
@@ -88,7 +89,7 @@ class ProjectGenerator {
|
|
|
88
89
|
rebuild: `npm run clean && npm run build`,
|
|
89
90
|
prepare: `npm run compile`,
|
|
90
91
|
compile: `npm run rebuild && shx rm -rf ./${this.outputDir}/tests/*`,
|
|
91
|
-
test: `node -r ./node_modules/ts-node/register
|
|
92
|
+
test: `node -r ./node_modules/ts-node/register ${this.testFilePath}`
|
|
92
93
|
};
|
|
93
94
|
packageConfig.scripts = options.scripts ? Object.assign(packageConfig.scripts, options.scripts) : packageConfig.scripts;
|
|
94
95
|
packageConfig.dependencies = options.dependencies ? Object.assign(packageConfig.dependencies, options.dependencies) : packageConfig.dependencies;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectGenerator.js","sourceRoot":"","sources":["../../../../src/lib/generators/project/ProjectGenerator.ts"],"names":[],"mappings":";;;;;;AAAA,uCAAoC;AACpC,gDAAuB;AACvB,+EAAyE;AACzE,yEAAmE;AAEnE,2EAAqE;AACrE,4DAAsF;AAItF,4DAAsD;AAEtD,oEAA0C;AAE1C,MAAa,gBAAgB;
|
|
1
|
+
{"version":3,"file":"ProjectGenerator.js","sourceRoot":"","sources":["../../../../src/lib/generators/project/ProjectGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.CreateDockerFileManipulator = void 0;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const moment_timezone_1 = __importDefault(require("moment-timezone"));
|
|
10
|
+
function generateDockerfileContent(timezone, envName, outDir, entryPoint) {
|
|
11
|
+
const dockerFileContents = [
|
|
12
|
+
'FROM node:14-buster-slim',
|
|
13
|
+
'#Set docker timezone',
|
|
14
|
+
`ENV TZ=${timezone}`,
|
|
15
|
+
`ENV NODE_ENV=${envName}`,
|
|
16
|
+
'RUN set -eux',
|
|
17
|
+
'RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime',
|
|
18
|
+
'RUN echo $TZ > /etc/timezone',
|
|
19
|
+
'#Install system level dependencies',
|
|
20
|
+
'RUN npm install -g npm typescript ts-node',
|
|
21
|
+
'#Process project directories',
|
|
22
|
+
'RUN mkdir -p /app',
|
|
23
|
+
'WORKDIR /app',
|
|
24
|
+
'COPY . /app/',
|
|
25
|
+
'RUN rm -rf /app/node_modules',
|
|
26
|
+
`RUN rm -rf ${path_1.default.resolve('/app/', outDir)}`,
|
|
27
|
+
'RUN npm install --build-from-source',
|
|
28
|
+
'RUN tsc',
|
|
29
|
+
'#Expose ports',
|
|
30
|
+
'#Todo export ports or remove this line',
|
|
31
|
+
`ENTRYPOINT node ${path_1.default.resolve('/app/', entryPoint)}`
|
|
32
|
+
];
|
|
33
|
+
let content = '';
|
|
34
|
+
dockerFileContents.forEach(line => {
|
|
35
|
+
content = `${line}\n`;
|
|
36
|
+
});
|
|
37
|
+
return content;
|
|
38
|
+
}
|
|
39
|
+
async function CreateDockerFileManipulator(projectPath, tsConfigFilePath, directories) {
|
|
40
|
+
var _a, _b;
|
|
41
|
+
try {
|
|
42
|
+
const timezone = moment_timezone_1.default.tz.guess();
|
|
43
|
+
const tsConfigJson = JSON.parse(fs_1.default.readFileSync(tsConfigFilePath).toString());
|
|
44
|
+
const outDir = (_a = tsConfigJson === null || tsConfigJson === void 0 ? void 0 : tsConfigJson.compilerOptions) === null || _a === void 0 ? void 0 : _a.outDir;
|
|
45
|
+
if (!outDir)
|
|
46
|
+
return console.error('项目输出目录设置有误');
|
|
47
|
+
const packageJson = JSON.parse(fs_1.default.readFileSync(path_1.default.resolve(projectPath, './package.json')).toString());
|
|
48
|
+
const mainEntry = (packageJson === null || packageJson === void 0 ? void 0 : packageJson.main) ? packageJson.main : '';
|
|
49
|
+
if (!mainEntry)
|
|
50
|
+
return console.error('应用程序主入口设置有误');
|
|
51
|
+
const dockerfiles = {};
|
|
52
|
+
dockerfiles.Dockerfile = generateDockerfileContent(timezone, 'production', outDir, mainEntry);
|
|
53
|
+
if ((_b = packageJson === null || packageJson === void 0 ? void 0 : packageJson.scripts) === null || _b === void 0 ? void 0 : _b.test) {
|
|
54
|
+
const testScriptString = packageJson.scripts.test;
|
|
55
|
+
const testScriptParams = testScriptString.split(' ').reverse();
|
|
56
|
+
let testEntryPoint = '';
|
|
57
|
+
for (const testScriptParam of testScriptParams) {
|
|
58
|
+
const regExp = /src\//;
|
|
59
|
+
if (['.ts', '.js'].includes(path_1.default.extname(testScriptParam)) && regExp.test(testScriptParam)) {
|
|
60
|
+
testEntryPoint = testScriptParam.replace('src/', `${outDir}/`);
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (testEntryPoint) {
|
|
65
|
+
dockerfiles.DockerfileDev = generateDockerfileContent(timezone, 'development', outDir, testEntryPoint);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
for (const dockerfileName of Object.keys(dockerfiles)) {
|
|
69
|
+
fs_1.default.writeFileSync(path_1.default.resolve(projectPath, dockerfileName), dockerfiles[dockerfileName], {
|
|
70
|
+
encoding: 'utf-8',
|
|
71
|
+
flag: 'w'
|
|
72
|
+
});
|
|
73
|
+
console.info(dockerfileName, '写入成功');
|
|
74
|
+
}
|
|
75
|
+
console.info('Dockerfile已创建成功');
|
|
76
|
+
}
|
|
77
|
+
catch (e) {
|
|
78
|
+
console.error(`Dockerfile创建错误: ${e.message}`);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
exports.CreateDockerFileManipulator = CreateDockerFileManipulator;
|
|
82
|
+
//# sourceMappingURL=CreateDockerFileManipulator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CreateDockerFileManipulator.js","sourceRoot":"","sources":["../../../src/lib/manipulators/CreateDockerFileManipulator.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ exports.InitializeApplicationProject = void 0;
|
|
|
7
7
|
const inquirer_1 = __importDefault(require("inquirer"));
|
|
8
8
|
const ApplicationGenerator_1 = require("../../generators/application/ApplicationGenerator");
|
|
9
9
|
const LicenseList_1 = require("../../../constants/LicenseList");
|
|
10
|
-
const
|
|
10
|
+
const shelljs_1 = __importDefault(require("shelljs"));
|
|
11
11
|
async function InitializeApplicationProject(projectPath) {
|
|
12
12
|
const options = await inquirer_1.default.prompt([
|
|
13
13
|
{
|
|
@@ -81,11 +81,8 @@ async function InitializeApplicationProject(projectPath) {
|
|
|
81
81
|
console.info('正在生成项目文件');
|
|
82
82
|
await applicationProject.generate();
|
|
83
83
|
console.info('项目文件生成成功');
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
console.info('应用初始化完成!');
|
|
87
|
-
});
|
|
88
|
-
});
|
|
84
|
+
shelljs_1.default.cd(projectPath).exec('npm install --build-from-source --unsafe-perm', { silent: true, async: false });
|
|
85
|
+
console.info('应用初始化完成!');
|
|
89
86
|
}
|
|
90
87
|
catch (e) {
|
|
91
88
|
console.error(`项目生成错误: ${e.message}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InitializeApplicationProject.js","sourceRoot":"","sources":["../../../../src/lib/menus/initializeMenus/InitializeApplicationProject.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA+B;AAC/B,4FAAsF;AACtF,gEAA0D;
|
|
1
|
+
{"version":3,"file":"InitializeApplicationProject.js","sourceRoot":"","sources":["../../../../src/lib/menus/initializeMenus/InitializeApplicationProject.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ exports.InitializeComponentProject = void 0;
|
|
|
7
7
|
const inquirer_1 = __importDefault(require("inquirer"));
|
|
8
8
|
const ComponentGenerator_1 = require("../../generators/component/ComponentGenerator");
|
|
9
9
|
const LicenseList_1 = require("../../../constants/LicenseList");
|
|
10
|
-
const
|
|
10
|
+
const shelljs_1 = __importDefault(require("shelljs"));
|
|
11
11
|
async function InitializeComponentProject(projectPath) {
|
|
12
12
|
const options = await inquirer_1.default.prompt([
|
|
13
13
|
{
|
|
@@ -81,11 +81,8 @@ async function InitializeComponentProject(projectPath) {
|
|
|
81
81
|
console.info('正在生成项目文件');
|
|
82
82
|
await componentGenerator.generate();
|
|
83
83
|
console.info('项目文件生成成功');
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
console.info('应用初始化完成!');
|
|
87
|
-
});
|
|
88
|
-
});
|
|
84
|
+
shelljs_1.default.cd(projectPath).exec('npm install --build-from-source --unsafe-perm', { silent: true, async: false });
|
|
85
|
+
console.info('应用初始化完成!');
|
|
89
86
|
}
|
|
90
87
|
catch (e) {
|
|
91
88
|
console.error(`项目生成错误: ${e.message}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InitializeComponentProject.js","sourceRoot":"","sources":["../../../../src/lib/menus/initializeMenus/InitializeComponentProject.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA+B;AAC/B,sFAAgF;AAChF,gEAA0D;
|
|
1
|
+
{"version":3,"file":"InitializeComponentProject.js","sourceRoot":"","sources":["../../../../src/lib/menus/initializeMenus/InitializeComponentProject.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ exports.InitializeModuleProject = void 0;
|
|
|
7
7
|
const inquirer_1 = __importDefault(require("inquirer"));
|
|
8
8
|
const LicenseList_1 = require("../../../constants/LicenseList");
|
|
9
9
|
const ModuleGenerator_1 = require("../../generators/module/ModuleGenerator");
|
|
10
|
-
const
|
|
10
|
+
const shelljs_1 = __importDefault(require("shelljs"));
|
|
11
11
|
async function InitializeModuleProject(projectPath) {
|
|
12
12
|
const options = await inquirer_1.default.prompt([
|
|
13
13
|
{
|
|
@@ -81,11 +81,8 @@ async function InitializeModuleProject(projectPath) {
|
|
|
81
81
|
console.info('正在生成项目文件');
|
|
82
82
|
await moduleGenerator.generate();
|
|
83
83
|
console.info('项目文件生成成功');
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
console.info('应用初始化完成!');
|
|
87
|
-
});
|
|
88
|
-
});
|
|
84
|
+
shelljs_1.default.cd(projectPath).exec('npm install --build-from-source --unsafe-perm', { silent: true, async: false });
|
|
85
|
+
console.info('应用初始化完成!');
|
|
89
86
|
}
|
|
90
87
|
catch (e) {
|
|
91
88
|
console.error(`项目生成错误: ${e.message}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InitializeModuleProject.js","sourceRoot":"","sources":["../../../../src/lib/menus/initializeMenus/InitializeModuleProject.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA+B;AAC/B,gEAA0D;AAC1D,6EAAuE;
|
|
1
|
+
{"version":3,"file":"InitializeModuleProject.js","sourceRoot":"","sources":["../../../../src/lib/menus/initializeMenus/InitializeModuleProject.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ exports.InitializePluginProject = void 0;
|
|
|
7
7
|
const inquirer_1 = __importDefault(require("inquirer"));
|
|
8
8
|
const LicenseList_1 = require("../../../constants/LicenseList");
|
|
9
9
|
const PluginGenerator_1 = require("../../generators/plugin/PluginGenerator");
|
|
10
|
-
const
|
|
10
|
+
const shelljs_1 = __importDefault(require("shelljs"));
|
|
11
11
|
async function InitializePluginProject(projectPath) {
|
|
12
12
|
const options = await inquirer_1.default.prompt([
|
|
13
13
|
{
|
|
@@ -81,11 +81,8 @@ async function InitializePluginProject(projectPath) {
|
|
|
81
81
|
console.info('正在生成项目文件');
|
|
82
82
|
await pluginGenerator.generate();
|
|
83
83
|
console.info('项目文件生成成功');
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
console.info('应用初始化完成!');
|
|
87
|
-
});
|
|
88
|
-
});
|
|
84
|
+
shelljs_1.default.cd(projectPath).exec('npm install --build-from-source --unsafe-perm', { silent: true, async: false });
|
|
85
|
+
console.info('应用初始化完成!');
|
|
89
86
|
}
|
|
90
87
|
catch (e) {
|
|
91
88
|
console.error(`项目生成错误: ${e.message}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InitializePluginProject.js","sourceRoot":"","sources":["../../../../src/lib/menus/initializeMenus/InitializePluginProject.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA+B;AAC/B,gEAA0D;AAC1D,6EAAuE;
|
|
1
|
+
{"version":3,"file":"InitializePluginProject.js","sourceRoot":"","sources":["../../../../src/lib/menus/initializeMenus/InitializePluginProject.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ const CreateModuleManipulator_1 = require("../../manipulators/CreateModuleManipu
|
|
|
11
11
|
const CreatePluginManipulator_1 = require("../../manipulators/CreatePluginManipulator");
|
|
12
12
|
const CreateThreadManipulator_1 = require("../../manipulators/CreateThreadManipulator");
|
|
13
13
|
const CreateProcessManipulator_1 = require("../../manipulators/CreateProcessManipulator");
|
|
14
|
+
const CreateDockerFileManipulator_1 = require("../../manipulators/CreateDockerFileManipulator");
|
|
14
15
|
async function ManipulateApplicationProject(projectPath, tsConfigFilePath, lakutataProjectInfo) {
|
|
15
16
|
const projectDirectories = lakutataProjectInfo.directories;
|
|
16
17
|
const configuration = lakutataProjectInfo.configuration;
|
|
@@ -24,7 +25,8 @@ async function ManipulateApplicationProject(projectPath, tsConfigFilePath, lakut
|
|
|
24
25
|
{ name: '创建项目模块', value: 'createModule' },
|
|
25
26
|
{ name: '创建项目插件', value: 'createPlugin' },
|
|
26
27
|
{ name: '创建项目线程', value: 'createThread' },
|
|
27
|
-
{ name: '创建项目进程', value: 'createProcess' }
|
|
28
|
+
{ name: '创建项目进程', value: 'createProcess' },
|
|
29
|
+
{ name: '创建DockerFile', value: 'createDockerFile' }
|
|
28
30
|
]
|
|
29
31
|
}]);
|
|
30
32
|
switch (opt.opr) {
|
|
@@ -46,6 +48,9 @@ async function ManipulateApplicationProject(projectPath, tsConfigFilePath, lakut
|
|
|
46
48
|
case 'createProcess': {
|
|
47
49
|
return await (0, CreateProcessManipulator_1.CreateProcessManipulator)(projectPath, tsConfigFilePath, projectDirectories);
|
|
48
50
|
}
|
|
51
|
+
case 'createDockerFile': {
|
|
52
|
+
return await (0, CreateDockerFileManipulator_1.CreateDockerFileManipulator)(projectPath, tsConfigFilePath, projectDirectories);
|
|
53
|
+
}
|
|
49
54
|
default: {
|
|
50
55
|
return console.error('无效的操作选项');
|
|
51
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManipulateApplicationProject.js","sourceRoot":"","sources":["../../../../src/lib/menus/manipulateMenus/ManipulateApplicationProject.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA+B;AAC/B,4GAAsG;AACtG,8FAAwF;AACxF,wFAAkF;AAClF,wFAAkF;AAClF,wFAAkF;AAClF,0FAAoF;
|
|
1
|
+
{"version":3,"file":"ManipulateApplicationProject.js","sourceRoot":"","sources":["../../../../src/lib/menus/manipulateMenus/ManipulateApplicationProject.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA+B;AAC/B,4GAAsG;AACtG,8FAAwF;AACxF,wFAAkF;AAClF,wFAAkF;AAClF,wFAAkF;AAClF,0FAAoF;AACpF,gGAA0F;AASnF,KAAK,UAAU,4BAA4B,CAAC,WAAmB,EAAE,gBAAwB,EAAE,mBAAwB;IACtH,MAAM,kBAAkB,GAA+B,mBAAmB,CAAC,WAAW,CAAA;IACtF,MAAM,aAAa,GAAW,mBAAmB,CAAC,aAAa,CAAA;IAC/D,MAAM,GAAG,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC,CAAC;YAC/B,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE;gBACL,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAC;gBACvC,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAC;gBAC1C,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAC;gBACvC,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAC;gBACvC,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAC;gBACvC,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAC;gBACxC,EAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,kBAAkB,EAAC;aACpD;SACJ,CAAC,CAAC,CAAA;IACH,QAAQ,GAAG,CAAC,GAAG,EAAE;QACb,KAAK,cAAc,CAAC,CAAC;YACjB,OAAO,MAAM,IAAA,yDAA2B,EAAC,WAAW,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAA;SACzF;QACD,KAAK,iBAAiB,CAAC,CAAC;YACpB,OAAO,MAAM,IAAA,uDAA0B,EAAC,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAA;SAC7F;QACD,KAAK,cAAc,CAAC,CAAC;YACjB,OAAO,MAAM,IAAA,iDAAuB,EAAC,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAA;SAC1F;QACD,KAAK,cAAc,CAAC,CAAC;YACjB,OAAO,MAAM,IAAA,iDAAuB,EAAC,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAA;SAC1F;QACD,KAAK,cAAc,CAAC,CAAC;YACjB,OAAO,MAAM,IAAA,iDAAuB,EAAC,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAA;SAC1F;QACD,KAAK,eAAe,CAAC,CAAC;YAClB,OAAO,MAAM,IAAA,mDAAwB,EAAC,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAA;SAC3F;QACD,KAAK,kBAAkB,CAAC,CAAC;YACrB,OAAO,MAAM,IAAA,yDAA2B,EAAC,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAA;SAC9F;QACD,OAAO,CAAC,CAAC;YACL,OAAO,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;SAClC;KACJ;AACL,CAAC;AA3CD,oEA2CC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lakutata/cli",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.13",
|
|
4
4
|
"description": "Lakutata CLI Tool",
|
|
5
5
|
"main": "./build/CLI.js",
|
|
6
6
|
"types": "./build/CLI.d.ts",
|
|
@@ -35,7 +35,9 @@
|
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"inquirer": "^8.2.0",
|
|
37
37
|
"latest-version": "^5.1.0",
|
|
38
|
+
"moment-timezone": "^0.5.34",
|
|
38
39
|
"semver": "^7.3.5",
|
|
40
|
+
"shelljs": "^0.8.5",
|
|
39
41
|
"simple-git": "^2.48.0",
|
|
40
42
|
"ts-morph": "^13.0.2"
|
|
41
43
|
},
|
|
@@ -44,6 +46,7 @@
|
|
|
44
46
|
"@types/inquirer": "^8.1.3",
|
|
45
47
|
"@types/node": "^16.11.7",
|
|
46
48
|
"@types/semver": "^7.3.9",
|
|
49
|
+
"@types/shelljs": "^0.8.10",
|
|
47
50
|
"@types/update-notifier": "^5.1.0",
|
|
48
51
|
"@typescript-eslint/eslint-plugin": "^4.27.0",
|
|
49
52
|
"@typescript-eslint/parser": "^4.27.0",
|
|
@@ -21,9 +21,9 @@ export class AppFile extends ProjectSourceFile {
|
|
|
21
21
|
file.addStatements(writer => {
|
|
22
22
|
writer.writeLine(`createApp(Config(${this.isTest ? 'false' : 'true'})).then(app=>{`)
|
|
23
23
|
if (this.isTest) {
|
|
24
|
-
writer.writeLine('app.Logger.info(`[${app.
|
|
24
|
+
writer.writeLine('app.Logger.info(`[${app.getName()}] is running in development mode`)')
|
|
25
25
|
} else {
|
|
26
|
-
writer.writeLine('app.Logger.info(`[${app.
|
|
26
|
+
writer.writeLine('app.Logger.info(`[${app.getName()}] is running`)')
|
|
27
27
|
}
|
|
28
28
|
writer.writeLine('}).catch(e=>{')
|
|
29
29
|
writer.writeLine('console.error(e)')
|
|
@@ -33,6 +33,7 @@ export class ComponentGenerator implements IGenerator {
|
|
|
33
33
|
* 生成组件项目
|
|
34
34
|
*/
|
|
35
35
|
public async generate(): Promise<void> {
|
|
36
|
+
const testFile = new ComponentTestFile(this.entryName)
|
|
36
37
|
const projectGenerator = new ProjectGenerator({
|
|
37
38
|
entry: this.entryName,
|
|
38
39
|
projectDirectory: this.projectPath,
|
|
@@ -64,8 +65,9 @@ export class ComponentGenerator implements IGenerator {
|
|
|
64
65
|
importLakutataCoreInDev: true,
|
|
65
66
|
files: [
|
|
66
67
|
new ComponentFile(this.entryName),
|
|
67
|
-
|
|
68
|
+
testFile
|
|
68
69
|
],
|
|
70
|
+
testFile: testFile.filePath,
|
|
69
71
|
ignores: {
|
|
70
72
|
'.gitignore': [
|
|
71
73
|
`${this.outputDir}`,
|
|
@@ -33,6 +33,7 @@ export class ModuleGenerator implements IGenerator {
|
|
|
33
33
|
* 生成模块项目
|
|
34
34
|
*/
|
|
35
35
|
public async generate(): Promise<void> {
|
|
36
|
+
const testFile = new ModuleTestFile(this.entryName)
|
|
36
37
|
const projectGenerator = new ProjectGenerator({
|
|
37
38
|
entry: this.entryName,
|
|
38
39
|
projectDirectory: this.projectPath,
|
|
@@ -74,8 +75,9 @@ export class ModuleGenerator implements IGenerator {
|
|
|
74
75
|
importLakutataCoreInDev: true,
|
|
75
76
|
files: [
|
|
76
77
|
new ModuleFile(this.entryName),
|
|
77
|
-
|
|
78
|
+
testFile
|
|
78
79
|
],
|
|
80
|
+
testFile: testFile.filePath,
|
|
79
81
|
ignores: {
|
|
80
82
|
'.gitignore': [
|
|
81
83
|
`${this.outputDir}`,
|
|
@@ -33,6 +33,7 @@ export class PluginGenerator implements IGenerator {
|
|
|
33
33
|
* 生成插件项目
|
|
34
34
|
*/
|
|
35
35
|
public async generate(): Promise<void> {
|
|
36
|
+
const testFile = new PluginTestFile(this.entryName)
|
|
36
37
|
const projectGenerator = new ProjectGenerator({
|
|
37
38
|
entry: this.entryName,
|
|
38
39
|
projectDirectory: this.projectPath,
|
|
@@ -64,8 +65,9 @@ export class PluginGenerator implements IGenerator {
|
|
|
64
65
|
importLakutataCoreInDev: true,
|
|
65
66
|
files: [
|
|
66
67
|
new PluginFile(this.entryName),
|
|
67
|
-
|
|
68
|
+
testFile
|
|
68
69
|
],
|
|
70
|
+
testFile: testFile.filePath,
|
|
69
71
|
ignores: {
|
|
70
72
|
'.gitignore': [
|
|
71
73
|
`${this.outputDir}`,
|
|
@@ -24,6 +24,7 @@ export class ProjectGenerator implements IGenerator {
|
|
|
24
24
|
private readonly files: ProjectSourceFile[]
|
|
25
25
|
private readonly ignores: { [ignoreName: string]: string[] }
|
|
26
26
|
private readonly lakutataPackageName: string = '@lakutata/core'
|
|
27
|
+
private readonly testFilePath: string
|
|
27
28
|
private lakutataCoreVersion: string
|
|
28
29
|
|
|
29
30
|
constructor(options: IProjectGeneratorOptions) {
|
|
@@ -32,6 +33,7 @@ export class ProjectGenerator implements IGenerator {
|
|
|
32
33
|
this.projectEntryPoint = options.entry
|
|
33
34
|
this.packageOptions = options.packageOptions
|
|
34
35
|
this.files = options.files
|
|
36
|
+
this.testFilePath = options.testFile
|
|
35
37
|
this.directories = options.directories ? options.directories : []
|
|
36
38
|
this.sourceDir = options.sourceDir ? options.sourceDir : 'src'
|
|
37
39
|
this.outputDir = options.outputDir ? options.outputDir : 'build'
|
|
@@ -117,7 +119,7 @@ export class ProjectGenerator implements IGenerator {
|
|
|
117
119
|
rebuild: `npm run clean && npm run build`,
|
|
118
120
|
prepare: `npm run compile`,
|
|
119
121
|
compile: `npm run rebuild && shx rm -rf ./${this.outputDir}/tests/*`,
|
|
120
|
-
test: `node -r ./node_modules/ts-node/register
|
|
122
|
+
test: `node -r ./node_modules/ts-node/register ${this.testFilePath}`
|
|
121
123
|
}
|
|
122
124
|
packageConfig.scripts = options.scripts ? Object.assign(packageConfig.scripts, options.scripts) : packageConfig.scripts
|
|
123
125
|
packageConfig.dependencies = options.dependencies ? Object.assign(packageConfig.dependencies, options.dependencies) : packageConfig.dependencies
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import fs from 'fs'
|
|
2
|
+
import path from 'path'
|
|
3
|
+
import moment from 'moment-timezone'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* 生成Dockerfile文件内容
|
|
7
|
+
* @param timezone
|
|
8
|
+
* @param envName
|
|
9
|
+
* @param outDir
|
|
10
|
+
* @param entryPoint
|
|
11
|
+
*/
|
|
12
|
+
function generateDockerfileContent(timezone: string, envName: string, outDir: string, entryPoint: string): string {
|
|
13
|
+
const dockerFileContents: string[] = [
|
|
14
|
+
'FROM node:14-buster-slim',
|
|
15
|
+
'#Set docker timezone',
|
|
16
|
+
`ENV TZ=${timezone}`,
|
|
17
|
+
`ENV NODE_ENV=${envName}`,
|
|
18
|
+
'RUN set -eux',
|
|
19
|
+
'RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime',
|
|
20
|
+
'RUN echo $TZ > /etc/timezone',
|
|
21
|
+
'#Install system level dependencies',
|
|
22
|
+
'RUN npm install -g npm typescript ts-node',
|
|
23
|
+
'#Process project directories',
|
|
24
|
+
'RUN mkdir -p /app',
|
|
25
|
+
'WORKDIR /app',
|
|
26
|
+
'COPY . /app/',
|
|
27
|
+
'RUN rm -rf /app/node_modules',
|
|
28
|
+
`RUN rm -rf ${path.resolve('/app/', outDir)}`,
|
|
29
|
+
'RUN npm install --build-from-source',
|
|
30
|
+
'RUN tsc',
|
|
31
|
+
'#Expose ports',
|
|
32
|
+
'#Todo export ports or remove this line',
|
|
33
|
+
`ENTRYPOINT node ${path.resolve('/app/', entryPoint)}`
|
|
34
|
+
]
|
|
35
|
+
let content: string = ''
|
|
36
|
+
dockerFileContents.forEach(line => {
|
|
37
|
+
content = `${line}\n`
|
|
38
|
+
})
|
|
39
|
+
return content
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export async function CreateDockerFileManipulator(projectPath: string, tsConfigFilePath: string, directories: { [name: string]: string }) {
|
|
43
|
+
try {
|
|
44
|
+
const timezone = moment.tz.guess()
|
|
45
|
+
const tsConfigJson = JSON.parse(fs.readFileSync(tsConfigFilePath).toString())
|
|
46
|
+
const outDir: string = tsConfigJson?.compilerOptions?.outDir
|
|
47
|
+
if (!outDir) return console.error('项目输出目录设置有误')
|
|
48
|
+
const packageJson = JSON.parse(fs.readFileSync(path.resolve(projectPath, './package.json')).toString())
|
|
49
|
+
const mainEntry: string = packageJson?.main ? packageJson.main : ''
|
|
50
|
+
if (!mainEntry) return console.error('应用程序主入口设置有误')
|
|
51
|
+
const dockerfiles: { [key: string]: string } = {}
|
|
52
|
+
dockerfiles.Dockerfile = generateDockerfileContent(timezone, 'production', outDir, mainEntry)
|
|
53
|
+
if (packageJson?.scripts?.test) {
|
|
54
|
+
//有测试主入口
|
|
55
|
+
const testScriptString: string = packageJson.scripts.test
|
|
56
|
+
const testScriptParams: string[] = testScriptString.split(' ').reverse()
|
|
57
|
+
let testEntryPoint: string = ''
|
|
58
|
+
for (const testScriptParam of testScriptParams) {
|
|
59
|
+
const regExp = /src\//
|
|
60
|
+
if (['.ts', '.js'].includes(path.extname(testScriptParam)) && regExp.test(testScriptParam)) {
|
|
61
|
+
testEntryPoint = testScriptParam.replace('src/', `${outDir}/`)
|
|
62
|
+
break
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
if (testEntryPoint) {
|
|
66
|
+
dockerfiles.DockerfileDev = generateDockerfileContent(timezone, 'development', outDir, testEntryPoint)
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
for (const dockerfileName of Object.keys(dockerfiles)) {
|
|
70
|
+
//生成文件
|
|
71
|
+
fs.writeFileSync(path.resolve(projectPath, dockerfileName), dockerfiles[dockerfileName], {
|
|
72
|
+
encoding: 'utf-8',
|
|
73
|
+
flag: 'w'
|
|
74
|
+
})
|
|
75
|
+
console.info(dockerfileName, '写入成功')
|
|
76
|
+
}
|
|
77
|
+
console.info('Dockerfile已创建成功')
|
|
78
|
+
} catch (e) {
|
|
79
|
+
console.error(`Dockerfile创建错误: ${(e as Error).message}`)
|
|
80
|
+
}
|
|
81
|
+
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import inquirer from 'inquirer'
|
|
2
2
|
import {ApplicationGenerator} from '../../generators/application/ApplicationGenerator'
|
|
3
3
|
import {LicenseList} from '../../../constants/LicenseList'
|
|
4
|
-
|
|
5
|
-
const npm = require('npm/lib/npm')
|
|
4
|
+
import shell from 'shelljs'
|
|
6
5
|
|
|
7
6
|
export async function InitializeApplicationProject(projectPath: string) {
|
|
8
7
|
const options = await inquirer.prompt([
|
|
@@ -76,11 +75,8 @@ export async function InitializeApplicationProject(projectPath: string) {
|
|
|
76
75
|
console.info('正在生成项目文件')
|
|
77
76
|
await applicationProject.generate()
|
|
78
77
|
console.info('项目文件生成成功')
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
console.info('应用初始化完成!')
|
|
82
|
-
})
|
|
83
|
-
})
|
|
78
|
+
shell.cd(projectPath).exec('npm install --build-from-source --unsafe-perm', {silent: true, async: false})
|
|
79
|
+
console.info('应用初始化完成!')
|
|
84
80
|
} catch (e) {
|
|
85
81
|
console.error(`项目生成错误: ${(e as Error).message}`)
|
|
86
82
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import inquirer from 'inquirer'
|
|
2
2
|
import {ComponentGenerator} from '../../generators/component/ComponentGenerator'
|
|
3
3
|
import {LicenseList} from '../../../constants/LicenseList'
|
|
4
|
-
|
|
5
|
-
const npm = require('npm/lib/npm')
|
|
4
|
+
import shell from 'shelljs'
|
|
6
5
|
|
|
7
6
|
export async function InitializeComponentProject(projectPath: string) {
|
|
8
7
|
const options = await inquirer.prompt([
|
|
@@ -76,11 +75,8 @@ export async function InitializeComponentProject(projectPath: string) {
|
|
|
76
75
|
console.info('正在生成项目文件')
|
|
77
76
|
await componentGenerator.generate()
|
|
78
77
|
console.info('项目文件生成成功')
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
console.info('应用初始化完成!')
|
|
82
|
-
})
|
|
83
|
-
})
|
|
78
|
+
shell.cd(projectPath).exec('npm install --build-from-source --unsafe-perm', {silent: true, async: false})
|
|
79
|
+
console.info('应用初始化完成!')
|
|
84
80
|
} catch (e) {
|
|
85
81
|
console.error(`项目生成错误: ${(e as Error).message}`)
|
|
86
82
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import inquirer from 'inquirer'
|
|
2
2
|
import {LicenseList} from '../../../constants/LicenseList'
|
|
3
3
|
import {ModuleGenerator} from '../../generators/module/ModuleGenerator'
|
|
4
|
-
|
|
5
|
-
const npm = require('npm/lib/npm')
|
|
4
|
+
import shell from 'shelljs'
|
|
6
5
|
|
|
7
6
|
export async function InitializeModuleProject(projectPath: string) {
|
|
8
7
|
const options = await inquirer.prompt([
|
|
@@ -76,11 +75,8 @@ export async function InitializeModuleProject(projectPath: string) {
|
|
|
76
75
|
console.info('正在生成项目文件')
|
|
77
76
|
await moduleGenerator.generate()
|
|
78
77
|
console.info('项目文件生成成功')
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
console.info('应用初始化完成!')
|
|
82
|
-
})
|
|
83
|
-
})
|
|
78
|
+
shell.cd(projectPath).exec('npm install --build-from-source --unsafe-perm', {silent: true, async: false})
|
|
79
|
+
console.info('应用初始化完成!')
|
|
84
80
|
} catch (e) {
|
|
85
81
|
console.error(`项目生成错误: ${(e as Error).message}`)
|
|
86
82
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import inquirer from 'inquirer'
|
|
2
2
|
import {LicenseList} from '../../../constants/LicenseList'
|
|
3
3
|
import {PluginGenerator} from '../../generators/plugin/PluginGenerator'
|
|
4
|
-
|
|
5
|
-
const npm = require('npm/lib/npm')
|
|
4
|
+
import shell from 'shelljs'
|
|
6
5
|
|
|
7
6
|
export async function InitializePluginProject(projectPath: string) {
|
|
8
7
|
const options = await inquirer.prompt([
|
|
@@ -76,11 +75,8 @@ export async function InitializePluginProject(projectPath: string) {
|
|
|
76
75
|
console.info('正在生成项目文件')
|
|
77
76
|
await pluginGenerator.generate()
|
|
78
77
|
console.info('项目文件生成成功')
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
console.info('应用初始化完成!')
|
|
82
|
-
})
|
|
83
|
-
})
|
|
78
|
+
shell.cd(projectPath).exec('npm install --build-from-source --unsafe-perm', {silent: true, async: false})
|
|
79
|
+
console.info('应用初始化完成!')
|
|
84
80
|
} catch (e) {
|
|
85
81
|
console.error(`项目生成错误: ${(e as Error).message}`)
|
|
86
82
|
}
|
|
@@ -5,6 +5,7 @@ import {CreateModuleManipulator} from '../../manipulators/CreateModuleManipulato
|
|
|
5
5
|
import {CreatePluginManipulator} from '../../manipulators/CreatePluginManipulator'
|
|
6
6
|
import {CreateThreadManipulator} from '../../manipulators/CreateThreadManipulator'
|
|
7
7
|
import {CreateProcessManipulator} from '../../manipulators/CreateProcessManipulator'
|
|
8
|
+
import {CreateDockerFileManipulator} from '../../manipulators/CreateDockerFileManipulator'
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* 操作应用程序项目
|
|
@@ -26,7 +27,8 @@ export async function ManipulateApplicationProject(projectPath: string, tsConfig
|
|
|
26
27
|
{name: '创建项目模块', value: 'createModule'},
|
|
27
28
|
{name: '创建项目插件', value: 'createPlugin'},
|
|
28
29
|
{name: '创建项目线程', value: 'createThread'},
|
|
29
|
-
{name: '创建项目进程', value: 'createProcess'}
|
|
30
|
+
{name: '创建项目进程', value: 'createProcess'},
|
|
31
|
+
{name: '创建DockerFile', value: 'createDockerFile'}
|
|
30
32
|
]
|
|
31
33
|
}])
|
|
32
34
|
switch (opt.opr) {
|
|
@@ -48,6 +50,9 @@ export async function ManipulateApplicationProject(projectPath: string, tsConfig
|
|
|
48
50
|
case 'createProcess': {
|
|
49
51
|
return await CreateProcessManipulator(projectPath, tsConfigFilePath, projectDirectories)
|
|
50
52
|
}
|
|
53
|
+
case 'createDockerFile': {
|
|
54
|
+
return await CreateDockerFileManipulator(projectPath, tsConfigFilePath, projectDirectories)
|
|
55
|
+
}
|
|
51
56
|
default: {
|
|
52
57
|
return console.error('无效的操作选项')
|
|
53
58
|
}
|