@lakutata/cli 1.0.10 → 1.0.14

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.
Files changed (29) hide show
  1. package/build/interfaces/IProjectGeneratorOptions.d.ts +1 -0
  2. package/build/lib/generators/application/ApplicationGenerator.js +1 -0
  3. package/build/lib/generators/application/ApplicationGenerator.js.map +1 -1
  4. package/build/lib/generators/application/files/AppFile.js +2 -2
  5. package/build/lib/generators/application/files/AppFile.js.map +1 -1
  6. package/build/lib/generators/component/ComponentGenerator.js +3 -1
  7. package/build/lib/generators/component/ComponentGenerator.js.map +1 -1
  8. package/build/lib/generators/module/ModuleGenerator.js +3 -1
  9. package/build/lib/generators/module/ModuleGenerator.js.map +1 -1
  10. package/build/lib/generators/plugin/PluginGenerator.js +3 -1
  11. package/build/lib/generators/plugin/PluginGenerator.js.map +1 -1
  12. package/build/lib/generators/project/ProjectGenerator.d.ts +1 -0
  13. package/build/lib/generators/project/ProjectGenerator.js +2 -1
  14. package/build/lib/generators/project/ProjectGenerator.js.map +1 -1
  15. package/build/lib/manipulators/CreateDockerFileManipulator.d.ts +3 -0
  16. package/build/lib/manipulators/CreateDockerFileManipulator.js +82 -0
  17. package/build/lib/manipulators/CreateDockerFileManipulator.js.map +1 -0
  18. package/build/lib/menus/manipulateMenus/ManipulateApplicationProject.js +6 -1
  19. package/build/lib/menus/manipulateMenus/ManipulateApplicationProject.js.map +1 -1
  20. package/package.json +2 -1
  21. package/src/interfaces/IProjectGeneratorOptions.ts +1 -0
  22. package/src/lib/generators/application/ApplicationGenerator.ts +1 -0
  23. package/src/lib/generators/application/files/AppFile.ts +2 -2
  24. package/src/lib/generators/component/ComponentGenerator.ts +3 -1
  25. package/src/lib/generators/module/ModuleGenerator.ts +3 -1
  26. package/src/lib/generators/plugin/PluginGenerator.ts +3 -1
  27. package/src/lib/generators/project/ProjectGenerator.ts +3 -1
  28. package/src/lib/manipulators/CreateDockerFileManipulator.ts +81 -0
  29. package/src/lib/menus/manipulateMenus/ManipulateApplicationProject.ts +6 -1
@@ -5,6 +5,7 @@ export interface IProjectGeneratorOptions {
5
5
  entry: string;
6
6
  packageOptions: IPreparePackageConfigOptions;
7
7
  files: ProjectSourceFile[];
8
+ testFile: string;
8
9
  directories?: string[];
9
10
  sourceDir?: string;
10
11
  outputDir?: string;
@@ -66,6 +66,7 @@ class ApplicationGenerator {
66
66
  new AppFile_1.AppFile(true),
67
67
  new ConfigFile_1.ConfigFile(this.id, this.name)
68
68
  ],
69
+ testFile: 'src/tests/App.spec.ts',
69
70
  ignores: {
70
71
  '.gitignore': [
71
72
  `${this.outputDir}`,
@@ -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.name}] is running in development mode`)');
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.name}] is running`)');
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,iEAAiE,CAAC,CAAA;aACtF;iBAAM;gBACH,MAAM,CAAC,SAAS,CAAC,6CAA6C,CAAC,CAAA;aAClE;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"}
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
- new ComponentTestFile_1.ComponentTestFile(this.entryName)
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,IAAI,qCAAiB,CAAC,IAAI,CAAC,SAAS,CAAC;aACxC;YACD,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;AA9ED,gDA8EC"}
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
- new ModuleTestFile_1.ModuleTestFile(this.entryName)
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":"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"}
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
- new PluginTestFile_1.PluginTestFile(this.entryName)
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,IAAI,+BAAc,CAAC,IAAI,CAAC,SAAS,CAAC;aACrC;YACD,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;AA9ED,0CA8EC"}
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 src/tests/**/*.spec.ts`
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":"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"}
1
+ {"version":3,"file":"ProjectGenerator.js","sourceRoot":"","sources":["../../../../src/lib/generators/project/ProjectGenerator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function CreateDockerFileManipulator(projectPath: string, tsConfigFilePath: string, directories: {
2
+ [name: string]: string;
3
+ }): Promise<void>;
@@ -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 = `${content}\n${line}`;
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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"}
@@ -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;AAS7E,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;aAC3C;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,OAAO,CAAC,CAAC;YACL,OAAO,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;SAClC;KACJ;AACL,CAAC;AAvCD,oEAuCC"}
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.10",
3
+ "version": "1.0.14",
4
4
  "description": "Lakutata CLI Tool",
5
5
  "main": "./build/CLI.js",
6
6
  "types": "./build/CLI.d.ts",
@@ -35,6 +35,7 @@
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",
39
40
  "shelljs": "^0.8.5",
40
41
  "simple-git": "^2.48.0",
@@ -6,6 +6,7 @@ export interface IProjectGeneratorOptions {
6
6
  entry: string
7
7
  packageOptions: IPreparePackageConfigOptions
8
8
  files: ProjectSourceFile[]
9
+ testFile: string
9
10
  directories?: string[]
10
11
  sourceDir?: string
11
12
  outputDir?: string
@@ -80,6 +80,7 @@ export class ApplicationGenerator implements IGenerator {
80
80
  new AppFile(true),
81
81
  new ConfigFile(this.id, this.name)
82
82
  ],
83
+ testFile: 'src/tests/App.spec.ts',
83
84
  ignores: {
84
85
  '.gitignore': [
85
86
  `${this.outputDir}`,
@@ -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.name}] is running in development mode`)')
24
+ writer.writeLine('app.Logger.info(`[${app.getName()}] is running in development mode`)')
25
25
  } else {
26
- writer.writeLine('app.Logger.info(`[${app.name}] is running`)')
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
- new ComponentTestFile(this.entryName)
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
- new ModuleTestFile(this.entryName)
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
- new PluginTestFile(this.entryName)
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 src/tests/**/*.spec.ts`
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 = `${content}\n${line}`
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
+ }
@@ -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
  }