task-script-support-cli 0.2.20 → 0.3.2
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/assets/yargs-template/task-runner/src/commands/verify.ts +3 -2
- package/assets/yargs-template/task-runner/src/services/banner-service.ts +13 -9
- package/assets/yargs-template/task-runner/src/tasks/banner/print-banner.ts +38 -0
- package/assets/yargs-template/task-runner/src/tasks/banner/resolve-banner-font.ts +70 -0
- package/assets/yargs-template/task-runner/src/types/state.ts +4 -0
- package/{dist/assets/yargs-template/task-runner/src/wrappers → assets/yargs-template/task-runner/src/wrappers/electives}/concurrent-task-group.ts +4 -4
- package/assets/yargs-template/task-runner/src/wrappers/electives/resolver-task.ts +87 -0
- package/assets/yargs-template/task-runner/src/wrappers/{sequential-task-group.ts → electives/sequential-task-group.ts} +4 -4
- package/assets/yargs-template/task-runner/tests/commands/verify.test.ts +14 -21
- package/dist/assets/yargs-template/task-runner/src/commands/verify.ts +3 -2
- package/dist/assets/yargs-template/task-runner/src/services/banner-service.ts +13 -9
- package/dist/assets/yargs-template/task-runner/src/tasks/banner/print-banner.ts +38 -0
- package/dist/assets/yargs-template/task-runner/src/tasks/banner/resolve-banner-font.ts +70 -0
- package/dist/assets/yargs-template/task-runner/src/types/state.ts +4 -0
- package/{assets/yargs-template/task-runner/src/wrappers → dist/assets/yargs-template/task-runner/src/wrappers/electives}/concurrent-task-group.ts +4 -4
- package/dist/assets/yargs-template/task-runner/src/wrappers/electives/resolver-task.ts +87 -0
- package/dist/assets/yargs-template/task-runner/src/wrappers/{sequential-task-group.ts → electives/sequential-task-group.ts} +4 -4
- package/dist/assets/yargs-template/task-runner/tests/commands/verify.test.ts +14 -21
- package/dist/package.json +2 -2
- package/dist/src/commands/gen.d.ts +2 -1
- package/dist/src/commands/gen.d.ts.map +1 -1
- package/dist/src/commands/gen.js +2 -0
- package/dist/src/commands/gen.js.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/services/file-service.d.ts.map +1 -1
- package/dist/src/services/file-service.js +2 -1
- package/dist/src/services/file-service.js.map +1 -1
- package/dist/src/services/project-service.d.ts +21 -0
- package/dist/src/services/project-service.d.ts.map +1 -1
- package/dist/src/services/project-service.js +41 -0
- package/dist/src/services/project-service.js.map +1 -1
- package/dist/src/services/templater-service.d.ts +1 -0
- package/dist/src/services/templater-service.d.ts.map +1 -1
- package/dist/src/services/templater-service.js +9 -3
- package/dist/src/services/templater-service.js.map +1 -1
- package/dist/src/tasks/generate/generate-command.d.ts +6 -14
- package/dist/src/tasks/generate/generate-command.d.ts.map +1 -1
- package/dist/src/tasks/generate/generate-command.js +15 -52
- package/dist/src/tasks/generate/generate-command.js.map +1 -1
- package/dist/src/tasks/generate/generate-service.d.ts +6 -6
- package/dist/src/tasks/generate/generate-service.d.ts.map +1 -1
- package/dist/src/tasks/generate/generate-service.js +17 -16
- package/dist/src/tasks/generate/generate-service.js.map +1 -1
- package/dist/src/tasks/generate/generate-task.d.ts +6 -6
- package/dist/src/tasks/generate/generate-task.d.ts.map +1 -1
- package/dist/src/tasks/generate/generate-task.js +17 -16
- package/dist/src/tasks/generate/generate-task.js.map +1 -1
- package/dist/src/tasks/generate/project-context-guard.d.ts +1 -1
- package/dist/src/tasks/generate/project-context-guard.js +1 -1
- package/dist/src/tasks/generate/resolve-injectables.d.ts +56 -0
- package/dist/src/tasks/generate/resolve-injectables.d.ts.map +1 -0
- package/dist/src/tasks/generate/resolve-injectables.js +134 -0
- package/dist/src/tasks/generate/resolve-injectables.js.map +1 -0
- package/dist/src/tasks/generate/select-gen-target-name.js +4 -4
- package/dist/src/tasks/generate/select-gen-target-name.js.map +1 -1
- package/dist/src/tasks/generate/select-gen-target.d.ts +1 -1
- package/dist/src/tasks/generate/select-gen-target.js +2 -2
- package/dist/src/tasks/generate/select-gen-target.js.map +1 -1
- package/dist/src/tasks/stdout/print-generated-results.js +2 -2
- package/dist/src/tasks/stdout/print-generated-results.js.map +1 -1
- package/dist/src/tasks/sync-configuration.d.ts +1 -1
- package/dist/src/tasks/sync-configuration.js +6 -6
- package/dist/src/tasks/sync-configuration.js.map +1 -1
- package/dist/src/templates/command.d.ts.map +1 -1
- package/dist/src/templates/command.js +8 -2
- package/dist/src/templates/command.js.map +1 -1
- package/dist/src/templates/service.d.ts +1 -1
- package/dist/src/templates/service.d.ts.map +1 -1
- package/dist/src/templates/service.js +29 -1
- package/dist/src/templates/service.js.map +1 -1
- package/dist/src/templates/task.d.ts +1 -1
- package/dist/src/templates/task.d.ts.map +1 -1
- package/dist/src/templates/task.js +37 -1
- package/dist/src/templates/task.js.map +1 -1
- package/dist/src/types/project.d.ts +4 -0
- package/dist/src/types/project.d.ts.map +1 -1
- package/dist/src/types/state.d.ts +7 -3
- package/dist/src/types/state.d.ts.map +1 -1
- package/dist/src/types/state.js.map +1 -1
- package/package.json +2 -2
- package/src/commands/gen.ts +2 -0
- package/src/index.ts +1 -0
- package/src/services/file-service.ts +2 -1
- package/src/services/project-service.ts +54 -0
- package/src/services/templater-service.ts +15 -3
- package/src/tasks/generate/generate-command.ts +14 -67
- package/src/tasks/generate/generate-service.ts +14 -11
- package/src/tasks/generate/generate-task.ts +14 -11
- package/src/tasks/generate/project-context-guard.ts +1 -1
- package/src/tasks/generate/resolve-injectables.ts +154 -0
- package/src/tasks/generate/select-gen-target-name.ts +4 -4
- package/src/tasks/generate/select-gen-target.ts +2 -2
- package/src/tasks/stdout/print-generated-results.ts +2 -2
- package/src/tasks/sync-configuration.ts +6 -6
- package/src/templates/command.ts +10 -2
- package/src/templates/service.ts +34 -2
- package/src/templates/task.ts +42 -2
- package/src/types/project.ts +5 -0
- package/src/types/state.ts +9 -3
- package/assets/yargs-template/task-runner/src/tasks/print-banner.ts +0 -73
- package/dist/assets/yargs-template/task-runner/src/tasks/print-banner.ts +0 -73
|
@@ -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
|
|
7
|
-
import {
|
|
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
|
-
|
|
10
|
-
vi.mock("../../src/tasks/print-banner"
|
|
11
|
-
|
|
12
|
-
|
|
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
|
|
25
|
-
container.register("Args", { useValue: [] });
|
|
17
|
+
const args: CLIArgs[] = [];
|
|
26
18
|
|
|
19
|
+
container.register("Args", { useValue: args });
|
|
27
20
|
// when
|
|
28
|
-
await
|
|
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.2
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"preferGlobal": true,
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"format": "prettier --write ./",
|
|
18
18
|
"format-check": "prettier --check .",
|
|
19
19
|
"hooks-one-time-setup": "npx simple-git-hooks",
|
|
20
|
-
"
|
|
20
|
+
"format-watch": "onchange \"**/*\" -- prettier --write --ignore-unknown {{changed}}",
|
|
21
21
|
"build": "rm -rf ./dist && npx tsc && node dist/src/index.js -v && npm run cp-assets",
|
|
22
22
|
"prepack": "npm run build",
|
|
23
23
|
"test": "vitest run",
|
|
@@ -9,7 +9,8 @@ import PrintGeneratedResults from "../tasks/stdout/print-generated-results";
|
|
|
9
9
|
import SyncConfiguration from "../tasks/sync-configuration";
|
|
10
10
|
import SelectGenTargetName from "../tasks/generate/select-gen-target-name";
|
|
11
11
|
import ProjectContextGuard from "../tasks/generate/project-context-guard";
|
|
12
|
+
import ResolveInjectables from "../tasks/generate/resolve-injectables";
|
|
12
13
|
export declare class GenCommand extends Command {
|
|
13
|
-
tasks: (typeof PrintBanner | typeof CheckEnvironment | typeof SelectGenTarget | typeof PrintGeneratedResults | typeof SyncConfiguration | typeof SelectGenTargetName | typeof ProjectContextGuard | (typeof GenerateService | typeof GenerateCommand | typeof GenerateTask)[])[];
|
|
14
|
+
tasks: (typeof PrintBanner | typeof CheckEnvironment | typeof SelectGenTarget | typeof PrintGeneratedResults | typeof SyncConfiguration | typeof SelectGenTargetName | typeof ProjectContextGuard | typeof ResolveInjectables | (typeof GenerateService | typeof GenerateCommand | typeof GenerateTask)[])[];
|
|
14
15
|
}
|
|
15
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;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;
|
|
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"}
|
package/dist/src/commands/gen.js
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/src/index.js
CHANGED
|
@@ -28,6 +28,7 @@ program
|
|
|
28
28
|
program
|
|
29
29
|
.command("gen [name]")
|
|
30
30
|
.option("-n, --target-name <name>", "Name of Generated Target")
|
|
31
|
+
.option("-i, --inject", "Inject services")
|
|
31
32
|
.option("-s, --service", "Generate a service")
|
|
32
33
|
.option("-c, --command", "Generate a command")
|
|
33
34
|
.option("-t, --task", "Generate a task")
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"./src/","sources":["src/index.ts"],"names":[],"mappings":";;;;;AAAA,4BAA0B;AAE1B,oDAA4B;AAC5B,uCAAqC;AACrC,0DAAkC;AAElC,gBAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAE/B,0DAAsD;AAEtD,gCAAgC;AAChC,0BAAW,CAAC,sBAAsB,EAAE,CAAC;AAErC,4CAAgD;AAChD,wCAA4C;AAC5C,wCAA4C;AAC5C,oDAAwD;AAExD,MAAM,EAAE,OAAO,EAAE,GAAG,mBAAS,CAAC;AAC9B,MAAM,IAAI,GAAG,0BAAW,CAAC,UAAU,EAAE,CAAC;AACtC,MAAM,OAAO,GAAG,0BAAW,CAAC,aAAa,EAAE,CAAC;AAE5C,OAAO;KACJ,OAAO,CAAC,GAAG,IAAI,aAAa,OAAO,EAAE,EAAE,eAAe,CAAC;KACvD,WAAW,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,0BAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAEhF,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,oBAAS,CAAC,OAAO,CAAC,oBAAY,CAAC,CAAC,OAAO,CAAC;KAC/C,MAAM,CAAC,qBAAqB,EAAE,kCAAkC,CAAC,CAAC;AAErE,OAAO;KACJ,OAAO,CAAC,YAAY,CAAC;KACrB,MAAM,CAAC,0BAA0B,EAAE,0BAA0B,CAAC;KAC9D,MAAM,CAAC,eAAe,EAAE,oBAAoB,CAAC;KAC7C,MAAM,CAAC,eAAe,EAAE,oBAAoB,CAAC;KAC7C,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC;KACvC,MAAM,CAAC,oBAAS,CAAC,OAAO,CAAC,gBAAU,CAAC,CAAC,OAAO,CAAC,CAAC;AAEjD,OAAO;KACJ,OAAO,CAAC,YAAY,CAAC;KACrB,MAAM,CAAC,mBAAmB,EAAE,yBAAyB,CAAC;IACvD,mDAAmD;KAClD,MAAM,CAAC,oBAAS,CAAC,OAAO,CAAC,gBAAU,CAAC,CAAC,OAAO,CAAC,CAAC;AAEjD,OAAO;KACJ,OAAO,CAAC,WAAW,CAAC;KACpB,MAAM,CAAC,oBAAS,CAAC,OAAO,CAAC,4BAAgB,CAAC,CAAC,OAAO,CAAC,CAAC;AAEvD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"./src/","sources":["src/index.ts"],"names":[],"mappings":";;;;;AAAA,4BAA0B;AAE1B,oDAA4B;AAC5B,uCAAqC;AACrC,0DAAkC;AAElC,gBAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAE/B,0DAAsD;AAEtD,gCAAgC;AAChC,0BAAW,CAAC,sBAAsB,EAAE,CAAC;AAErC,4CAAgD;AAChD,wCAA4C;AAC5C,wCAA4C;AAC5C,oDAAwD;AAExD,MAAM,EAAE,OAAO,EAAE,GAAG,mBAAS,CAAC;AAC9B,MAAM,IAAI,GAAG,0BAAW,CAAC,UAAU,EAAE,CAAC;AACtC,MAAM,OAAO,GAAG,0BAAW,CAAC,aAAa,EAAE,CAAC;AAE5C,OAAO;KACJ,OAAO,CAAC,GAAG,IAAI,aAAa,OAAO,EAAE,EAAE,eAAe,CAAC;KACvD,WAAW,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,0BAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAEhF,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,oBAAS,CAAC,OAAO,CAAC,oBAAY,CAAC,CAAC,OAAO,CAAC;KAC/C,MAAM,CAAC,qBAAqB,EAAE,kCAAkC,CAAC,CAAC;AAErE,OAAO;KACJ,OAAO,CAAC,YAAY,CAAC;KACrB,MAAM,CAAC,0BAA0B,EAAE,0BAA0B,CAAC;KAC9D,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC;KACzC,MAAM,CAAC,eAAe,EAAE,oBAAoB,CAAC;KAC7C,MAAM,CAAC,eAAe,EAAE,oBAAoB,CAAC;KAC7C,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC;KACvC,MAAM,CAAC,oBAAS,CAAC,OAAO,CAAC,gBAAU,CAAC,CAAC,OAAO,CAAC,CAAC;AAEjD,OAAO;KACJ,OAAO,CAAC,YAAY,CAAC;KACrB,MAAM,CAAC,mBAAmB,EAAE,yBAAyB,CAAC;IACvD,mDAAmD;KAClD,MAAM,CAAC,oBAAS,CAAC,OAAO,CAAC,gBAAU,CAAC,CAAC,OAAO,CAAC,CAAC;AAEjD,OAAO;KACJ,OAAO,CAAC,WAAW,CAAC;KACpB,MAAM,CAAC,oBAAS,CAAC,OAAO,CAAC,4BAAgB,CAAC,CAAC,OAAO,CAAC,CAAC;AAEvD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-service.d.ts","sourceRoot":"./src/","sources":["src/services/file-service.ts"],"names":[],"mappings":"AAOA,qBACa,WAAW;IACtB,MAAM,CAAC,UAAU,CAAC,UAAU,SAAK;IAIjC,YAAY,IAAI,MAAM;IAItB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAIjC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"file-service.d.ts","sourceRoot":"./src/","sources":["src/services/file-service.ts"],"names":[],"mappings":"AAOA,qBACa,WAAW;IACtB,MAAM,CAAC,UAAU,CAAC,UAAU,SAAK;IAIjC,YAAY,IAAI,MAAM;IAItB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAIjC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAK/C,WAAW,CAAC,mBAAmB,EAAE,MAAM;IAIvC,UAAU,CAAC,YAAY,EAAE,MAAM;IAI/B,WAAW,GAAI,UAAU,MAAM,YAA6B;IAC5D,gBAAgB,CAAC,QAAQ,EAAE,MAAM;IAKjC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IASxC,gBAAgB,IAAI,MAAM;IAa1B,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAIxC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAI3C,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAI3C,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAWlD,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,yBAAyB;IAejC,OAAO,CAAC,mBAAmB;CAiB5B"}
|
|
@@ -26,7 +26,8 @@ let FileService = class FileService {
|
|
|
26
26
|
return node_path_1.default.join(path1, path2);
|
|
27
27
|
}
|
|
28
28
|
toRelativePath(fromPath, toPath) {
|
|
29
|
-
|
|
29
|
+
const p = this.ensurePosix(node_path_1.default.relative(fromPath, toPath));
|
|
30
|
+
return !p.includes("/") ? `./${p}` : p;
|
|
30
31
|
}
|
|
31
32
|
ensurePosix(possiblyWindowsPath) {
|
|
32
33
|
return node_path_1.default.posix.join(...possiblyWindowsPath.split("\\"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-service.js","sourceRoot":"./src/","sources":["src/services/file-service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA0B;AAC1B,sDAAyB;AACzB,0DAA6B;AAC7B,uCAAqC;AAErC,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;AAGtD,IAAM,WAAW,GAAjB,MAAM,WAAW;IACtB,MAAM,CAAC,UAAU,CAAC,UAAU,GAAG,EAAE;QAC/B,OAAO,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACzE,CAAC;IAED,YAAY;QACV,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,CAAC,KAAa,EAAE,KAAa;QAC/B,OAAO,mBAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,cAAc,CAAC,QAAgB,EAAE,MAAc;QAC7C,
|
|
1
|
+
{"version":3,"file":"file-service.js","sourceRoot":"./src/","sources":["src/services/file-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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;
|
|
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;AAKtC,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;;;;;;;;;;OAUG;IACH,gBAAgB,CACd,aAAuB,EACvB,cAAsB;QAEtB,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC;YAC3B,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,eAAe,GAAoB,EAAE,CAAC;QAC5C,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC7D,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CACtD,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,EACtC,iBAAQ,CAAC,WAAW,CACrB,CAAC;YAEF,eAAe,CAAC,IAAI,CAAC;gBACnB,eAAe;gBACf,UAAU,EAAE,IAAI,CAAC,WAAW;qBACzB,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC;qBACxC,OAAO,CAAC,gBAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;aAClD,CAAC,CAAC;QACL,CAAC;QACD,OAAO,eAAe,CAAC;IACzB,CAAC;IAED;;;;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;;;;;OAKG;IACH,YAAY,CAAC,OAAgB;QAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QACtC,OAAO,IAAI,GAAG,CACZ,OAAO,CAAC,GAAG,CAAC,CAAC,GAAkB,EAAE,EAAE,CAAC;YAClC,GAAG,CAAC,eAAe;YACnB,GAAG,CAAC,UAAU;SACf,CAAC,CACH,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;;AArHU,wCAAc;yBAAd,cAAc;IAD1B,IAAA,yBAAc,GAAE;qCAUQ,0BAAW;QACX,0BAAW;GAVvB,cAAc,CAsH1B"}
|
|
@@ -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;
|
|
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(`
|
|
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":";;;;;;;;;;;;;;;AAAA,0DAA6B;AAC7B,sDAAyB;AACzB,uCAA0C;AAC1C,mDAA+C;AAC/C,+CAA2C;AAC3C,8DAAkE;
|
|
1
|
+
{"version":3,"file":"templater-service.js","sourceRoot":"./src/","sources":["src/services/templater-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +1,27 @@
|
|
|
1
|
-
import { AppTask } from "../../wrappers/app-task";
|
|
2
1
|
import { AppState } from "../../types/state";
|
|
2
|
+
import { ProjectService } from "../../services/project-service";
|
|
3
|
+
import { AppTask } from "../../wrappers/app-task";
|
|
3
4
|
import { FileService } from "../../services/file-service";
|
|
4
5
|
import { UtilService } from "../../services/util-service";
|
|
5
|
-
import { ProjectService } from "../../services/project-service";
|
|
6
|
-
import { PromptService } from "../../services/prompt-service";
|
|
7
6
|
/**
|
|
8
7
|
* Generates a new command class
|
|
9
8
|
*/
|
|
10
9
|
export default class GenerateCommand extends AppTask {
|
|
11
10
|
private fileService;
|
|
12
|
-
private utilService;
|
|
13
11
|
private projectService;
|
|
14
|
-
private
|
|
12
|
+
private utilService;
|
|
15
13
|
loggerName: string;
|
|
16
|
-
constructor(fileService: FileService,
|
|
14
|
+
constructor(fileService: FileService, projectService: ProjectService, utilService: UtilService);
|
|
17
15
|
/**
|
|
18
16
|
* Generates a new command class file.
|
|
19
17
|
*
|
|
20
|
-
* @returns updated state with outputDestination set to generated result path.
|
|
18
|
+
* @returns updated state with outputDestination set to a generated result path.
|
|
21
19
|
*/
|
|
22
20
|
run(): Promise<void | Partial<AppState>>;
|
|
23
21
|
/**
|
|
24
22
|
* Checks state for required fields. Executes prior to run method.
|
|
25
|
-
* Skips validation if
|
|
23
|
+
* Skips validation if genData.targetType is not set to command.
|
|
26
24
|
*/
|
|
27
25
|
preRun(): Promise<void>;
|
|
28
|
-
/**
|
|
29
|
-
* Prompt to select tasks to use in the command being generated.
|
|
30
|
-
*
|
|
31
|
-
* @param taskMappings the map to add picked tasks to import for the command
|
|
32
|
-
*/
|
|
33
|
-
addTasksToMap(taskMappings: Map<string, string>): Promise<void>;
|
|
34
26
|
}
|
|
35
27
|
//# sourceMappingURL=generate-command.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-command.d.ts","sourceRoot":"./src/","sources":["src/tasks/generate/generate-command.ts"],"names":[],"mappings":"
|
|
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"}
|
|
@@ -13,53 +13,49 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
const chalk_1 = __importDefault(require("chalk"));
|
|
16
|
-
const app_task_1 = require("../../wrappers/app-task");
|
|
17
16
|
const tsyringe_1 = require("tsyringe");
|
|
18
17
|
const state_1 = require("../../types/state");
|
|
19
|
-
const file_service_1 = require("../../services/file-service");
|
|
20
|
-
const util_service_1 = require("../../services/util-service");
|
|
21
18
|
const format_1 = require("../../types/format");
|
|
22
19
|
const path_1 = __importDefault(require("path"));
|
|
23
20
|
const command_1 = require("../../templates/command");
|
|
24
21
|
const project_service_1 = require("../../services/project-service");
|
|
25
|
-
const
|
|
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");
|
|
26
25
|
/**
|
|
27
26
|
* Generates a new command class
|
|
28
27
|
*/
|
|
29
28
|
let GenerateCommand = class GenerateCommand extends app_task_1.AppTask {
|
|
30
29
|
fileService;
|
|
31
|
-
utilService;
|
|
32
30
|
projectService;
|
|
33
|
-
|
|
31
|
+
utilService;
|
|
34
32
|
loggerName = "Generate Command";
|
|
35
|
-
constructor(fileService,
|
|
33
|
+
constructor(fileService, projectService, utilService) {
|
|
36
34
|
super();
|
|
37
35
|
this.fileService = fileService;
|
|
38
|
-
this.utilService = utilService;
|
|
39
36
|
this.projectService = projectService;
|
|
40
|
-
this.
|
|
37
|
+
this.utilService = utilService;
|
|
41
38
|
}
|
|
42
39
|
/**
|
|
43
40
|
* Generates a new command class file.
|
|
44
41
|
*
|
|
45
|
-
* @returns updated state with outputDestination set to generated result path.
|
|
42
|
+
* @returns updated state with outputDestination set to a generated result path.
|
|
46
43
|
*/
|
|
47
44
|
async run() {
|
|
48
45
|
const { utilService, fileService, projectService } = this;
|
|
49
|
-
if (this.state.data.
|
|
46
|
+
if (this.state.data.genData.targetType !== state_1.GenTargetType.Command) {
|
|
50
47
|
return; // no-op
|
|
51
48
|
}
|
|
52
49
|
this.logger.info(chalk_1.default.blueBright("Generating Command"));
|
|
53
|
-
const targetName = this.state.data.
|
|
50
|
+
const targetName = this.state.data.genData.targetName;
|
|
54
51
|
const targetDirectory = this.state.data.project.commandDestination;
|
|
55
52
|
// detect case between commands and task files
|
|
56
53
|
const convention = projectService.getConvention();
|
|
57
54
|
this.logger.debug(`Using convention: ${chalk_1.default.magentaBright(convention)}`);
|
|
58
55
|
const className = utilService.titleizedToCase(targetName, format_1.CaseType.PASCAL_CASE);
|
|
59
56
|
const filename = `${utilService.titleizedToCase(targetName, convention)}${project_service_1.ProjectService.defaults.extention}`;
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
const rendered = (0, command_1.getCommandTemplate)(className, taskMappings);
|
|
57
|
+
const injectablesMap = this.projectService.getImportMap(this.state.data.genData);
|
|
58
|
+
const rendered = (0, command_1.getCommandTemplate)(className, injectablesMap);
|
|
63
59
|
const destination = path_1.default.join(targetDirectory, filename);
|
|
64
60
|
// write contents
|
|
65
61
|
fileService.writeFile(destination, rendered);
|
|
@@ -67,13 +63,13 @@ let GenerateCommand = class GenerateCommand extends app_task_1.AppTask {
|
|
|
67
63
|
}
|
|
68
64
|
/**
|
|
69
65
|
* Checks state for required fields. Executes prior to run method.
|
|
70
|
-
* Skips validation if
|
|
66
|
+
* Skips validation if genData.targetType is not set to command.
|
|
71
67
|
*/
|
|
72
68
|
async preRun() {
|
|
73
|
-
if (this.state.data.
|
|
69
|
+
if (this.state.data.genData.targetType !== state_1.GenTargetType.Command) {
|
|
74
70
|
return; // no validation on no-op flow
|
|
75
71
|
}
|
|
76
|
-
if (!this.state.data.
|
|
72
|
+
if (!this.state.data.genData.targetName) {
|
|
77
73
|
throw new Error("Unable to determine targetName");
|
|
78
74
|
}
|
|
79
75
|
if (!this.state.data.project) {
|
|
@@ -83,45 +79,12 @@ let GenerateCommand = class GenerateCommand extends app_task_1.AppTask {
|
|
|
83
79
|
throw new Error("Unable to determine targetDirectory");
|
|
84
80
|
}
|
|
85
81
|
}
|
|
86
|
-
/**
|
|
87
|
-
* Prompt to select tasks to use in the command being generated.
|
|
88
|
-
*
|
|
89
|
-
* @param taskMappings the map to add picked tasks to import for the command
|
|
90
|
-
*/
|
|
91
|
-
async addTasksToMap(taskMappings) {
|
|
92
|
-
if (!this.state.data.project?.taskDestination) {
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
const taskFiles = this.fileService.getFilesInDir(this.state.data.project.taskDestination);
|
|
96
|
-
this.logger.debug(`Found ${taskFiles.length} task files`);
|
|
97
|
-
// prompt for tasks to use in the new command
|
|
98
|
-
const pickedTasks = await this.promptService.pickMultiple("Include Tasks", taskFiles.map((tf) => ({
|
|
99
|
-
name: this.utilService.titleizedToCase(this.utilService.titleizeAll(this.fileService.getFilenameNoExt(tf)), format_1.CaseType.PASCAL_CASE),
|
|
100
|
-
value: tf,
|
|
101
|
-
})));
|
|
102
|
-
this.logger.debug(`Selected ${pickedTasks.length} tasks`);
|
|
103
|
-
if (!pickedTasks.length) {
|
|
104
|
-
return;
|
|
105
|
-
}
|
|
106
|
-
// add them to the map
|
|
107
|
-
for (const picked of pickedTasks) {
|
|
108
|
-
const filename = this.fileService.getFilenameNoExt(picked);
|
|
109
|
-
const taskClassName = this.utilService.titleizedToCase(this.utilService.titleizeAll(filename), format_1.CaseType.PASCAL_CASE);
|
|
110
|
-
const relativeSource = this.state.data.project.commandDestination;
|
|
111
|
-
const relativeDest = picked;
|
|
112
|
-
taskMappings.set(taskClassName, this.fileService
|
|
113
|
-
.toRelativePath(relativeSource, relativeDest)
|
|
114
|
-
// remove extension for typescript import
|
|
115
|
-
.replace(project_service_1.ProjectService.defaults.extention, ""));
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
82
|
};
|
|
119
83
|
GenerateCommand = __decorate([
|
|
120
84
|
(0, tsyringe_1.autoInjectable)(),
|
|
121
85
|
__metadata("design:paramtypes", [file_service_1.FileService,
|
|
122
|
-
util_service_1.UtilService,
|
|
123
86
|
project_service_1.ProjectService,
|
|
124
|
-
|
|
87
|
+
util_service_1.UtilService])
|
|
125
88
|
], GenerateCommand);
|
|
126
89
|
exports.default = GenerateCommand;
|
|
127
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,
|
|
1
|
+
{"version":3,"file":"generate-command.js","sourceRoot":"./src/","sources":["src/tasks/generate/generate-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { AppTask } from "../../wrappers/app-task";
|
|
2
1
|
import { ProjectService } from "../../services/project-service";
|
|
3
|
-
import {
|
|
2
|
+
import { AppTask } from "../../wrappers/app-task";
|
|
4
3
|
import { FileService } from "../../services/file-service";
|
|
4
|
+
import { UtilService } from "../../services/util-service";
|
|
5
5
|
/**
|
|
6
6
|
* Generates a new service class
|
|
7
7
|
*/
|
|
8
8
|
export default class GenerateService extends AppTask {
|
|
9
|
+
private fileService;
|
|
9
10
|
private projectService;
|
|
10
11
|
private utilService;
|
|
11
|
-
private fileService;
|
|
12
12
|
loggerName: string;
|
|
13
|
-
constructor(projectService: ProjectService, utilService: UtilService
|
|
13
|
+
constructor(fileService: FileService, projectService: ProjectService, utilService: UtilService);
|
|
14
14
|
/**
|
|
15
15
|
* Generates a new service class file.
|
|
16
16
|
*
|
|
17
|
-
* @returns updated state with outputDestination set to generated result path.
|
|
17
|
+
* @returns updated state with outputDestination set to a generated result path.
|
|
18
18
|
*/
|
|
19
19
|
run(): Promise<{
|
|
20
20
|
data: {
|
|
@@ -23,7 +23,7 @@ export default class GenerateService extends AppTask {
|
|
|
23
23
|
} | undefined>;
|
|
24
24
|
/**
|
|
25
25
|
* Checks state for required fields. Executes prior to run method.
|
|
26
|
-
* Skips validation if
|
|
26
|
+
* Skips validation if genData.targetType is not set to service.
|
|
27
27
|
*/
|
|
28
28
|
preRun(): Promise<void>;
|
|
29
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-service.d.ts","sourceRoot":"./src/","sources":["src/tasks/generate/generate-service.ts"],"names":[],"mappings":"
|
|
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"}
|