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
package/.prettierignore
ADDED
package/.prettierrc
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"configurations": [
|
|
5
|
+
{
|
|
6
|
+
"name": "Start About",
|
|
7
|
+
"request": "launch",
|
|
8
|
+
"runtimeArgs": ["start", "--", "about"],
|
|
9
|
+
"runtimeExecutable": "npm",
|
|
10
|
+
"skipFiles": ["<node_internals>/**"],
|
|
11
|
+
"type": "node"
|
|
12
|
+
},
|
|
13
|
+
|
|
14
|
+
{
|
|
15
|
+
"name": "Start Gen Service",
|
|
16
|
+
"request": "launch",
|
|
17
|
+
"runtimeArgs": ["start", "--", "gen", "-s", "-n", "Updater Service"],
|
|
18
|
+
"runtimeExecutable": "npm",
|
|
19
|
+
"skipFiles": ["<node_internals>/**"],
|
|
20
|
+
"type": "node"
|
|
21
|
+
},
|
|
22
|
+
|
|
23
|
+
{
|
|
24
|
+
"type": "node",
|
|
25
|
+
"request": "launch",
|
|
26
|
+
"name": "Build & Run About",
|
|
27
|
+
"skipFiles": ["<node_internals>/**"],
|
|
28
|
+
"program": "${workspaceFolder}/dist/src/index.js",
|
|
29
|
+
"preLaunchTask": "tsc: build - tsconfig.json",
|
|
30
|
+
"outFiles": ["${workspaceFolder}/dist/**/*.js"],
|
|
31
|
+
"args": ["about"]
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
}
|
package/README.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eslint.config.d.ts","sourceRoot":"./src/","sources":["eslint.config.ts"],"names":[],"mappings":";AAIA,wBAMG"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const js_1 = __importDefault(require("@eslint/js"));
|
|
7
|
+
const config_1 = require("eslint/config");
|
|
8
|
+
const typescript_eslint_1 = __importDefault(require("typescript-eslint"));
|
|
9
|
+
exports.default = (0, config_1.defineConfig)([
|
|
10
|
+
{
|
|
11
|
+
extends: [js_1.default.configs.recommended, typescript_eslint_1.default.configs.recommended],
|
|
12
|
+
files: ["./src/**/*.ts", "./tests/**/*.ts"],
|
|
13
|
+
},
|
|
14
|
+
(0, config_1.globalIgnores)(["dist/*"]),
|
|
15
|
+
]);
|
|
16
|
+
//# sourceMappingURL=eslint.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eslint.config.js","sourceRoot":"./src/","sources":["eslint.config.ts"],"names":[],"mappings":";;;;;AAAA,oDAAgC;AAChC,0CAA4D;AAC5D,0EAAyC;AAEzC,kBAAe,IAAA,qBAAY,EAAC;IAC1B;QACE,OAAO,EAAE,CAAC,YAAM,CAAC,OAAO,CAAC,WAAW,EAAE,2BAAQ,CAAC,OAAO,CAAC,WAAW,CAAC;QACnE,KAAK,EAAE,CAAC,eAAe,EAAE,iBAAiB,CAAC;KAC5C;IACD,IAAA,sBAAa,EAAC,CAAC,QAAQ,CAAC,CAAC;CAC1B,CAAC,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "task-script-support-cli",
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"main": "index.js",
|
|
5
|
+
"type": "commonjs",
|
|
6
|
+
"preferGlobal": true,
|
|
7
|
+
"bin": {
|
|
8
|
+
"tssc": "./dist/tssc"
|
|
9
|
+
},
|
|
10
|
+
"scripts": {
|
|
11
|
+
"start": "jiti src/index.ts",
|
|
12
|
+
"dev": "npm run build && node dist/src/index.js",
|
|
13
|
+
"clean": "rm -rf ./dist",
|
|
14
|
+
"lint": "eslint --config eslint.config.ts",
|
|
15
|
+
"cpsh": "cp ./tssc ./dist/",
|
|
16
|
+
"watch": "onchange './*{.json,.sh,.ts}' 'src/*.ts' -- npm run build",
|
|
17
|
+
"format": "prettier --write ./",
|
|
18
|
+
"format-check": "prettier --check .",
|
|
19
|
+
"hooks-one-time-setup": "npx simple-git-hooks",
|
|
20
|
+
"prettier-watch": "onchange \"**/*\" -- prettier --write --ignore-unknown {{changed}}",
|
|
21
|
+
"build": "rm -rf ./dist && npx tsc && node dist/src/index.js -v && npm run cpsh",
|
|
22
|
+
"test": "vitest run",
|
|
23
|
+
"test-watch": "vitest"
|
|
24
|
+
},
|
|
25
|
+
"keywords": [],
|
|
26
|
+
"author": "",
|
|
27
|
+
"license": "ISC",
|
|
28
|
+
"description": "Helps scaffold things in a Task Script Support Project",
|
|
29
|
+
"simple-git-hooks": {
|
|
30
|
+
"pre-commit": "npx pretty-quick --staged && npm run lint"
|
|
31
|
+
},
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"chalk": "^4.1.2",
|
|
34
|
+
"commander": "^14.0.2",
|
|
35
|
+
"dotenv": "^17.2.3",
|
|
36
|
+
"figlet": "^1.9.4",
|
|
37
|
+
"immutable": "^5.1.4",
|
|
38
|
+
"reflect-metadata": "^0.2.2",
|
|
39
|
+
"task-script-support": "^2.3.0",
|
|
40
|
+
"tsyringe": "^4.10.0"
|
|
41
|
+
},
|
|
42
|
+
"devDependencies": {
|
|
43
|
+
"@eslint/js": "^9.39.3",
|
|
44
|
+
"@types/node": "^24.10.1",
|
|
45
|
+
"eslint": "^10.0.3",
|
|
46
|
+
"jiti": "^2.6.1",
|
|
47
|
+
"onchange": "^7.1.0",
|
|
48
|
+
"prettier": "^3.7.1",
|
|
49
|
+
"pretty-quick": "^4.2.2",
|
|
50
|
+
"simple-git-hooks": "^2.13.1",
|
|
51
|
+
"typescript": "^5.9.3",
|
|
52
|
+
"typescript-eslint": "^8.48.0",
|
|
53
|
+
"vitest": "^4.0.15"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Command } from "../wrappers/command";
|
|
2
|
+
import PrintAboutInformation from "../tasks/print-about-information";
|
|
3
|
+
import PrintBanner from "../tasks/print-banner";
|
|
4
|
+
export declare class AboutCommand extends Command {
|
|
5
|
+
tasks: (typeof PrintAboutInformation | typeof PrintBanner)[];
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=about.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"about.d.ts","sourceRoot":"./src/","sources":["src/commands/about.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,qBAAqB,MAAM,kCAAkC,CAAC;AACrE,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAEhD,qBACa,YAAa,SAAQ,OAAO;IACvC,KAAK,wDAAwC;CAC9C"}
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
exports.AboutCommand = void 0;
|
|
13
|
+
const tsyringe_1 = require("tsyringe");
|
|
14
|
+
const command_1 = require("../wrappers/command");
|
|
15
|
+
const print_about_information_1 = __importDefault(require("../tasks/print-about-information"));
|
|
16
|
+
const print_banner_1 = __importDefault(require("../tasks/print-banner"));
|
|
17
|
+
let AboutCommand = class AboutCommand extends command_1.Command {
|
|
18
|
+
tasks = [print_banner_1.default, print_about_information_1.default];
|
|
19
|
+
};
|
|
20
|
+
exports.AboutCommand = AboutCommand;
|
|
21
|
+
exports.AboutCommand = AboutCommand = __decorate([
|
|
22
|
+
(0, tsyringe_1.singleton)()
|
|
23
|
+
], AboutCommand);
|
|
24
|
+
//# sourceMappingURL=about.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"about.js","sourceRoot":"./src/","sources":["src/commands/about.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAAqC;AACrC,iDAA8C;AAC9C,+FAAqE;AACrE,yEAAgD;AAGzC,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,iBAAO;IACvC,KAAK,GAAG,CAAC,sBAAW,EAAE,iCAAqB,CAAC,CAAC;CAC9C,CAAA;AAFY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,oBAAS,GAAE;GACC,YAAY,CAExB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Command } from "../wrappers/command";
|
|
2
|
+
import CheckEnvironment from "../tasks/check-env";
|
|
3
|
+
import PrintBanner from "../tasks/print-banner";
|
|
4
|
+
import SelectGenTarget from "../tasks/select-gen-target";
|
|
5
|
+
import GenerateService from "../tasks/generate-service";
|
|
6
|
+
import GenerateCommand from "../tasks/generate-command";
|
|
7
|
+
import GenerateTask from "../tasks/generate-task";
|
|
8
|
+
import PrintGeneratedResults from "../tasks/print-generated-results";
|
|
9
|
+
export declare class GenCommand extends Command {
|
|
10
|
+
tasks: (typeof PrintBanner | typeof CheckEnvironment | typeof SelectGenTarget | typeof PrintGeneratedResults | (typeof GenerateService | typeof GenerateCommand | typeof GenerateTask)[])[];
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=gen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gen.d.ts","sourceRoot":"./src/","sources":["src/commands/gen.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,eAAe,MAAM,4BAA4B,CAAC;AACzD,OAAO,eAAe,MAAM,2BAA2B,CAAC;AACxD,OAAO,eAAe,MAAM,2BAA2B,CAAC;AACxD,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAClD,OAAO,qBAAqB,MAAM,kCAAkC,CAAC;AAErE,qBACa,UAAW,SAAQ,OAAO;IACrC,KAAK,uLAMH;CACH"}
|
|
@@ -0,0 +1,35 @@
|
|
|
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
|
+
exports.GenCommand = void 0;
|
|
13
|
+
const tsyringe_1 = require("tsyringe");
|
|
14
|
+
const command_1 = require("../wrappers/command");
|
|
15
|
+
const check_env_1 = __importDefault(require("../tasks/check-env"));
|
|
16
|
+
const print_banner_1 = __importDefault(require("../tasks/print-banner"));
|
|
17
|
+
const select_gen_target_1 = __importDefault(require("../tasks/select-gen-target"));
|
|
18
|
+
const generate_service_1 = __importDefault(require("../tasks/generate-service"));
|
|
19
|
+
const generate_command_1 = __importDefault(require("../tasks/generate-command"));
|
|
20
|
+
const generate_task_1 = __importDefault(require("../tasks/generate-task"));
|
|
21
|
+
const print_generated_results_1 = __importDefault(require("../tasks/print-generated-results"));
|
|
22
|
+
let GenCommand = class GenCommand extends command_1.Command {
|
|
23
|
+
tasks = [
|
|
24
|
+
print_banner_1.default,
|
|
25
|
+
check_env_1.default,
|
|
26
|
+
select_gen_target_1.default,
|
|
27
|
+
[generate_command_1.default, generate_service_1.default, generate_task_1.default],
|
|
28
|
+
print_generated_results_1.default,
|
|
29
|
+
];
|
|
30
|
+
};
|
|
31
|
+
exports.GenCommand = GenCommand;
|
|
32
|
+
exports.GenCommand = GenCommand = __decorate([
|
|
33
|
+
(0, tsyringe_1.singleton)()
|
|
34
|
+
], GenCommand);
|
|
35
|
+
//# sourceMappingURL=gen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gen.js","sourceRoot":"./src/","sources":["src/commands/gen.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAAqC;AACrC,iDAA8C;AAC9C,mEAAkD;AAClD,yEAAgD;AAChD,mFAAyD;AACzD,iFAAwD;AACxD,iFAAwD;AACxD,2EAAkD;AAClD,+FAAqE;AAG9D,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,iBAAO;IACrC,KAAK,GAAG;QACN,sBAAW;QACX,mBAAgB;QAChB,2BAAe;QACf,CAAC,0BAAe,EAAE,0BAAe,EAAE,uBAAY,CAAC;QAChD,iCAAqB;KACtB,CAAC;CACH,CAAA;AARY,gCAAU;qBAAV,UAAU;IADtB,IAAA,oBAAS,GAAE;GACC,UAAU,CAQtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"./src/","sources":["src/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
require("reflect-metadata");
|
|
7
|
+
const dotenv_1 = __importDefault(require("dotenv"));
|
|
8
|
+
const tsyringe_1 = require("tsyringe");
|
|
9
|
+
const commander_1 = __importDefault(require("commander"));
|
|
10
|
+
dotenv_1.default.config({ quiet: true });
|
|
11
|
+
const util_service_1 = require("./services/util-service");
|
|
12
|
+
// initialize manual injectables
|
|
13
|
+
util_service_1.UtilService.initializeDependencies();
|
|
14
|
+
const about_1 = require("./commands/about");
|
|
15
|
+
const gen_1 = require("./commands/gen");
|
|
16
|
+
const { program } = commander_1.default;
|
|
17
|
+
const name = util_service_1.UtilService.getAppName();
|
|
18
|
+
const version = util_service_1.UtilService.getAppVersion();
|
|
19
|
+
program
|
|
20
|
+
.version(`${name} version: ${version}`, "-v, --version")
|
|
21
|
+
.description(`${name.split("-").map(util_service_1.UtilService.titleize).join(" ")} Client`);
|
|
22
|
+
program
|
|
23
|
+
.command("about")
|
|
24
|
+
.action(tsyringe_1.container.resolve(about_1.AboutCommand).handler)
|
|
25
|
+
.option("--rf, --random-font", "use a random font for app banner");
|
|
26
|
+
program
|
|
27
|
+
.command("gen")
|
|
28
|
+
.option("-n, --target-name <name>", "Name of Generated Target")
|
|
29
|
+
.option("-s, --service", "Generate a service")
|
|
30
|
+
.option("-c, --command", "Generate a command")
|
|
31
|
+
.option("-t, --task", "Generate a task")
|
|
32
|
+
.action(tsyringe_1.container.resolve(gen_1.GenCommand).handler);
|
|
33
|
+
program.parse(process.argv);
|
|
34
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"./src/","sources":["src/index.ts"],"names":[],"mappings":";;;;;AAAA,4BAA0B;AAE1B,oDAA4B;AAC5B,uCAAqC;AACrC,0DAAkC;AAElC,gBAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAE/B,0DAAsD;AAEtD,gCAAgC;AAChC,0BAAW,CAAC,sBAAsB,EAAE,CAAC;AAErC,4CAAgD;AAChD,wCAA4C;AAE5C,MAAM,EAAE,OAAO,EAAE,GAAG,mBAAS,CAAC;AAC9B,MAAM,IAAI,GAAG,0BAAW,CAAC,UAAU,EAAE,CAAC;AACtC,MAAM,OAAO,GAAG,0BAAW,CAAC,aAAa,EAAE,CAAC;AAE5C,OAAO;KACJ,OAAO,CAAC,GAAG,IAAI,aAAa,OAAO,EAAE,EAAE,eAAe,CAAC;KACvD,WAAW,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,0BAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAEhF,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,oBAAS,CAAC,OAAO,CAAC,oBAAY,CAAC,CAAC,OAAO,CAAC;KAC/C,MAAM,CAAC,qBAAqB,EAAE,kCAAkC,CAAC,CAAC;AAErE,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,MAAM,CAAC,0BAA0B,EAAE,0BAA0B,CAAC;KAC9D,MAAM,CAAC,eAAe,EAAE,oBAAoB,CAAC;KAC7C,MAAM,CAAC,eAAe,EAAE,oBAAoB,CAAC;KAC7C,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC;KACvC,MAAM,CAAC,oBAAS,CAAC,OAAO,CAAC,gBAAU,CAAC,CAAC,OAAO,CAAC,CAAC;AAEjD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CLIArg } from "../types/process";
|
|
2
|
+
export declare class ArgService {
|
|
3
|
+
private args?;
|
|
4
|
+
constructor(args?: CLIArg[] | undefined);
|
|
5
|
+
getOption<T = string>(longNameOption: string): T;
|
|
6
|
+
hasFlag(flag: string): CLIArg | undefined;
|
|
7
|
+
cleanTargetName(name: string): string;
|
|
8
|
+
getTargetName(): string | undefined;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=arg-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arg-service.d.ts","sourceRoot":"./src/","sources":["src/services/arg-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAyB,MAAM,kBAAkB,CAAC;AAGjE,qBACa,UAAU;IACO,OAAO,CAAC,IAAI,CAAC;gBAAL,IAAI,CAAC,EAAE,MAAM,EAAE,YAAA;IAEnD,SAAS,CAAC,CAAC,GAAG,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,CAAC;IAqBhD,OAAO,CAAC,IAAI,EAAE,MAAM;IAWpB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIrC,aAAa,IAAI,MAAM,GAAG,SAAS;CAOpC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
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 __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.ArgService = void 0;
|
|
16
|
+
const tsyringe_1 = require("tsyringe");
|
|
17
|
+
const process_1 = require("../types/process");
|
|
18
|
+
const util_service_1 = require("./util-service");
|
|
19
|
+
let ArgService = class ArgService {
|
|
20
|
+
args;
|
|
21
|
+
constructor(args) {
|
|
22
|
+
this.args = args;
|
|
23
|
+
}
|
|
24
|
+
getOption(longNameOption) {
|
|
25
|
+
if (!this.args) {
|
|
26
|
+
throw new Error("Missing Arguments in ArgService!");
|
|
27
|
+
}
|
|
28
|
+
const argObjects = [];
|
|
29
|
+
for (const a of this.args) {
|
|
30
|
+
if (Array.isArray(a) || typeof a === "string")
|
|
31
|
+
continue;
|
|
32
|
+
argObjects.push(a);
|
|
33
|
+
}
|
|
34
|
+
const found = argObjects.find((arg) => arg[longNameOption] !== undefined);
|
|
35
|
+
if (found) {
|
|
36
|
+
return found[longNameOption];
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
throw new Error(`Unable to resolve argument option ${longNameOption}`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
hasFlag(flag) {
|
|
43
|
+
if (!this.args) {
|
|
44
|
+
throw new Error("Missing Arguments in ArgService!");
|
|
45
|
+
}
|
|
46
|
+
return this.args.find((arg) => {
|
|
47
|
+
if (typeof arg === "string")
|
|
48
|
+
return false;
|
|
49
|
+
if (Array.isArray(arg))
|
|
50
|
+
return false;
|
|
51
|
+
return arg[flag] !== undefined;
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
cleanTargetName(name) {
|
|
55
|
+
return util_service_1.UtilService.titleizeAll(name);
|
|
56
|
+
}
|
|
57
|
+
getTargetName() {
|
|
58
|
+
if (!this.hasFlag(process_1.CLIOptions.targetName)) {
|
|
59
|
+
return undefined;
|
|
60
|
+
}
|
|
61
|
+
const argInput = this.getOption(process_1.CLIOptions.targetName);
|
|
62
|
+
return this.cleanTargetName(argInput);
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
exports.ArgService = ArgService;
|
|
66
|
+
exports.ArgService = ArgService = __decorate([
|
|
67
|
+
(0, tsyringe_1.singleton)(),
|
|
68
|
+
__param(0, (0, tsyringe_1.inject)("Args")),
|
|
69
|
+
__metadata("design:paramtypes", [Array])
|
|
70
|
+
], ArgService);
|
|
71
|
+
//# sourceMappingURL=arg-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arg-service.js","sourceRoot":"./src/","sources":["src/services/arg-service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,uCAA6C;AAC7C,8CAAiE;AACjE,iDAA6C;AAGtC,IAAM,UAAU,GAAhB,MAAM,UAAU;IACe;IAApC,YAAoC,IAAe;QAAf,SAAI,GAAJ,IAAI,CAAW;IAAG,CAAC;IAEvD,SAAS,CAAa,cAAsB;QAC1C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,SAAS;YACxD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;QAED,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAC3B,CAAC,GAAc,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,SAAS,CACtD,CAAC;QACF,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAC,cAAc,CAAM,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,qCAAqC,cAAc,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YAC5B,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YACrC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,IAAY;QAC1B,OAAO,0BAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACzC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,oBAAU,CAAC,UAAU,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;CACF,CAAA;AA9CY,gCAAU;qBAAV,UAAU;IADtB,IAAA,oBAAS,GAAE;IAEG,WAAA,IAAA,iBAAM,EAAC,MAAM,CAAC,CAAA;;GADhB,UAAU,CA8CtB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare class BannerService {
|
|
2
|
+
_selectFonts: string[];
|
|
3
|
+
defaultFontFamily: string;
|
|
4
|
+
toBanner(text: string, font?: string): Promise<string>;
|
|
5
|
+
getSupportedFonts(): Promise<string[]>;
|
|
6
|
+
getRandomFont(): Promise<string>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=banner-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"banner-service.d.ts","sourceRoot":"./src/","sources":["src/services/banner-service.ts"],"names":[],"mappings":"AAGA,qBACa,aAAa;IACxB,YAAY,WAWV;IACF,iBAAiB,EAAE,MAAM,CAAW;IAE9B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMtD,iBAAiB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAQtC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;CAQvC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
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
|
+
exports.BannerService = void 0;
|
|
13
|
+
const tsyringe_1 = require("tsyringe");
|
|
14
|
+
const figlet_1 = __importDefault(require("figlet"));
|
|
15
|
+
let BannerService = class BannerService {
|
|
16
|
+
_selectFonts = [
|
|
17
|
+
"AMC Slash",
|
|
18
|
+
"Calvin S",
|
|
19
|
+
"Bell",
|
|
20
|
+
"Pagga",
|
|
21
|
+
"Shadow",
|
|
22
|
+
"Small Block",
|
|
23
|
+
"Cybermedium",
|
|
24
|
+
"Kban",
|
|
25
|
+
"Short",
|
|
26
|
+
"Coinstak",
|
|
27
|
+
];
|
|
28
|
+
defaultFontFamily = "Pagga";
|
|
29
|
+
async toBanner(text, font) {
|
|
30
|
+
return await figlet_1.default.text(text, {
|
|
31
|
+
font: font || this.defaultFontFamily,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
async getSupportedFonts() {
|
|
35
|
+
return await new Promise((res, rej) => {
|
|
36
|
+
figlet_1.default.fonts((err, fonts) => err ? rej(err) : res(fonts || []));
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
async getRandomFont() {
|
|
40
|
+
const randomIndexBetween = (start = 0, end = 0) => Math.floor(Math.random() * (end - start + 1)) + start;
|
|
41
|
+
const bannerFonts = await this.getSupportedFonts();
|
|
42
|
+
const randomFontIndex = randomIndexBetween(0, bannerFonts.length - 1);
|
|
43
|
+
return bannerFonts[randomFontIndex] || this.defaultFontFamily;
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
exports.BannerService = BannerService;
|
|
47
|
+
exports.BannerService = BannerService = __decorate([
|
|
48
|
+
(0, tsyringe_1.singleton)()
|
|
49
|
+
], BannerService);
|
|
50
|
+
//# sourceMappingURL=banner-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"banner-service.js","sourceRoot":"./src/","sources":["src/services/banner-service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAAqC;AACrC,oDAA4B;AAGrB,IAAM,aAAa,GAAnB,MAAM,aAAa;IACxB,YAAY,GAAG;QACb,WAAW;QACX,UAAU;QACV,MAAM;QACN,OAAO;QACP,QAAQ;QACR,aAAa;QACb,aAAa;QACb,MAAM;QACN,OAAO;QACP,UAAU;KACX,CAAC;IACF,iBAAiB,GAAW,OAAO,CAAC;IAEpC,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,IAAa;QACxC,OAAO,MAAM,gBAAM,CAAC,IAAI,CAAC,IAAI,EAAE;YAC7B,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,iBAAiB;SACrC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACpC,gBAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAC1B,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAK,EAAe,CAAC,CAChD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,kBAAkB,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,CAChD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAExD,MAAM,WAAW,GAAa,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC7D,MAAM,eAAe,GAAG,kBAAkB,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtE,OAAO,WAAW,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC;IAChE,CAAC;CACF,CAAA;AArCY,sCAAa;wBAAb,aAAa;IADzB,IAAA,oBAAS,GAAE;GACC,aAAa,CAqCzB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export default class FileService {
|
|
2
|
+
getRunnerDir(): string;
|
|
3
|
+
getFilesInDir(dirPath: string): string[];
|
|
4
|
+
getRunnerRootDir(): string;
|
|
5
|
+
getTaskDirs(startPath: string): string[];
|
|
6
|
+
getServiceDirs(startPath: string): string[];
|
|
7
|
+
getCommandDirs(startPath: string): string[];
|
|
8
|
+
writeFile(filePath: string, content: string): void;
|
|
9
|
+
private findDirsByName;
|
|
10
|
+
private traverseDir;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=file-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-service.d.ts","sourceRoot":"./src/","sources":["src/services/file-service.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,YAAY,IAAI,MAAM;IAItB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAOxC,gBAAgB,IAAI,MAAM;IAa1B,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAIxC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAI3C,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAI3C,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAWlD,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,WAAW;CAWpB"}
|
|
@@ -0,0 +1,82 @@
|
|
|
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 node_fs_1 = __importDefault(require("node:fs"));
|
|
14
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
15
|
+
const tsyringe_1 = require("tsyringe");
|
|
16
|
+
const ignoredDirectories = new Set(["node_modules", "dist"]);
|
|
17
|
+
let FileService = class FileService {
|
|
18
|
+
getRunnerDir() {
|
|
19
|
+
return process.cwd();
|
|
20
|
+
}
|
|
21
|
+
getFilesInDir(dirPath) {
|
|
22
|
+
if (!node_fs_1.default.existsSync(dirPath) || !node_fs_1.default.statSync(dirPath).isDirectory()) {
|
|
23
|
+
throw new Error(`Directory not found: ${dirPath}`);
|
|
24
|
+
}
|
|
25
|
+
return node_fs_1.default.readdirSync(dirPath);
|
|
26
|
+
}
|
|
27
|
+
getRunnerRootDir() {
|
|
28
|
+
let currentDir = this.getRunnerDir();
|
|
29
|
+
while (currentDir !== "/") {
|
|
30
|
+
if (node_fs_1.default.existsSync(node_path_1.default.join(currentDir, "package.json"))) {
|
|
31
|
+
return currentDir;
|
|
32
|
+
}
|
|
33
|
+
currentDir = node_path_1.default.dirname(currentDir);
|
|
34
|
+
}
|
|
35
|
+
throw new Error(`Unable to find project root! ${chalk_1.default.dim("(missing package.json?)")}`);
|
|
36
|
+
}
|
|
37
|
+
getTaskDirs(startPath) {
|
|
38
|
+
return this.findDirsByName(startPath, "tasks");
|
|
39
|
+
}
|
|
40
|
+
getServiceDirs(startPath) {
|
|
41
|
+
return this.findDirsByName(startPath, "services");
|
|
42
|
+
}
|
|
43
|
+
getCommandDirs(startPath) {
|
|
44
|
+
return this.findDirsByName(startPath, "commands");
|
|
45
|
+
}
|
|
46
|
+
writeFile(filePath, content) {
|
|
47
|
+
const dirPath = node_path_1.default.dirname(filePath);
|
|
48
|
+
if (!node_fs_1.default.existsSync(dirPath)) {
|
|
49
|
+
throw new Error(`Directory not found: ${chalk_1.default.magentaBright(dirPath)}`);
|
|
50
|
+
}
|
|
51
|
+
if (node_fs_1.default.existsSync(filePath)) {
|
|
52
|
+
throw new Error(`File already exists: ${chalk_1.default.magentaBright(filePath)}`);
|
|
53
|
+
}
|
|
54
|
+
node_fs_1.default.writeFileSync(filePath, content, "utf-8");
|
|
55
|
+
}
|
|
56
|
+
findDirsByName(dirPath, dirNameSuffix) {
|
|
57
|
+
const dirs = [];
|
|
58
|
+
this.traverseDir(dirPath, (dir) => {
|
|
59
|
+
if (node_path_1.default.basename(dir).includes(dirNameSuffix) && !dirs.includes(dir)) {
|
|
60
|
+
dirs.push(dir);
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
return dirs;
|
|
64
|
+
}
|
|
65
|
+
traverseDir(dirPath, callback) {
|
|
66
|
+
const entries = node_fs_1.default.readdirSync(dirPath, { withFileTypes: true });
|
|
67
|
+
for (const entry of entries) {
|
|
68
|
+
const fullPath = node_path_1.default.join(dirPath, entry.name);
|
|
69
|
+
if (entry.isDirectory() && !ignoredDirectories.has(entry.name)) {
|
|
70
|
+
this.traverseDir(fullPath, callback);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
callback(node_path_1.default.dirname(fullPath));
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
FileService = __decorate([
|
|
79
|
+
(0, tsyringe_1.singleton)()
|
|
80
|
+
], FileService);
|
|
81
|
+
exports.default = FileService;
|
|
82
|
+
//# sourceMappingURL=file-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-service.js","sourceRoot":"./src/","sources":["src/services/file-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { PinoLogger } from "task-script-support";
|
|
2
|
+
import pino from "pino";
|
|
3
|
+
export declare class LogService {
|
|
4
|
+
private pinoLogger;
|
|
5
|
+
logger: pino.Logger;
|
|
6
|
+
static ParentInstance?: pino.Logger;
|
|
7
|
+
constructor(pinoLogger: PinoLogger);
|
|
8
|
+
setPrefix(prefix: string): void;
|
|
9
|
+
info(msg: string, obj?: unknown): void;
|
|
10
|
+
error(err: Error | string, msg?: string, obj?: unknown): void;
|
|
11
|
+
warn(msg: string, obj?: unknown): void;
|
|
12
|
+
debug(msg: string, obj?: unknown): void;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=log-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-service.d.ts","sourceRoot":"./src/","sources":["src/services/log-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,qBACa,UAAU;IAKa,OAAO,CAAC,UAAU;IAJpD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;IAEpB,MAAM,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;gBAEM,UAAU,EAAE,UAAU;IAShE,SAAS,CAAC,MAAM,EAAE,MAAM;IAIjB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,IAAI;IAItC,KAAK,CAAC,GAAG,EAAE,KAAK,GAAG,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,IAAI;IAQ7D,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,IAAI;IAItC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,IAAI;CAG/C"}
|
|
@@ -0,0 +1,61 @@
|
|
|
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 __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var LogService_1;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.LogService = void 0;
|
|
17
|
+
const tsyringe_1 = require("tsyringe");
|
|
18
|
+
const task_script_support_1 = require("task-script-support");
|
|
19
|
+
let LogService = class LogService {
|
|
20
|
+
static { LogService_1 = this; }
|
|
21
|
+
pinoLogger;
|
|
22
|
+
logger;
|
|
23
|
+
static ParentInstance;
|
|
24
|
+
constructor(pinoLogger) {
|
|
25
|
+
this.pinoLogger = pinoLogger;
|
|
26
|
+
if (!LogService_1.ParentInstance) {
|
|
27
|
+
this.logger = pinoLogger.getLogger();
|
|
28
|
+
LogService_1.ParentInstance = this.logger;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
this.logger = LogService_1.ParentInstance.child({});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
setPrefix(prefix) {
|
|
35
|
+
this.logger = this.pinoLogger.getLogger(prefix);
|
|
36
|
+
}
|
|
37
|
+
info(msg, obj) {
|
|
38
|
+
this.logger.info(obj, msg);
|
|
39
|
+
}
|
|
40
|
+
error(err, msg, obj) {
|
|
41
|
+
if (err instanceof Error) {
|
|
42
|
+
this.logger.error({ err, ...(obj ? obj : {}) }, msg || "Error occurred");
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
this.logger.error(obj, `${msg}: ${err}`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
warn(msg, obj) {
|
|
49
|
+
this.logger.warn(obj, msg);
|
|
50
|
+
}
|
|
51
|
+
debug(msg, obj) {
|
|
52
|
+
this.logger.debug(obj, msg);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
exports.LogService = LogService;
|
|
56
|
+
exports.LogService = LogService = LogService_1 = __decorate([
|
|
57
|
+
(0, tsyringe_1.injectable)(),
|
|
58
|
+
__param(0, (0, tsyringe_1.inject)("PinoLogger")),
|
|
59
|
+
__metadata("design:paramtypes", [task_script_support_1.PinoLogger])
|
|
60
|
+
], LogService);
|
|
61
|
+
//# sourceMappingURL=log-service.js.map
|