task-script-support-cli 0.1.1 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +8 -3
- package/dist/src/commands/gen.d.ts +3 -1
- package/dist/src/commands/gen.d.ts.map +1 -1
- package/dist/src/commands/gen.js +4 -0
- 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 +6 -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 +5 -1
- package/dist/src/services/file-service.d.ts.map +1 -1
- package/dist/src/services/file-service.js +16 -2
- package/dist/src/services/file-service.js.map +1 -1
- package/dist/src/services/log-service.d.ts.map +1 -1
- package/dist/src/services/log-service.js +7 -1
- package/dist/src/services/log-service.js.map +1 -1
- package/dist/src/services/project-service.d.ts +2 -2
- package/dist/src/services/project-service.d.ts.map +1 -1
- package/dist/src/services/project-service.js +5 -7
- package/dist/src/services/project-service.js.map +1 -1
- package/dist/src/services/prompt-service.d.ts +27 -0
- package/dist/src/services/prompt-service.d.ts.map +1 -0
- package/dist/src/services/prompt-service.js +67 -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/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-command.d.ts +18 -6
- package/dist/src/tasks/generate-command.d.ts.map +1 -1
- package/dist/src/tasks/generate-command.js +66 -29
- package/dist/src/tasks/generate-command.js.map +1 -1
- package/dist/src/tasks/generate-service.d.ts +10 -6
- package/dist/src/tasks/generate-service.d.ts.map +1 -1
- package/dist/src/tasks/generate-service.js +27 -26
- package/dist/src/tasks/generate-service.js.map +1 -1
- package/dist/src/tasks/generate-task.d.ts +10 -6
- package/dist/src/tasks/generate-task.d.ts.map +1 -1
- package/dist/src/tasks/generate-task.js +27 -26
- package/dist/src/tasks/generate-task.js.map +1 -1
- package/dist/src/tasks/print-banner.d.ts +3 -3
- package/dist/src/tasks/print-banner.d.ts.map +1 -1
- package/dist/src/tasks/print-banner.js +12 -8
- package/dist/src/tasks/print-banner.js.map +1 -1
- package/dist/src/tasks/print-generated-results.d.ts.map +1 -1
- package/dist/src/tasks/print-generated-results.js +13 -10
- package/dist/src/tasks/print-generated-results.js.map +1 -1
- package/dist/src/tasks/select-gen-target-name.d.ts +15 -0
- package/dist/src/tasks/select-gen-target-name.d.ts.map +1 -0
- package/dist/src/tasks/select-gen-target-name.js +58 -0
- package/dist/src/tasks/select-gen-target-name.js.map +1 -0
- package/dist/src/tasks/select-gen-target.d.ts +5 -0
- package/dist/src/tasks/select-gen-target.d.ts.map +1 -1
- package/dist/src/tasks/select-gen-target.js +16 -2
- package/dist/src/tasks/select-gen-target.js.map +1 -1
- package/dist/src/tasks/sync-configuration.d.ts +34 -0
- package/dist/src/tasks/sync-configuration.d.ts.map +1 -0
- package/dist/src/tasks/sync-configuration.js +116 -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/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 +8 -3
- package/src/commands/gen.ts +4 -0
- package/src/commands/new.ts +10 -0
- package/src/index.ts +7 -0
- package/src/services/cache-service.ts +50 -0
- package/src/services/file-service.ts +18 -1
- package/src/services/log-service.ts +6 -1
- package/src/services/project-service.ts +2 -2
- package/src/services/prompt-service.ts +60 -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/create-new-project.ts +66 -0
- package/src/tasks/generate-command.ts +84 -31
- package/src/tasks/generate-service.ts +24 -28
- package/src/tasks/generate-task.ts +24 -28
- package/src/tasks/print-banner.ts +10 -6
- package/src/tasks/print-generated-results.ts +15 -15
- package/src/tasks/select-gen-target-name.ts +44 -0
- package/src/tasks/select-gen-target.ts +16 -1
- package/src/tasks/sync-configuration.ts +121 -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/tests/index.spec.ts +8 -0
- package/tests/setup.ts +1 -0
- package/tsconfig.json +1 -1
- package/vitest.config.ts +14 -0
|
@@ -0,0 +1,58 @@
|
|
|
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 prompt_service_1 = require("../services/prompt-service");
|
|
19
|
+
const project_service_1 = require("../services/project-service");
|
|
20
|
+
const util_service_1 = require("../services/util-service");
|
|
21
|
+
/**
|
|
22
|
+
* SelectGenTargetName
|
|
23
|
+
*/
|
|
24
|
+
let SelectGenTargetName = class SelectGenTargetName extends app_task_1.AppTask {
|
|
25
|
+
promptService;
|
|
26
|
+
utilService;
|
|
27
|
+
loggerName = "SelectGenTargetName";
|
|
28
|
+
constructor(promptService, utilService) {
|
|
29
|
+
super();
|
|
30
|
+
this.promptService = promptService;
|
|
31
|
+
this.utilService = utilService;
|
|
32
|
+
}
|
|
33
|
+
async run() {
|
|
34
|
+
this.logger.info(chalk_1.default.blueBright("Checking Target Name"));
|
|
35
|
+
let targetName = this.argService.getTargetName();
|
|
36
|
+
if (!targetName) {
|
|
37
|
+
targetName =
|
|
38
|
+
(await this.promptService.getInput(`Enter Name for ${chalk_1.default.blueBright(this.utilService.titleize(this.state.data.genTargetType))}`)) || project_service_1.ProjectService.defaults.targetName;
|
|
39
|
+
}
|
|
40
|
+
if (!targetName) {
|
|
41
|
+
throw new Error("Unable to resolve targetName");
|
|
42
|
+
}
|
|
43
|
+
this.logger.debug(`Target selected: ${chalk_1.default.magentaBright(targetName)}`);
|
|
44
|
+
this.setData({ genTargetName: targetName });
|
|
45
|
+
}
|
|
46
|
+
async preRun() {
|
|
47
|
+
if (!this.state.data.genTargetType) {
|
|
48
|
+
throw new Error("Unable to determine genTargetType");
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
SelectGenTargetName = __decorate([
|
|
53
|
+
(0, tsyringe_1.autoInjectable)(),
|
|
54
|
+
__metadata("design:paramtypes", [prompt_service_1.PromptService,
|
|
55
|
+
util_service_1.UtilService])
|
|
56
|
+
], SelectGenTargetName);
|
|
57
|
+
exports.default = SelectGenTargetName;
|
|
58
|
+
//# sourceMappingURL=select-gen-target-name.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select-gen-target-name.js","sourceRoot":"./src/","sources":["src/tasks/select-gen-target-name.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,mDAA+C;AAC/C,uCAA0C;AAC1C,+DAA2D;AAC3D,iEAA6D;AAC7D,2DAAuD;AAEvD;;GAEG;AAEY,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,kBAAO;IAG5C;IACA;IAHV,UAAU,GAAG,qBAAqB,CAAC;IACnC,YACU,aAA4B,EAC5B,WAAwB;QAEhC,KAAK,EAAE,CAAC;QAHA,kBAAa,GAAb,aAAa,CAAe;QAC5B,gBAAW,GAAX,WAAW,CAAa;IAGlC,CAAC;IAED,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAK,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAE3D,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;QACjD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,UAAU;gBACR,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAChC,kBAAkB,eAAK,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAc,CAAC,CAAC,EAAE,CAChG,CAAC,IAAI,gCAAc,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,eAAK,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;CACF,CAAA;AAhCoB,mBAAmB;IADvC,IAAA,yBAAc,GAAE;qCAIU,8BAAa;QACf,0BAAW;GAJf,mBAAmB,CAgCvC;kBAhCoB,mBAAmB"}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { AppTask } from "../wrappers/app-task";
|
|
2
|
+
import { GenTargetType } from "../types/state";
|
|
3
|
+
import { PromptService } from "../services/prompt-service";
|
|
2
4
|
/**
|
|
3
5
|
* Sets the genTargetType based on input
|
|
4
6
|
*/
|
|
5
7
|
export default class SelectGenTarget extends AppTask {
|
|
8
|
+
private promptService;
|
|
6
9
|
loggerName: string;
|
|
10
|
+
constructor(promptService: PromptService);
|
|
7
11
|
run(): Promise<void>;
|
|
12
|
+
getGenTargetInput(): Promise<GenTargetType>;
|
|
8
13
|
}
|
|
9
14
|
//# sourceMappingURL=select-gen-target.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D;;GAEG;AAEH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,OAAO;IAGtC,OAAO,CAAC,aAAa;IAFjC,UAAU,SAAmB;gBAET,aAAa,EAAE,aAAa;IAI1C,GAAG;IAkBH,iBAAiB;CAQxB"}
|
|
@@ -5,6 +5,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
8
11
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
13
|
};
|
|
@@ -13,11 +16,17 @@ const chalk_1 = __importDefault(require("chalk"));
|
|
|
13
16
|
const app_task_1 = require("../wrappers/app-task");
|
|
14
17
|
const tsyringe_1 = require("tsyringe");
|
|
15
18
|
const state_1 = require("../types/state");
|
|
19
|
+
const prompt_service_1 = require("../services/prompt-service");
|
|
16
20
|
/**
|
|
17
21
|
* Sets the genTargetType based on input
|
|
18
22
|
*/
|
|
19
23
|
let SelectGenTarget = class SelectGenTarget extends app_task_1.AppTask {
|
|
24
|
+
promptService;
|
|
20
25
|
loggerName = "Select Target";
|
|
26
|
+
constructor(promptService) {
|
|
27
|
+
super();
|
|
28
|
+
this.promptService = promptService;
|
|
29
|
+
}
|
|
21
30
|
async run() {
|
|
22
31
|
let target = state_1.GenTargetType.Command;
|
|
23
32
|
this.logger.info(chalk_1.default.blueBright("Checking Target"));
|
|
@@ -31,14 +40,19 @@ let SelectGenTarget = class SelectGenTarget extends app_task_1.AppTask {
|
|
|
31
40
|
target = state_1.GenTargetType.Command;
|
|
32
41
|
}
|
|
33
42
|
else {
|
|
34
|
-
this.
|
|
43
|
+
target = await this.getGenTargetInput();
|
|
35
44
|
}
|
|
36
45
|
this.logger.debug(`Target selected: ${chalk_1.default.magentaBright(target)}`);
|
|
37
46
|
this.setData({ genTargetType: target });
|
|
38
47
|
}
|
|
48
|
+
async getGenTargetInput() {
|
|
49
|
+
const targetType = await this.promptService.select(`Select a type of ${chalk_1.default.blueBright("Resource")} to create`, [state_1.GenTargetType.Command, state_1.GenTargetType.Service, state_1.GenTargetType.Task]);
|
|
50
|
+
return targetType;
|
|
51
|
+
}
|
|
39
52
|
};
|
|
40
53
|
SelectGenTarget = __decorate([
|
|
41
|
-
(0, tsyringe_1.autoInjectable)()
|
|
54
|
+
(0, tsyringe_1.autoInjectable)(),
|
|
55
|
+
__metadata("design:paramtypes", [prompt_service_1.PromptService])
|
|
42
56
|
], SelectGenTarget);
|
|
43
57
|
exports.default = SelectGenTarget;
|
|
44
58
|
//# sourceMappingURL=select-gen-target.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-gen-target.js","sourceRoot":"./src/","sources":["src/tasks/select-gen-target.ts"],"names":[],"mappings":"
|
|
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;AAC/C,+DAA2D;AAE3D;;GAEG;AAEY,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,kBAAO;IAG9B;IAFpB,UAAU,GAAG,eAAe,CAAC;IAE7B,YAAoB,aAA4B;QAC9C,KAAK,EAAE,CAAC;QADU,kBAAa,GAAb,aAAa,CAAe;IAEhD,CAAC;IAED,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,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1C,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;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,UAAU,GAAkB,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAC/D,oBAAoB,eAAK,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,EAC5D,CAAC,qBAAa,CAAC,OAAO,EAAE,qBAAa,CAAC,OAAO,EAAE,qBAAa,CAAC,IAAI,CAAC,CACnE,CAAC;QAEF,OAAO,UAAU,CAAC;IACpB,CAAC;CACF,CAAA;AAjCoB,eAAe;IADnC,IAAA,yBAAc,GAAE;qCAIoB,8BAAa;GAH7B,eAAe,CAiCnC;kBAjCoB,eAAe"}
|
|
@@ -0,0 +1,34 @@
|
|
|
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
|
+
export declare class SyncConfiguration extends AppTask {
|
|
6
|
+
private promptService;
|
|
7
|
+
private cacheService;
|
|
8
|
+
private utilService;
|
|
9
|
+
loggerName: string;
|
|
10
|
+
constructor(promptService: PromptService, cacheService: CacheService, utilService: UtilService);
|
|
11
|
+
preRun(): Promise<void>;
|
|
12
|
+
run(): Promise<void>;
|
|
13
|
+
/**
|
|
14
|
+
* Prints the target destination path string
|
|
15
|
+
*
|
|
16
|
+
* @param dest the destination path to log
|
|
17
|
+
* @returns
|
|
18
|
+
*/
|
|
19
|
+
logDestination: (dest?: string) => void;
|
|
20
|
+
/**
|
|
21
|
+
* Gets the destination path for generating resources by resource type.
|
|
22
|
+
* If only one resource destination folder was found it is returned
|
|
23
|
+
* otherwise the user is prompted to select one from the found folders.
|
|
24
|
+
*
|
|
25
|
+
* @param keyType the type of destination to resolve
|
|
26
|
+
* @returns the path of the resolved destination
|
|
27
|
+
*/
|
|
28
|
+
getDestination(keyType: "command" | "task" | "service"): Promise<string>;
|
|
29
|
+
/**
|
|
30
|
+
* Check we have all the required state set
|
|
31
|
+
*/
|
|
32
|
+
verifyState(): void;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=sync-configuration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-configuration.d.ts","sourceRoot":"./src/","sources":["src/tasks/sync-configuration.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,qBACa,iBAAkB,SAAQ,OAAO;IAI1C,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,WAAW;IALrB,UAAU,SAAwB;gBAGxB,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW;IAK5B,MAAM;IAIN,GAAG;IAwCT;;;;;OAKG;IACH,cAAc,GAAI,OAAM,MAAW,UAC8B;IAEjE;;;;;;;OAOG;IACG,cAAc,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS;IAsB5D;;OAEG;IACH,WAAW;CAaZ"}
|
|
@@ -0,0 +1,116 @@
|
|
|
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
|
+
exports.SyncConfiguration = void 0;
|
|
16
|
+
const tsyringe_1 = require("tsyringe");
|
|
17
|
+
const app_task_1 = require("../wrappers/app-task");
|
|
18
|
+
const prompt_service_1 = require("../services/prompt-service");
|
|
19
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
20
|
+
const cache_service_1 = require("../services/cache-service");
|
|
21
|
+
const state_1 = require("../types/state");
|
|
22
|
+
const util_service_1 = require("../services/util-service");
|
|
23
|
+
let SyncConfiguration = class SyncConfiguration extends app_task_1.AppTask {
|
|
24
|
+
promptService;
|
|
25
|
+
cacheService;
|
|
26
|
+
utilService;
|
|
27
|
+
loggerName = "Sync Configuration";
|
|
28
|
+
constructor(promptService, cacheService, utilService) {
|
|
29
|
+
super();
|
|
30
|
+
this.promptService = promptService;
|
|
31
|
+
this.cacheService = cacheService;
|
|
32
|
+
this.utilService = utilService;
|
|
33
|
+
}
|
|
34
|
+
async preRun() {
|
|
35
|
+
this.verifyState();
|
|
36
|
+
}
|
|
37
|
+
async run() {
|
|
38
|
+
this.logger.info(chalk_1.default.blueBright("Checking Cache"));
|
|
39
|
+
let project = this.state.data.project;
|
|
40
|
+
// see if we have a project config in the cache with rootDir path as the key
|
|
41
|
+
const cachedProject = await this.cacheService.getProject(project.rootDir);
|
|
42
|
+
if (cachedProject) {
|
|
43
|
+
this.logger.debug(chalk_1.default.dim("loaded project from cache"));
|
|
44
|
+
project = { ...this.state.data.project, ...cachedProject };
|
|
45
|
+
}
|
|
46
|
+
// get target destination if not cached yet
|
|
47
|
+
switch (this.state.data.genTargetType) {
|
|
48
|
+
case state_1.GenTargetType.Command:
|
|
49
|
+
project.commandDestination =
|
|
50
|
+
project.commandDestination || (await this.getDestination("command"));
|
|
51
|
+
this.logDestination(project.commandDestination);
|
|
52
|
+
break;
|
|
53
|
+
case state_1.GenTargetType.Service:
|
|
54
|
+
project.serviceDestination =
|
|
55
|
+
project.serviceDestination || (await this.getDestination("service"));
|
|
56
|
+
this.logDestination(project.serviceDestination);
|
|
57
|
+
break;
|
|
58
|
+
case state_1.GenTargetType.Task:
|
|
59
|
+
project.taskDestination =
|
|
60
|
+
project.taskDestination || (await this.getDestination("task"));
|
|
61
|
+
this.logDestination(project.taskDestination);
|
|
62
|
+
break;
|
|
63
|
+
default:
|
|
64
|
+
throw new Error(`Uknown target type: ${this.state.data.genTargetType}`);
|
|
65
|
+
}
|
|
66
|
+
// cache any changes
|
|
67
|
+
await this.cacheService.writeProject(project);
|
|
68
|
+
this.setData({ project });
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Prints the target destination path string
|
|
72
|
+
*
|
|
73
|
+
* @param dest the destination path to log
|
|
74
|
+
* @returns
|
|
75
|
+
*/
|
|
76
|
+
logDestination = (dest = "") => this.logger.debug(`Destination: ${chalk_1.default.magentaBright(dest)}`);
|
|
77
|
+
/**
|
|
78
|
+
* Gets the destination path for generating resources by resource type.
|
|
79
|
+
* If only one resource destination folder was found it is returned
|
|
80
|
+
* otherwise the user is prompted to select one from the found folders.
|
|
81
|
+
*
|
|
82
|
+
* @param keyType the type of destination to resolve
|
|
83
|
+
* @returns the path of the resolved destination
|
|
84
|
+
*/
|
|
85
|
+
async getDestination(keyType) {
|
|
86
|
+
const foldersKey = `${keyType}Folders`;
|
|
87
|
+
const nonTestFolders = this.state.data.project[foldersKey].filter((folder) => !(folder || "").includes("/tests/"));
|
|
88
|
+
// if we only have one folder found, use this as the destination
|
|
89
|
+
if (nonTestFolders.length === 1) {
|
|
90
|
+
return nonTestFolders[0] || "";
|
|
91
|
+
}
|
|
92
|
+
// otherwise prompt to pick one
|
|
93
|
+
const userSelection = await this.promptService.select(`Multiple folders found. Select correct ${chalk_1.default.blueBright(this.utilService.titleize(keyType))} folder`, nonTestFolders);
|
|
94
|
+
this.logger.debug(chalk_1.default.blackBright(`caching for next time`));
|
|
95
|
+
return userSelection;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Check we have all the required state set
|
|
99
|
+
*/
|
|
100
|
+
verifyState() {
|
|
101
|
+
if (!this.state.data.project || !this.state.data.project.rootDir) {
|
|
102
|
+
throw new Error(`Missing project rootDir! SyncConfiguration requires the CheckEnvironment task to be ran first.`);
|
|
103
|
+
}
|
|
104
|
+
if (!this.state.data.genTargetType) {
|
|
105
|
+
throw new Error(`Missing genTargetType! SyncConfiguration requires the SelectGenTarget task to be ran first.`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
exports.SyncConfiguration = SyncConfiguration;
|
|
110
|
+
exports.SyncConfiguration = SyncConfiguration = __decorate([
|
|
111
|
+
(0, tsyringe_1.autoInjectable)(),
|
|
112
|
+
__metadata("design:paramtypes", [prompt_service_1.PromptService,
|
|
113
|
+
cache_service_1.CacheService,
|
|
114
|
+
util_service_1.UtilService])
|
|
115
|
+
], SyncConfiguration);
|
|
116
|
+
//# sourceMappingURL=sync-configuration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-configuration.js","sourceRoot":"./src/","sources":["src/tasks/sync-configuration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AppState } from "../types/state";
|
|
2
|
+
import { AppTask } from "../wrappers/app-task";
|
|
3
|
+
import { PromptService } from "../services/prompt-service";
|
|
4
|
+
export default class TestTask extends AppTask {
|
|
5
|
+
private promptService;
|
|
6
|
+
loggerName: string;
|
|
7
|
+
constructor(promptService: PromptService);
|
|
8
|
+
run(): Promise<Partial<AppState> | void>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=test-task.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-task.d.ts","sourceRoot":"./src/","sources":["src/tasks/test-task.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG3D,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,OAAO;IAG/B,OAAO,CAAC,aAAa;IAFjC,UAAU,SAAoB;gBAEV,aAAa,EAAE,aAAa;IAI1C,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;CAK/C"}
|
|
@@ -0,0 +1,36 @@
|
|
|
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 tsyringe_1 = require("tsyringe");
|
|
16
|
+
const app_task_1 = require("../wrappers/app-task");
|
|
17
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
18
|
+
const prompt_service_1 = require("../services/prompt-service");
|
|
19
|
+
let TestTask = class TestTask extends app_task_1.AppTask {
|
|
20
|
+
promptService;
|
|
21
|
+
loggerName = "Testing Things";
|
|
22
|
+
constructor(promptService) {
|
|
23
|
+
super();
|
|
24
|
+
this.promptService = promptService;
|
|
25
|
+
}
|
|
26
|
+
async run() {
|
|
27
|
+
// test task
|
|
28
|
+
console.log(chalk_1.default.magentaBright(JSON.stringify(this.state)));
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
TestTask = __decorate([
|
|
32
|
+
(0, tsyringe_1.autoInjectable)(),
|
|
33
|
+
__metadata("design:paramtypes", [prompt_service_1.PromptService])
|
|
34
|
+
], TestTask);
|
|
35
|
+
exports.default = TestTask;
|
|
36
|
+
//# sourceMappingURL=test-task.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-task.js","sourceRoot":"./src/","sources":["src/tasks/test-task.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,uCAA0C;AAE1C,mDAA+C;AAC/C,kDAA0B;AAC1B,+DAA2D;AAG5C,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,kBAAO;IAGvB;IAFpB,UAAU,GAAG,gBAAgB,CAAC;IAE9B,YAAoB,aAA4B;QAC9C,KAAK,EAAE,CAAC;QADU,kBAAa,GAAb,aAAa,CAAe;IAEhD,CAAC;IAED,KAAK,CAAC,GAAG;QACP,YAAY;QAEZ,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;CACF,CAAA;AAZoB,QAAQ;IAD5B,IAAA,yBAAc,GAAE;qCAIoB,8BAAa;GAH7B,QAAQ,CAY5B;kBAZoB,QAAQ"}
|
|
@@ -6,12 +6,12 @@ import { Command } from "../wrappers/command";
|
|
|
6
6
|
${tasks
|
|
7
7
|
.keys()
|
|
8
8
|
.toArray()
|
|
9
|
-
.map((k) => `import
|
|
9
|
+
.map((k) => `import ${k} from "${tasks.get(k)}";`)
|
|
10
10
|
.join("\n")}
|
|
11
11
|
|
|
12
12
|
@singleton()
|
|
13
13
|
export class ${className} extends Command {
|
|
14
|
-
tasks = [${tasks.keys().toArray().join(",")}];
|
|
14
|
+
tasks = [${tasks.keys().toArray().join(", ")}];
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"./src/","sources":["src/templates/command.ts"],"names":[],"mappings":";;;AAAO,MAAM,kBAAkB,GAAG,CAChC,SAAiB,EACjB,QAA6B,IAAI,GAAG,EAAE,EACtC,EAAE,CACF;;EAEA,KAAK;KACJ,IAAI,EAAE;KACN,OAAO,EAAE;KACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"./src/","sources":["src/templates/command.ts"],"names":[],"mappings":";;;AAAO,MAAM,kBAAkB,GAAG,CAChC,SAAiB,EACjB,QAA6B,IAAI,GAAG,EAAE,EACtC,EAAE,CACF;;EAEA,KAAK;KACJ,IAAI,EAAE;KACN,OAAO,EAAE;KACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;KACjD,IAAI,CAAC,IAAI,CAAC;;;eAGE,SAAS;aACX,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;;;CAG7C,CAAC;AAjBW,QAAA,kBAAkB,sBAiB7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"./src/","sources":["src/templates/service.ts"],"names":[],"mappings":";;;AAAO,MAAM,kBAAkB,GAAG,CAAC,SAAiB,EAAE,EAAE,CACtD;;;KAGG,SAAS;;;
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"./src/","sources":["src/templates/service.ts"],"names":[],"mappings":";;;AAAO,MAAM,kBAAkB,GAAG,CAAC,SAAiB,EAAE,EAAE,CACtD;;;KAGG,SAAS;;;eAGC,SAAS;;;;CAIvB,CAAC;AAXW,QAAA,kBAAkB,sBAW7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.d.ts","sourceRoot":"./src/","sources":["src/types/process.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;CACtD;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;CACpD;AAED,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;AAEnD,oBAAY,UAAU;IACpB,UAAU,eAAe;IACzB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,UAAU,eAAe;
|
|
1
|
+
{"version":3,"file":"process.d.ts","sourceRoot":"./src/","sources":["src/types/process.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;CACtD;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;CACpD;AAED,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;AAEnD,oBAAY,UAAU;IACpB,UAAU,eAAe;IACzB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,UAAU,eAAe;IACzB,IAAI,SAAS;CACd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.js","sourceRoot":"./src/","sources":["src/types/process.ts"],"names":[],"mappings":";;;AAWA,IAAY,
|
|
1
|
+
{"version":3,"file":"process.js","sourceRoot":"./src/","sources":["src/types/process.ts"],"names":[],"mappings":";;;AAWA,IAAY,UAOX;AAPD,WAAY,UAAU;IACpB,uCAAyB,CAAA;IACzB,iCAAmB,CAAA;IACnB,iCAAmB,CAAA;IACnB,2BAAa,CAAA;IACb,uCAAyB,CAAA;IACzB,2BAAa,CAAA;AACf,CAAC,EAPW,UAAU,0BAAV,UAAU,QAOrB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface ProjectConfig {
|
|
2
|
+
rootDir: string;
|
|
3
|
+
taskDestination?: string | undefined;
|
|
4
|
+
serviceDestination?: string | undefined;
|
|
5
|
+
commandDestination?: string | undefined;
|
|
6
|
+
}
|
|
7
|
+
export interface ProjectData {
|
|
8
|
+
taskFolders: string[];
|
|
9
|
+
serviceFolders: string[];
|
|
10
|
+
commandFolders: string[];
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=project.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"./src/","sources":["src/types/project.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"./src/","sources":["src/types/project.ts"],"names":[],"mappings":""}
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import { CLIArg } from "./process";
|
|
2
2
|
import { AppState as State, TaskClass } from "task-script-support";
|
|
3
|
+
import { ProjectConfig, ProjectData } from "./project";
|
|
3
4
|
export declare enum GenTargetType {
|
|
4
5
|
Command = "command",
|
|
5
6
|
Service = "service",
|
|
6
7
|
Task = "task"
|
|
7
8
|
}
|
|
8
9
|
export interface AppStateData {
|
|
9
|
-
readonly errorMessages?: string[];
|
|
10
10
|
readonly banner?: {
|
|
11
11
|
readonly font?: string;
|
|
12
12
|
};
|
|
13
13
|
readonly genTargetType?: GenTargetType;
|
|
14
|
+
readonly genTargetName?: string;
|
|
14
15
|
readonly environmentValidated?: boolean;
|
|
16
|
+
readonly project?: ProjectConfig & ProjectData;
|
|
17
|
+
readonly errorMessages?: string[];
|
|
15
18
|
readonly outputDestination?: string;
|
|
16
19
|
}
|
|
17
20
|
export declare const EnvironmentConfigKeys: {
|
|
@@ -20,6 +23,7 @@ export declare const EnvironmentConfigKeys: {
|
|
|
20
23
|
NODE_ENV: string;
|
|
21
24
|
PINO_LOG_FILENAME: string;
|
|
22
25
|
PINO_LOG_TARGET: string;
|
|
26
|
+
TSSC_SILENCE_BANNER: string;
|
|
23
27
|
};
|
|
24
28
|
export type AppState = State<AppStateData, CLIArg[]>;
|
|
25
29
|
export type AppTaskClass = TaskClass<AppStateData, CLIArg[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"./src/","sources":["src/types/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,QAAQ,IAAI,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"./src/","sources":["src/types/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,QAAQ,IAAI,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAEvD,oBAAY,aAAa;IACvB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,IAAI,SAAS;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE;QAChB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACvC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEhC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,WAAW,CAAC;IAE/C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,eAAO,MAAM,qBAAqB;;;;;;;CAOjC,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;AACrD,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC"}
|
package/dist/src/types/state.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"./src/","sources":["src/types/state.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"./src/","sources":["src/types/state.ts"],"names":[],"mappings":";;;AAIA,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,oCAAmB,CAAA;IACnB,8BAAa,CAAA;AACf,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB;AAgBY,QAAA,qBAAqB,GAAG;IACnC,iBAAiB,EAAE,mBAAmB;IACtC,cAAc,EAAE,gBAAgB;IAChC,QAAQ,EAAE,UAAU;IACpB,iBAAiB,EAAE,mBAAmB;IACtC,eAAe,EAAE,iBAAiB;IAClC,mBAAmB,EAAE,qBAAqB;CAC3C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vitest.config.d.ts","sourceRoot":"./src/","sources":["vitest.config.ts"],"names":[],"mappings":";AAEA,wBAWG"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const { defineConfig, configDefaults } = require("vitest/config");
|
|
4
|
+
exports.default = defineConfig({
|
|
5
|
+
test: {
|
|
6
|
+
globals: true,
|
|
7
|
+
environment: "node",
|
|
8
|
+
setupFiles: "./tests/setup.ts",
|
|
9
|
+
exclude: [...configDefaults.exclude, "assets/**/*", "dist/**/*"],
|
|
10
|
+
coverage: {
|
|
11
|
+
provider: "v8",
|
|
12
|
+
reporter: ["text", "json", "html"],
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
//# sourceMappingURL=vitest.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vitest.config.js","sourceRoot":"./src/","sources":["vitest.config.ts"],"names":[],"mappings":";;AAAA,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAElE,kBAAe,YAAY,CAAC;IAC1B,IAAI,EAAE;QACJ,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,MAAM;QACnB,UAAU,EAAE,kBAAkB;QAC9B,OAAO,EAAE,CAAC,GAAG,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,CAAC;QAChE,QAAQ,EAAE;YACR,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SACnC;KACF;CACF,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "task-script-support-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"preferGlobal": true,
|
|
@@ -12,13 +12,13 @@
|
|
|
12
12
|
"dev": "npm run build && node dist/src/index.js",
|
|
13
13
|
"clean": "rm -rf ./dist",
|
|
14
14
|
"lint": "eslint --config eslint.config.ts",
|
|
15
|
-
"
|
|
15
|
+
"cp-assets": "cp ./tssc ./dist/ && cp -R ./assets ./dist/",
|
|
16
16
|
"watch": "onchange './*{.json,.sh,.ts}' 'src/*.ts' -- npm run build",
|
|
17
17
|
"format": "prettier --write ./",
|
|
18
18
|
"format-check": "prettier --check .",
|
|
19
19
|
"hooks-one-time-setup": "npx simple-git-hooks",
|
|
20
20
|
"prettier-watch": "onchange \"**/*\" -- prettier --write --ignore-unknown {{changed}}",
|
|
21
|
-
"build": "rm -rf ./dist && npx tsc && node dist/src/index.js -v && npm run
|
|
21
|
+
"build": "rm -rf ./dist && npx tsc && node dist/src/index.js -v && npm run cp-assets",
|
|
22
22
|
"test": "vitest run",
|
|
23
23
|
"test-watch": "vitest"
|
|
24
24
|
},
|
|
@@ -30,11 +30,15 @@
|
|
|
30
30
|
"pre-commit": "npx pretty-quick --staged && npm run lint"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
+
"@inquirer/prompts": "^8.4.1",
|
|
34
|
+
"@inquirer/search": "^4.1.7",
|
|
33
35
|
"chalk": "^4.1.2",
|
|
34
36
|
"commander": "^14.0.2",
|
|
35
37
|
"dotenv": "^17.2.3",
|
|
36
38
|
"figlet": "^1.9.4",
|
|
37
39
|
"immutable": "^5.1.4",
|
|
40
|
+
"lodash": "^4.18.1",
|
|
41
|
+
"node-persist": "^4.0.4",
|
|
38
42
|
"reflect-metadata": "^0.2.2",
|
|
39
43
|
"task-script-support": "^2.3.0",
|
|
40
44
|
"tsyringe": "^4.10.0"
|
|
@@ -42,6 +46,7 @@
|
|
|
42
46
|
"devDependencies": {
|
|
43
47
|
"@eslint/js": "^9.39.3",
|
|
44
48
|
"@types/node": "^24.10.1",
|
|
49
|
+
"@types/node-persist": "^3.1.8",
|
|
45
50
|
"eslint": "^10.0.3",
|
|
46
51
|
"jiti": "^2.6.1",
|
|
47
52
|
"onchange": "^7.1.0",
|
package/src/commands/gen.ts
CHANGED
|
@@ -7,6 +7,8 @@ import GenerateService from "../tasks/generate-service";
|
|
|
7
7
|
import GenerateCommand from "../tasks/generate-command";
|
|
8
8
|
import GenerateTask from "../tasks/generate-task";
|
|
9
9
|
import PrintGeneratedResults from "../tasks/print-generated-results";
|
|
10
|
+
import { SyncConfiguration } from "../tasks/sync-configuration";
|
|
11
|
+
import SelectGenTargetName from "../tasks/select-gen-target-name";
|
|
10
12
|
|
|
11
13
|
@singleton()
|
|
12
14
|
export class GenCommand extends Command {
|
|
@@ -14,6 +16,8 @@ export class GenCommand extends Command {
|
|
|
14
16
|
PrintBanner,
|
|
15
17
|
CheckEnvironment,
|
|
16
18
|
SelectGenTarget,
|
|
19
|
+
SyncConfiguration,
|
|
20
|
+
SelectGenTargetName,
|
|
17
21
|
[GenerateCommand, GenerateService, GenerateTask],
|
|
18
22
|
PrintGeneratedResults,
|
|
19
23
|
];
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { singleton } from "tsyringe";
|
|
2
|
+
import { Command } from "../wrappers/command";
|
|
3
|
+
import PrintBanner from "../tasks/print-banner";
|
|
4
|
+
import CreateNewProject from "../tasks/create-new-project";
|
|
5
|
+
import PrintGeneratedResults from "../tasks/print-generated-results";
|
|
6
|
+
|
|
7
|
+
@singleton()
|
|
8
|
+
export class NewCommand extends Command {
|
|
9
|
+
tasks = [PrintBanner, CreateNewProject, PrintGeneratedResults];
|
|
10
|
+
}
|