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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"print-generated-results.js","sourceRoot":"./src/","sources":["src/tasks/print-generated-results.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,mDAA+C;AAC/C,uCAA0C;AAE1C,2DAAuD;AAEvD;;GAEG;AAEY,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,kBAAO;IAGpC;IAFpB,UAAU,GAAG,eAAe,CAAC;IAE7B,YAAoB,WAAwB;QAC1C,KAAK,EAAE,CAAC;QADU,gBAAW,GAAX,WAAW,CAAa;IAE5C,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,MAAM,GAAkB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAc,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,eAAK,CAAC,UAAU,CACd,yBAAyB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAC7D,CACF,CAAC;QAEF,UAAU,CAAC,GAAG,EAAE;YACd,OAAO,CAAC,GAAG,CAAC;;;;YAIN,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,QAAQ;;SAEhD,CAAC,CAAC;QACP,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;CACF,CAAA;AAzBoB,qBAAqB;IADzC,IAAA,yBAAc,GAAE;qCAIkB,0BAAW;GAHzB,qBAAqB,CAyBzC;kBAzBoB,qBAAqB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"select-gen-target.d.ts","sourceRoot":"./src/","sources":["src/tasks/select-gen-target.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAI/C;;GAEG;AAEH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,OAAO;IAClD,UAAU,SAAmB;IACvB,GAAG;CAiBV"}
|
|
@@ -1,44 +0,0 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
13
|
-
const app_task_1 = require("../wrappers/app-task");
|
|
14
|
-
const tsyringe_1 = require("tsyringe");
|
|
15
|
-
const state_1 = require("../types/state");
|
|
16
|
-
/**
|
|
17
|
-
* Sets the genTargetType based on input
|
|
18
|
-
*/
|
|
19
|
-
let SelectGenTarget = class SelectGenTarget extends app_task_1.AppTask {
|
|
20
|
-
loggerName = "Select Target";
|
|
21
|
-
async run() {
|
|
22
|
-
let target = state_1.GenTargetType.Command;
|
|
23
|
-
this.logger.info(chalk_1.default.blueBright("Checking Target"));
|
|
24
|
-
if (this.argService.hasFlag("service")) {
|
|
25
|
-
target = state_1.GenTargetType.Service;
|
|
26
|
-
}
|
|
27
|
-
else if (this.argService.hasFlag("task")) {
|
|
28
|
-
target = state_1.GenTargetType.Task;
|
|
29
|
-
}
|
|
30
|
-
else if (this.argService.hasFlag("command")) {
|
|
31
|
-
target = state_1.GenTargetType.Command;
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
this.logger.warn(`Using default target: ${target}`);
|
|
35
|
-
}
|
|
36
|
-
this.logger.debug(`Target selected: ${chalk_1.default.magentaBright(target)}`);
|
|
37
|
-
this.setData({ genTargetType: target });
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
SelectGenTarget = __decorate([
|
|
41
|
-
(0, tsyringe_1.autoInjectable)()
|
|
42
|
-
], SelectGenTarget);
|
|
43
|
-
exports.default = SelectGenTarget;
|
|
44
|
-
//# sourceMappingURL=select-gen-target.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"select-gen-target.js","sourceRoot":"./src/","sources":["src/tasks/select-gen-target.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,kDAA0B;AAC1B,mDAA+C;AAC/C,uCAA0C;AAC1C,0CAA+C;AAE/C;;GAEG;AAEY,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,kBAAO;IAClD,UAAU,GAAG,eAAe,CAAC;IAC7B,KAAK,CAAC,GAAG;QACP,IAAI,MAAM,GAAkB,qBAAa,CAAC,OAAO,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAEtD,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACvC,MAAM,GAAG,qBAAa,CAAC,OAAO,CAAC;QACjC,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3C,MAAM,GAAG,qBAAa,CAAC,IAAI,CAAC;QAC9B,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9C,MAAM,GAAG,qBAAa,CAAC,OAAO,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,eAAK,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF,CAAA;AAnBoB,eAAe;IADnC,IAAA,yBAAc,GAAE;GACI,eAAe,CAmBnC;kBAnBoB,eAAe"}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import chalk from "chalk";
|
|
2
|
-
import { AppTask } from "../wrappers/app-task";
|
|
3
|
-
import { autoInjectable } from "tsyringe";
|
|
4
|
-
import { AppState, GenTargetType } from "../types/state";
|
|
5
|
-
import FileService from "../services/file-service";
|
|
6
|
-
import { UtilService } from "../services/util-service";
|
|
7
|
-
import { CaseType } from "../types/format";
|
|
8
|
-
import path from "path";
|
|
9
|
-
import { getCommandTemplate } from "../templates/command";
|
|
10
|
-
import ProjectService from "../services/project-service";
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Generates a new command class
|
|
14
|
-
*/
|
|
15
|
-
@autoInjectable()
|
|
16
|
-
export default class GenerateCommand extends AppTask {
|
|
17
|
-
loggerName = "Generate Command";
|
|
18
|
-
|
|
19
|
-
constructor(
|
|
20
|
-
private fileService: FileService,
|
|
21
|
-
private utilService: UtilService,
|
|
22
|
-
private projectService: ProjectService,
|
|
23
|
-
) {
|
|
24
|
-
super();
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
async run(): Promise<void | Partial<AppState>> {
|
|
28
|
-
const { utilService, fileService, argService, projectService } = this;
|
|
29
|
-
|
|
30
|
-
if (this.state.data.genTargetType !== GenTargetType.Command) {
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
this.logger.info(chalk.blueBright("Generating Command"));
|
|
35
|
-
|
|
36
|
-
let targetName = argService.getTargetName();
|
|
37
|
-
if (!targetName) {
|
|
38
|
-
// TODO: Should we prompt for target name here?
|
|
39
|
-
targetName = argService.cleanTargetName(
|
|
40
|
-
ProjectService.defaults.targetName,
|
|
41
|
-
);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
const targetDirectory = this.getTargetDirectory();
|
|
45
|
-
if (!targetDirectory) {
|
|
46
|
-
throw new Error("Unable to determine target Directory");
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
// detect case between commands and task files
|
|
50
|
-
const taskFiles = projectService.getTaskFiles();
|
|
51
|
-
const convention = projectService.getConvention();
|
|
52
|
-
this.logger.debug(`Using convention: ${chalk.magentaBright(convention)}`);
|
|
53
|
-
|
|
54
|
-
this.logger.debug(`Found ${taskFiles.length} task files`);
|
|
55
|
-
const className = utilService.titleizedToCase(
|
|
56
|
-
targetName,
|
|
57
|
-
CaseType.PASCAL_CASE,
|
|
58
|
-
);
|
|
59
|
-
// TODO: prompt for tasks to use in the new command?
|
|
60
|
-
const taskMappings = new Map();
|
|
61
|
-
|
|
62
|
-
const rendered = getCommandTemplate(className, taskMappings);
|
|
63
|
-
const filename = `${utilService.titleizedToCase(targetName, convention)}${ProjectService.defaults.extention}`;
|
|
64
|
-
const destination = path.join(targetDirectory, filename);
|
|
65
|
-
|
|
66
|
-
// write contents
|
|
67
|
-
fileService.writeFile(destination, rendered);
|
|
68
|
-
return { data: { outputDestination: destination } };
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Get the target directory to save the generated file.
|
|
73
|
-
*
|
|
74
|
-
* @returns the destination path of the parent folder to save the new file in.
|
|
75
|
-
*/
|
|
76
|
-
getTargetDirectory() {
|
|
77
|
-
const runnerRoot = this.fileService.getRunnerRootDir();
|
|
78
|
-
const commandFolders = this.fileService.getCommandDirs(runnerRoot);
|
|
79
|
-
|
|
80
|
-
if (commandFolders.length === 1) {
|
|
81
|
-
return commandFolders[0];
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
// TODO: prompt to select destination from available commandFolders
|
|
85
|
-
return commandFolders[0];
|
|
86
|
-
}
|
|
87
|
-
}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import chalk from "chalk";
|
|
2
|
-
import { AppTask } from "../wrappers/app-task";
|
|
3
|
-
import { autoInjectable } from "tsyringe";
|
|
4
|
-
import { GenTargetType } from "../types/state";
|
|
5
|
-
import ProjectService from "../services/project-service";
|
|
6
|
-
import { UtilService } from "../services/util-service";
|
|
7
|
-
import FileService from "../services/file-service";
|
|
8
|
-
import { CaseType } from "../types/format";
|
|
9
|
-
import path from "path";
|
|
10
|
-
import { getServiceTemplate } from "../templates/service";
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Generates a new service class
|
|
14
|
-
*/
|
|
15
|
-
@autoInjectable()
|
|
16
|
-
export default class GenerateService extends AppTask {
|
|
17
|
-
loggerName = "Generate Service";
|
|
18
|
-
|
|
19
|
-
constructor(
|
|
20
|
-
private projectService: ProjectService,
|
|
21
|
-
private utilService: UtilService,
|
|
22
|
-
private fileService: FileService,
|
|
23
|
-
) {
|
|
24
|
-
super();
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
async run() {
|
|
28
|
-
if (this.state.data.genTargetType !== GenTargetType.Service) {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
this.logger.info(chalk.blueBright("Generating Service"));
|
|
33
|
-
const { argService, utilService, projectService } = this;
|
|
34
|
-
|
|
35
|
-
let targetName = argService.getTargetName();
|
|
36
|
-
if (!targetName) {
|
|
37
|
-
// TODO: Prompt for target name?
|
|
38
|
-
targetName = argService.cleanTargetName(
|
|
39
|
-
ProjectService.defaults.targetName,
|
|
40
|
-
);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
const targetDirectory = this.getTargetDirectory();
|
|
44
|
-
if (!targetDirectory) {
|
|
45
|
-
throw new Error("Unable to determine target Directory");
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
// detect case
|
|
49
|
-
const convention = projectService.getConvention();
|
|
50
|
-
this.logger.debug(`Using convention: ${chalk.magentaBright(convention)}`);
|
|
51
|
-
const className = utilService.titleizedToCase(
|
|
52
|
-
targetName,
|
|
53
|
-
CaseType.PASCAL_CASE,
|
|
54
|
-
);
|
|
55
|
-
|
|
56
|
-
const rendered = getServiceTemplate(className);
|
|
57
|
-
const filename = `${utilService.titleizedToCase(targetName, convention)}${ProjectService.defaults.extention}`;
|
|
58
|
-
const destination = path.join(targetDirectory, filename);
|
|
59
|
-
|
|
60
|
-
// write contents
|
|
61
|
-
this.fileService.writeFile(destination, rendered);
|
|
62
|
-
return { data: { outputDestination: destination } };
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Get the target directory to save the generated file.
|
|
67
|
-
*
|
|
68
|
-
* @returns the destination path of the parent folder to save the new file in.
|
|
69
|
-
*/
|
|
70
|
-
getTargetDirectory() {
|
|
71
|
-
const runnerRoot = this.fileService.getRunnerRootDir();
|
|
72
|
-
const servicesFolders = this.fileService.getServiceDirs(runnerRoot);
|
|
73
|
-
|
|
74
|
-
if (servicesFolders.length === 1) {
|
|
75
|
-
return servicesFolders[0];
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
// TODO: prompt to select destination from available servicesFolders
|
|
79
|
-
this.logger.warn(`Multiple service folders detected. Using first found.`);
|
|
80
|
-
return servicesFolders[0];
|
|
81
|
-
}
|
|
82
|
-
}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import chalk from "chalk";
|
|
2
|
-
import { AppTask } from "../wrappers/app-task";
|
|
3
|
-
import { autoInjectable } from "tsyringe";
|
|
4
|
-
import { GenTargetType } from "../types/state";
|
|
5
|
-
import { getTaskTemplate } from "../templates/task";
|
|
6
|
-
import { CaseType } from "../types/format";
|
|
7
|
-
import { UtilService } from "../services/util-service";
|
|
8
|
-
import FileService from "../services/file-service";
|
|
9
|
-
import ProjectService from "../services/project-service";
|
|
10
|
-
import path from "path";
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Generates a new task class
|
|
14
|
-
*/
|
|
15
|
-
@autoInjectable()
|
|
16
|
-
export default class GenerateTask extends AppTask {
|
|
17
|
-
loggerName = "Generate Task";
|
|
18
|
-
|
|
19
|
-
constructor(
|
|
20
|
-
private utilService: UtilService,
|
|
21
|
-
private fileService: FileService,
|
|
22
|
-
private projectService: ProjectService,
|
|
23
|
-
) {
|
|
24
|
-
super();
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
async run() {
|
|
28
|
-
if (this.state.data.genTargetType !== GenTargetType.Task) {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
const { utilService, argService } = this;
|
|
33
|
-
|
|
34
|
-
this.logger.info(chalk.blueBright("Generating Task"));
|
|
35
|
-
|
|
36
|
-
let targetName = argService.getTargetName();
|
|
37
|
-
if (!targetName) {
|
|
38
|
-
// TODO: Prompt for target name?
|
|
39
|
-
targetName = argService.cleanTargetName(
|
|
40
|
-
ProjectService.defaults.targetName,
|
|
41
|
-
);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
const targetDirectory = this.getTargetDirectory();
|
|
45
|
-
if (!targetDirectory) {
|
|
46
|
-
throw new Error("Unable to determine target Directory");
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
// detect case
|
|
50
|
-
const convention = this.projectService.getConvention();
|
|
51
|
-
this.logger.debug(`Using convention: ${chalk.magentaBright(convention)}`);
|
|
52
|
-
const className = utilService.titleizedToCase(
|
|
53
|
-
targetName,
|
|
54
|
-
CaseType.PASCAL_CASE,
|
|
55
|
-
);
|
|
56
|
-
|
|
57
|
-
const rendered = getTaskTemplate(className);
|
|
58
|
-
const filename = `${utilService.titleizedToCase(targetName, convention)}${ProjectService.defaults.extention}`;
|
|
59
|
-
const destination = path.join(targetDirectory, filename);
|
|
60
|
-
|
|
61
|
-
// write contents
|
|
62
|
-
this.fileService.writeFile(destination, rendered);
|
|
63
|
-
return { data: { outputDestination: destination } };
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Get the target directory to save the generated file.
|
|
68
|
-
*
|
|
69
|
-
* @returns the destination path of the parent folder to save the new file in.
|
|
70
|
-
*/
|
|
71
|
-
getTargetDirectory() {
|
|
72
|
-
const runnerRoot = this.fileService.getRunnerRootDir();
|
|
73
|
-
const tasksFolders = this.fileService.getTaskDirs(runnerRoot);
|
|
74
|
-
|
|
75
|
-
if (tasksFolders.length === 1) {
|
|
76
|
-
return tasksFolders[0];
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
// TODO: prompt to select destination from available tasksFolders
|
|
80
|
-
this.logger.warn(`Multiple task folders detected. Using first found.`);
|
|
81
|
-
return tasksFolders[0];
|
|
82
|
-
}
|
|
83
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { autoInjectable } from "tsyringe";
|
|
2
|
-
import { AppState } from "../types/state";
|
|
3
|
-
import { AppTask } from "../wrappers/app-task";
|
|
4
|
-
import { BannerService } from "../services/banner-service";
|
|
5
|
-
import { UtilService } from "../services/util-service";
|
|
6
|
-
import chalk from "chalk";
|
|
7
|
-
|
|
8
|
-
@autoInjectable()
|
|
9
|
-
export default class PrintBanner extends AppTask {
|
|
10
|
-
loggerName = "Print Banner";
|
|
11
|
-
|
|
12
|
-
constructor(
|
|
13
|
-
private bannnerSvc: BannerService,
|
|
14
|
-
private utilSvc: UtilService,
|
|
15
|
-
) {
|
|
16
|
-
super();
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
async run(): Promise<Partial<AppState> | void> {
|
|
20
|
-
let font = "";
|
|
21
|
-
|
|
22
|
-
if (this.argService.hasFlag("randomFont")) {
|
|
23
|
-
font = await this.bannnerSvc.getRandomFont();
|
|
24
|
-
console.log(`Using random font ${font}`);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
console.log(
|
|
28
|
-
chalk.blueBright(
|
|
29
|
-
await this.bannnerSvc.toBanner(this.utilSvc.getAppName(), font),
|
|
30
|
-
),
|
|
31
|
-
);
|
|
32
|
-
|
|
33
|
-
this.setData({
|
|
34
|
-
banner: { font: font || this.bannnerSvc.defaultFontFamily },
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import chalk from "chalk";
|
|
2
|
-
import { AppTask } from "../wrappers/app-task";
|
|
3
|
-
import { autoInjectable } from "tsyringe";
|
|
4
|
-
import { GenTargetType } from "../types/state";
|
|
5
|
-
import { UtilService } from "../services/util-service";
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Prints the generated output results
|
|
9
|
-
*/
|
|
10
|
-
@autoInjectable()
|
|
11
|
-
export default class PrintGeneratedResults extends AppTask {
|
|
12
|
-
loggerName = "Print Results";
|
|
13
|
-
|
|
14
|
-
constructor(private utilService: UtilService) {
|
|
15
|
-
super();
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
async run() {
|
|
19
|
-
const target: GenTargetType = this.state.data.genTargetType!;
|
|
20
|
-
this.logger.info(
|
|
21
|
-
chalk.blueBright(
|
|
22
|
-
`Generated Results for ${this.utilService.titleize(target)}`,
|
|
23
|
-
),
|
|
24
|
-
);
|
|
25
|
-
|
|
26
|
-
setTimeout(() => {
|
|
27
|
-
console.log(`
|
|
28
|
-
|
|
29
|
-
Generated new file:
|
|
30
|
-
|
|
31
|
-
${this.state.data.outputDestination || "<None>"}
|
|
32
|
-
|
|
33
|
-
`);
|
|
34
|
-
}, 1000);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import chalk from "chalk";
|
|
2
|
-
import { AppTask } from "../wrappers/app-task";
|
|
3
|
-
import { autoInjectable } from "tsyringe";
|
|
4
|
-
import { GenTargetType } from "../types/state";
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Sets the genTargetType based on input
|
|
8
|
-
*/
|
|
9
|
-
@autoInjectable()
|
|
10
|
-
export default class SelectGenTarget extends AppTask {
|
|
11
|
-
loggerName = "Select Target";
|
|
12
|
-
async run() {
|
|
13
|
-
let target: GenTargetType = GenTargetType.Command;
|
|
14
|
-
this.logger.info(chalk.blueBright("Checking Target"));
|
|
15
|
-
|
|
16
|
-
if (this.argService.hasFlag("service")) {
|
|
17
|
-
target = GenTargetType.Service;
|
|
18
|
-
} else if (this.argService.hasFlag("task")) {
|
|
19
|
-
target = GenTargetType.Task;
|
|
20
|
-
} else if (this.argService.hasFlag("command")) {
|
|
21
|
-
target = GenTargetType.Command;
|
|
22
|
-
} else {
|
|
23
|
-
this.logger.warn(`Using default target: ${target}`);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
this.logger.debug(`Target selected: ${chalk.magentaBright(target)}`);
|
|
27
|
-
this.setData({ genTargetType: target });
|
|
28
|
-
}
|
|
29
|
-
}
|