task-script-support-cli 0.1.1 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/yargs-template/task-runner/.prettierignore +3 -0
- package/assets/yargs-template/task-runner/.prettierrc +1 -0
- package/assets/yargs-template/task-runner/.vscode/launch.json +34 -0
- package/assets/yargs-template/task-runner/eslint.config.ts +11 -0
- package/assets/yargs-template/task-runner/install-link.sh +21 -0
- package/assets/yargs-template/task-runner/package-lock.json +3387 -0
- package/assets/yargs-template/task-runner/package.json +51 -0
- package/assets/yargs-template/task-runner/src/commands/verify.ts +10 -0
- package/assets/yargs-template/task-runner/src/index.ts +46 -0
- package/assets/yargs-template/task-runner/src/services/banner-service.ts +38 -0
- package/assets/yargs-template/task-runner/src/services/log-service.ts +48 -0
- package/assets/yargs-template/task-runner/src/services/spawn-service.ts +87 -0
- package/assets/yargs-template/task-runner/src/services/util-service.ts +28 -0
- package/assets/yargs-template/task-runner/src/tasks/check-env.ts +49 -0
- package/assets/yargs-template/task-runner/src/tasks/log-state.ts +22 -0
- package/assets/yargs-template/task-runner/src/tasks/print-banner.ts +73 -0
- package/assets/yargs-template/task-runner/src/types/process.ts +9 -0
- package/assets/yargs-template/task-runner/src/types/state.ts +31 -0
- package/assets/yargs-template/task-runner/src/wrappers/app-task.ts +42 -0
- package/assets/yargs-template/task-runner/src/wrappers/command.ts +20 -0
- package/assets/yargs-template/task-runner/src/wrappers/dependencies.ts +24 -0
- package/assets/yargs-template/task-runner/task-runner +3 -0
- package/assets/yargs-template/task-runner/templater.sh +57 -0
- package/assets/yargs-template/task-runner/tests/commands/verify.test.ts +42 -0
- package/assets/yargs-template/task-runner/tests/services/spawn-service.test.ts +132 -0
- package/assets/yargs-template/task-runner/tests/services/util-service.test.ts +36 -0
- package/assets/yargs-template/task-runner/tests/setup.ts +1 -0
- package/assets/yargs-template/task-runner/tests/tasks/check-env.test.ts +30 -0
- package/assets/yargs-template/task-runner/tsconfig.json +27 -0
- package/assets/yargs-template/task-runner/vitest.config.ts +14 -0
- package/dist/assets/yargs-template/task-runner/.prettierignore +3 -0
- package/dist/assets/yargs-template/task-runner/.prettierrc +1 -0
- package/dist/assets/yargs-template/task-runner/.vscode/launch.json +34 -0
- package/dist/assets/yargs-template/task-runner/eslint.config.ts +11 -0
- package/dist/assets/yargs-template/task-runner/install-link.sh +21 -0
- package/dist/assets/yargs-template/task-runner/package-lock.json +3387 -0
- package/dist/assets/yargs-template/task-runner/package.json +51 -0
- package/dist/assets/yargs-template/task-runner/src/commands/verify.ts +10 -0
- package/dist/assets/yargs-template/task-runner/src/index.ts +46 -0
- package/dist/assets/yargs-template/task-runner/src/services/banner-service.ts +38 -0
- package/dist/assets/yargs-template/task-runner/src/services/log-service.ts +48 -0
- package/dist/assets/yargs-template/task-runner/src/services/spawn-service.ts +87 -0
- package/dist/assets/yargs-template/task-runner/src/services/util-service.ts +28 -0
- package/dist/assets/yargs-template/task-runner/src/tasks/check-env.ts +49 -0
- package/dist/assets/yargs-template/task-runner/src/tasks/log-state.ts +22 -0
- package/dist/assets/yargs-template/task-runner/src/tasks/print-banner.ts +73 -0
- package/dist/assets/yargs-template/task-runner/src/types/process.ts +9 -0
- package/dist/assets/yargs-template/task-runner/src/types/state.ts +31 -0
- package/dist/assets/yargs-template/task-runner/src/wrappers/app-task.ts +42 -0
- package/dist/assets/yargs-template/task-runner/src/wrappers/command.ts +20 -0
- package/dist/assets/yargs-template/task-runner/src/wrappers/dependencies.ts +24 -0
- package/dist/assets/yargs-template/task-runner/task-runner +3 -0
- package/dist/assets/yargs-template/task-runner/templater.sh +57 -0
- package/dist/assets/yargs-template/task-runner/tests/commands/verify.test.ts +42 -0
- package/dist/assets/yargs-template/task-runner/tests/services/spawn-service.test.ts +132 -0
- package/dist/assets/yargs-template/task-runner/tests/services/util-service.test.ts +36 -0
- package/dist/assets/yargs-template/task-runner/tests/setup.ts +1 -0
- package/dist/assets/yargs-template/task-runner/tests/tasks/check-env.test.ts +30 -0
- package/dist/assets/yargs-template/task-runner/tsconfig.json +27 -0
- package/dist/assets/yargs-template/task-runner/vitest.config.ts +14 -0
- package/dist/package.json +9 -3
- package/dist/src/commands/about.d.ts +2 -2
- package/dist/src/commands/about.d.ts.map +1 -1
- package/dist/src/commands/about.js +2 -2
- package/dist/src/commands/about.js.map +1 -1
- package/dist/src/commands/configure.d.ts +8 -0
- package/dist/src/commands/configure.d.ts.map +1 -0
- package/dist/src/commands/configure.js +25 -0
- package/dist/src/commands/configure.js.map +1 -0
- package/dist/src/commands/gen.d.ts +9 -7
- package/dist/src/commands/gen.d.ts.map +1 -1
- package/dist/src/commands/gen.js +10 -6
- package/dist/src/commands/gen.js.map +1 -1
- package/dist/src/commands/new.d.ts +8 -0
- package/dist/src/commands/new.d.ts.map +1 -0
- package/dist/src/commands/new.js +25 -0
- package/dist/src/commands/new.js.map +1 -0
- package/dist/src/index.js +10 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/services/cache-service.d.ts +11 -0
- package/dist/src/services/cache-service.d.ts.map +1 -0
- package/dist/src/services/cache-service.js +64 -0
- package/dist/src/services/cache-service.js.map +1 -0
- package/dist/src/services/file-service.d.ts +8 -2
- package/dist/src/services/file-service.d.ts.map +1 -1
- package/dist/src/services/file-service.js +38 -6
- package/dist/src/services/file-service.js.map +1 -1
- package/dist/src/services/log-service.d.ts +1 -0
- package/dist/src/services/log-service.d.ts.map +1 -1
- package/dist/src/services/log-service.js +14 -1
- package/dist/src/services/log-service.js.map +1 -1
- package/dist/src/services/project-service.d.ts +3 -3
- package/dist/src/services/project-service.d.ts.map +1 -1
- package/dist/src/services/project-service.js +10 -10
- package/dist/src/services/project-service.js.map +1 -1
- package/dist/src/services/prompt-service.d.ts +34 -0
- package/dist/src/services/prompt-service.d.ts.map +1 -0
- package/dist/src/services/prompt-service.js +80 -0
- package/dist/src/services/prompt-service.js.map +1 -0
- package/dist/src/services/spawn-service.d.ts +2 -1
- package/dist/src/services/spawn-service.d.ts.map +1 -1
- package/dist/src/services/spawn-service.js +16 -1
- package/dist/src/services/spawn-service.js.map +1 -1
- package/dist/src/services/util-service.d.ts +2 -0
- package/dist/src/services/util-service.d.ts.map +1 -1
- package/dist/src/services/util-service.js +4 -0
- package/dist/src/services/util-service.js.map +1 -1
- package/dist/src/tasks/check-env.d.ts +3 -2
- package/dist/src/tasks/check-env.d.ts.map +1 -1
- package/dist/src/tasks/check-env.js +11 -3
- package/dist/src/tasks/check-env.js.map +1 -1
- package/dist/src/tasks/configure.d.ts +44 -0
- package/dist/src/tasks/configure.d.ts.map +1 -0
- package/dist/src/tasks/configure.js +102 -0
- package/dist/src/tasks/configure.js.map +1 -0
- package/dist/src/tasks/create-new-project.d.ts +26 -0
- package/dist/src/tasks/create-new-project.d.ts.map +1 -0
- package/dist/src/tasks/create-new-project.js +76 -0
- package/dist/src/tasks/create-new-project.js.map +1 -0
- package/dist/src/tasks/generate/generate-command.d.ts +35 -0
- package/dist/src/tasks/generate/generate-command.d.ts.map +1 -0
- package/dist/src/tasks/generate/generate-command.js +128 -0
- package/dist/src/tasks/generate/generate-command.js.map +1 -0
- package/dist/src/tasks/generate/generate-service.d.ts +30 -0
- package/dist/src/tasks/generate/generate-service.d.ts.map +1 -0
- package/dist/src/tasks/{generate-service.js → generate/generate-service.js} +32 -31
- package/dist/src/tasks/generate/generate-service.js.map +1 -0
- package/dist/src/tasks/generate/generate-task.d.ts +30 -0
- package/dist/src/tasks/generate/generate-task.d.ts.map +1 -0
- package/dist/src/tasks/{generate-task.js → generate/generate-task.js} +32 -31
- package/dist/src/tasks/generate/generate-task.js.map +1 -0
- package/dist/src/tasks/generate/select-gen-target-name.d.ts +15 -0
- package/dist/src/tasks/generate/select-gen-target-name.d.ts.map +1 -0
- package/dist/src/tasks/generate/select-gen-target-name.js +59 -0
- package/dist/src/tasks/generate/select-gen-target-name.js.map +1 -0
- package/dist/src/tasks/generate/select-gen-target.d.ts +14 -0
- package/dist/src/tasks/generate/select-gen-target.d.ts.map +1 -0
- package/dist/src/tasks/generate/select-gen-target.js +60 -0
- package/dist/src/tasks/generate/select-gen-target.js.map +1 -0
- package/dist/src/tasks/{print-about-information.d.ts → stdout/print-about-information.d.ts} +1 -1
- package/dist/src/tasks/stdout/print-about-information.d.ts.map +1 -0
- package/dist/src/tasks/{print-about-information.js → stdout/print-about-information.js} +2 -2
- package/dist/src/tasks/stdout/print-about-information.js.map +1 -0
- package/dist/src/tasks/stdout/print-banner.d.ts +12 -0
- package/dist/src/tasks/stdout/print-banner.d.ts.map +1 -0
- package/dist/src/tasks/{print-banner.js → stdout/print-banner.js} +15 -11
- package/dist/src/tasks/stdout/print-banner.js.map +1 -0
- package/dist/src/tasks/{print-generated-results.d.ts → stdout/print-generated-results.d.ts} +2 -2
- package/dist/src/tasks/stdout/print-generated-results.d.ts.map +1 -0
- package/dist/src/tasks/{print-generated-results.js → stdout/print-generated-results.js} +16 -12
- package/dist/src/tasks/stdout/print-generated-results.js.map +1 -0
- package/dist/src/tasks/sync-configuration.d.ts +38 -0
- package/dist/src/tasks/sync-configuration.d.ts.map +1 -0
- package/dist/src/tasks/sync-configuration.js +121 -0
- package/dist/src/tasks/sync-configuration.js.map +1 -0
- package/dist/src/tasks/test-task.d.ts +10 -0
- package/dist/src/tasks/test-task.d.ts.map +1 -0
- package/dist/src/tasks/test-task.js +36 -0
- package/dist/src/tasks/test-task.js.map +1 -0
- package/dist/src/templates/command.js +2 -2
- package/dist/src/templates/command.js.map +1 -1
- package/dist/src/templates/service.js +1 -1
- package/dist/src/templates/service.js.map +1 -1
- package/dist/src/types/process.d.ts +2 -1
- package/dist/src/types/process.d.ts.map +1 -1
- package/dist/src/types/process.js +1 -0
- package/dist/src/types/process.js.map +1 -1
- package/dist/src/types/project.d.ts +12 -0
- package/dist/src/types/project.d.ts.map +1 -0
- package/dist/src/types/project.js +3 -0
- package/dist/src/types/project.js.map +1 -0
- package/dist/src/types/state.d.ts +5 -1
- package/dist/src/types/state.d.ts.map +1 -1
- package/dist/src/types/state.js +1 -0
- package/dist/src/types/state.js.map +1 -1
- package/dist/src/wrappers/app-task.d.ts +1 -0
- package/dist/src/wrappers/app-task.d.ts.map +1 -1
- package/dist/src/wrappers/app-task.js +4 -0
- package/dist/src/wrappers/app-task.js.map +1 -1
- package/dist/vitest.config.d.ts +3 -0
- package/dist/vitest.config.d.ts.map +1 -0
- package/dist/vitest.config.js +16 -0
- package/dist/vitest.config.js.map +1 -0
- package/package.json +9 -3
- package/src/commands/about.ts +2 -2
- package/src/commands/configure.ts +10 -0
- package/src/commands/gen.ts +10 -6
- package/src/commands/new.ts +10 -0
- package/src/index.ts +12 -0
- package/src/services/cache-service.ts +50 -0
- package/src/services/file-service.ts +46 -5
- package/src/services/log-service.ts +14 -1
- package/src/services/project-service.ts +8 -5
- package/src/services/prompt-service.ts +71 -0
- package/src/services/spawn-service.ts +15 -1
- package/src/services/util-service.ts +5 -0
- package/src/tasks/check-env.ts +10 -2
- package/src/tasks/configure.ts +105 -0
- package/src/tasks/create-new-project.ts +66 -0
- package/src/tasks/generate/generate-command.ts +136 -0
- package/src/tasks/generate/generate-service.ts +78 -0
- package/src/tasks/generate/generate-task.ts +79 -0
- package/src/tasks/generate/select-gen-target-name.ts +44 -0
- package/src/tasks/generate/select-gen-target.ts +46 -0
- package/src/tasks/{print-about-information.ts → stdout/print-about-information.ts} +2 -2
- package/src/tasks/stdout/print-banner.ts +41 -0
- package/src/tasks/stdout/print-generated-results.ts +37 -0
- package/src/tasks/sync-configuration.ts +129 -0
- package/src/tasks/test-task.ts +20 -0
- package/src/templates/command.ts +2 -2
- package/src/templates/service.ts +1 -1
- package/src/types/process.ts +1 -0
- package/src/types/project.ts +12 -0
- package/src/types/state.ts +7 -1
- package/src/wrappers/app-task.ts +5 -0
- package/tests/index.spec.ts +8 -0
- package/tests/setup.ts +1 -0
- package/tsconfig.json +1 -1
- package/vitest.config.ts +14 -0
- package/dist/src/tasks/generate-command.d.ts +0 -23
- package/dist/src/tasks/generate-command.d.ts.map +0 -1
- package/dist/src/tasks/generate-command.js +0 -91
- package/dist/src/tasks/generate-command.js.map +0 -1
- package/dist/src/tasks/generate-service.d.ts +0 -26
- package/dist/src/tasks/generate-service.d.ts.map +0 -1
- package/dist/src/tasks/generate-service.js.map +0 -1
- package/dist/src/tasks/generate-task.d.ts +0 -26
- package/dist/src/tasks/generate-task.d.ts.map +0 -1
- package/dist/src/tasks/generate-task.js.map +0 -1
- package/dist/src/tasks/print-about-information.d.ts.map +0 -1
- package/dist/src/tasks/print-about-information.js.map +0 -1
- package/dist/src/tasks/print-banner.d.ts +0 -12
- package/dist/src/tasks/print-banner.d.ts.map +0 -1
- package/dist/src/tasks/print-banner.js.map +0 -1
- package/dist/src/tasks/print-generated-results.d.ts.map +0 -1
- package/dist/src/tasks/print-generated-results.js.map +0 -1
- package/dist/src/tasks/select-gen-target.d.ts +0 -9
- package/dist/src/tasks/select-gen-target.d.ts.map +0 -1
- package/dist/src/tasks/select-gen-target.js +0 -44
- package/dist/src/tasks/select-gen-target.js.map +0 -1
- package/src/tasks/generate-command.ts +0 -87
- package/src/tasks/generate-service.ts +0 -82
- package/src/tasks/generate-task.ts +0 -83
- package/src/tasks/print-banner.ts +0 -37
- package/src/tasks/print-generated-results.ts +0 -36
- package/src/tasks/select-gen-target.ts +0 -29
|
@@ -0,0 +1,46 @@
|
|
|
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 { PromptService } from "../../services/prompt-service";
|
|
6
|
+
import { CLIOptions } from "../../types/process";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Sets the genTargetType based on input
|
|
10
|
+
*/
|
|
11
|
+
@autoInjectable()
|
|
12
|
+
export default class SelectGenTargetType extends AppTask {
|
|
13
|
+
loggerName = "Select Target Type";
|
|
14
|
+
|
|
15
|
+
constructor(private promptService: PromptService) {
|
|
16
|
+
super();
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
async run() {
|
|
20
|
+
let target: GenTargetType = GenTargetType.Command;
|
|
21
|
+
this.logger.info(chalk.blueBright("Checking Target"));
|
|
22
|
+
|
|
23
|
+
if (this.argService.hasFlag(CLIOptions.service)) {
|
|
24
|
+
target = GenTargetType.Service;
|
|
25
|
+
} else if (this.argService.hasFlag(CLIOptions.task)) {
|
|
26
|
+
target = GenTargetType.Task;
|
|
27
|
+
} else if (this.argService.hasFlag(CLIOptions.command)) {
|
|
28
|
+
target = GenTargetType.Command;
|
|
29
|
+
} else {
|
|
30
|
+
target = await this.getGenTargetInput();
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
this.logger.debug(`Target selected: ${chalk.magentaBright(target)}`);
|
|
34
|
+
this.setData({ genTargetType: target });
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
async getGenTargetInput() {
|
|
38
|
+
await this.logger.flush();
|
|
39
|
+
const targetType: GenTargetType = await this.promptService.select(
|
|
40
|
+
`Select a type of ${chalk.blueBright("Resource")} to create`,
|
|
41
|
+
[GenTargetType.Command, GenTargetType.Service, GenTargetType.Task],
|
|
42
|
+
);
|
|
43
|
+
|
|
44
|
+
return targetType;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import chalk from "chalk";
|
|
2
|
-
import { UtilService } from "
|
|
3
|
-
import { AppTask } from "
|
|
2
|
+
import { UtilService } from "../../services/util-service";
|
|
3
|
+
import { AppTask } from "../../wrappers/app-task";
|
|
4
4
|
import { autoInjectable } from "tsyringe";
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { autoInjectable } from "tsyringe";
|
|
2
|
+
import { AppState, EnvironmentConfigKeys } 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 bannnerService: BannerService,
|
|
14
|
+
private utilService: UtilService,
|
|
15
|
+
) {
|
|
16
|
+
super();
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
async run(): Promise<Partial<AppState> | void> {
|
|
20
|
+
let font = "";
|
|
21
|
+
|
|
22
|
+
if (process.env[EnvironmentConfigKeys.TSSC_SILENCE_BANNER]) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
if (this.argService.hasFlag("randomFont")) {
|
|
27
|
+
font = await this.bannnerService.getRandomFont();
|
|
28
|
+
console.log(`Using random font ${font}`);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
console.log(
|
|
32
|
+
chalk.blueBright(
|
|
33
|
+
await this.bannnerService.toBanner(this.utilService.getAppName(), font),
|
|
34
|
+
),
|
|
35
|
+
);
|
|
36
|
+
|
|
37
|
+
this.setData({
|
|
38
|
+
banner: { font: font || this.bannnerService.defaultFontFamily },
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import { AppTask } from "../../wrappers/app-task";
|
|
3
|
+
import { autoInjectable } from "tsyringe";
|
|
4
|
+
import { UtilService } from "../../services/util-service";
|
|
5
|
+
import { ProjectService } from "../../services/project-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 genType: string = this.state.data.genTargetType
|
|
20
|
+
? this.utilService.titleize(this.state.data.genTargetType)
|
|
21
|
+
: "Project";
|
|
22
|
+
|
|
23
|
+
this.logger.info(`Generated Results for ${chalk.blueBright(genType)}`);
|
|
24
|
+
|
|
25
|
+
// wait for logs to flush before mixing in console.log
|
|
26
|
+
await this.logger.flush();
|
|
27
|
+
await this.utilService.sleep(200);
|
|
28
|
+
|
|
29
|
+
console.log(`
|
|
30
|
+
|
|
31
|
+
Generated new ${this.state.data.outputDestination?.includes(ProjectService.defaults.extention) ? "file" : "project"}:
|
|
32
|
+
|
|
33
|
+
${this.state.data.outputDestination || "<None>"}
|
|
34
|
+
|
|
35
|
+
`);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { autoInjectable } from "tsyringe";
|
|
2
|
+
import { AppTask } from "../wrappers/app-task";
|
|
3
|
+
import { PromptService } from "../services/prompt-service";
|
|
4
|
+
import chalk from "chalk";
|
|
5
|
+
import { CacheService } from "../services/cache-service";
|
|
6
|
+
import { ProjectConfig, ProjectData } from "../types/project";
|
|
7
|
+
import { GenTargetType } from "../types/state";
|
|
8
|
+
import { UtilService } from "../services/util-service";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Syncs cache to project state
|
|
12
|
+
*/
|
|
13
|
+
@autoInjectable()
|
|
14
|
+
export default class SyncConfiguration extends AppTask {
|
|
15
|
+
loggerName = "Sync Configuration";
|
|
16
|
+
|
|
17
|
+
constructor(
|
|
18
|
+
private promptService: PromptService,
|
|
19
|
+
private cacheService: CacheService,
|
|
20
|
+
private utilService: UtilService,
|
|
21
|
+
) {
|
|
22
|
+
super();
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
async preRun() {
|
|
26
|
+
this.verifyState();
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
async run() {
|
|
30
|
+
this.logger.info(chalk.blueBright("Checking Cache"));
|
|
31
|
+
let project: ProjectConfig & ProjectData = this.state.data.project!;
|
|
32
|
+
|
|
33
|
+
// see if we have a project config in the cache with rootDir path as the key
|
|
34
|
+
const cachedProject = await this.cacheService.getProject(project.rootDir);
|
|
35
|
+
if (cachedProject) {
|
|
36
|
+
this.logger.debug(chalk.dim("loaded project from cache"));
|
|
37
|
+
project = { ...this.state.data.project!, ...cachedProject };
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// get target destination if not cached yet
|
|
41
|
+
if (this.state.data.genTargetType) {
|
|
42
|
+
const targetType = this.state.data.genTargetType;
|
|
43
|
+
const destinationKey: keyof typeof project = `${targetType}Destination`;
|
|
44
|
+
project[destinationKey] =
|
|
45
|
+
project[destinationKey] || (await this.getDestination(targetType));
|
|
46
|
+
this.logDestination(project[destinationKey]);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// attempt to determine others config without prompting
|
|
50
|
+
const isPassive: boolean = true;
|
|
51
|
+
project.commandDestination =
|
|
52
|
+
project.commandDestination ||
|
|
53
|
+
(await this.getDestination(GenTargetType.Command, isPassive));
|
|
54
|
+
project.serviceDestination =
|
|
55
|
+
project.serviceDestination ||
|
|
56
|
+
(await this.getDestination(GenTargetType.Service, isPassive));
|
|
57
|
+
project.taskDestination =
|
|
58
|
+
project.taskDestination ||
|
|
59
|
+
(await this.getDestination(GenTargetType.Task, isPassive));
|
|
60
|
+
|
|
61
|
+
// cache any changes
|
|
62
|
+
await this.cacheService.writeProject(project);
|
|
63
|
+
this.setData({ project });
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Prints the target destination path string
|
|
68
|
+
*
|
|
69
|
+
* @param dest the destination path to log
|
|
70
|
+
* @returns
|
|
71
|
+
*/
|
|
72
|
+
logDestination = (dest: string = "") =>
|
|
73
|
+
this.logger.debug(`Destination: ${chalk.magentaBright(dest)}`);
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Gets the destination path for generating resources by resource type.
|
|
77
|
+
* If only one resource destination folder was found it is returned
|
|
78
|
+
* otherwise the user is prompted to select one from the found folders.
|
|
79
|
+
*
|
|
80
|
+
* @param keyType the type of destination to resolve
|
|
81
|
+
* @param isPassive whether or not to skip prompting for user input
|
|
82
|
+
* @returns the path of the resolved destination
|
|
83
|
+
*/
|
|
84
|
+
async getDestination(
|
|
85
|
+
keyType: "command" | "task" | "service",
|
|
86
|
+
isPassive: boolean = false,
|
|
87
|
+
) {
|
|
88
|
+
const foldersKey: keyof typeof this.state.data.project =
|
|
89
|
+
`${keyType}Folders` as keyof typeof this.state.data.project;
|
|
90
|
+
|
|
91
|
+
const nonTestFolders: string[] = (
|
|
92
|
+
this.state.data.project![foldersKey] as string[]
|
|
93
|
+
).filter((folder: string) => !(folder || "").includes("/tests/"));
|
|
94
|
+
|
|
95
|
+
// if we only have one folder found, use this as the destination
|
|
96
|
+
if (nonTestFolders.length === 1) {
|
|
97
|
+
return nonTestFolders[0] || "";
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
if (isPassive) {
|
|
101
|
+
return undefined;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// otherwise prompt to pick one
|
|
105
|
+
const userSelection: string = await this.promptService.select(
|
|
106
|
+
`Multiple folders found. Select correct ${chalk.blueBright(this.utilService.titleize(keyType))} folder`,
|
|
107
|
+
nonTestFolders,
|
|
108
|
+
);
|
|
109
|
+
this.logger.debug(chalk.blackBright(`caching for next time`));
|
|
110
|
+
return userSelection;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Check we have all the required state set
|
|
115
|
+
*/
|
|
116
|
+
verifyState() {
|
|
117
|
+
if (!this.state.data.project || !this.state.data.project.rootDir) {
|
|
118
|
+
throw new Error(
|
|
119
|
+
`Missing project rootDir! SyncConfiguration requires the CheckEnvironment task to be ran first.`,
|
|
120
|
+
);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
if (!this.state.data.genTargetType) {
|
|
124
|
+
throw new Error(
|
|
125
|
+
`Missing genTargetType! SyncConfiguration requires the SelectGenTarget task to be ran first.`,
|
|
126
|
+
);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { autoInjectable } from "tsyringe";
|
|
2
|
+
import { AppState } from "../types/state";
|
|
3
|
+
import { AppTask } from "../wrappers/app-task";
|
|
4
|
+
import chalk from "chalk";
|
|
5
|
+
import { PromptService } from "../services/prompt-service";
|
|
6
|
+
|
|
7
|
+
@autoInjectable()
|
|
8
|
+
export default class TestTask extends AppTask {
|
|
9
|
+
loggerName = "Testing Things";
|
|
10
|
+
|
|
11
|
+
constructor(private promptService: PromptService) {
|
|
12
|
+
super();
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
async run(): Promise<Partial<AppState> | void> {
|
|
16
|
+
// test task
|
|
17
|
+
|
|
18
|
+
console.log(chalk.magentaBright(JSON.stringify(this.state)));
|
|
19
|
+
}
|
|
20
|
+
}
|
package/src/templates/command.ts
CHANGED
|
@@ -7,12 +7,12 @@ import { Command } from "../wrappers/command";
|
|
|
7
7
|
${tasks
|
|
8
8
|
.keys()
|
|
9
9
|
.toArray()
|
|
10
|
-
.map((k) => `import
|
|
10
|
+
.map((k) => `import ${k} from "${tasks.get(k)}";`)
|
|
11
11
|
.join("\n")}
|
|
12
12
|
|
|
13
13
|
@singleton()
|
|
14
14
|
export class ${className} extends Command {
|
|
15
|
-
tasks = [${tasks.keys().toArray().join(",")}];
|
|
15
|
+
tasks = [${tasks.keys().toArray().join(", ")}];
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
`;
|
package/src/templates/service.ts
CHANGED
package/src/types/process.ts
CHANGED
|
@@ -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
|
+
|
|
8
|
+
export interface ProjectData {
|
|
9
|
+
taskFolders: string[];
|
|
10
|
+
serviceFolders: string[];
|
|
11
|
+
commandFolders: string[];
|
|
12
|
+
}
|
package/src/types/state.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
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
|
|
|
4
5
|
export enum GenTargetType {
|
|
5
6
|
Command = "command",
|
|
@@ -8,12 +9,16 @@ export enum GenTargetType {
|
|
|
8
9
|
}
|
|
9
10
|
|
|
10
11
|
export interface AppStateData {
|
|
11
|
-
readonly errorMessages?: string[];
|
|
12
12
|
readonly banner?: {
|
|
13
13
|
readonly font?: string;
|
|
14
14
|
};
|
|
15
15
|
readonly genTargetType?: GenTargetType;
|
|
16
|
+
readonly genTargetName?: string;
|
|
17
|
+
|
|
16
18
|
readonly environmentValidated?: boolean;
|
|
19
|
+
readonly project?: ProjectConfig & ProjectData;
|
|
20
|
+
|
|
21
|
+
readonly errorMessages?: string[];
|
|
17
22
|
readonly outputDestination?: string;
|
|
18
23
|
}
|
|
19
24
|
|
|
@@ -23,6 +28,7 @@ export const EnvironmentConfigKeys = {
|
|
|
23
28
|
NODE_ENV: "NODE_ENV",
|
|
24
29
|
PINO_LOG_FILENAME: "PINO_LOG_FILENAME",
|
|
25
30
|
PINO_LOG_TARGET: "PINO_LOG_TARGET",
|
|
31
|
+
TSSC_SILENCE_BANNER: "TSSC_SILENCE_BANNER",
|
|
26
32
|
};
|
|
27
33
|
|
|
28
34
|
export type AppState = State<AppStateData, CLIArg[]>;
|
package/src/wrappers/app-task.ts
CHANGED
|
@@ -41,6 +41,11 @@ export class AppTask extends Task<AppStateData, CLIArg[]> {
|
|
|
41
41
|
throw new Error(`run not implemented (${state.id})`);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
//@override
|
|
45
|
+
async postRun() {
|
|
46
|
+
await this.logger.flush();
|
|
47
|
+
}
|
|
48
|
+
|
|
44
49
|
setData(data: Partial<AppStateData>) {
|
|
45
50
|
this.state = this._commandService!.setData(this.state, data);
|
|
46
51
|
return this.state;
|
package/tests/setup.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "reflect-metadata";
|
package/tsconfig.json
CHANGED
package/vitest.config.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const { defineConfig, configDefaults } = require("vitest/config");
|
|
2
|
+
|
|
3
|
+
export default defineConfig({
|
|
4
|
+
test: {
|
|
5
|
+
globals: true,
|
|
6
|
+
environment: "node",
|
|
7
|
+
setupFiles: "./tests/setup.ts",
|
|
8
|
+
exclude: [...configDefaults.exclude, "assets/**/*", "dist/**/*"],
|
|
9
|
+
coverage: {
|
|
10
|
+
provider: "v8",
|
|
11
|
+
reporter: ["text", "json", "html"],
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
});
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { AppTask } from "../wrappers/app-task";
|
|
2
|
-
import { AppState } from "../types/state";
|
|
3
|
-
import FileService from "../services/file-service";
|
|
4
|
-
import { UtilService } from "../services/util-service";
|
|
5
|
-
import ProjectService from "../services/project-service";
|
|
6
|
-
/**
|
|
7
|
-
* Generates a new command class
|
|
8
|
-
*/
|
|
9
|
-
export default class GenerateCommand extends AppTask {
|
|
10
|
-
private fileService;
|
|
11
|
-
private utilService;
|
|
12
|
-
private projectService;
|
|
13
|
-
loggerName: string;
|
|
14
|
-
constructor(fileService: FileService, utilService: UtilService, projectService: ProjectService);
|
|
15
|
-
run(): Promise<void | Partial<AppState>>;
|
|
16
|
-
/**
|
|
17
|
-
* Get the target directory to save the generated file.
|
|
18
|
-
*
|
|
19
|
-
* @returns the destination path of the parent folder to save the new file in.
|
|
20
|
-
*/
|
|
21
|
-
getTargetDirectory(): string | undefined;
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=generate-command.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate-command.d.ts","sourceRoot":"./src/","sources":["src/tasks/generate-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAiB,MAAM,gBAAgB,CAAC;AACzD,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAIvD,OAAO,cAAc,MAAM,6BAA6B,CAAC;AAEzD;;GAEG;AAEH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,OAAO;IAIhD,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,cAAc;IALxB,UAAU,SAAsB;gBAGtB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc;IAKlC,GAAG,IAAI,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IA4C9C;;;;OAIG;IACH,kBAAkB;CAWnB"}
|
|
@@ -1,91 +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 __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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate-command.js","sourceRoot":"./src/","sources":["src/tasks/generate-command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,mDAA+C;AAC/C,uCAA0C;AAC1C,0CAAyD;AACzD,4EAAmD;AACnD,2DAAuD;AACvD,4CAA2C;AAC3C,gDAAwB;AACxB,kDAA0D;AAC1D,kFAAyD;AAEzD;;GAEG;AAEY,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,kBAAO;IAIxC;IACA;IACA;IALV,UAAU,GAAG,kBAAkB,CAAC;IAEhC,YACU,WAAwB,EACxB,WAAwB,EACxB,cAA8B;QAEtC,KAAK,EAAE,CAAC;QAJA,gBAAW,GAAX,WAAW,CAAa;QACxB,gBAAW,GAAX,WAAW,CAAa;QACxB,mBAAc,GAAd,cAAc,CAAgB;IAGxC,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;QAEtE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,qBAAa,CAAC,OAAO,EAAE,CAAC;YAC5D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAEzD,IAAI,UAAU,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC;QAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,+CAA+C;YAC/C,UAAU,GAAG,UAAU,CAAC,eAAe,CACrC,yBAAc,CAAC,QAAQ,CAAC,UAAU,CACnC,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAClD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,8CAA8C;QAC9C,MAAM,SAAS,GAAG,cAAc,CAAC,YAAY,EAAE,CAAC;QAChD,MAAM,UAAU,GAAG,cAAc,CAAC,aAAa,EAAE,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,eAAK,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAE1E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,SAAS,CAAC,MAAM,aAAa,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,WAAW,CAAC,eAAe,CAC3C,UAAU,EACV,iBAAQ,CAAC,WAAW,CACrB,CAAC;QACF,oDAAoD;QACpD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;QAE/B,MAAM,QAAQ,GAAG,IAAA,4BAAkB,EAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,GAAG,WAAW,CAAC,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,yBAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC9G,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QAEzD,iBAAiB;QACjB,WAAW,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC7C,OAAO,EAAE,IAAI,EAAE,EAAE,iBAAiB,EAAE,WAAW,EAAE,EAAE,CAAC;IACtD,CAAC;IAED;;;;OAIG;IACH,kBAAkB;QAChB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;QACvD,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAEnE,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QAED,mEAAmE;QACnE,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;CACF,CAAA;AAvEoB,eAAe;IADnC,IAAA,yBAAc,GAAE;qCAKQ,sBAAW;QACX,0BAAW;QACR,yBAAc;GANrB,eAAe,CAuEnC;kBAvEoB,eAAe"}
|
|
@@ -1,26 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate-service.js","sourceRoot":"./src/","sources":["src/tasks/generate-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate-task.js","sourceRoot":"./src/","sources":["src/tasks/generate-task.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|