task-script-support-cli 0.3.0 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/assets/yargs-template/task-runner/package-lock.json +128 -110
  2. package/assets/yargs-template/task-runner/src/commands/verify.ts +3 -2
  3. package/assets/yargs-template/task-runner/src/services/banner-service.ts +13 -9
  4. package/assets/yargs-template/task-runner/src/tasks/banner/print-banner.ts +38 -0
  5. package/assets/yargs-template/task-runner/src/tasks/banner/resolve-banner-font.ts +70 -0
  6. package/assets/yargs-template/task-runner/src/types/state.ts +4 -0
  7. package/{dist/assets/yargs-template/task-runner/src/wrappers → assets/yargs-template/task-runner/src/wrappers/electives}/concurrent-task-group.ts +4 -4
  8. package/assets/yargs-template/task-runner/src/wrappers/electives/resolver-task.ts +87 -0
  9. package/assets/yargs-template/task-runner/src/wrappers/{sequential-task-group.ts → electives/sequential-task-group.ts} +4 -4
  10. package/assets/yargs-template/task-runner/tests/commands/verify.test.ts +14 -21
  11. package/dist/assets/yargs-template/task-runner/package-lock.json +128 -110
  12. package/dist/assets/yargs-template/task-runner/src/commands/verify.ts +3 -2
  13. package/dist/assets/yargs-template/task-runner/src/services/banner-service.ts +13 -9
  14. package/dist/assets/yargs-template/task-runner/src/tasks/banner/print-banner.ts +38 -0
  15. package/dist/assets/yargs-template/task-runner/src/tasks/banner/resolve-banner-font.ts +70 -0
  16. package/dist/assets/yargs-template/task-runner/src/types/state.ts +4 -0
  17. package/{assets/yargs-template/task-runner/src/wrappers → dist/assets/yargs-template/task-runner/src/wrappers/electives}/concurrent-task-group.ts +4 -4
  18. package/dist/assets/yargs-template/task-runner/src/wrappers/electives/resolver-task.ts +87 -0
  19. package/dist/assets/yargs-template/task-runner/src/wrappers/{sequential-task-group.ts → electives/sequential-task-group.ts} +4 -4
  20. package/dist/assets/yargs-template/task-runner/tests/commands/verify.test.ts +14 -21
  21. package/dist/package.json +1 -1
  22. package/dist/src/commands/gen.d.ts +3 -1
  23. package/dist/src/commands/gen.d.ts.map +1 -1
  24. package/dist/src/commands/gen.js +2 -0
  25. package/dist/src/commands/gen.js.map +1 -1
  26. package/dist/src/services/project-service.d.ts +21 -0
  27. package/dist/src/services/project-service.d.ts.map +1 -1
  28. package/dist/src/services/project-service.js +41 -0
  29. package/dist/src/services/project-service.js.map +1 -1
  30. package/dist/src/services/templater-service.d.ts +1 -0
  31. package/dist/src/services/templater-service.d.ts.map +1 -1
  32. package/dist/src/services/templater-service.js +9 -3
  33. package/dist/src/services/templater-service.js.map +1 -1
  34. package/dist/src/tasks/generate/generate-command.d.ts +10 -3
  35. package/dist/src/tasks/generate/generate-command.d.ts.map +1 -1
  36. package/dist/src/tasks/generate/generate-command.js +27 -11
  37. package/dist/src/tasks/generate/generate-command.js.map +1 -1
  38. package/dist/src/tasks/generate/generate-service.d.ts +10 -3
  39. package/dist/src/tasks/generate/generate-service.d.ts.map +1 -1
  40. package/dist/src/tasks/generate/generate-service.js +26 -12
  41. package/dist/src/tasks/generate/generate-service.js.map +1 -1
  42. package/dist/src/tasks/generate/generate-task.d.ts +10 -3
  43. package/dist/src/tasks/generate/generate-task.d.ts.map +1 -1
  44. package/dist/src/tasks/generate/generate-task.js +27 -13
  45. package/dist/src/tasks/generate/generate-task.js.map +1 -1
  46. package/dist/src/tasks/generate/project-context-guard.d.ts +1 -1
  47. package/dist/src/tasks/generate/project-context-guard.js +1 -1
  48. package/dist/src/tasks/generate/resolve-injectables.d.ts +56 -0
  49. package/dist/src/tasks/generate/resolve-injectables.d.ts.map +1 -0
  50. package/dist/src/tasks/generate/resolve-injectables.js +134 -0
  51. package/dist/src/tasks/generate/resolve-injectables.js.map +1 -0
  52. package/dist/src/tasks/generate/select-gen-target-name.js +4 -4
  53. package/dist/src/tasks/generate/select-gen-target-name.js.map +1 -1
  54. package/dist/src/tasks/generate/select-gen-target.d.ts +1 -1
  55. package/dist/src/tasks/generate/select-gen-target.js +2 -2
  56. package/dist/src/tasks/generate/select-gen-target.js.map +1 -1
  57. package/dist/src/tasks/stdout/print-generated-results.js +2 -2
  58. package/dist/src/tasks/stdout/print-generated-results.js.map +1 -1
  59. package/dist/src/tasks/sync-configuration.d.ts +1 -1
  60. package/dist/src/tasks/sync-configuration.js +6 -6
  61. package/dist/src/tasks/sync-configuration.js.map +1 -1
  62. package/dist/src/types/state.d.ts +7 -3
  63. package/dist/src/types/state.d.ts.map +1 -1
  64. package/dist/src/types/state.js.map +1 -1
  65. package/package.json +1 -1
  66. package/src/commands/gen.ts +2 -0
  67. package/src/services/project-service.ts +54 -0
  68. package/src/services/templater-service.ts +15 -3
  69. package/src/tasks/generate/generate-command.ts +21 -11
  70. package/src/tasks/generate/generate-service.ts +20 -11
  71. package/src/tasks/generate/generate-task.ts +21 -12
  72. package/src/tasks/generate/project-context-guard.ts +1 -1
  73. package/src/tasks/generate/resolve-injectables.ts +154 -0
  74. package/src/tasks/generate/select-gen-target-name.ts +4 -4
  75. package/src/tasks/generate/select-gen-target.ts +2 -2
  76. package/src/tasks/stdout/print-generated-results.ts +2 -2
  77. package/src/tasks/sync-configuration.ts +6 -6
  78. package/src/types/state.ts +9 -3
  79. package/assets/yargs-template/task-runner/src/tasks/print-banner.ts +0 -73
  80. package/dist/assets/yargs-template/task-runner/src/tasks/print-banner.ts +0 -73
  81. package/dist/src/wrappers/gen-app-task.d.ts +0 -50
  82. package/dist/src/wrappers/gen-app-task.d.ts.map +0 -1
  83. package/dist/src/wrappers/gen-app-task.js +0 -124
  84. package/dist/src/wrappers/gen-app-task.js.map +0 -1
  85. package/src/wrappers/gen-app-task.ts +0 -150
@@ -31,6 +31,10 @@ export const EnvironmentConfigKeys = {
31
31
  PINO_LOG_TARGET: "PINO_LOG_TARGET",
32
32
  };
33
33
 
34
+ export const DefaultValues = {
35
+ debugMode: false,
36
+ };
37
+
34
38
  export type AppTaskClass = TaskClass<AppStateData, CLIArgs>;
35
39
 
36
40
  export type Yargs = typeof yargs;
@@ -1,13 +1,13 @@
1
- import { AppTask } from "./app-task";
1
+ import { AppTask } from "../app-task";
2
2
  import { autoInjectable } from "tsyringe";
3
- import { AppTaskClass } from "../types/state";
3
+ import { AppTaskClass } from "../../types/state";
4
4
 
5
5
  /**
6
6
  * Wrapper for Running a Group of Concurrent Tasks
7
7
  *
8
- * Extend this class and override the tasks array to run tasks
8
+ * Extend this class and override the tasks field to run tasks
9
9
  * concurrently within a Task itself. The fallback run method
10
- * handles state and execution of the tasks.
10
+ * handles the state and execution of the tasks.
11
11
  */
12
12
  @autoInjectable()
13
13
  export default class ConcurrentTaskGroup extends AppTask {
@@ -0,0 +1,87 @@
1
+ import {
2
+ AppState,
3
+ AppStateData,
4
+ CLIArgs,
5
+ DefaultValues,
6
+ EnvironmentConfigKeys,
7
+ } from "../../types/state";
8
+ import { AppTask } from "../app-task";
9
+ import { autoInjectable } from "tsyringe";
10
+
11
+ /**
12
+ * ResolverTask
13
+ *
14
+ * Wrapper Task that resolves a value in the AppStateData.
15
+ *
16
+ * Allows enforcing the following order of precedence for resolving a value:
17
+ * - CLI arg (if provided)
18
+ * - Environment variable (if set)
19
+ * - Default / Fallback value
20
+ */
21
+ @autoInjectable()
22
+ export default class ResolverTask extends AppTask {
23
+ loggerName = "Resolver";
24
+
25
+ /*
26
+ Extend the class and override the following fields to customize the resolver.
27
+ */
28
+
29
+ // the target field to resolve on AppStateData
30
+ declare resolveTo: keyof AppStateData;
31
+
32
+ // arg override has highest precedence
33
+ declare argVar?: keyof CLIArgs;
34
+
35
+ // then env override
36
+ declare envVar?: keyof typeof EnvironmentConfigKeys;
37
+
38
+ // finally, a default fallback value can be provided
39
+ declare defaultKey?: keyof typeof DefaultValues;
40
+
41
+ /*
42
+ Optionally, override these methods to customize additional behavior of the resolver.
43
+ */
44
+ async getDefaultValue<T>(): Promise<T | undefined> {
45
+ return this.defaultKey ? (DefaultValues[this.defaultKey] as T) : undefined;
46
+ }
47
+ async getArg<T>(args: CLIArgs): Promise<T | undefined> {
48
+ if (this.argVar && args[this.argVar]) {
49
+ return args[this.argVar] as T;
50
+ }
51
+ }
52
+ async getEnv<T>(): Promise<T | undefined> {
53
+ if (this.envVar && process.env[this.envVar]) {
54
+ return process.env[this.envVar] as T;
55
+ }
56
+ }
57
+
58
+ /*
59
+ The ResolverTask run method keeps the resolution order consistent across all
60
+ resolver tasks. It should not be overridden subclasses.
61
+ */
62
+ async run(): Promise<Partial<AppState> | void> {
63
+ const argResult = await this.getArg(this.state.args);
64
+ if (argResult) {
65
+ return {
66
+ data: {
67
+ [this.resolveTo]: argResult,
68
+ },
69
+ };
70
+ }
71
+
72
+ const envResult = await this.getEnv();
73
+ if (envResult) {
74
+ return {
75
+ data: {
76
+ [this.resolveTo]: envResult,
77
+ },
78
+ };
79
+ }
80
+
81
+ return {
82
+ data: {
83
+ [this.resolveTo]: await this.getDefaultValue(),
84
+ },
85
+ };
86
+ }
87
+ }
@@ -1,12 +1,12 @@
1
- import { AppTask } from "./app-task";
1
+ import { AppTask } from "../app-task";
2
2
  import { autoInjectable } from "tsyringe";
3
- import { AppTaskClass } from "../types/state";
3
+ import { AppTaskClass } from "../../types/state";
4
4
 
5
5
  /**
6
6
  * Wrapper for Running a Group of Sequential Tasks
7
7
  *
8
- * Extend this class and override the tasks array to run a sequence
9
- * of tasks in order as a Task. The fallback run method handles state
8
+ * Extend this class and override the tasks field to run a sequence
9
+ * of tasks in order as a Task. The fallback run method handles the state
10
10
  * and execution of the tasks.
11
11
  */
12
12
  @autoInjectable()
@@ -1,41 +1,34 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  import { describe, it, expect, vi } from "vitest";
3
- import PrintBanner from "../../src/tasks/print-banner";
3
+ import PrintBanner from "../../src/tasks/banner/print-banner";
4
4
  import CheckEnv from "../../src/tasks/check-env";
5
5
  import { container } from "tsyringe";
6
- import { CommandService } from "task-script-support";
7
- import { AppStateData, CLIArgs } from "../../src/types/state";
6
+ import ResolveBannerFont from "../../src/tasks/banner/resolve-banner-font";
7
+ import { VerifyCommand } from "../../src/commands/verify";
8
+ import { CLIArgs } from "../../src/types/state";
8
9
 
9
- // Mock the tasks and their run methods
10
- vi.mock("../../src/tasks/print-banner", () => {
11
- const PrintBannerMock = vi.fn();
12
- PrintBannerMock.prototype.run = vi.fn();
13
- return { default: PrintBannerMock };
14
- });
15
-
16
- vi.mock("../../src/tasks/check-env", () => {
17
- const CheckEnvMock = vi.fn();
18
- CheckEnvMock.prototype.run = vi.fn();
19
- return { default: CheckEnvMock };
20
- });
10
+ vi.mock("../../src/tasks/banner/resolve-banner-font");
11
+ vi.mock("../../src/tasks/banner/print-banner");
12
+ vi.mock("../../src/tasks/check-env");
13
+ vi.mock("../../src/tasks/log-state");
21
14
 
22
15
  describe("verify command", () => {
23
16
  it("should run PrintBanner and then CheckEnv", async () => {
24
- const tasks = [PrintBanner, CheckEnv];
25
- container.register("Args", { useValue: [] });
17
+ const args: CLIArgs[] = [];
26
18
 
19
+ container.register("Args", { useValue: args });
27
20
  // when
28
- await new CommandService<AppStateData, CLIArgs>().runTasks(
29
- tasks,
30
- {} as CLIArgs,
31
- );
21
+ await container.resolve(VerifyCommand).handler(args);
32
22
 
33
23
  expect(PrintBanner).toHaveBeenCalled();
34
24
  expect(CheckEnv).toHaveBeenCalled();
35
25
 
36
26
  const printBannerInstance = (PrintBanner as any).mock.instances[0];
37
27
  const checkEnvInstance = (CheckEnv as any).mock.instances[0];
28
+ const resolveBannerFontInstance = (ResolveBannerFont as any).mock
29
+ .instances[0];
38
30
 
31
+ expect(resolveBannerFontInstance.run).toHaveBeenCalled();
39
32
  expect(printBannerInstance.run).toHaveBeenCalled();
40
33
  expect(checkEnvInstance.run).toHaveBeenCalled();
41
34
  });
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "task-script-support-cli",
3
- "version": "0.3.0",
3
+ "version": "0.3.3",
4
4
  "main": "index.js",
5
5
  "type": "commonjs",
6
6
  "preferGlobal": true,
@@ -4,11 +4,13 @@ import PrintBanner from "../tasks/stdout/print-banner";
4
4
  import SelectGenTarget from "../tasks/generate/select-gen-target";
5
5
  import GenerateService from "../tasks/generate/generate-service";
6
6
  import GenerateCommand from "../tasks/generate/generate-command";
7
+ import GenerateTask from "../tasks/generate/generate-task";
7
8
  import PrintGeneratedResults from "../tasks/stdout/print-generated-results";
8
9
  import SyncConfiguration from "../tasks/sync-configuration";
9
10
  import SelectGenTargetName from "../tasks/generate/select-gen-target-name";
10
11
  import ProjectContextGuard from "../tasks/generate/project-context-guard";
12
+ import ResolveInjectables from "../tasks/generate/resolve-injectables";
11
13
  export declare class GenCommand extends Command {
12
- tasks: (typeof PrintBanner | typeof CheckEnvironment | typeof SelectGenTarget | typeof PrintGeneratedResults | typeof SyncConfiguration | typeof SelectGenTargetName | typeof ProjectContextGuard | (typeof GenerateService | typeof GenerateCommand)[])[];
14
+ tasks: (typeof PrintBanner | typeof CheckEnvironment | typeof SelectGenTarget | typeof PrintGeneratedResults | typeof SyncConfiguration | typeof SelectGenTargetName | typeof ProjectContextGuard | typeof ResolveInjectables | (typeof GenerateService | typeof GenerateCommand | typeof GenerateTask)[])[];
13
15
  }
14
16
  //# sourceMappingURL=gen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gen.d.ts","sourceRoot":"./src/","sources":["src/commands/gen.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,WAAW,MAAM,8BAA8B,CAAC;AACvD,OAAO,eAAe,MAAM,qCAAqC,CAAC;AAClE,OAAO,eAAe,MAAM,oCAAoC,CAAC;AACjE,OAAO,eAAe,MAAM,oCAAoC,CAAC;AAEjE,OAAO,qBAAqB,MAAM,yCAAyC,CAAC;AAC5E,OAAO,iBAAiB,MAAM,6BAA6B,CAAC;AAC5D,OAAO,mBAAmB,MAAM,0CAA0C,CAAC;AAC3E,OAAO,mBAAmB,MAAM,yCAAyC,CAAC;AAE1E,qBACa,UAAW,SAAQ,OAAO;IACrC,KAAK,sPASH;CACH"}
1
+ {"version":3,"file":"gen.d.ts","sourceRoot":"./src/","sources":["src/commands/gen.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,WAAW,MAAM,8BAA8B,CAAC;AACvD,OAAO,eAAe,MAAM,qCAAqC,CAAC;AAClE,OAAO,eAAe,MAAM,oCAAoC,CAAC;AACjE,OAAO,eAAe,MAAM,oCAAoC,CAAC;AACjE,OAAO,YAAY,MAAM,iCAAiC,CAAC;AAC3D,OAAO,qBAAqB,MAAM,yCAAyC,CAAC;AAC5E,OAAO,iBAAiB,MAAM,6BAA6B,CAAC;AAC5D,OAAO,mBAAmB,MAAM,0CAA0C,CAAC;AAC3E,OAAO,mBAAmB,MAAM,yCAAyC,CAAC;AAC1E,OAAO,kBAAkB,MAAM,uCAAuC,CAAC;AAEvE,qBACa,UAAW,SAAQ,OAAO;IACrC,KAAK,wSAUH;CACH"}
@@ -22,6 +22,7 @@ const print_generated_results_1 = __importDefault(require("../tasks/stdout/print
22
22
  const sync_configuration_1 = __importDefault(require("../tasks/sync-configuration"));
23
23
  const select_gen_target_name_1 = __importDefault(require("../tasks/generate/select-gen-target-name"));
24
24
  const project_context_guard_1 = __importDefault(require("../tasks/generate/project-context-guard"));
25
+ const resolve_injectables_1 = __importDefault(require("../tasks/generate/resolve-injectables"));
25
26
  let GenCommand = class GenCommand extends command_1.Command {
26
27
  tasks = [
27
28
  print_banner_1.default,
@@ -30,6 +31,7 @@ let GenCommand = class GenCommand extends command_1.Command {
30
31
  select_gen_target_1.default,
31
32
  sync_configuration_1.default,
32
33
  select_gen_target_name_1.default,
34
+ resolve_injectables_1.default,
33
35
  [generate_command_1.default, generate_service_1.default, generate_task_1.default],
34
36
  print_generated_results_1.default,
35
37
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"gen.js","sourceRoot":"./src/","sources":["src/commands/gen.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAAqC;AACrC,iDAA8C;AAC9C,mEAAkD;AAClD,gFAAuD;AACvD,4FAAkE;AAClE,0FAAiE;AACjE,0FAAiE;AACjE,oFAA2D;AAC3D,sGAA4E;AAC5E,qFAA4D;AAC5D,sGAA2E;AAC3E,oGAA0E;AAGnE,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,iBAAO;IACrC,KAAK,GAAG;QACN,sBAAW;QACX,mBAAgB;QAChB,+BAAmB;QACnB,2BAAe;QACf,4BAAiB;QACjB,gCAAmB;QACnB,CAAC,0BAAe,EAAE,0BAAe,EAAE,uBAAY,CAAC;QAChD,iCAAqB;KACtB,CAAC;CACH,CAAA;AAXY,gCAAU;qBAAV,UAAU;IADtB,IAAA,oBAAS,GAAE;GACC,UAAU,CAWtB"}
1
+ {"version":3,"file":"gen.js","sourceRoot":"./src/","sources":["src/commands/gen.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAAqC;AACrC,iDAA8C;AAC9C,mEAAkD;AAClD,gFAAuD;AACvD,4FAAkE;AAClE,0FAAiE;AACjE,0FAAiE;AACjE,oFAA2D;AAC3D,sGAA4E;AAC5E,qFAA4D;AAC5D,sGAA2E;AAC3E,oGAA0E;AAC1E,gGAAuE;AAGhE,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,iBAAO;IACrC,KAAK,GAAG;QACN,sBAAW;QACX,mBAAgB;QAChB,+BAAmB;QACnB,2BAAe;QACf,4BAAiB;QACjB,gCAAmB;QACnB,6BAAkB;QAClB,CAAC,0BAAe,EAAE,0BAAe,EAAE,uBAAY,CAAC;QAChD,iCAAqB;KACtB,CAAC;CACH,CAAA;AAZY,gCAAU;qBAAV,UAAU;IADtB,IAAA,oBAAS,GAAE;GACC,UAAU,CAYtB"}
@@ -1,6 +1,8 @@
1
1
  import { FileService } from "./file-service";
2
2
  import { CaseType } from "../types/format";
3
3
  import { UtilService } from "./util-service";
4
+ import { GenData } from "../types/state";
5
+ import { ProjectImport } from "../types/project";
4
6
  export declare class ProjectService {
5
7
  private fileService;
6
8
  private utilService;
@@ -11,6 +13,18 @@ export declare class ProjectService {
11
13
  extention: string;
12
14
  };
13
15
  constructor(fileService: FileService, utilService: UtilService);
16
+ /**
17
+ * Formalize the selected imports into a format that can be used in the source code being generated.
18
+ *
19
+ * 1. Generate a PascalCased import name from the filename
20
+ * 2. Convert to a relative path
21
+ * 3. Remove the file extension for TypeScript import
22
+ *
23
+ * @param selectedPaths the selected file paths to formalize
24
+ * @param relativeSource the path to the source file being generated to resolve relative paths
25
+ * @returns the formalized ProjectImport array ({ importClassName, importPath })
26
+ */
27
+ formalizeImports(selectedPaths: string[], relativeSource: string): ProjectImport[];
14
28
  /**
15
29
  * Get all task files found in the project
16
30
  *
@@ -18,6 +32,13 @@ export declare class ProjectService {
18
32
  */
19
33
  getTaskFiles(): string[];
20
34
  private getSourceFiles;
35
+ /**
36
+ * Returns a map of import class names to import paths.
37
+ *
38
+ * @param genData the GenData object containing the ProjectImport objects to map
39
+ * @returns a Map of import class names to relative import paths
40
+ */
41
+ getImportMap(genData: GenData): Map<string, string>;
21
42
  /**
22
43
  * Looks for a naming convention on the given filename array. Returns
23
44
  * the first found convention or the default one if it can't be detected.
@@ -1 +1 @@
1
- {"version":3,"file":"project-service.d.ts","sourceRoot":"./src/","sources":["src/services/project-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBACa,cAAc;IASvB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,WAAW;IATrB,MAAM,CAAC,QAAQ;;;;;MAKb;gBAGQ,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW;IAGlC;;;;OAIG;IACH,YAAY;IAQZ,OAAO,CAAC,cAAc;IAgBtB;;;;;;OAMG;IACH,aAAa,IAAI,QAAQ;CAiB1B;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,cAAc,CAAC,QAAQ,CAAC"}
1
+ {"version":3,"file":"project-service.d.ts","sourceRoot":"./src/","sources":["src/services/project-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,qBACa,cAAc;IASvB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,WAAW;IATrB,MAAM,CAAC,QAAQ;;;;;MAKb;gBAGQ,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW;IAGlC;;;;;;;;;;OAUG;IACH,gBAAgB,CACd,aAAa,EAAE,MAAM,EAAE,EACvB,cAAc,EAAE,MAAM,GACrB,aAAa,EAAE;IAsBlB;;;;OAIG;IACH,YAAY;IAQZ,OAAO,CAAC,cAAc;IAgBtB;;;;;OAKG;IACH,YAAY,CAAC,OAAO,EAAE,OAAO;IAU7B;;;;;;OAMG;IACH,aAAa,IAAI,QAAQ;CAiB1B;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,cAAc,CAAC,QAAQ,CAAC"}
@@ -29,6 +29,34 @@ let ProjectService = class ProjectService {
29
29
  this.fileService = fileService;
30
30
  this.utilService = utilService;
31
31
  }
32
+ /**
33
+ * Formalize the selected imports into a format that can be used in the source code being generated.
34
+ *
35
+ * 1. Generate a PascalCased import name from the filename
36
+ * 2. Convert to a relative path
37
+ * 3. Remove the file extension for TypeScript import
38
+ *
39
+ * @param selectedPaths the selected file paths to formalize
40
+ * @param relativeSource the path to the source file being generated to resolve relative paths
41
+ * @returns the formalized ProjectImport array ({ importClassName, importPath })
42
+ */
43
+ formalizeImports(selectedPaths, relativeSource) {
44
+ if (!selectedPaths?.length) {
45
+ return [];
46
+ }
47
+ const formalizedPaths = [];
48
+ for (const fullPath of selectedPaths) {
49
+ const filename = this.fileService.getFilenameNoExt(fullPath);
50
+ const importClassName = this.utilService.titleizedToCase(this.utilService.titleizeAll(filename), format_1.CaseType.PASCAL_CASE);
51
+ formalizedPaths.push({
52
+ importClassName,
53
+ importPath: this.fileService
54
+ .toRelativePath(relativeSource, fullPath)
55
+ .replace(ProjectService_1.defaults.extention, ""),
56
+ });
57
+ }
58
+ return formalizedPaths;
59
+ }
32
60
  /**
33
61
  * Get all task files found in the project
34
62
  *
@@ -54,6 +82,19 @@ let ProjectService = class ProjectService {
54
82
  .flatMap((dirPath) => this.fileService.getFilesInDir(dirPath)),
55
83
  ];
56
84
  }
85
+ /**
86
+ * Returns a map of import class names to import paths.
87
+ *
88
+ * @param genData the GenData object containing the ProjectImport objects to map
89
+ * @returns a Map of import class names to relative import paths
90
+ */
91
+ getImportMap(genData) {
92
+ const imports = genData.imports || [];
93
+ return new Map(imports.map((imp) => [
94
+ imp.importClassName,
95
+ imp.importPath,
96
+ ]));
97
+ }
57
98
  /**
58
99
  * Looks for a naming convention on the given filename array. Returns
59
100
  * the first found convention or the default one if it can't be detected.
@@ -1 +1 @@
1
- {"version":3,"file":"project-service.js","sourceRoot":"./src/","sources":["src/services/project-service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,uCAA0C;AAC1C,iDAA6C;AAC7C,4CAA2C;AAC3C,iDAA6C;AAGtC,IAAM,cAAc,GAApB,MAAM,cAAc;;IASf;IACA;IATV,MAAM,CAAC,QAAQ,GAAG;QAChB,UAAU,EAAE,aAAa;QACzB,UAAU,EAAE,cAAc;QAC1B,UAAU,EAAE,iBAAQ,CAAC,WAAW;QAChC,SAAS,EAAE,KAAK;KACjB,CAAC;IAEF,YACU,WAAwB,EACxB,WAAwB;QADxB,gBAAW,GAAX,WAAW,CAAa;QACxB,gBAAW,GAAX,WAAW,CAAa;IAC/B,CAAC;IAEJ;;;;OAIG;IACH,YAAY;QACV,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;QACvD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAE7D,kCAAkC;QAClC,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;IAEO,cAAc;QACpB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;QAEvD,OAAO;YACL,GAAG,IAAI,CAAC,WAAW;iBAChB,WAAW,CAAC,UAAU,CAAC;iBACvB,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAChE,GAAG,IAAI,CAAC,WAAW;iBAChB,cAAc,CAAC,UAAU,CAAC;iBAC1B,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAChE,GAAG,IAAI,CAAC,WAAW;iBAChB,cAAc,CAAC,UAAU,CAAC;iBAC1B,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;SACjE,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,aAAa;QACX,MAAM,aAAa,GAAa,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtD,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAC5C,OAAO,gBAAc,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC5C,CAAC;QAED,IAAI,UAAU,GAAoB,IAAI,CAAC;QACvC,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACpD,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACnD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACxB,MAAM;YACR,CAAC;QACH,CAAC;QACD,OAAO,UAAU,IAAI,gBAAc,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC1D,CAAC;;AAjEU,wCAAc;yBAAd,cAAc;IAD1B,IAAA,yBAAc,GAAE;qCAUQ,0BAAW;QACX,0BAAW;GAVvB,cAAc,CAkE1B"}
1
+ {"version":3,"file":"project-service.js","sourceRoot":"./src/","sources":["src/services/project-service.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ export declare class TemplateService {
13
13
  constructor(spawnService: SpawnService, logger: LogService);
14
14
  runTemplater(outputName: string): Promise<void>;
15
15
  private ensureDestinationExists;
16
+ toLogPath(pathString: string): string;
16
17
  private copyDirectories;
17
18
  private copyFiles;
18
19
  private fixNaming;
@@ -1 +1 @@
1
- {"version":3,"file":"templater-service.d.ts","sourceRoot":"./src/","sources":["src/services/templater-service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAO3C,qBACa,eAAe;IAgCxB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,MAAM;IAhChB,OAAO,CAAC,UAAU,CAA0B;IAE5C,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,WAAW,CAAU;IAE7B,OAAO,CAAC,aAAa,CAAyC;IAC9D,OAAO,CAAC,cAAc,CAapB;IACF,OAAO,CAAC,WAAW,CAOjB;gBAGQ,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,UAAU;IASf,YAAY,CAAC,UAAU,EAAE,MAAM;YAoB9B,uBAAuB;YAMvB,eAAe;YASf,SAAS;YAST,SAAS;YAWT,eAAe;YAOf,kBAAkB;YAOlB,gCAAgC;YAUhC,gBAAgB;YAWhB,iBAAiB;CAQhC"}
1
+ {"version":3,"file":"templater-service.d.ts","sourceRoot":"./src/","sources":["src/services/templater-service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAQ3C,qBACa,eAAe;IAgCxB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,MAAM;IAhChB,OAAO,CAAC,UAAU,CAA0B;IAE5C,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,WAAW,CAAU;IAE7B,OAAO,CAAC,aAAa,CAAyC;IAC9D,OAAO,CAAC,cAAc,CAapB;IACF,OAAO,CAAC,WAAW,CAOjB;gBAGQ,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,UAAU;IASf,YAAY,CAAC,UAAU,EAAE,MAAM;YAoB9B,uBAAuB;IAMrC,SAAS,CAAC,UAAU,EAAE,MAAM;YAOd,eAAe;YAUf,SAAS;YAUT,SAAS;YAWT,eAAe;YAOf,kBAAkB;YAOlB,gCAAgC;YAUhC,gBAAgB;YAahB,iBAAiB;CAQhC"}
@@ -19,6 +19,7 @@ const tsyringe_1 = require("tsyringe");
19
19
  const spawn_service_1 = require("./spawn-service");
20
20
  const log_service_1 = require("./log-service");
21
21
  const docker_ignore_1 = require("../templates/docker-ignore");
22
+ const chalk_1 = __importDefault(require("chalk"));
22
23
  const gitignoreContent = `node_modules
23
24
  dist
24
25
  .env`;
@@ -79,11 +80,15 @@ let TemplateService = class TemplateService {
79
80
  node_fs_1.default.mkdirSync(this.destination, { recursive: true });
80
81
  }
81
82
  }
83
+ toLogPath(pathString) {
84
+ return node_path_1.default.relative(process.cwd(), pathString.replaceAll("task-runner", this.outputName));
85
+ }
82
86
  async copyDirectories() {
83
87
  for (const folder of this.dirListToCopy) {
84
88
  const src = node_path_1.default.join(this.sourceDir, folder);
85
89
  const dest = node_path_1.default.join(this.destination, folder);
86
- this.logger.debug(`Running Copy: cp -R ${src} ${dest}`);
90
+ // this.logger.debug(`Running Copy: cp -R ${src} ${dest}`);;
91
+ this.logger.debug(`Generating folder ${chalk_1.default.dim(this.toLogPath(dest))}`);
87
92
  node_fs_1.default.cpSync(src, dest, { recursive: true });
88
93
  }
89
94
  }
@@ -91,7 +96,8 @@ let TemplateService = class TemplateService {
91
96
  for (const filename of this.fileListToCopy) {
92
97
  const src = node_path_1.default.join(this.sourceDir, filename);
93
98
  const dest = node_path_1.default.join(this.destination, filename);
94
- this.logger.debug(`Running Copy: cp ${src} ${dest}`);
99
+ // this.logger.debug(`Running Copy: cp ${src} ${dest}`);
100
+ this.logger.debug(`Generating file ${chalk_1.default.dim(this.toLogPath(dest))}`);
95
101
  node_fs_1.default.copyFileSync(src, dest);
96
102
  }
97
103
  }
@@ -122,7 +128,7 @@ let TemplateService = class TemplateService {
122
128
  const rename = (ext = "") => {
123
129
  const src = node_path_1.default.join(this.destination, `task-runner${ext}`);
124
130
  const dest = node_path_1.default.join(this.destination, `${this.outputName}${ext}`);
125
- this.logger.debug(`Renaming task-runner to ${this.outputName}${ext}`);
131
+ this.logger.debug(`Fixing references ${chalk_1.default.dim(`(${this.outputName}${ext})`)}`);
126
132
  node_fs_1.default.renameSync(src, dest);
127
133
  };
128
134
  rename();
@@ -1 +1 @@
1
- {"version":3,"file":"templater-service.js","sourceRoot":"./src/","sources":["src/services/templater-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templater-service.js","sourceRoot":"./src/","sources":["src/services/templater-service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,0DAA6B;AAC7B,sDAAyB;AACzB,uCAA0C;AAC1C,mDAA+C;AAC/C,+CAA2C;AAC3C,8DAAkE;AAClE,kDAA0B;AAE1B,MAAM,gBAAgB,GAAG;;KAEpB,CAAC;AAGC,IAAM,eAAe,GAArB,MAAM,eAAe;IAgChB;IACA;IAhCF,UAAU,GAAG,sBAAsB,CAAC;IAEpC,UAAU,CAAU;IACpB,SAAS,CAAU;IACnB,WAAW,CAAU;IAErB,aAAa,GAAa,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACtD,cAAc,GAAa;QACjC,iBAAiB;QACjB,aAAa;QACb,aAAa;QACb,gBAAgB;QAChB,iBAAiB;QACjB,YAAY;QACZ,WAAW;QACX,kBAAkB;QAClB,kBAAkB;QAClB,mBAAmB;QACnB,cAAc;QACd,eAAe;KAChB,CAAC;IACM,WAAW,GAAa;QAC9B,kCAAkC;QAClC,cAAc;QACd,mBAAmB;QACnB,iBAAiB;QACjB,WAAW;QACX,YAAY;KACb,CAAC;IAEF,YACU,YAA0B,EAC1B,MAAkB;QADlB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,WAAM,GAAN,MAAM,CAAY;QAE1B,IAAI,CAAC,SAAS,GAAG,mBAAI,CAAC,IAAI,CACxB,SAAS,EACT,0CAA0C,CAC3C,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,UAAkB;QAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;QAExD,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACrC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7B,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7B,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,gCAAgC,EAAE,CAAC;QAC9C,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACjC,CAAC;IAEO,KAAK,CAAC,uBAAuB;QACnC,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACrC,iBAAE,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,SAAS,CAAC,UAAkB;QAC1B,OAAO,mBAAI,CAAC,QAAQ,CAClB,OAAO,CAAC,GAAG,EAAE,EACb,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,CACtD,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC9C,MAAM,IAAI,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YACjD,4DAA4D;YAC5D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1E,iBAAE,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,SAAS;QACrB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YACnD,wDAAwD;YACxD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;YACxE,iBAAE,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,SAAS;QACrB,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YACrD,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,iBAAE;iBACf,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;iBAC3B,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/C,iBAAE,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,iBAAE,CAAC,aAAa,CACd,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,EACzC,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC9B,iBAAE,CAAC,aAAa,CACd,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,EAC5C,IAAA,oCAAoB,GAAE,CACvB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,gCAAgC;QAC5C,MAAM,qBAAqB,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5E,IAAI,iBAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,2CAA2C,qBAAqB,EAAE,CACnE,CAAC;YACF,iBAAE,CAAC,MAAM,CAAC,qBAAqB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,MAAM,MAAM,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE;YAC1B,MAAM,GAAG,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,GAAG,EAAE,CAAC,CAAC;YAC7D,MAAM,IAAI,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC,CAAC;YACrE,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,qBAAqB,eAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,GAAG,CAAC,EAAE,CAC/D,CAAC;YACF,iBAAE,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC;QACF,MAAM,EAAE,CAAC;QACT,MAAM,CAAC,KAAK,CAAC,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC7B,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC3C,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,kBAAkB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;CACF,CAAA;AAvJY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,yBAAc,GAAE;qCAiCS,4BAAY;QAClB,wBAAU;GAjCjB,eAAe,CAuJ3B"}
@@ -1,10 +1,17 @@
1
1
  import { AppState } from "../../types/state";
2
- import GenerateAppTask from "../../wrappers/gen-app-task";
2
+ import { ProjectService } from "../../services/project-service";
3
+ import { AppTask } from "../../wrappers/app-task";
4
+ import { FileService } from "../../services/file-service";
5
+ import { UtilService } from "../../services/util-service";
3
6
  /**
4
7
  * Generates a new command class
5
8
  */
6
- export default class GenerateCommand extends GenerateAppTask {
9
+ export default class GenerateCommand extends AppTask {
10
+ private fileService;
11
+ private projectService;
12
+ private utilService;
7
13
  loggerName: string;
14
+ constructor(fileService: FileService, projectService: ProjectService, utilService: UtilService);
8
15
  /**
9
16
  * Generates a new command class file.
10
17
  *
@@ -13,7 +20,7 @@ export default class GenerateCommand extends GenerateAppTask {
13
20
  run(): Promise<void | Partial<AppState>>;
14
21
  /**
15
22
  * Checks state for required fields. Executes prior to run method.
16
- * Skips validation if genTargetType is not set to command.
23
+ * Skips validation if genData.targetType is not set to command.
17
24
  */
18
25
  preRun(): Promise<void>;
19
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generate-command.d.ts","sourceRoot":"./src/","sources":["src/tasks/generate/generate-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAiB,MAAM,mBAAmB,CAAC;AAK5D,OAAO,eAAe,MAAM,6BAA6B,CAAC;AAE1D;;GAEG;AAEH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,eAAe;IAC1D,UAAU,SAAsB;IAEhC;;;;OAIG;IACG,GAAG,IAAI,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAgC9C;;;OAGG;IACG,MAAM;CAcb"}
1
+ {"version":3,"file":"generate-command.d.ts","sourceRoot":"./src/","sources":["src/tasks/generate/generate-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAiB,MAAM,mBAAmB,CAAC;AAI5D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D;;GAEG;AAEH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,OAAO;IAIhD,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,WAAW;IALrB,UAAU,SAAsB;gBAGtB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW;IAKlC;;;;OAIG;IACG,GAAG,IAAI,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAgC9C;;;OAGG;IACG,MAAM;CAcb"}
@@ -5,6 +5,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
8
11
  var __importDefault = (this && this.__importDefault) || function (mod) {
9
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
10
13
  };
@@ -16,12 +19,23 @@ const format_1 = require("../../types/format");
16
19
  const path_1 = __importDefault(require("path"));
17
20
  const command_1 = require("../../templates/command");
18
21
  const project_service_1 = require("../../services/project-service");
19
- const gen_app_task_1 = __importDefault(require("../../wrappers/gen-app-task"));
22
+ const app_task_1 = require("../../wrappers/app-task");
23
+ const file_service_1 = require("../../services/file-service");
24
+ const util_service_1 = require("../../services/util-service");
20
25
  /**
21
26
  * Generates a new command class
22
27
  */
23
- let GenerateCommand = class GenerateCommand extends gen_app_task_1.default {
28
+ let GenerateCommand = class GenerateCommand extends app_task_1.AppTask {
29
+ fileService;
30
+ projectService;
31
+ utilService;
24
32
  loggerName = "Generate Command";
33
+ constructor(fileService, projectService, utilService) {
34
+ super();
35
+ this.fileService = fileService;
36
+ this.projectService = projectService;
37
+ this.utilService = utilService;
38
+ }
25
39
  /**
26
40
  * Generates a new command class file.
27
41
  *
@@ -29,20 +43,19 @@ let GenerateCommand = class GenerateCommand extends gen_app_task_1.default {
29
43
  */
30
44
  async run() {
31
45
  const { utilService, fileService, projectService } = this;
32
- if (this.state.data.genTargetType !== state_1.GenTargetType.Command) {
46
+ if (this.state.data.genData.targetType !== state_1.GenTargetType.Command) {
33
47
  return; // no-op
34
48
  }
35
49
  this.logger.info(chalk_1.default.blueBright("Generating Command"));
36
- const targetName = this.state.data.genTargetName;
50
+ const targetName = this.state.data.genData.targetName;
37
51
  const targetDirectory = this.state.data.project.commandDestination;
38
52
  // detect case between commands and task files
39
53
  const convention = projectService.getConvention();
40
54
  this.logger.debug(`Using convention: ${chalk_1.default.magentaBright(convention)}`);
41
55
  const className = utilService.titleizedToCase(targetName, format_1.CaseType.PASCAL_CASE);
42
56
  const filename = `${utilService.titleizedToCase(targetName, convention)}${project_service_1.ProjectService.defaults.extention}`;
43
- const injectableMappings = new Map();
44
- await this.addTasksToMap(injectableMappings);
45
- const rendered = (0, command_1.getCommandTemplate)(className, injectableMappings);
57
+ const injectablesMap = this.projectService.getImportMap(this.state.data.genData);
58
+ const rendered = (0, command_1.getCommandTemplate)(className, injectablesMap);
46
59
  const destination = path_1.default.join(targetDirectory, filename);
47
60
  // write contents
48
61
  fileService.writeFile(destination, rendered);
@@ -50,13 +63,13 @@ let GenerateCommand = class GenerateCommand extends gen_app_task_1.default {
50
63
  }
51
64
  /**
52
65
  * Checks state for required fields. Executes prior to run method.
53
- * Skips validation if genTargetType is not set to command.
66
+ * Skips validation if genData.targetType is not set to command.
54
67
  */
55
68
  async preRun() {
56
- if (this.state.data.genTargetType !== state_1.GenTargetType.Command) {
69
+ if (this.state.data.genData.targetType !== state_1.GenTargetType.Command) {
57
70
  return; // no validation on no-op flow
58
71
  }
59
- if (!this.state.data.genTargetName) {
72
+ if (!this.state.data.genData.targetName) {
60
73
  throw new Error("Unable to determine targetName");
61
74
  }
62
75
  if (!this.state.data.project) {
@@ -68,7 +81,10 @@ let GenerateCommand = class GenerateCommand extends gen_app_task_1.default {
68
81
  }
69
82
  };
70
83
  GenerateCommand = __decorate([
71
- (0, tsyringe_1.autoInjectable)()
84
+ (0, tsyringe_1.autoInjectable)(),
85
+ __metadata("design:paramtypes", [file_service_1.FileService,
86
+ project_service_1.ProjectService,
87
+ util_service_1.UtilService])
72
88
  ], GenerateCommand);
73
89
  exports.default = GenerateCommand;
74
90
  //# sourceMappingURL=generate-command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-command.js","sourceRoot":"./src/","sources":["src/tasks/generate/generate-command.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,kDAA0B;AAC1B,uCAA0C;AAC1C,6CAA4D;AAC5D,+CAA8C;AAC9C,gDAAwB;AACxB,qDAA6D;AAC7D,oEAAgE;AAChE,+EAA0D;AAE1D;;GAEG;AAEY,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,sBAAe;IAC1D,UAAU,GAAG,kBAAkB,CAAC;IAEhC;;;;OAIG;IACH,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;QAE1D,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,qBAAa,CAAC,OAAO,EAAE,CAAC;YAC5D,OAAO,CAAC,QAAQ;QAClB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAc,CAAC;QAClD,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAQ,CAAC,kBAAmB,CAAC;QAErE,8CAA8C;QAC9C,MAAM,UAAU,GAAG,cAAc,CAAC,aAAa,EAAE,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,eAAK,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAE1E,MAAM,SAAS,GAAG,WAAW,CAAC,eAAe,CAC3C,UAAU,EACV,iBAAQ,CAAC,WAAW,CACrB,CAAC;QACF,MAAM,QAAQ,GAAG,GAAG,WAAW,CAAC,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,gCAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QAE9G,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACrD,MAAM,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;QAE7C,MAAM,QAAQ,GAAG,IAAA,4BAAkB,EAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QACnE,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QAEzD,iBAAiB;QACjB,WAAW,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC7C,OAAO,EAAE,IAAI,EAAE,EAAE,iBAAiB,EAAE,WAAW,EAAE,EAAE,CAAC;IACtD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM;QACV,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,qBAAa,CAAC,OAAO,EAAE,CAAC;YAC5D,OAAO,CAAC,8BAA8B;QACxC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;CACF,CAAA;AA1DoB,eAAe;IADnC,IAAA,yBAAc,GAAE;GACI,eAAe,CA0DnC;kBA1DoB,eAAe"}
1
+ {"version":3,"file":"generate-command.js","sourceRoot":"./src/","sources":["src/tasks/generate/generate-command.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,16 @@
1
- import GenerateAppTask from "../../wrappers/gen-app-task";
1
+ import { ProjectService } from "../../services/project-service";
2
+ import { AppTask } from "../../wrappers/app-task";
3
+ import { FileService } from "../../services/file-service";
4
+ import { UtilService } from "../../services/util-service";
2
5
  /**
3
6
  * Generates a new service class
4
7
  */
5
- export default class GenerateService extends GenerateAppTask {
8
+ export default class GenerateService extends AppTask {
9
+ private fileService;
10
+ private projectService;
11
+ private utilService;
6
12
  loggerName: string;
13
+ constructor(fileService: FileService, projectService: ProjectService, utilService: UtilService);
7
14
  /**
8
15
  * Generates a new service class file.
9
16
  *
@@ -16,7 +23,7 @@ export default class GenerateService extends GenerateAppTask {
16
23
  } | undefined>;
17
24
  /**
18
25
  * Checks state for required fields. Executes prior to run method.
19
- * Skips validation if genTargetType is not set to service.
26
+ * Skips validation if genData.targetType is not set to service.
20
27
  */
21
28
  preRun(): Promise<void>;
22
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generate-service.d.ts","sourceRoot":"./src/","sources":["src/tasks/generate/generate-service.ts"],"names":[],"mappings":"AAOA,OAAO,eAAe,MAAM,6BAA6B,CAAC;AAE1D;;GAEG;AAEH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,eAAe;IAC1D,UAAU,SAAsB;IAEhC;;;;OAIG;IACG,GAAG;;;;;IAgCT;;;OAGG;IACG,MAAM;CAcb"}
1
+ {"version":3,"file":"generate-service.d.ts","sourceRoot":"./src/","sources":["src/tasks/generate/generate-service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAIhE,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D;;GAEG;AAEH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,OAAO;IAIhD,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,WAAW;IALrB,UAAU,SAAsB;gBAGtB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW;IAKlC;;;;OAIG;IACG,GAAG;;;;;IA+BT;;;OAGG;IACG,MAAM;CAcb"}