task-script-support-cli 0.1.1 → 0.2.4
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/.prettierignore +3 -0
- package/assets/yargs-template/task-runner/.prettierrc +1 -0
- package/assets/yargs-template/task-runner/.vscode/launch.json +34 -0
- package/assets/yargs-template/task-runner/eslint.config.ts +11 -0
- package/assets/yargs-template/task-runner/install-link.sh +21 -0
- package/assets/yargs-template/task-runner/package-lock.json +3387 -0
- package/assets/yargs-template/task-runner/package.json +51 -0
- package/assets/yargs-template/task-runner/src/commands/verify.ts +10 -0
- package/assets/yargs-template/task-runner/src/index.ts +46 -0
- package/assets/yargs-template/task-runner/src/services/banner-service.ts +38 -0
- package/assets/yargs-template/task-runner/src/services/log-service.ts +48 -0
- package/assets/yargs-template/task-runner/src/services/spawn-service.ts +87 -0
- package/assets/yargs-template/task-runner/src/services/util-service.ts +28 -0
- package/assets/yargs-template/task-runner/src/tasks/check-env.ts +49 -0
- package/assets/yargs-template/task-runner/src/tasks/log-state.ts +22 -0
- package/assets/yargs-template/task-runner/src/tasks/print-banner.ts +73 -0
- package/assets/yargs-template/task-runner/src/types/process.ts +9 -0
- package/assets/yargs-template/task-runner/src/types/state.ts +31 -0
- package/assets/yargs-template/task-runner/src/wrappers/app-task.ts +42 -0
- package/assets/yargs-template/task-runner/src/wrappers/command.ts +20 -0
- package/assets/yargs-template/task-runner/src/wrappers/dependencies.ts +24 -0
- package/assets/yargs-template/task-runner/task-runner +3 -0
- package/assets/yargs-template/task-runner/templater.sh +57 -0
- package/assets/yargs-template/task-runner/tests/commands/verify.test.ts +42 -0
- package/assets/yargs-template/task-runner/tests/services/spawn-service.test.ts +132 -0
- package/assets/yargs-template/task-runner/tests/services/util-service.test.ts +36 -0
- package/assets/yargs-template/task-runner/tests/setup.ts +1 -0
- package/assets/yargs-template/task-runner/tests/tasks/check-env.test.ts +30 -0
- package/assets/yargs-template/task-runner/tsconfig.json +27 -0
- package/assets/yargs-template/task-runner/vitest.config.ts +14 -0
- package/dist/assets/yargs-template/task-runner/.prettierignore +3 -0
- package/dist/assets/yargs-template/task-runner/.prettierrc +1 -0
- package/dist/assets/yargs-template/task-runner/.vscode/launch.json +34 -0
- package/dist/assets/yargs-template/task-runner/eslint.config.ts +11 -0
- package/dist/assets/yargs-template/task-runner/install-link.sh +21 -0
- package/dist/assets/yargs-template/task-runner/package-lock.json +3387 -0
- package/dist/assets/yargs-template/task-runner/package.json +51 -0
- package/dist/assets/yargs-template/task-runner/src/commands/verify.ts +10 -0
- package/dist/assets/yargs-template/task-runner/src/index.ts +46 -0
- package/dist/assets/yargs-template/task-runner/src/services/banner-service.ts +38 -0
- package/dist/assets/yargs-template/task-runner/src/services/log-service.ts +48 -0
- package/dist/assets/yargs-template/task-runner/src/services/spawn-service.ts +87 -0
- package/dist/assets/yargs-template/task-runner/src/services/util-service.ts +28 -0
- package/dist/assets/yargs-template/task-runner/src/tasks/check-env.ts +49 -0
- package/dist/assets/yargs-template/task-runner/src/tasks/log-state.ts +22 -0
- package/dist/assets/yargs-template/task-runner/src/tasks/print-banner.ts +73 -0
- package/dist/assets/yargs-template/task-runner/src/types/process.ts +9 -0
- package/dist/assets/yargs-template/task-runner/src/types/state.ts +31 -0
- package/dist/assets/yargs-template/task-runner/src/wrappers/app-task.ts +42 -0
- package/dist/assets/yargs-template/task-runner/src/wrappers/command.ts +20 -0
- package/dist/assets/yargs-template/task-runner/src/wrappers/dependencies.ts +24 -0
- package/dist/assets/yargs-template/task-runner/task-runner +3 -0
- package/dist/assets/yargs-template/task-runner/templater.sh +57 -0
- package/dist/assets/yargs-template/task-runner/tests/commands/verify.test.ts +42 -0
- package/dist/assets/yargs-template/task-runner/tests/services/spawn-service.test.ts +132 -0
- package/dist/assets/yargs-template/task-runner/tests/services/util-service.test.ts +36 -0
- package/dist/assets/yargs-template/task-runner/tests/setup.ts +1 -0
- package/dist/assets/yargs-template/task-runner/tests/tasks/check-env.test.ts +30 -0
- package/dist/assets/yargs-template/task-runner/tsconfig.json +27 -0
- package/dist/assets/yargs-template/task-runner/vitest.config.ts +14 -0
- package/dist/package.json +9 -3
- package/dist/src/commands/about.d.ts +2 -2
- package/dist/src/commands/about.d.ts.map +1 -1
- package/dist/src/commands/about.js +2 -2
- package/dist/src/commands/about.js.map +1 -1
- package/dist/src/commands/configure.d.ts +8 -0
- package/dist/src/commands/configure.d.ts.map +1 -0
- package/dist/src/commands/configure.js +25 -0
- package/dist/src/commands/configure.js.map +1 -0
- package/dist/src/commands/gen.d.ts +9 -7
- package/dist/src/commands/gen.d.ts.map +1 -1
- package/dist/src/commands/gen.js +10 -6
- package/dist/src/commands/gen.js.map +1 -1
- package/dist/src/commands/new.d.ts +8 -0
- package/dist/src/commands/new.d.ts.map +1 -0
- package/dist/src/commands/new.js +25 -0
- package/dist/src/commands/new.js.map +1 -0
- package/dist/src/index.js +10 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/services/cache-service.d.ts +11 -0
- package/dist/src/services/cache-service.d.ts.map +1 -0
- package/dist/src/services/cache-service.js +64 -0
- package/dist/src/services/cache-service.js.map +1 -0
- package/dist/src/services/file-service.d.ts +8 -2
- package/dist/src/services/file-service.d.ts.map +1 -1
- package/dist/src/services/file-service.js +38 -6
- package/dist/src/services/file-service.js.map +1 -1
- package/dist/src/services/log-service.d.ts +1 -0
- package/dist/src/services/log-service.d.ts.map +1 -1
- package/dist/src/services/log-service.js +14 -1
- package/dist/src/services/log-service.js.map +1 -1
- package/dist/src/services/project-service.d.ts +3 -3
- package/dist/src/services/project-service.d.ts.map +1 -1
- package/dist/src/services/project-service.js +10 -10
- package/dist/src/services/project-service.js.map +1 -1
- package/dist/src/services/prompt-service.d.ts +34 -0
- package/dist/src/services/prompt-service.d.ts.map +1 -0
- package/dist/src/services/prompt-service.js +80 -0
- package/dist/src/services/prompt-service.js.map +1 -0
- package/dist/src/services/spawn-service.d.ts +2 -1
- package/dist/src/services/spawn-service.d.ts.map +1 -1
- package/dist/src/services/spawn-service.js +16 -1
- package/dist/src/services/spawn-service.js.map +1 -1
- package/dist/src/services/util-service.d.ts +2 -0
- package/dist/src/services/util-service.d.ts.map +1 -1
- package/dist/src/services/util-service.js +4 -0
- package/dist/src/services/util-service.js.map +1 -1
- package/dist/src/tasks/check-env.d.ts +3 -2
- package/dist/src/tasks/check-env.d.ts.map +1 -1
- package/dist/src/tasks/check-env.js +11 -3
- package/dist/src/tasks/check-env.js.map +1 -1
- package/dist/src/tasks/configure.d.ts +44 -0
- package/dist/src/tasks/configure.d.ts.map +1 -0
- package/dist/src/tasks/configure.js +102 -0
- package/dist/src/tasks/configure.js.map +1 -0
- package/dist/src/tasks/create-new-project.d.ts +26 -0
- package/dist/src/tasks/create-new-project.d.ts.map +1 -0
- package/dist/src/tasks/create-new-project.js +76 -0
- package/dist/src/tasks/create-new-project.js.map +1 -0
- package/dist/src/tasks/generate/generate-command.d.ts +35 -0
- package/dist/src/tasks/generate/generate-command.d.ts.map +1 -0
- package/dist/src/tasks/generate/generate-command.js +128 -0
- package/dist/src/tasks/generate/generate-command.js.map +1 -0
- package/dist/src/tasks/generate/generate-service.d.ts +30 -0
- package/dist/src/tasks/generate/generate-service.d.ts.map +1 -0
- package/dist/src/tasks/{generate-service.js → generate/generate-service.js} +32 -31
- package/dist/src/tasks/generate/generate-service.js.map +1 -0
- package/dist/src/tasks/generate/generate-task.d.ts +30 -0
- package/dist/src/tasks/generate/generate-task.d.ts.map +1 -0
- package/dist/src/tasks/{generate-task.js → generate/generate-task.js} +32 -31
- package/dist/src/tasks/generate/generate-task.js.map +1 -0
- package/dist/src/tasks/generate/select-gen-target-name.d.ts +15 -0
- package/dist/src/tasks/generate/select-gen-target-name.d.ts.map +1 -0
- package/dist/src/tasks/generate/select-gen-target-name.js +59 -0
- package/dist/src/tasks/generate/select-gen-target-name.js.map +1 -0
- package/dist/src/tasks/generate/select-gen-target.d.ts +14 -0
- package/dist/src/tasks/generate/select-gen-target.d.ts.map +1 -0
- package/dist/src/tasks/generate/select-gen-target.js +60 -0
- package/dist/src/tasks/generate/select-gen-target.js.map +1 -0
- package/dist/src/tasks/{print-about-information.d.ts → stdout/print-about-information.d.ts} +1 -1
- package/dist/src/tasks/stdout/print-about-information.d.ts.map +1 -0
- package/dist/src/tasks/{print-about-information.js → stdout/print-about-information.js} +2 -2
- package/dist/src/tasks/stdout/print-about-information.js.map +1 -0
- package/dist/src/tasks/stdout/print-banner.d.ts +12 -0
- package/dist/src/tasks/stdout/print-banner.d.ts.map +1 -0
- package/dist/src/tasks/{print-banner.js → stdout/print-banner.js} +15 -11
- package/dist/src/tasks/stdout/print-banner.js.map +1 -0
- package/dist/src/tasks/{print-generated-results.d.ts → stdout/print-generated-results.d.ts} +2 -2
- package/dist/src/tasks/stdout/print-generated-results.d.ts.map +1 -0
- package/dist/src/tasks/{print-generated-results.js → stdout/print-generated-results.js} +16 -12
- package/dist/src/tasks/stdout/print-generated-results.js.map +1 -0
- package/dist/src/tasks/sync-configuration.d.ts +38 -0
- package/dist/src/tasks/sync-configuration.d.ts.map +1 -0
- package/dist/src/tasks/sync-configuration.js +121 -0
- package/dist/src/tasks/sync-configuration.js.map +1 -0
- package/dist/src/tasks/test-task.d.ts +10 -0
- package/dist/src/tasks/test-task.d.ts.map +1 -0
- package/dist/src/tasks/test-task.js +36 -0
- package/dist/src/tasks/test-task.js.map +1 -0
- package/dist/src/templates/command.js +2 -2
- package/dist/src/templates/command.js.map +1 -1
- package/dist/src/templates/service.js +1 -1
- package/dist/src/templates/service.js.map +1 -1
- package/dist/src/types/process.d.ts +2 -1
- package/dist/src/types/process.d.ts.map +1 -1
- package/dist/src/types/process.js +1 -0
- package/dist/src/types/process.js.map +1 -1
- package/dist/src/types/project.d.ts +12 -0
- package/dist/src/types/project.d.ts.map +1 -0
- package/dist/src/types/project.js +3 -0
- package/dist/src/types/project.js.map +1 -0
- package/dist/src/types/state.d.ts +5 -1
- package/dist/src/types/state.d.ts.map +1 -1
- package/dist/src/types/state.js +1 -0
- package/dist/src/types/state.js.map +1 -1
- package/dist/src/wrappers/app-task.d.ts +1 -0
- package/dist/src/wrappers/app-task.d.ts.map +1 -1
- package/dist/src/wrappers/app-task.js +4 -0
- package/dist/src/wrappers/app-task.js.map +1 -1
- package/dist/vitest.config.d.ts +3 -0
- package/dist/vitest.config.d.ts.map +1 -0
- package/dist/vitest.config.js +16 -0
- package/dist/vitest.config.js.map +1 -0
- package/package.json +9 -3
- package/src/commands/about.ts +2 -2
- package/src/commands/configure.ts +10 -0
- package/src/commands/gen.ts +10 -6
- package/src/commands/new.ts +10 -0
- package/src/index.ts +12 -0
- package/src/services/cache-service.ts +50 -0
- package/src/services/file-service.ts +46 -5
- package/src/services/log-service.ts +14 -1
- package/src/services/project-service.ts +8 -5
- package/src/services/prompt-service.ts +71 -0
- package/src/services/spawn-service.ts +15 -1
- package/src/services/util-service.ts +5 -0
- package/src/tasks/check-env.ts +10 -2
- package/src/tasks/configure.ts +105 -0
- package/src/tasks/create-new-project.ts +66 -0
- package/src/tasks/generate/generate-command.ts +136 -0
- package/src/tasks/generate/generate-service.ts +78 -0
- package/src/tasks/generate/generate-task.ts +79 -0
- package/src/tasks/generate/select-gen-target-name.ts +44 -0
- package/src/tasks/generate/select-gen-target.ts +46 -0
- package/src/tasks/{print-about-information.ts → stdout/print-about-information.ts} +2 -2
- package/src/tasks/stdout/print-banner.ts +41 -0
- package/src/tasks/stdout/print-generated-results.ts +37 -0
- package/src/tasks/sync-configuration.ts +129 -0
- package/src/tasks/test-task.ts +20 -0
- package/src/templates/command.ts +2 -2
- package/src/templates/service.ts +1 -1
- package/src/types/process.ts +1 -0
- package/src/types/project.ts +12 -0
- package/src/types/state.ts +7 -1
- package/src/wrappers/app-task.ts +5 -0
- package/tests/index.spec.ts +8 -0
- package/tests/setup.ts +1 -0
- package/tsconfig.json +1 -1
- package/vitest.config.ts +14 -0
- package/dist/src/tasks/generate-command.d.ts +0 -23
- package/dist/src/tasks/generate-command.d.ts.map +0 -1
- package/dist/src/tasks/generate-command.js +0 -91
- package/dist/src/tasks/generate-command.js.map +0 -1
- package/dist/src/tasks/generate-service.d.ts +0 -26
- package/dist/src/tasks/generate-service.d.ts.map +0 -1
- package/dist/src/tasks/generate-service.js.map +0 -1
- package/dist/src/tasks/generate-task.d.ts +0 -26
- package/dist/src/tasks/generate-task.d.ts.map +0 -1
- package/dist/src/tasks/generate-task.js.map +0 -1
- package/dist/src/tasks/print-about-information.d.ts.map +0 -1
- package/dist/src/tasks/print-about-information.js.map +0 -1
- package/dist/src/tasks/print-banner.d.ts +0 -12
- package/dist/src/tasks/print-banner.d.ts.map +0 -1
- package/dist/src/tasks/print-banner.js.map +0 -1
- package/dist/src/tasks/print-generated-results.d.ts.map +0 -1
- package/dist/src/tasks/print-generated-results.js.map +0 -1
- package/dist/src/tasks/select-gen-target.d.ts +0 -9
- package/dist/src/tasks/select-gen-target.d.ts.map +0 -1
- package/dist/src/tasks/select-gen-target.js +0 -44
- package/dist/src/tasks/select-gen-target.js.map +0 -1
- package/src/tasks/generate-command.ts +0 -87
- package/src/tasks/generate-service.ts +0 -82
- package/src/tasks/generate-task.ts +0 -83
- package/src/tasks/print-banner.ts +0 -37
- package/src/tasks/print-generated-results.ts +0 -36
- package/src/tasks/select-gen-target.ts +0 -29
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { AppTask } from "../wrappers/app-task";
|
|
2
|
+
import { PromptService } from "../services/prompt-service";
|
|
3
|
+
import { CacheService } from "../services/cache-service";
|
|
4
|
+
import { UtilService } from "../services/util-service";
|
|
5
|
+
/**
|
|
6
|
+
* Configures the Project Settings Cache in a Proactive way.
|
|
7
|
+
* Prompts for each resource type destination if not
|
|
8
|
+
* yet configured and multiple directories are found.
|
|
9
|
+
*/
|
|
10
|
+
export default class ConfigureCache extends AppTask {
|
|
11
|
+
private promptService;
|
|
12
|
+
private cacheService;
|
|
13
|
+
private utilService;
|
|
14
|
+
loggerName: string;
|
|
15
|
+
constructor(promptService: PromptService, cacheService: CacheService, utilService: UtilService);
|
|
16
|
+
/**
|
|
17
|
+
* Configure each resource type's output destination directory. Allows
|
|
18
|
+
* the user to reset these values if their project has changed since
|
|
19
|
+
* last cached.
|
|
20
|
+
*/
|
|
21
|
+
run(): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Prints the target destination path string
|
|
24
|
+
*
|
|
25
|
+
* @param dest the destination path to log
|
|
26
|
+
* @returns
|
|
27
|
+
*/
|
|
28
|
+
logDestination: (dest?: string) => void;
|
|
29
|
+
/**
|
|
30
|
+
* Gets the destination path for generating resources by resource type.
|
|
31
|
+
* If only one resource destination folder was found it is returned
|
|
32
|
+
* otherwise the user is prompted to select one from the found folders.
|
|
33
|
+
*
|
|
34
|
+
* @param keyType the type of destination to resolve
|
|
35
|
+
* @returns the path of the resolved destination
|
|
36
|
+
*/
|
|
37
|
+
getDestination(keyType: "command" | "task" | "service"): Promise<string>;
|
|
38
|
+
preRun(): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Check we have all the required state set
|
|
41
|
+
*/
|
|
42
|
+
verifyState(): void;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=configure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configure.d.ts","sourceRoot":"./src/","sources":["src/tasks/configure.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAI/C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD;;;;GAIG;AAEH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;IAI/C,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,WAAW;IALrB,UAAU,SAAe;gBAGf,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW;IAKlC;;;;OAIG;IACG,GAAG;IAiBT;;;;;OAKG;IACH,cAAc,GAAI,OAAM,MAAW,UAC8B;IAEjE;;;;;;;OAOG;IACG,cAAc,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS;IAyBtD,MAAM;IAIZ;;OAEG;IACH,WAAW;CAOZ"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
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
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
16
|
+
const app_task_1 = require("../wrappers/app-task");
|
|
17
|
+
const tsyringe_1 = require("tsyringe");
|
|
18
|
+
const state_1 = require("../types/state");
|
|
19
|
+
const prompt_service_1 = require("../services/prompt-service");
|
|
20
|
+
const cache_service_1 = require("../services/cache-service");
|
|
21
|
+
const util_service_1 = require("../services/util-service");
|
|
22
|
+
/**
|
|
23
|
+
* Configures the Project Settings Cache in a Proactive way.
|
|
24
|
+
* Prompts for each resource type destination if not
|
|
25
|
+
* yet configured and multiple directories are found.
|
|
26
|
+
*/
|
|
27
|
+
let ConfigureCache = class ConfigureCache extends app_task_1.AppTask {
|
|
28
|
+
promptService;
|
|
29
|
+
cacheService;
|
|
30
|
+
utilService;
|
|
31
|
+
loggerName = "Configure";
|
|
32
|
+
constructor(promptService, cacheService, utilService) {
|
|
33
|
+
super();
|
|
34
|
+
this.promptService = promptService;
|
|
35
|
+
this.cacheService = cacheService;
|
|
36
|
+
this.utilService = utilService;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Configure each resource type's output destination directory. Allows
|
|
40
|
+
* the user to reset these values if their project has changed since
|
|
41
|
+
* last cached.
|
|
42
|
+
*/
|
|
43
|
+
async run() {
|
|
44
|
+
this.logger.info(chalk_1.default.blueBright("Checking Configuration"));
|
|
45
|
+
const project = this.state.data.project;
|
|
46
|
+
project.commandDestination = await this.getDestination(state_1.GenTargetType.Command);
|
|
47
|
+
project.serviceDestination = await this.getDestination(state_1.GenTargetType.Service);
|
|
48
|
+
project.taskDestination = await this.getDestination(state_1.GenTargetType.Task);
|
|
49
|
+
this.logger.debug(chalk_1.default.blackBright(`Saving configuration`));
|
|
50
|
+
await this.cacheService.writeProject(project);
|
|
51
|
+
this.setData({ project });
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Prints the target destination path string
|
|
55
|
+
*
|
|
56
|
+
* @param dest the destination path to log
|
|
57
|
+
* @returns
|
|
58
|
+
*/
|
|
59
|
+
logDestination = (dest = "") => this.logger.debug(`Destination: ${chalk_1.default.magentaBright(dest)}`);
|
|
60
|
+
/**
|
|
61
|
+
* Gets the destination path for generating resources by resource type.
|
|
62
|
+
* If only one resource destination folder was found it is returned
|
|
63
|
+
* otherwise the user is prompted to select one from the found folders.
|
|
64
|
+
*
|
|
65
|
+
* @param keyType the type of destination to resolve
|
|
66
|
+
* @returns the path of the resolved destination
|
|
67
|
+
*/
|
|
68
|
+
async getDestination(keyType) {
|
|
69
|
+
const foldersKey = `${keyType}Folders`;
|
|
70
|
+
const nonTestFolders = this.state.data.project[foldersKey].filter((folder) => !(folder || "").includes("/tests/"));
|
|
71
|
+
// if we only have one folder found, use this as the destination
|
|
72
|
+
const titleizedKey = chalk_1.default.blueBright(this.utilService.titleize(keyType));
|
|
73
|
+
if (nonTestFolders.length === 1) {
|
|
74
|
+
this.logger.debug(`Configuring single found ${titleizedKey} folder`);
|
|
75
|
+
return nonTestFolders[0] || "";
|
|
76
|
+
}
|
|
77
|
+
// otherwise prompt to pick one
|
|
78
|
+
await this.logger.flush();
|
|
79
|
+
const userSelection = await this.promptService.select(`Multiple folders found. Select correct ${titleizedKey} folder`, nonTestFolders);
|
|
80
|
+
return userSelection;
|
|
81
|
+
}
|
|
82
|
+
//@override
|
|
83
|
+
async preRun() {
|
|
84
|
+
this.verifyState();
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Check we have all the required state set
|
|
88
|
+
*/
|
|
89
|
+
verifyState() {
|
|
90
|
+
if (!this.state.data.project || !this.state.data.project.rootDir) {
|
|
91
|
+
throw new Error(`Missing project rootDir! ${this.constructor.name} requires the CheckEnvironment task to be ran first.`);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
ConfigureCache = __decorate([
|
|
96
|
+
(0, tsyringe_1.autoInjectable)(),
|
|
97
|
+
__metadata("design:paramtypes", [prompt_service_1.PromptService,
|
|
98
|
+
cache_service_1.CacheService,
|
|
99
|
+
util_service_1.UtilService])
|
|
100
|
+
], ConfigureCache);
|
|
101
|
+
exports.default = ConfigureCache;
|
|
102
|
+
//# sourceMappingURL=configure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configure.js","sourceRoot":"./src/","sources":["src/tasks/configure.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { SpawnService } from "../services/spawn-service";
|
|
2
|
+
import { FileService } from "../services/file-service";
|
|
3
|
+
import { PromptService } from "../services/prompt-service";
|
|
4
|
+
import { AppTask } from "../wrappers/app-task";
|
|
5
|
+
/**
|
|
6
|
+
* Creates a New Task Script Support Project
|
|
7
|
+
*/
|
|
8
|
+
export default class CreateNewProject extends AppTask {
|
|
9
|
+
private fileService;
|
|
10
|
+
private spawnService;
|
|
11
|
+
private promptService;
|
|
12
|
+
loggerName: string;
|
|
13
|
+
constructor(fileService: FileService, spawnService: SpawnService, promptService: PromptService);
|
|
14
|
+
/**
|
|
15
|
+
* Generates a new project. Updates state with outputDestination of the
|
|
16
|
+
* newly generated project path.
|
|
17
|
+
*/
|
|
18
|
+
run(): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* Resolves the project name input from args or prompt.
|
|
21
|
+
*
|
|
22
|
+
* @returns the project name string
|
|
23
|
+
*/
|
|
24
|
+
getProjectName(): Promise<string>;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=create-new-project.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-new-project.d.ts","sourceRoot":"./src/","sources":["src/tasks/create-new-project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C;;GAEG;AAEH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,OAAO;IAIjD,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,aAAa;IALvB,UAAU,SAAwB;gBAGxB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa;IAKtC;;;OAGG;IACG,GAAG;IAsBT;;;;OAIG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;CAYxC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
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
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const spawn_service_1 = require("../services/spawn-service");
|
|
13
|
+
const file_service_1 = require("../services/file-service");
|
|
14
|
+
const prompt_service_1 = require("../services/prompt-service");
|
|
15
|
+
const process_1 = require("../types/process");
|
|
16
|
+
const app_task_1 = require("../wrappers/app-task");
|
|
17
|
+
const tsyringe_1 = require("tsyringe");
|
|
18
|
+
/**
|
|
19
|
+
* Creates a New Task Script Support Project
|
|
20
|
+
*/
|
|
21
|
+
let CreateNewProject = class CreateNewProject extends app_task_1.AppTask {
|
|
22
|
+
fileService;
|
|
23
|
+
spawnService;
|
|
24
|
+
promptService;
|
|
25
|
+
loggerName = "Create New Project";
|
|
26
|
+
constructor(fileService, spawnService, promptService) {
|
|
27
|
+
super();
|
|
28
|
+
this.fileService = fileService;
|
|
29
|
+
this.spawnService = spawnService;
|
|
30
|
+
this.promptService = promptService;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Generates a new project. Updates state with outputDestination of the
|
|
34
|
+
* newly generated project path.
|
|
35
|
+
*/
|
|
36
|
+
async run() {
|
|
37
|
+
// get path of the templater
|
|
38
|
+
const templaterFullPath = this.fileService.join(__dirname, "../../assets/yargs-template/task-runner/templater.sh");
|
|
39
|
+
// get execution directory
|
|
40
|
+
const runnerDir = this.fileService.getRunnerDir();
|
|
41
|
+
// get project name user input
|
|
42
|
+
const projectName = await this.getProjectName();
|
|
43
|
+
// execute the templater from the runner directory and provide given name
|
|
44
|
+
const shCmd = `bash ${templaterFullPath} ${projectName}`;
|
|
45
|
+
this.spawnService.execSyncFromDir(shCmd, runnerDir);
|
|
46
|
+
this.setData({
|
|
47
|
+
outputDestination: this.fileService.join(runnerDir, projectName),
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Resolves the project name input from args or prompt.
|
|
52
|
+
*
|
|
53
|
+
* @returns the project name string
|
|
54
|
+
*/
|
|
55
|
+
async getProjectName() {
|
|
56
|
+
let projectName;
|
|
57
|
+
if (this.argService.hasFlag(process_1.CLIOptions.name)) {
|
|
58
|
+
projectName = this.argService.getOption(process_1.CLIOptions.name);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
projectName = await this.promptService.getInput("Enter Project Name");
|
|
62
|
+
}
|
|
63
|
+
if (!projectName) {
|
|
64
|
+
throw new Error("Unable to resolve projectName");
|
|
65
|
+
}
|
|
66
|
+
return projectName;
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
CreateNewProject = __decorate([
|
|
70
|
+
(0, tsyringe_1.autoInjectable)(),
|
|
71
|
+
__metadata("design:paramtypes", [file_service_1.FileService,
|
|
72
|
+
spawn_service_1.SpawnService,
|
|
73
|
+
prompt_service_1.PromptService])
|
|
74
|
+
], CreateNewProject);
|
|
75
|
+
exports.default = CreateNewProject;
|
|
76
|
+
//# sourceMappingURL=create-new-project.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-new-project.js","sourceRoot":"./src/","sources":["src/tasks/create-new-project.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,6DAAyD;AACzD,2DAAuD;AACvD,+DAA2D;AAC3D,8CAA8C;AAC9C,mDAA+C;AAC/C,uCAA0C;AAE1C;;GAEG;AAEY,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,kBAAO;IAIzC;IACA;IACA;IALV,UAAU,GAAG,oBAAoB,CAAC;IAElC,YACU,WAAwB,EACxB,YAA0B,EAC1B,aAA4B;QAEpC,KAAK,EAAE,CAAC;QAJA,gBAAW,GAAX,WAAW,CAAa;QACxB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,kBAAa,GAAb,aAAa,CAAe;IAGtC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,GAAG;QACP,4BAA4B;QAC5B,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAC7C,SAAS,EACT,sDAAsD,CACvD,CAAC;QAEF,0BAA0B;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QAElD,8BAA8B;QAC9B,MAAM,WAAW,GAAW,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAExD,yEAAyE;QACzE,MAAM,KAAK,GAAG,QAAQ,iBAAiB,IAAI,WAAW,EAAE,CAAC;QACzD,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEpD,IAAI,CAAC,OAAO,CAAC;YACX,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC;SACjE,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc;QAClB,IAAI,WAAmB,CAAC;QACxB,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,oBAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAS,oBAAU,CAAC,IAAI,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;CACF,CAAA;AAtDoB,gBAAgB;IADpC,IAAA,yBAAc,GAAE;qCAKQ,0BAAW;QACV,4BAAY;QACX,8BAAa;GANnB,gBAAgB,CAsDpC;kBAtDoB,gBAAgB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { AppTask } from "../../wrappers/app-task";
|
|
2
|
+
import { AppState } from "../../types/state";
|
|
3
|
+
import { FileService } from "../../services/file-service";
|
|
4
|
+
import { UtilService } from "../../services/util-service";
|
|
5
|
+
import { ProjectService } from "../../services/project-service";
|
|
6
|
+
import { PromptService } from "../../services/prompt-service";
|
|
7
|
+
/**
|
|
8
|
+
* Generates a new command class
|
|
9
|
+
*/
|
|
10
|
+
export default class GenerateCommand extends AppTask {
|
|
11
|
+
private fileService;
|
|
12
|
+
private utilService;
|
|
13
|
+
private projectService;
|
|
14
|
+
private promptService;
|
|
15
|
+
loggerName: string;
|
|
16
|
+
constructor(fileService: FileService, utilService: UtilService, projectService: ProjectService, promptService: PromptService);
|
|
17
|
+
/**
|
|
18
|
+
* Generates a new command class file.
|
|
19
|
+
*
|
|
20
|
+
* @returns updated state with outputDestination set to generated result path.
|
|
21
|
+
*/
|
|
22
|
+
run(): Promise<void | Partial<AppState>>;
|
|
23
|
+
/**
|
|
24
|
+
* Checks state for required fields. Executes prior to run method.
|
|
25
|
+
* Skips validation if genTargetType is not set to command.
|
|
26
|
+
*/
|
|
27
|
+
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
|
+
}
|
|
35
|
+
//# sourceMappingURL=generate-command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-command.d.ts","sourceRoot":"./src/","sources":["src/tasks/generate/generate-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAiB,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAI1D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D;;GAEG;AAEH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,OAAO;IAIhD,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,aAAa;IANvB,UAAU,SAAsB;gBAGtB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa;IAKtC;;;;OAIG;IACG,GAAG,IAAI,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IA+B9C;;;OAGG;IACG,MAAM;IAeZ;;;;OAIG;IACG,aAAa,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;CA+CtD"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
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
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
16
|
+
const app_task_1 = require("../../wrappers/app-task");
|
|
17
|
+
const tsyringe_1 = require("tsyringe");
|
|
18
|
+
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
|
+
const format_1 = require("../../types/format");
|
|
22
|
+
const path_1 = __importDefault(require("path"));
|
|
23
|
+
const command_1 = require("../../templates/command");
|
|
24
|
+
const project_service_1 = require("../../services/project-service");
|
|
25
|
+
const prompt_service_1 = require("../../services/prompt-service");
|
|
26
|
+
/**
|
|
27
|
+
* Generates a new command class
|
|
28
|
+
*/
|
|
29
|
+
let GenerateCommand = class GenerateCommand extends app_task_1.AppTask {
|
|
30
|
+
fileService;
|
|
31
|
+
utilService;
|
|
32
|
+
projectService;
|
|
33
|
+
promptService;
|
|
34
|
+
loggerName = "Generate Command";
|
|
35
|
+
constructor(fileService, utilService, projectService, promptService) {
|
|
36
|
+
super();
|
|
37
|
+
this.fileService = fileService;
|
|
38
|
+
this.utilService = utilService;
|
|
39
|
+
this.projectService = projectService;
|
|
40
|
+
this.promptService = promptService;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Generates a new command class file.
|
|
44
|
+
*
|
|
45
|
+
* @returns updated state with outputDestination set to generated result path.
|
|
46
|
+
*/
|
|
47
|
+
async run() {
|
|
48
|
+
const { utilService, fileService, projectService } = this;
|
|
49
|
+
if (this.state.data.genTargetType !== state_1.GenTargetType.Command) {
|
|
50
|
+
return; // no-op
|
|
51
|
+
}
|
|
52
|
+
this.logger.info(chalk_1.default.blueBright("Generating Command"));
|
|
53
|
+
const targetName = this.state.data.genTargetName;
|
|
54
|
+
const targetDirectory = this.state.data.project.commandDestination;
|
|
55
|
+
// detect case between commands and task files
|
|
56
|
+
const convention = projectService.getConvention();
|
|
57
|
+
this.logger.debug(`Using convention: ${chalk_1.default.magentaBright(convention)}`);
|
|
58
|
+
const className = utilService.titleizedToCase(targetName, format_1.CaseType.PASCAL_CASE);
|
|
59
|
+
const filename = `${utilService.titleizedToCase(targetName, convention)}${project_service_1.ProjectService.defaults.extention}`;
|
|
60
|
+
const taskMappings = new Map();
|
|
61
|
+
await this.addTasksToMap(taskMappings);
|
|
62
|
+
const rendered = (0, command_1.getCommandTemplate)(className, taskMappings);
|
|
63
|
+
const destination = path_1.default.join(targetDirectory, filename);
|
|
64
|
+
// write contents
|
|
65
|
+
fileService.writeFile(destination, rendered);
|
|
66
|
+
return { data: { outputDestination: destination } };
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Checks state for required fields. Executes prior to run method.
|
|
70
|
+
* Skips validation if genTargetType is not set to command.
|
|
71
|
+
*/
|
|
72
|
+
async preRun() {
|
|
73
|
+
if (this.state.data.genTargetType !== state_1.GenTargetType.Command) {
|
|
74
|
+
return; // no validation on no-op flow
|
|
75
|
+
}
|
|
76
|
+
if (!this.state.data.genTargetName) {
|
|
77
|
+
throw new Error("Unable to determine targetName");
|
|
78
|
+
}
|
|
79
|
+
if (!this.state.data.project) {
|
|
80
|
+
throw new Error("Unable to determine project");
|
|
81
|
+
}
|
|
82
|
+
if (!this.state.data.project.commandDestination) {
|
|
83
|
+
throw new Error("Unable to determine targetDirectory");
|
|
84
|
+
}
|
|
85
|
+
}
|
|
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
|
+
await this.logger.flush();
|
|
98
|
+
// prompt for tasks to use in the new command
|
|
99
|
+
const pickedTasks = await this.promptService.pickMultiple("Include Tasks", taskFiles.map((tf) => ({
|
|
100
|
+
name: this.utilService.titleizedToCase(this.utilService.titleizeAll(this.fileService.getFilenameNoExt(tf)), format_1.CaseType.PASCAL_CASE),
|
|
101
|
+
value: tf,
|
|
102
|
+
})));
|
|
103
|
+
this.logger.debug(`Selected ${pickedTasks.length} tasks`);
|
|
104
|
+
if (!pickedTasks.length) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
// add them to the map
|
|
108
|
+
for (const picked of pickedTasks) {
|
|
109
|
+
const filename = this.fileService.getFilenameNoExt(picked);
|
|
110
|
+
const taskClassName = this.utilService.titleizedToCase(this.utilService.titleizeAll(filename), format_1.CaseType.PASCAL_CASE);
|
|
111
|
+
const relativeSource = this.state.data.project.commandDestination;
|
|
112
|
+
const relativeDest = picked;
|
|
113
|
+
taskMappings.set(taskClassName, this.fileService
|
|
114
|
+
.toRelativePath(relativeSource, relativeDest)
|
|
115
|
+
// remove extension for typescript import
|
|
116
|
+
.replace(project_service_1.ProjectService.defaults.extention, ""));
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
GenerateCommand = __decorate([
|
|
121
|
+
(0, tsyringe_1.autoInjectable)(),
|
|
122
|
+
__metadata("design:paramtypes", [file_service_1.FileService,
|
|
123
|
+
util_service_1.UtilService,
|
|
124
|
+
project_service_1.ProjectService,
|
|
125
|
+
prompt_service_1.PromptService])
|
|
126
|
+
], GenerateCommand);
|
|
127
|
+
exports.default = GenerateCommand;
|
|
128
|
+
//# sourceMappingURL=generate-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-command.js","sourceRoot":"./src/","sources":["src/tasks/generate/generate-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { AppTask } from "../../wrappers/app-task";
|
|
2
|
+
import { ProjectService } from "../../services/project-service";
|
|
3
|
+
import { UtilService } from "../../services/util-service";
|
|
4
|
+
import { FileService } from "../../services/file-service";
|
|
5
|
+
/**
|
|
6
|
+
* Generates a new service class
|
|
7
|
+
*/
|
|
8
|
+
export default class GenerateService extends AppTask {
|
|
9
|
+
private projectService;
|
|
10
|
+
private utilService;
|
|
11
|
+
private fileService;
|
|
12
|
+
loggerName: string;
|
|
13
|
+
constructor(projectService: ProjectService, utilService: UtilService, fileService: FileService);
|
|
14
|
+
/**
|
|
15
|
+
* Generates a new service class file.
|
|
16
|
+
*
|
|
17
|
+
* @returns updated state with outputDestination set to generated result path.
|
|
18
|
+
*/
|
|
19
|
+
run(): Promise<{
|
|
20
|
+
data: {
|
|
21
|
+
outputDestination: string;
|
|
22
|
+
};
|
|
23
|
+
} | undefined>;
|
|
24
|
+
/**
|
|
25
|
+
* Checks state for required fields. Executes prior to run method.
|
|
26
|
+
* Skips validation if genTargetType is not set to service.
|
|
27
|
+
*/
|
|
28
|
+
preRun(): Promise<void>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=generate-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-service.d.ts","sourceRoot":"./src/","sources":["src/tasks/generate/generate-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGlD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAK1D;;GAEG;AAEH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,OAAO;IAIhD,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,WAAW;IALrB,UAAU,SAAsB;gBAGtB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW;IAKlC;;;;OAIG;IACG,GAAG;;;;;IA4BT;;;OAGG;IACG,MAAM;CAcb"}
|
|
@@ -13,15 +13,15 @@ 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("
|
|
16
|
+
const app_task_1 = require("../../wrappers/app-task");
|
|
17
17
|
const tsyringe_1 = require("tsyringe");
|
|
18
|
-
const state_1 = require("
|
|
19
|
-
const project_service_1 =
|
|
20
|
-
const util_service_1 = require("
|
|
21
|
-
const file_service_1 =
|
|
22
|
-
const format_1 = require("
|
|
18
|
+
const state_1 = require("../../types/state");
|
|
19
|
+
const project_service_1 = require("../../services/project-service");
|
|
20
|
+
const util_service_1 = require("../../services/util-service");
|
|
21
|
+
const file_service_1 = require("../../services/file-service");
|
|
22
|
+
const format_1 = require("../../types/format");
|
|
23
23
|
const path_1 = __importDefault(require("path"));
|
|
24
|
-
const service_1 = require("
|
|
24
|
+
const service_1 = require("../../templates/service");
|
|
25
25
|
/**
|
|
26
26
|
* Generates a new service class
|
|
27
27
|
*/
|
|
@@ -36,53 +36,54 @@ let GenerateService = class GenerateService extends app_task_1.AppTask {
|
|
|
36
36
|
this.utilService = utilService;
|
|
37
37
|
this.fileService = fileService;
|
|
38
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Generates a new service class file.
|
|
41
|
+
*
|
|
42
|
+
* @returns updated state with outputDestination set to generated result path.
|
|
43
|
+
*/
|
|
39
44
|
async run() {
|
|
40
45
|
if (this.state.data.genTargetType !== state_1.GenTargetType.Service) {
|
|
41
46
|
return;
|
|
42
47
|
}
|
|
43
48
|
this.logger.info(chalk_1.default.blueBright("Generating Service"));
|
|
44
|
-
const {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
// TODO: Prompt for target name?
|
|
48
|
-
targetName = argService.cleanTargetName(project_service_1.default.defaults.targetName);
|
|
49
|
-
}
|
|
50
|
-
const targetDirectory = this.getTargetDirectory();
|
|
51
|
-
if (!targetDirectory) {
|
|
52
|
-
throw new Error("Unable to determine target Directory");
|
|
53
|
-
}
|
|
49
|
+
const { utilService, projectService } = this;
|
|
50
|
+
const targetName = this.state.data.genTargetName;
|
|
51
|
+
const targetDirectory = this.state.data.project.serviceDestination;
|
|
54
52
|
// detect case
|
|
55
53
|
const convention = projectService.getConvention();
|
|
56
54
|
this.logger.debug(`Using convention: ${chalk_1.default.magentaBright(convention)}`);
|
|
57
55
|
const className = utilService.titleizedToCase(targetName, format_1.CaseType.PASCAL_CASE);
|
|
58
56
|
const rendered = (0, service_1.getServiceTemplate)(className);
|
|
59
|
-
const filename = `${utilService.titleizedToCase(targetName, convention)}${project_service_1.
|
|
57
|
+
const filename = `${utilService.titleizedToCase(targetName, convention)}${project_service_1.ProjectService.defaults.extention}`;
|
|
60
58
|
const destination = path_1.default.join(targetDirectory, filename);
|
|
61
59
|
// write contents
|
|
62
60
|
this.fileService.writeFile(destination, rendered);
|
|
63
61
|
return { data: { outputDestination: destination } };
|
|
64
62
|
}
|
|
65
63
|
/**
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
* @returns the destination path of the parent folder to save the new file in.
|
|
64
|
+
* Checks state for required fields. Executes prior to run method.
|
|
65
|
+
* Skips validation if genTargetType is not set to service.
|
|
69
66
|
*/
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
67
|
+
async preRun() {
|
|
68
|
+
if (this.state.data.genTargetType !== state_1.GenTargetType.Service) {
|
|
69
|
+
return; // no validation on no-op flow
|
|
70
|
+
}
|
|
71
|
+
if (!this.state.data.genTargetName) {
|
|
72
|
+
throw new Error("Unable to determine targetName");
|
|
73
|
+
}
|
|
74
|
+
if (!this.state.data.project) {
|
|
75
|
+
throw new Error("Unable to determine project");
|
|
76
|
+
}
|
|
77
|
+
if (!this.state.data.project.serviceDestination) {
|
|
78
|
+
throw new Error("Unable to determine targetDirectory");
|
|
75
79
|
}
|
|
76
|
-
// TODO: prompt to select destination from available servicesFolders
|
|
77
|
-
this.logger.warn(`Multiple service folders detected. Using first found.`);
|
|
78
|
-
return servicesFolders[0];
|
|
79
80
|
}
|
|
80
81
|
};
|
|
81
82
|
GenerateService = __decorate([
|
|
82
83
|
(0, tsyringe_1.autoInjectable)(),
|
|
83
|
-
__metadata("design:paramtypes", [project_service_1.
|
|
84
|
+
__metadata("design:paramtypes", [project_service_1.ProjectService,
|
|
84
85
|
util_service_1.UtilService,
|
|
85
|
-
file_service_1.
|
|
86
|
+
file_service_1.FileService])
|
|
86
87
|
], GenerateService);
|
|
87
88
|
exports.default = GenerateService;
|
|
88
89
|
//# sourceMappingURL=generate-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-service.js","sourceRoot":"./src/","sources":["src/tasks/generate/generate-service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,sDAAkD;AAClD,uCAA0C;AAC1C,6CAAkD;AAClD,oEAAgE;AAChE,8DAA0D;AAC1D,8DAA0D;AAC1D,+CAA8C;AAC9C,gDAAwB;AACxB,qDAA6D;AAE7D;;GAEG;AAEY,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,kBAAO;IAIxC;IACA;IACA;IALV,UAAU,GAAG,kBAAkB,CAAC;IAEhC,YACU,cAA8B,EAC9B,WAAwB,EACxB,WAAwB;QAEhC,KAAK,EAAE,CAAC;QAJA,mBAAc,GAAd,cAAc,CAAgB;QAC9B,gBAAW,GAAX,WAAW,CAAa;QACxB,gBAAW,GAAX,WAAW,CAAa;IAGlC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,GAAG;QACP,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,qBAAa,CAAC,OAAO,EAAE,CAAC;YAC5D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACzD,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;QAE7C,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,cAAc;QACd,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;QAC1E,MAAM,SAAS,GAAG,WAAW,CAAC,eAAe,CAC3C,UAAU,EACV,iBAAQ,CAAC,WAAW,CACrB,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAA,4BAAkB,EAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,GAAG,WAAW,CAAC,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,gCAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC9G,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QAEzD,iBAAiB;QACjB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAClD,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;AA9DoB,eAAe;IADnC,IAAA,yBAAc,GAAE;qCAKW,gCAAc;QACjB,0BAAW;QACX,0BAAW;GANf,eAAe,CA8DnC;kBA9DoB,eAAe"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { AppTask } from "../../wrappers/app-task";
|
|
2
|
+
import { UtilService } from "../../services/util-service";
|
|
3
|
+
import { FileService } from "../../services/file-service";
|
|
4
|
+
import { ProjectService } from "../../services/project-service";
|
|
5
|
+
/**
|
|
6
|
+
* Generates a new task class
|
|
7
|
+
*/
|
|
8
|
+
export default class GenerateTask extends AppTask {
|
|
9
|
+
private utilService;
|
|
10
|
+
private fileService;
|
|
11
|
+
private projectService;
|
|
12
|
+
loggerName: string;
|
|
13
|
+
constructor(utilService: UtilService, fileService: FileService, projectService: ProjectService);
|
|
14
|
+
/**
|
|
15
|
+
* Generates a new task class file.
|
|
16
|
+
*
|
|
17
|
+
* @returns updated state with outputDestination set to generated result path.
|
|
18
|
+
*/
|
|
19
|
+
run(): Promise<{
|
|
20
|
+
data: {
|
|
21
|
+
outputDestination: string;
|
|
22
|
+
};
|
|
23
|
+
} | undefined>;
|
|
24
|
+
/**
|
|
25
|
+
* Checks state for required fields. Executes prior to run method.
|
|
26
|
+
* Skips validation if genTargetType is not set to task.
|
|
27
|
+
*/
|
|
28
|
+
preRun(): Promise<void>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=generate-task.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-task.d.ts","sourceRoot":"./src/","sources":["src/tasks/generate/generate-task.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAKlD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGhE;;GAEG;AAEH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;IAI7C,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,cAAc;IALxB,UAAU,SAAmB;gBAGnB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc;IAKxC;;;;OAIG;IACG,GAAG;;;;;IA6BT;;;OAGG;IACG,MAAM;CAcb"}
|