task-script-support-cli 0.1.1
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/.prettierignore +3 -0
- package/.prettierrc +1 -0
- package/.vscode/launch.json +34 -0
- package/README.md +3 -0
- package/dist/eslint.config.d.ts +3 -0
- package/dist/eslint.config.d.ts.map +1 -0
- package/dist/eslint.config.js +16 -0
- package/dist/eslint.config.js.map +1 -0
- package/dist/package.json +55 -0
- package/dist/src/commands/about.d.ts +7 -0
- package/dist/src/commands/about.d.ts.map +1 -0
- package/dist/src/commands/about.js +24 -0
- package/dist/src/commands/about.js.map +1 -0
- package/dist/src/commands/gen.d.ts +12 -0
- package/dist/src/commands/gen.d.ts.map +1 -0
- package/dist/src/commands/gen.js +35 -0
- package/dist/src/commands/gen.js.map +1 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +34 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/services/arg-service.d.ts +10 -0
- package/dist/src/services/arg-service.d.ts.map +1 -0
- package/dist/src/services/arg-service.js +71 -0
- package/dist/src/services/arg-service.js.map +1 -0
- package/dist/src/services/banner-service.d.ts +8 -0
- package/dist/src/services/banner-service.d.ts.map +1 -0
- package/dist/src/services/banner-service.js +50 -0
- package/dist/src/services/banner-service.js.map +1 -0
- package/dist/src/services/file-service.d.ts +12 -0
- package/dist/src/services/file-service.d.ts.map +1 -0
- package/dist/src/services/file-service.js +82 -0
- package/dist/src/services/file-service.js.map +1 -0
- package/dist/src/services/log-service.d.ts +14 -0
- package/dist/src/services/log-service.d.ts.map +1 -0
- package/dist/src/services/log-service.js +61 -0
- package/dist/src/services/log-service.js.map +1 -0
- package/dist/src/services/project-service.d.ts +31 -0
- package/dist/src/services/project-service.d.ts.map +1 -0
- package/dist/src/services/project-service.js +86 -0
- package/dist/src/services/project-service.js.map +1 -0
- package/dist/src/services/spawn-service.d.ts +12 -0
- package/dist/src/services/spawn-service.d.ts.map +1 -0
- package/dist/src/services/spawn-service.js +111 -0
- package/dist/src/services/spawn-service.js.map +1 -0
- package/dist/src/services/updater-service.d.ts +7 -0
- package/dist/src/services/updater-service.d.ts.map +1 -0
- package/dist/src/services/updater-service.js +24 -0
- package/dist/src/services/updater-service.js.map +1 -0
- package/dist/src/services/util-service.d.ts +23 -0
- package/dist/src/services/util-service.d.ts.map +1 -0
- package/dist/src/services/util-service.js +89 -0
- package/dist/src/services/util-service.js.map +1 -0
- package/dist/src/tasks/check-env.d.ts +44 -0
- package/dist/src/tasks/check-env.d.ts.map +1 -0
- package/dist/src/tasks/check-env.js +126 -0
- package/dist/src/tasks/check-env.js.map +1 -0
- package/dist/src/tasks/generate-command.d.ts +23 -0
- package/dist/src/tasks/generate-command.d.ts.map +1 -0
- package/dist/src/tasks/generate-command.js +91 -0
- package/dist/src/tasks/generate-command.js.map +1 -0
- package/dist/src/tasks/generate-service.d.ts +26 -0
- package/dist/src/tasks/generate-service.d.ts.map +1 -0
- package/dist/src/tasks/generate-service.js +88 -0
- package/dist/src/tasks/generate-service.js.map +1 -0
- package/dist/src/tasks/generate-task.d.ts +26 -0
- package/dist/src/tasks/generate-task.d.ts.map +1 -0
- package/dist/src/tasks/generate-task.js +88 -0
- package/dist/src/tasks/generate-task.js.map +1 -0
- package/dist/src/tasks/print-about-information.d.ts +8 -0
- package/dist/src/tasks/print-about-information.d.ts.map +1 -0
- package/dist/src/tasks/print-about-information.js +30 -0
- package/dist/src/tasks/print-about-information.js.map +1 -0
- package/dist/src/tasks/print-banner.d.ts +12 -0
- package/dist/src/tasks/print-banner.d.ts.map +1 -0
- package/dist/src/tasks/print-banner.js +47 -0
- package/dist/src/tasks/print-banner.js.map +1 -0
- package/dist/src/tasks/print-generated-results.d.ts +12 -0
- package/dist/src/tasks/print-generated-results.d.ts.map +1 -0
- package/dist/src/tasks/print-generated-results.js +48 -0
- package/dist/src/tasks/print-generated-results.js.map +1 -0
- package/dist/src/tasks/select-gen-target.d.ts +9 -0
- package/dist/src/tasks/select-gen-target.d.ts.map +1 -0
- package/dist/src/tasks/select-gen-target.js +44 -0
- package/dist/src/tasks/select-gen-target.js.map +1 -0
- package/dist/src/templates/command.d.ts +2 -0
- package/dist/src/templates/command.d.ts.map +1 -0
- package/dist/src/templates/command.js +19 -0
- package/dist/src/templates/command.js.map +1 -0
- package/dist/src/templates/service.d.ts +2 -0
- package/dist/src/templates/service.d.ts.map +1 -0
- package/dist/src/templates/service.js +16 -0
- package/dist/src/templates/service.js.map +1 -0
- package/dist/src/templates/task.d.ts +2 -0
- package/dist/src/templates/task.d.ts.map +1 -0
- package/dist/src/templates/task.js +20 -0
- package/dist/src/templates/task.js.map +1 -0
- package/dist/src/types/format.d.ts +7 -0
- package/dist/src/types/format.d.ts.map +1 -0
- package/dist/src/types/format.js +11 -0
- package/dist/src/types/format.js.map +1 -0
- package/dist/src/types/process.d.ts +16 -0
- package/dist/src/types/process.d.ts.map +1 -0
- package/dist/src/types/process.js +12 -0
- package/dist/src/types/process.js.map +1 -0
- package/dist/src/types/state.d.ts +26 -0
- package/dist/src/types/state.d.ts.map +1 -0
- package/dist/src/types/state.js +17 -0
- package/dist/src/types/state.js.map +1 -0
- package/dist/src/wrappers/app-task.d.ts +19 -0
- package/dist/src/wrappers/app-task.d.ts.map +1 -0
- package/dist/src/wrappers/app-task.js +61 -0
- package/dist/src/wrappers/app-task.js.map +1 -0
- package/dist/src/wrappers/command.d.ts +11 -0
- package/dist/src/wrappers/command.d.ts.map +1 -0
- package/dist/src/wrappers/command.js +36 -0
- package/dist/src/wrappers/command.js.map +1 -0
- package/dist/tssc +3 -0
- package/eslint.config.ts +11 -0
- package/install-link.sh +21 -0
- package/package.json +55 -0
- package/setup.md +37 -0
- package/src/commands/about.ts +9 -0
- package/src/commands/gen.ts +20 -0
- package/src/index.ts +38 -0
- package/src/services/arg-service.ts +52 -0
- package/src/services/banner-service.ts +42 -0
- package/src/services/file-service.ts +78 -0
- package/src/services/log-service.ts +43 -0
- package/src/services/project-service.ts +72 -0
- package/src/services/spawn-service.ts +73 -0
- package/src/services/updater-service.ts +9 -0
- package/src/services/util-service.ts +87 -0
- package/src/tasks/check-env.ts +125 -0
- package/src/tasks/generate-command.ts +87 -0
- package/src/tasks/generate-service.ts +82 -0
- package/src/tasks/generate-task.ts +83 -0
- package/src/tasks/print-about-information.ts +16 -0
- package/src/tasks/print-banner.ts +37 -0
- package/src/tasks/print-generated-results.ts +36 -0
- package/src/tasks/select-gen-target.ts +29 -0
- package/src/templates/command.ts +18 -0
- package/src/templates/service.ts +12 -0
- package/src/templates/task.ts +16 -0
- package/src/types/format.ts +6 -0
- package/src/types/process.ts +18 -0
- package/src/types/state.ts +29 -0
- package/src/wrappers/app-task.ts +48 -0
- package/src/wrappers/command.ts +21 -0
- package/tsconfig.json +27 -0
- package/tssc +3 -0
|
@@ -0,0 +1,91 @@
|
|
|
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 = __importDefault(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 = __importDefault(require("../services/project-service"));
|
|
25
|
+
/**
|
|
26
|
+
* Generates a new command class
|
|
27
|
+
*/
|
|
28
|
+
let GenerateCommand = class GenerateCommand extends app_task_1.AppTask {
|
|
29
|
+
fileService;
|
|
30
|
+
utilService;
|
|
31
|
+
projectService;
|
|
32
|
+
loggerName = "Generate Command";
|
|
33
|
+
constructor(fileService, utilService, projectService) {
|
|
34
|
+
super();
|
|
35
|
+
this.fileService = fileService;
|
|
36
|
+
this.utilService = utilService;
|
|
37
|
+
this.projectService = projectService;
|
|
38
|
+
}
|
|
39
|
+
async run() {
|
|
40
|
+
const { utilService, fileService, argService, projectService } = this;
|
|
41
|
+
if (this.state.data.genTargetType !== state_1.GenTargetType.Command) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
this.logger.info(chalk_1.default.blueBright("Generating Command"));
|
|
45
|
+
let targetName = argService.getTargetName();
|
|
46
|
+
if (!targetName) {
|
|
47
|
+
// TODO: Should we prompt for target name here?
|
|
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
|
+
}
|
|
54
|
+
// detect case between commands and task files
|
|
55
|
+
const taskFiles = projectService.getTaskFiles();
|
|
56
|
+
const convention = projectService.getConvention();
|
|
57
|
+
this.logger.debug(`Using convention: ${chalk_1.default.magentaBright(convention)}`);
|
|
58
|
+
this.logger.debug(`Found ${taskFiles.length} task files`);
|
|
59
|
+
const className = utilService.titleizedToCase(targetName, format_1.CaseType.PASCAL_CASE);
|
|
60
|
+
// TODO: prompt for tasks to use in the new command?
|
|
61
|
+
const taskMappings = new Map();
|
|
62
|
+
const rendered = (0, command_1.getCommandTemplate)(className, taskMappings);
|
|
63
|
+
const filename = `${utilService.titleizedToCase(targetName, convention)}${project_service_1.default.defaults.extention}`;
|
|
64
|
+
const destination = path_1.default.join(targetDirectory, filename);
|
|
65
|
+
// write contents
|
|
66
|
+
fileService.writeFile(destination, rendered);
|
|
67
|
+
return { data: { outputDestination: destination } };
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Get the target directory to save the generated file.
|
|
71
|
+
*
|
|
72
|
+
* @returns the destination path of the parent folder to save the new file in.
|
|
73
|
+
*/
|
|
74
|
+
getTargetDirectory() {
|
|
75
|
+
const runnerRoot = this.fileService.getRunnerRootDir();
|
|
76
|
+
const commandFolders = this.fileService.getCommandDirs(runnerRoot);
|
|
77
|
+
if (commandFolders.length === 1) {
|
|
78
|
+
return commandFolders[0];
|
|
79
|
+
}
|
|
80
|
+
// TODO: prompt to select destination from available commandFolders
|
|
81
|
+
return commandFolders[0];
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
GenerateCommand = __decorate([
|
|
85
|
+
(0, tsyringe_1.autoInjectable)(),
|
|
86
|
+
__metadata("design:paramtypes", [file_service_1.default,
|
|
87
|
+
util_service_1.UtilService,
|
|
88
|
+
project_service_1.default])
|
|
89
|
+
], GenerateCommand);
|
|
90
|
+
exports.default = GenerateCommand;
|
|
91
|
+
//# sourceMappingURL=generate-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-command.js","sourceRoot":"./src/","sources":["src/tasks/generate-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
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
|
+
run(): Promise<{
|
|
15
|
+
data: {
|
|
16
|
+
outputDestination: string;
|
|
17
|
+
};
|
|
18
|
+
} | undefined>;
|
|
19
|
+
/**
|
|
20
|
+
* Get the target directory to save the generated file.
|
|
21
|
+
*
|
|
22
|
+
* @returns the destination path of the parent folder to save the new file in.
|
|
23
|
+
*/
|
|
24
|
+
getTargetDirectory(): string | undefined;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=generate-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-service.d.ts","sourceRoot":"./src/","sources":["src/tasks/generate-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO,cAAc,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,WAAW,MAAM,0BAA0B,CAAC;AAKnD;;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;IAK5B,GAAG;;;;;IAsCT;;;;OAIG;IACH,kBAAkB;CAYnB"}
|
|
@@ -0,0 +1,88 @@
|
|
|
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 project_service_1 = __importDefault(require("../services/project-service"));
|
|
20
|
+
const util_service_1 = require("../services/util-service");
|
|
21
|
+
const file_service_1 = __importDefault(require("../services/file-service"));
|
|
22
|
+
const format_1 = require("../types/format");
|
|
23
|
+
const path_1 = __importDefault(require("path"));
|
|
24
|
+
const service_1 = require("../templates/service");
|
|
25
|
+
/**
|
|
26
|
+
* Generates a new service class
|
|
27
|
+
*/
|
|
28
|
+
let GenerateService = class GenerateService extends app_task_1.AppTask {
|
|
29
|
+
projectService;
|
|
30
|
+
utilService;
|
|
31
|
+
fileService;
|
|
32
|
+
loggerName = "Generate Service";
|
|
33
|
+
constructor(projectService, utilService, fileService) {
|
|
34
|
+
super();
|
|
35
|
+
this.projectService = projectService;
|
|
36
|
+
this.utilService = utilService;
|
|
37
|
+
this.fileService = fileService;
|
|
38
|
+
}
|
|
39
|
+
async run() {
|
|
40
|
+
if (this.state.data.genTargetType !== state_1.GenTargetType.Service) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
this.logger.info(chalk_1.default.blueBright("Generating Service"));
|
|
44
|
+
const { argService, utilService, projectService } = this;
|
|
45
|
+
let targetName = argService.getTargetName();
|
|
46
|
+
if (!targetName) {
|
|
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
|
+
}
|
|
54
|
+
// detect case
|
|
55
|
+
const convention = projectService.getConvention();
|
|
56
|
+
this.logger.debug(`Using convention: ${chalk_1.default.magentaBright(convention)}`);
|
|
57
|
+
const className = utilService.titleizedToCase(targetName, format_1.CaseType.PASCAL_CASE);
|
|
58
|
+
const rendered = (0, service_1.getServiceTemplate)(className);
|
|
59
|
+
const filename = `${utilService.titleizedToCase(targetName, convention)}${project_service_1.default.defaults.extention}`;
|
|
60
|
+
const destination = path_1.default.join(targetDirectory, filename);
|
|
61
|
+
// write contents
|
|
62
|
+
this.fileService.writeFile(destination, rendered);
|
|
63
|
+
return { data: { outputDestination: destination } };
|
|
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
|
+
if (servicesFolders.length === 1) {
|
|
74
|
+
return servicesFolders[0];
|
|
75
|
+
}
|
|
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
|
+
};
|
|
81
|
+
GenerateService = __decorate([
|
|
82
|
+
(0, tsyringe_1.autoInjectable)(),
|
|
83
|
+
__metadata("design:paramtypes", [project_service_1.default,
|
|
84
|
+
util_service_1.UtilService,
|
|
85
|
+
file_service_1.default])
|
|
86
|
+
], GenerateService);
|
|
87
|
+
exports.default = GenerateService;
|
|
88
|
+
//# sourceMappingURL=generate-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-service.js","sourceRoot":"./src/","sources":["src/tasks/generate-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
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
|
+
run(): Promise<{
|
|
15
|
+
data: {
|
|
16
|
+
outputDestination: string;
|
|
17
|
+
};
|
|
18
|
+
} | undefined>;
|
|
19
|
+
/**
|
|
20
|
+
* Get the target directory to save the generated file.
|
|
21
|
+
*
|
|
22
|
+
* @returns the destination path of the parent folder to save the new file in.
|
|
23
|
+
*/
|
|
24
|
+
getTargetDirectory(): string | undefined;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=generate-task.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-task.d.ts","sourceRoot":"./src/","sources":["src/tasks/generate-task.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAK/C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,cAAc,MAAM,6BAA6B,CAAC;AAGzD;;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;IAKlC,GAAG;;;;;IAuCT;;;;OAIG;IACH,kBAAkB;CAYnB"}
|
|
@@ -0,0 +1,88 @@
|
|
|
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 task_1 = require("../templates/task");
|
|
20
|
+
const format_1 = require("../types/format");
|
|
21
|
+
const util_service_1 = require("../services/util-service");
|
|
22
|
+
const file_service_1 = __importDefault(require("../services/file-service"));
|
|
23
|
+
const project_service_1 = __importDefault(require("../services/project-service"));
|
|
24
|
+
const path_1 = __importDefault(require("path"));
|
|
25
|
+
/**
|
|
26
|
+
* Generates a new task class
|
|
27
|
+
*/
|
|
28
|
+
let GenerateTask = class GenerateTask extends app_task_1.AppTask {
|
|
29
|
+
utilService;
|
|
30
|
+
fileService;
|
|
31
|
+
projectService;
|
|
32
|
+
loggerName = "Generate Task";
|
|
33
|
+
constructor(utilService, fileService, projectService) {
|
|
34
|
+
super();
|
|
35
|
+
this.utilService = utilService;
|
|
36
|
+
this.fileService = fileService;
|
|
37
|
+
this.projectService = projectService;
|
|
38
|
+
}
|
|
39
|
+
async run() {
|
|
40
|
+
if (this.state.data.genTargetType !== state_1.GenTargetType.Task) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const { utilService, argService } = this;
|
|
44
|
+
this.logger.info(chalk_1.default.blueBright("Generating Task"));
|
|
45
|
+
let targetName = argService.getTargetName();
|
|
46
|
+
if (!targetName) {
|
|
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
|
+
}
|
|
54
|
+
// detect case
|
|
55
|
+
const convention = this.projectService.getConvention();
|
|
56
|
+
this.logger.debug(`Using convention: ${chalk_1.default.magentaBright(convention)}`);
|
|
57
|
+
const className = utilService.titleizedToCase(targetName, format_1.CaseType.PASCAL_CASE);
|
|
58
|
+
const rendered = (0, task_1.getTaskTemplate)(className);
|
|
59
|
+
const filename = `${utilService.titleizedToCase(targetName, convention)}${project_service_1.default.defaults.extention}`;
|
|
60
|
+
const destination = path_1.default.join(targetDirectory, filename);
|
|
61
|
+
// write contents
|
|
62
|
+
this.fileService.writeFile(destination, rendered);
|
|
63
|
+
return { data: { outputDestination: destination } };
|
|
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 tasksFolders = this.fileService.getTaskDirs(runnerRoot);
|
|
73
|
+
if (tasksFolders.length === 1) {
|
|
74
|
+
return tasksFolders[0];
|
|
75
|
+
}
|
|
76
|
+
// TODO: prompt to select destination from available tasksFolders
|
|
77
|
+
this.logger.warn(`Multiple task folders detected. Using first found.`);
|
|
78
|
+
return tasksFolders[0];
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
GenerateTask = __decorate([
|
|
82
|
+
(0, tsyringe_1.autoInjectable)(),
|
|
83
|
+
__metadata("design:paramtypes", [util_service_1.UtilService,
|
|
84
|
+
file_service_1.default,
|
|
85
|
+
project_service_1.default])
|
|
86
|
+
], GenerateTask);
|
|
87
|
+
exports.default = GenerateTask;
|
|
88
|
+
//# sourceMappingURL=generate-task.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-task.js","sourceRoot":"./src/","sources":["src/tasks/generate-task.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"print-about-information.d.ts","sourceRoot":"./src/","sources":["src/tasks/print-about-information.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C;;GAEG;AAEH,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,OAAO;IAClD,GAAG;CAKV"}
|
|
@@ -0,0 +1,30 @@
|
|
|
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 util_service_1 = require("../services/util-service");
|
|
14
|
+
const app_task_1 = require("../wrappers/app-task");
|
|
15
|
+
const tsyringe_1 = require("tsyringe");
|
|
16
|
+
/**
|
|
17
|
+
* Prints general information about the app
|
|
18
|
+
*/
|
|
19
|
+
let PrintAboutInformation = class PrintAboutInformation extends app_task_1.AppTask {
|
|
20
|
+
async run() {
|
|
21
|
+
console.log(`Name: ${chalk_1.default.green("Task Script Support CLI")}`);
|
|
22
|
+
console.log(`Version: ${chalk_1.default.green(util_service_1.UtilService.getAppVersion())}`);
|
|
23
|
+
console.log(`About: ${chalk_1.default.dim(util_service_1.UtilService.getAppDescription())}`);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
PrintAboutInformation = __decorate([
|
|
27
|
+
(0, tsyringe_1.autoInjectable)()
|
|
28
|
+
], PrintAboutInformation);
|
|
29
|
+
exports.default = PrintAboutInformation;
|
|
30
|
+
//# sourceMappingURL=print-about-information.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"print-about-information.js","sourceRoot":"./src/","sources":["src/tasks/print-about-information.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,kDAA0B;AAC1B,2DAAuD;AACvD,mDAA+C;AAC/C,uCAA0C;AAE1C;;GAEG;AAEY,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,kBAAO;IACxD,KAAK,CAAC,GAAG;QACP,OAAO,CAAC,GAAG,CAAC,YAAY,eAAK,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,YAAY,eAAK,CAAC,KAAK,CAAC,0BAAW,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,YAAY,eAAK,CAAC,GAAG,CAAC,0BAAW,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC;CACF,CAAA;AANoB,qBAAqB;IADzC,IAAA,yBAAc,GAAE;GACI,qBAAqB,CAMzC;kBANoB,qBAAqB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AppState } from "../types/state";
|
|
2
|
+
import { AppTask } from "../wrappers/app-task";
|
|
3
|
+
import { BannerService } from "../services/banner-service";
|
|
4
|
+
import { UtilService } from "../services/util-service";
|
|
5
|
+
export default class PrintBanner extends AppTask {
|
|
6
|
+
private bannnerSvc;
|
|
7
|
+
private utilSvc;
|
|
8
|
+
loggerName: string;
|
|
9
|
+
constructor(bannnerSvc: BannerService, utilSvc: UtilService);
|
|
10
|
+
run(): Promise<Partial<AppState> | void>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=print-banner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"print-banner.d.ts","sourceRoot":"./src/","sources":["src/tasks/print-banner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAIvD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,OAAO;IAI5C,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,OAAO;IAJjB,UAAU,SAAkB;gBAGlB,UAAU,EAAE,aAAa,EACzB,OAAO,EAAE,WAAW;IAKxB,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;CAkB/C"}
|
|
@@ -0,0 +1,47 @@
|
|
|
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 banner_service_1 = require("../services/banner-service");
|
|
18
|
+
const util_service_1 = require("../services/util-service");
|
|
19
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
20
|
+
let PrintBanner = class PrintBanner extends app_task_1.AppTask {
|
|
21
|
+
bannnerSvc;
|
|
22
|
+
utilSvc;
|
|
23
|
+
loggerName = "Print Banner";
|
|
24
|
+
constructor(bannnerSvc, utilSvc) {
|
|
25
|
+
super();
|
|
26
|
+
this.bannnerSvc = bannnerSvc;
|
|
27
|
+
this.utilSvc = utilSvc;
|
|
28
|
+
}
|
|
29
|
+
async run() {
|
|
30
|
+
let font = "";
|
|
31
|
+
if (this.argService.hasFlag("randomFont")) {
|
|
32
|
+
font = await this.bannnerSvc.getRandomFont();
|
|
33
|
+
console.log(`Using random font ${font}`);
|
|
34
|
+
}
|
|
35
|
+
console.log(chalk_1.default.blueBright(await this.bannnerSvc.toBanner(this.utilSvc.getAppName(), font)));
|
|
36
|
+
this.setData({
|
|
37
|
+
banner: { font: font || this.bannnerSvc.defaultFontFamily },
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
PrintBanner = __decorate([
|
|
42
|
+
(0, tsyringe_1.autoInjectable)(),
|
|
43
|
+
__metadata("design:paramtypes", [banner_service_1.BannerService,
|
|
44
|
+
util_service_1.UtilService])
|
|
45
|
+
], PrintBanner);
|
|
46
|
+
exports.default = PrintBanner;
|
|
47
|
+
//# sourceMappingURL=print-banner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"print-banner.js","sourceRoot":"./src/","sources":["src/tasks/print-banner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,uCAA0C;AAE1C,mDAA+C;AAC/C,+DAA2D;AAC3D,2DAAuD;AACvD,kDAA0B;AAGX,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,kBAAO;IAIpC;IACA;IAJV,UAAU,GAAG,cAAc,CAAC;IAE5B,YACU,UAAyB,EACzB,OAAoB;QAE5B,KAAK,EAAE,CAAC;QAHA,eAAU,GAAV,UAAU,CAAe;QACzB,YAAO,GAAP,OAAO,CAAa;IAG9B,CAAC;IAED,KAAK,CAAC,GAAG;QACP,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1C,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,UAAU,CACd,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,CAChE,CACF,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC;YACX,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE;SAC5D,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA5BoB,WAAW;IAD/B,IAAA,yBAAc,GAAE;qCAKO,8BAAa;QAChB,0BAAW;GALX,WAAW,CA4B/B;kBA5BoB,WAAW"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AppTask } from "../wrappers/app-task";
|
|
2
|
+
import { UtilService } from "../services/util-service";
|
|
3
|
+
/**
|
|
4
|
+
* Prints the generated output results
|
|
5
|
+
*/
|
|
6
|
+
export default class PrintGeneratedResults extends AppTask {
|
|
7
|
+
private utilService;
|
|
8
|
+
loggerName: string;
|
|
9
|
+
constructor(utilService: UtilService);
|
|
10
|
+
run(): Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=print-generated-results.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"print-generated-results.d.ts","sourceRoot":"./src/","sources":["src/tasks/print-generated-results.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD;;GAEG;AAEH,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,OAAO;IAG5C,OAAO,CAAC,WAAW;IAF/B,UAAU,SAAmB;gBAET,WAAW,EAAE,WAAW;IAItC,GAAG;CAkBV"}
|
|
@@ -0,0 +1,48 @@
|
|
|
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 util_service_1 = require("../services/util-service");
|
|
19
|
+
/**
|
|
20
|
+
* Prints the generated output results
|
|
21
|
+
*/
|
|
22
|
+
let PrintGeneratedResults = class PrintGeneratedResults extends app_task_1.AppTask {
|
|
23
|
+
utilService;
|
|
24
|
+
loggerName = "Print Results";
|
|
25
|
+
constructor(utilService) {
|
|
26
|
+
super();
|
|
27
|
+
this.utilService = utilService;
|
|
28
|
+
}
|
|
29
|
+
async run() {
|
|
30
|
+
const target = this.state.data.genTargetType;
|
|
31
|
+
this.logger.info(chalk_1.default.blueBright(`Generated Results for ${this.utilService.titleize(target)}`));
|
|
32
|
+
setTimeout(() => {
|
|
33
|
+
console.log(`
|
|
34
|
+
|
|
35
|
+
Generated new file:
|
|
36
|
+
|
|
37
|
+
${this.state.data.outputDestination || "<None>"}
|
|
38
|
+
|
|
39
|
+
`);
|
|
40
|
+
}, 1000);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
PrintGeneratedResults = __decorate([
|
|
44
|
+
(0, tsyringe_1.autoInjectable)(),
|
|
45
|
+
__metadata("design:paramtypes", [util_service_1.UtilService])
|
|
46
|
+
], PrintGeneratedResults);
|
|
47
|
+
exports.default = PrintGeneratedResults;
|
|
48
|
+
//# sourceMappingURL=print-generated-results.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +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;AAI/C;;GAEG;AAEH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,OAAO;IAClD,UAAU,SAAmB;IACvB,GAAG;CAiBV"}
|
|
@@ -0,0 +1,44 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"./src/","sources":["src/templates/command.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,GAC7B,WAAW,MAAM,EACjB,QAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAa,WAevC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCommandTemplate = void 0;
|
|
4
|
+
const getCommandTemplate = (className, tasks = new Map()) => `import { singleton } from "tsyringe";
|
|
5
|
+
import { Command } from "../wrappers/command";
|
|
6
|
+
${tasks
|
|
7
|
+
.keys()
|
|
8
|
+
.toArray()
|
|
9
|
+
.map((k) => `import { ${k} } from "${tasks.get(k)}";`)
|
|
10
|
+
.join("\n")}
|
|
11
|
+
|
|
12
|
+
@singleton()
|
|
13
|
+
export class ${className} extends Command {
|
|
14
|
+
tasks = [${tasks.keys().toArray().join(",")}];
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
`;
|
|
18
|
+
exports.getCommandTemplate = getCommandTemplate;
|
|
19
|
+
//# sourceMappingURL=command.js.map
|
|
@@ -0,0 +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,YAAY,CAAC,YAAY,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;KACrD,IAAI,CAAC,IAAI,CAAC;;;eAGE,SAAS;aACX,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;;;CAG5C,CAAC;AAjBW,QAAA,kBAAkB,sBAiB7B"}
|