typia 3.5.3 → 3.5.5

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.
Files changed (53) hide show
  1. package/README.md +1 -1
  2. package/lib/IRandomGenerator.d.ts +8 -8
  3. package/lib/executable/TypiaSetupWizard.d.ts +8 -0
  4. package/lib/executable/TypiaSetupWizard.js +218 -0
  5. package/lib/executable/TypiaSetupWizard.js.map +1 -0
  6. package/lib/executable/setup/ArgumentParser.d.ts +7 -0
  7. package/lib/executable/setup/ArgumentParser.js +132 -0
  8. package/lib/executable/setup/ArgumentParser.js.map +1 -0
  9. package/lib/executable/{internal → setup}/CommandExecutor.d.ts +0 -0
  10. package/lib/executable/{internal → setup}/CommandExecutor.js +0 -0
  11. package/lib/executable/setup/CommandExecutor.js.map +1 -0
  12. package/lib/executable/setup/FileRetriever.d.ts +5 -0
  13. package/lib/executable/setup/FileRetriever.js +109 -0
  14. package/lib/executable/setup/FileRetriever.js.map +1 -0
  15. package/lib/executable/{internal → setup}/PackageManager.d.ts +0 -0
  16. package/lib/executable/{internal → setup}/PackageManager.js +3 -17
  17. package/lib/executable/setup/PackageManager.js.map +1 -0
  18. package/lib/executable/setup/PluginConfigurator.d.ts +5 -0
  19. package/lib/executable/{internal → setup}/PluginConfigurator.js +2 -25
  20. package/lib/executable/setup/PluginConfigurator.js.map +1 -0
  21. package/lib/executable/typia.js +2 -53
  22. package/lib/executable/typia.js.map +1 -1
  23. package/lib/module.d.ts +14 -8
  24. package/lib/module.js +2 -1
  25. package/lib/module.js.map +1 -1
  26. package/lib/programmers/RandomProgrammer.js +57 -51
  27. package/lib/programmers/RandomProgrammer.js.map +1 -1
  28. package/lib/programmers/helpers/RandomJoiner.d.ts +2 -2
  29. package/lib/programmers/helpers/RandomJoiner.js +59 -49
  30. package/lib/programmers/helpers/RandomJoiner.js.map +1 -1
  31. package/lib/programmers/helpers/RandomRanger.d.ts +1 -1
  32. package/lib/programmers/helpers/RandomRanger.js +22 -20
  33. package/lib/programmers/helpers/RandomRanger.js.map +1 -1
  34. package/package.json +1 -1
  35. package/src/IRandomGenerator.ts +8 -8
  36. package/src/executable/{internal/ArgumentParser.ts → TypiaSetupWizard.ts} +58 -60
  37. package/src/executable/setup/ArgumentParser.ts +91 -0
  38. package/src/executable/{internal → setup}/CommandExecutor.ts +0 -0
  39. package/src/executable/setup/FileRetriever.ts +33 -0
  40. package/src/executable/{internal → setup}/PackageManager.ts +7 -14
  41. package/src/executable/{internal → setup}/PluginConfigurator.ts +8 -6
  42. package/src/executable/typia.ts +2 -45
  43. package/src/module.ts +23 -11
  44. package/src/programmers/RandomProgrammer.ts +75 -69
  45. package/src/programmers/helpers/RandomJoiner.ts +14 -12
  46. package/src/programmers/helpers/RandomRanger.ts +2 -1
  47. package/lib/executable/internal/ArgumentParser.d.ts +0 -9
  48. package/lib/executable/internal/ArgumentParser.js +0 -266
  49. package/lib/executable/internal/ArgumentParser.js.map +0 -1
  50. package/lib/executable/internal/CommandExecutor.js.map +0 -1
  51. package/lib/executable/internal/PackageManager.js.map +0 -1
  52. package/lib/executable/internal/PluginConfigurator.d.ts +0 -5
  53. package/lib/executable/internal/PluginConfigurator.js.map +0 -1
package/README.md CHANGED
@@ -25,7 +25,7 @@ export function assertStringify<T>(input: T): string; // safe and faster
25
25
 
26
26
  // MISC
27
27
  export function random<T>(): Primitive<T>; // generate random data
28
- export function clone<T>(input: T): Primitive<T>; // hard copy
28
+ export function clone<T>(input: T): Primitive<T>; // deep clone
29
29
  export function prune<T extends object>(input: T): void; // erase extra props
30
30
  // +) isClone, assertClone, validateClone
31
31
  // +) isPrune, assertPrune, validatePrune
@@ -1,15 +1,15 @@
1
1
  export interface IRandomGenerator {
2
2
  boolean(): boolean;
3
- int(minimum?: number, maximum?: number): number;
3
+ integer(minimum?: number, maximum?: number): number;
4
4
  number(minimum?: number, maximum?: number): number;
5
5
  bigint(minimum?: bigint, maximum?: bigint): bigint;
6
6
  string(length?: number): string;
7
7
  array<T>(closure: (index: number) => T, count?: number): T[];
8
- uuid?(): string;
9
- email?(): string;
10
- url?(): string;
11
- ipv4?(): string;
12
- ipv6?(): string;
13
- pattern?(regex: RegExp): string;
14
- date?(): string;
8
+ uuid(): string;
9
+ email(): string;
10
+ url(): string;
11
+ ipv4(): string;
12
+ ipv6(): string;
13
+ pattern(regex: RegExp): string;
14
+ date(): string;
15
15
  }
@@ -0,0 +1,8 @@
1
+ export declare namespace TypiaSetupWizard {
2
+ interface IArguments {
3
+ compiler: "ts-patch" | "ttypescript";
4
+ manager: "npm" | "pnpm" | "yarn";
5
+ project: string | null;
6
+ }
7
+ function setup(): Promise<void>;
8
+ }
@@ -0,0 +1,218 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.TypiaSetupWizard = void 0;
43
+ var fs_1 = __importDefault(require("fs"));
44
+ var path_1 = __importDefault(require("path"));
45
+ var ArgumentParser_1 = require("./setup/ArgumentParser");
46
+ var CommandExecutor_1 = require("./setup/CommandExecutor");
47
+ var PackageManager_1 = require("./setup/PackageManager");
48
+ var PluginConfigurator_1 = require("./setup/PluginConfigurator");
49
+ var TypiaSetupWizard;
50
+ (function (TypiaSetupWizard) {
51
+ var _this = this;
52
+ function setup() {
53
+ var _a;
54
+ return __awaiter(this, void 0, void 0, function () {
55
+ var pack, args;
56
+ return __generator(this, function (_b) {
57
+ switch (_b.label) {
58
+ case 0:
59
+ console.log("----------------------------------------");
60
+ console.log(" Typia Setup Wizard");
61
+ console.log("----------------------------------------");
62
+ return [4, PackageManager_1.PackageManager.mount()];
63
+ case 1:
64
+ pack = _b.sent();
65
+ return [4, ArgumentParser_1.ArgumentParser.parse(pack)(true)(inquiry)];
66
+ case 2:
67
+ args = _b.sent();
68
+ pack.install({ dev: true, modulo: "typescript" });
69
+ (_a = args.project) !== null && _a !== void 0 ? _a : (args.project = (function () {
70
+ CommandExecutor_1.CommandExecutor.run("npx tsc --init", false);
71
+ return (args.project = "tsconfig.json");
72
+ })());
73
+ pack.install({ dev: true, modulo: "ts-node" });
74
+ pack.install({ dev: true, modulo: args.compiler });
75
+ if (!(args.compiler === "ts-patch")) return [3, 4];
76
+ return [4, pack.save(function (data) {
77
+ var _a;
78
+ (_a = data.scripts) !== null && _a !== void 0 ? _a : (data.scripts = {});
79
+ if (typeof data.scripts.prepare === "string" &&
80
+ data.scripts.prepare.indexOf("ts-patch install") === -1)
81
+ data.scripts.prepare =
82
+ "ts-patch install && " + data.scripts.prepare;
83
+ else
84
+ data.scripts.prepare = "ts-patch install";
85
+ })];
86
+ case 3:
87
+ _b.sent();
88
+ CommandExecutor_1.CommandExecutor.run("npm run prepare", false);
89
+ _b.label = 4;
90
+ case 4:
91
+ pack.install({ dev: false, modulo: "typia" });
92
+ return [4, PluginConfigurator_1.PluginConfigurator.configure(pack, args)];
93
+ case 5:
94
+ _b.sent();
95
+ return [2];
96
+ }
97
+ });
98
+ });
99
+ }
100
+ TypiaSetupWizard.setup = setup;
101
+ var inquiry = function (pack, command, prompt, action) { return __awaiter(_this, void 0, void 0, function () {
102
+ var questioned, select, configure;
103
+ var _this = this;
104
+ return __generator(this, function (_a) {
105
+ command.option("--compiler [compiler]", "compiler type");
106
+ command.option("--manager [manager", "package manager");
107
+ command.option("--project [project]", "tsconfig.json file location");
108
+ questioned = { value: false };
109
+ select = function (name) {
110
+ return function (message) {
111
+ return function (choices) { return __awaiter(_this, void 0, void 0, function () {
112
+ return __generator(this, function (_a) {
113
+ switch (_a.label) {
114
+ case 0:
115
+ questioned.value = true;
116
+ return [4, prompt()({
117
+ type: "list",
118
+ name: name,
119
+ message: message,
120
+ choices: choices,
121
+ })];
122
+ case 1: return [2, (_a.sent())[name]];
123
+ }
124
+ });
125
+ }); };
126
+ };
127
+ };
128
+ configure = function () { return __awaiter(_this, void 0, void 0, function () {
129
+ var fileList;
130
+ return __generator(this, function (_a) {
131
+ switch (_a.label) {
132
+ case 0: return [4, fs_1.default.promises.readdir(process.cwd())];
133
+ case 1: return [4, (_a.sent()).filter(function (str) {
134
+ return str.substring(0, 8) === "tsconfig" &&
135
+ str.substring(str.length - 5) === ".json";
136
+ })];
137
+ case 2:
138
+ fileList = _a.sent();
139
+ if (fileList.length === 0) {
140
+ if (process.cwd() !== pack.directory)
141
+ throw new Error("Unable to find \"tsconfig.json\" file.");
142
+ return [2, null];
143
+ }
144
+ else if (fileList.length === 1)
145
+ return [2, fileList[0]];
146
+ return [2, select("tsconfig")("TS Config File")(fileList)];
147
+ }
148
+ });
149
+ }); };
150
+ return [2, action(function (options) { return __awaiter(_this, void 0, void 0, function () {
151
+ var _a, _b, _c, _d, _e;
152
+ var _f, _g;
153
+ return __generator(this, function (_h) {
154
+ switch (_h.label) {
155
+ case 0:
156
+ if (!(options.compiler === undefined)) return [3, 2];
157
+ console.log(COMPILER_DESCRIPTION);
158
+ _a = options;
159
+ return [4, select("compiler")("Compiler")(is_nest_cli(pack)
160
+ ? ["ts-patch", "ttypescript"]
161
+ : ["ttypescript", "ts-patch"])];
162
+ case 1:
163
+ _a.compiler = _h.sent();
164
+ _h.label = 2;
165
+ case 2:
166
+ if (!((_f = options.manager) !== null && _f !== void 0)) return [3, 3];
167
+ _b = _f;
168
+ return [3, 5];
169
+ case 3:
170
+ _c = options;
171
+ return [4, select("manager")("Package Manager")([
172
+ "npm",
173
+ "pnpm",
174
+ "yarn",
175
+ ])];
176
+ case 4:
177
+ _b = (_c.manager = _h.sent());
178
+ _h.label = 5;
179
+ case 5:
180
+ _b;
181
+ pack.manager = options.manager;
182
+ if (!((_g = options.project) !== null && _g !== void 0)) return [3, 6];
183
+ _d = _g;
184
+ return [3, 8];
185
+ case 6:
186
+ _e = options;
187
+ return [4, configure()];
188
+ case 7:
189
+ _d = (_e.project = _h.sent());
190
+ _h.label = 8;
191
+ case 8:
192
+ _d;
193
+ if (questioned.value)
194
+ console.log("");
195
+ return [2, options];
196
+ }
197
+ });
198
+ }); })];
199
+ });
200
+ }); };
201
+ function is_nest_cli(pack) {
202
+ var _a;
203
+ return ((typeof ((_a = pack.data.scripts) === null || _a === void 0 ? void 0 : _a.build) === "string" &&
204
+ pack.data.scripts.build.indexOf("nest build") !== -1) ||
205
+ fs_1.default.existsSync(path_1.default.join(pack.directory, "nest-cli.json")));
206
+ }
207
+ })(TypiaSetupWizard = exports.TypiaSetupWizard || (exports.TypiaSetupWizard = {}));
208
+ var COMPILER_DESCRIPTION = [
209
+ "About compiler, if you adapt \"ttypescript\", you should use \"ttsc\" instead.",
210
+ "",
211
+ "Otherwise, you choose \"ts-patch\", you can use the original \"tsc\" command.",
212
+ "However, the \"ts-patch\" hacks \"node_modules/typescript\" source code.",
213
+ "Also, whenever update \"typescript\", you've to run \"npm run prepare\" command.",
214
+ "",
215
+ "By the way, when using \"@nest/cli\", you must just choose \"ts-patch\".",
216
+ "",
217
+ ].join("\n");
218
+ //# sourceMappingURL=TypiaSetupWizard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypiaSetupWizard.js","sourceRoot":"","sources":["../../src/executable/TypiaSetupWizard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type CommanderModule from "commander";
2
+ import type * as InquirerModule from "inquirer";
3
+ import { PackageManager } from "./PackageManager";
4
+ export declare namespace ArgumentParser {
5
+ type Inquiry<T> = (pack: PackageManager, command: CommanderModule.Command, prompt: (opt?: InquirerModule.StreamOptions) => InquirerModule.PromptModule, action: (closure: (options: Partial<T>) => Promise<T>) => Promise<T>) => Promise<T>;
6
+ const parse: (pack: PackageManager) => (erase: boolean) => <T>(inquiry: (pack: PackageManager, command: CommanderModule.Command, prompt: (opt?: InquirerModule.StreamOptions) => InquirerModule.PromptModule, action: (closure: (options: Partial<T>) => Promise<T>) => Promise<T>) => Promise<T>) => Promise<T>;
7
+ }
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.ArgumentParser = void 0;
43
+ var path_1 = __importDefault(require("path"));
44
+ var FileRetriever_1 = require("./FileRetriever");
45
+ var ArgumentParser;
46
+ (function (ArgumentParser) {
47
+ var _this = this;
48
+ ArgumentParser.parse = function (pack) {
49
+ return function (erase) {
50
+ return function (inquiry) { return __awaiter(_this, void 0, void 0, function () {
51
+ var newbie, command, prompt, action, output;
52
+ var _this = this;
53
+ return __generator(this, function (_a) {
54
+ switch (_a.label) {
55
+ case 0:
56
+ newbie = {
57
+ commander: pack.install({
58
+ dev: true,
59
+ modulo: "commander",
60
+ version: "10.0.0",
61
+ silent: true,
62
+ }),
63
+ inquirer: pack.install({
64
+ dev: true,
65
+ modulo: "inquirer",
66
+ version: "8.2.5",
67
+ silent: true,
68
+ }),
69
+ };
70
+ return [4, FileRetriever_1.FileRetriever.require(path_1.default.join("node_modules", "commander"))(pack.directory)];
71
+ case 1:
72
+ command = (_a.sent()).program;
73
+ return [4, FileRetriever_1.FileRetriever.require(path_1.default.join("node_modules", "inquirer"))(pack.directory)];
74
+ case 2:
75
+ prompt = (_a.sent()).createPromptModule;
76
+ action = function (closure) {
77
+ return new Promise(function (resolve, reject) {
78
+ command.action(function (options) { return __awaiter(_this, void 0, void 0, function () {
79
+ var _a, exp_1;
80
+ return __generator(this, function (_b) {
81
+ switch (_b.label) {
82
+ case 0:
83
+ _b.trys.push([0, 2, , 3]);
84
+ _a = resolve;
85
+ return [4, closure(options)];
86
+ case 1:
87
+ _a.apply(void 0, [_b.sent()]);
88
+ return [3, 3];
89
+ case 2:
90
+ exp_1 = _b.sent();
91
+ reject(exp_1);
92
+ return [3, 3];
93
+ case 3: return [2];
94
+ }
95
+ });
96
+ }); });
97
+ command.parseAsync().catch(reject);
98
+ });
99
+ };
100
+ return [4, (function () { return __awaiter(_this, void 0, void 0, function () {
101
+ var error_1;
102
+ return __generator(this, function (_a) {
103
+ switch (_a.label) {
104
+ case 0:
105
+ _a.trys.push([0, 2, , 3]);
106
+ return [4, inquiry(pack, command, prompt, action)];
107
+ case 1: return [2, _a.sent()];
108
+ case 2:
109
+ error_1 = _a.sent();
110
+ return [2, error_1];
111
+ case 3: return [2];
112
+ }
113
+ });
114
+ }); })()];
115
+ case 3:
116
+ output = _a.sent();
117
+ if (erase === true) {
118
+ if (newbie.commander)
119
+ pack.erase({ modulo: "commander", silent: true });
120
+ if (newbie.inquirer)
121
+ pack.erase({ modulo: "inquirer", silent: true });
122
+ }
123
+ if (output instanceof Error)
124
+ throw output;
125
+ return [2, output];
126
+ }
127
+ });
128
+ }); };
129
+ };
130
+ };
131
+ })(ArgumentParser = exports.ArgumentParser || (exports.ArgumentParser = {}));
132
+ //# sourceMappingURL=ArgumentParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArgumentParser.js","sourceRoot":"","sources":["../../../src/executable/setup/ArgumentParser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,8CAAwB;AAExB,iDAAgD;AAGhD,IAAiB,cAAc,CAmF9B;AAnFD,WAAiB,cAAc;;IAUd,oBAAK,GACd,UAAC,IAAoB;QACrB,OAAA,UAAC,KAAc;YACf,OAAA,UACI,OASe;;;;;;4BAGT,MAAM,GAAG;gCACX,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC;oCACpB,GAAG,EAAE,IAAI;oCACT,MAAM,EAAE,WAAW;oCACnB,OAAO,EAAE,QAAQ;oCACjB,MAAM,EAAE,IAAI;iCACf,CAAC;gCACF,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC;oCACnB,GAAG,EAAE,IAAI;oCACT,MAAM,EAAE,UAAU;oCAClB,OAAO,EAAE,OAAO;oCAChB,MAAM,EAAE,IAAI;iCACf,CAAC;6BACL,CAAC;4BAIE,WAAM,6BAAa,CAAC,OAAO,CACvB,cAAI,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CACzC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAA;;4BAHJ,OAAO,GACpB,CAAA,SAEiB,CAAA,QAHG;4BAKpB,WAAM,6BAAa,CAAC,OAAO,CACvB,cAAI,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CACxC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAA;;4BAHO,MAAM,GAC9B,CAAA,SAEiB,CAAA,mBAHa;4BAM5B,MAAM,GAAG,UAAC,OAA4C;gCACxD,OAAA,IAAI,OAAO,CAAI,UAAC,OAAO,EAAE,MAAM;oCAC3B,OAAO,CAAC,MAAM,CAAC,UAAO,OAAO;;;;;;oDAErB,KAAA,OAAO,CAAA;oDAAC,WAAM,OAAO,CAAC,OAAO,CAAC,EAAA;;oDAA9B,kBAAQ,SAAsB,EAAC,CAAC;;;;oDAEhC,MAAM,CAAC,KAAG,CAAC,CAAC;;;;;yCAEnB,CAAC,CAAC;oCACH,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gCACvC,CAAC,CAAC;4BATF,CASE,CAAC;4BACmB,WAAM,CAAC;;;;;;gDAElB,WAAM,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAA;oDAAnD,WAAO,SAA4C,EAAC;;;gDAEpD,WAAO,OAAc,EAAC;;;;qCAE7B,CAAC,EAAE,EAAA;;4BANE,MAAM,GAAc,SAMtB;4BAGJ,IAAI,KAAK,KAAK,IAAI,EAAE;gCAChB,IAAI,MAAM,CAAC,SAAS;oCAChB,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gCACtD,IAAI,MAAM,CAAC,QAAQ;oCACf,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;6BACxD;4BAGD,IAAI,MAAM,YAAY,KAAK;gCAAE,MAAM,MAAM,CAAC;4BAC1C,WAAO,MAAM,EAAC;;;iBACjB;QArED,CAqEC;IAtED,CAsEC,CAAC;AACV,CAAC,EAnFgB,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAmF9B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommandExecutor.js","sourceRoot":"","sources":["../../../src/executable/setup/CommandExecutor.ts"],"names":[],"mappings":";;;;;;AAAA,gEAA+B;AAE/B,IAAiB,eAAe,CAK/B;AALD,WAAiB,eAAe;IAC5B,SAAgB,GAAG,CAAC,GAAW,EAAE,MAAe;QAC5C,IAAI,MAAM,KAAK,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,uBAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1C,CAAC;IAHe,mBAAG,MAGlB,CAAA;AACL,CAAC,EALgB,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAK/B"}
@@ -0,0 +1,5 @@
1
+ export declare namespace FileRetriever {
2
+ const directory: (name: string) => (directory: string, depth?: number) => string | null;
3
+ const file: (name: string) => (directory: string, depth?: number) => string | null;
4
+ const require: (name: string) => (directory: string, depth?: number) => Promise<any>;
5
+ }
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __generator = (this && this.__generator) || function (thisArg, body) {
35
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
+ function verb(n) { return function (v) { return step([n, v]); }; }
38
+ function step(op) {
39
+ if (f) throw new TypeError("Generator is already executing.");
40
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
41
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
42
+ if (y = 0, t) op = [op[0] & 2, t.value];
43
+ switch (op[0]) {
44
+ case 0: case 1: t = op; break;
45
+ case 4: _.label++; return { value: op[1], done: false };
46
+ case 5: _.label++; y = op[1]; op = [0]; continue;
47
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
+ default:
49
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
+ if (t[2]) _.ops.pop();
54
+ _.trys.pop(); continue;
55
+ }
56
+ op = body.call(thisArg, _);
57
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
+ }
60
+ };
61
+ var __importDefault = (this && this.__importDefault) || function (mod) {
62
+ return (mod && mod.__esModule) ? mod : { "default": mod };
63
+ };
64
+ Object.defineProperty(exports, "__esModule", { value: true });
65
+ exports.FileRetriever = void 0;
66
+ var fs_1 = __importDefault(require("fs"));
67
+ var path_1 = __importDefault(require("path"));
68
+ var FileRetriever;
69
+ (function (FileRetriever) {
70
+ var _this = this;
71
+ FileRetriever.directory = function (name) {
72
+ return function (directory, depth) {
73
+ if (depth === void 0) { depth = 0; }
74
+ var location = path_1.default.join(directory, name);
75
+ if (fs_1.default.existsSync(location))
76
+ return directory;
77
+ else if (depth > 2)
78
+ return null;
79
+ return FileRetriever.file(name)(path_1.default.join(directory, ".."), depth + 1);
80
+ };
81
+ };
82
+ FileRetriever.file = function (name) {
83
+ return function (directory, depth) {
84
+ if (depth === void 0) { depth = 0; }
85
+ var location = path_1.default.join(directory, name);
86
+ if (fs_1.default.existsSync(location))
87
+ return location;
88
+ else if (depth > 2)
89
+ return null;
90
+ return FileRetriever.file(name)(path_1.default.join(directory, ".."), depth + 1);
91
+ };
92
+ };
93
+ FileRetriever.require = function (name) {
94
+ return function (directory, depth) {
95
+ if (depth === void 0) { depth = 0; }
96
+ return __awaiter(_this, void 0, void 0, function () {
97
+ var location;
98
+ return __generator(this, function (_a) {
99
+ var _b;
100
+ location = FileRetriever.file(name)(directory, depth);
101
+ if (location === null)
102
+ throw new Error("Unable to find installed module. Please report to the nestia - https://github.com/samchon/nestia/issues");
103
+ return [2, (_b = location, Promise.resolve().then(function () { return __importStar(require(_b)); }))];
104
+ });
105
+ });
106
+ };
107
+ };
108
+ })(FileRetriever = exports.FileRetriever || (exports.FileRetriever = {}));
109
+ //# sourceMappingURL=FileRetriever.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileRetriever.js","sourceRoot":"","sources":["../../../src/executable/setup/FileRetriever.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAoB;AACpB,8CAAwB;AAExB,IAAiB,aAAa,CA6B7B;AA7BD,WAAiB,aAAa;;IACb,uBAAS,GAClB,UAAC,IAAY;QACb,OAAA,UAAC,SAAiB,EAAE,KAAiB;YAAjB,sBAAA,EAAA,SAAiB;YACjC,IAAM,QAAQ,GAAW,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACpD,IAAI,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAAE,OAAO,SAAS,CAAC;iBACzC,IAAI,KAAK,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC;YAChC,OAAO,cAAA,IAAI,CAAC,IAAI,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC7D,CAAC;IALD,CAKC,CAAC;IAEO,kBAAI,GACb,UAAC,IAAY;QACb,OAAA,UAAC,SAAiB,EAAE,KAAiB;YAAjB,sBAAA,EAAA,SAAiB;YACjC,IAAM,QAAQ,GAAW,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACpD,IAAI,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAAE,OAAO,QAAQ,CAAC;iBACxC,IAAI,KAAK,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC;YAChC,OAAO,cAAA,IAAI,CAAC,IAAI,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC7D,CAAC;IALD,CAKC,CAAC;IAEO,qBAAO,GAChB,UAAC,IAAY;QACb,OAAA,UAAO,SAAiB,EAAE,KAAiB;YAAjB,sBAAA,EAAA,SAAiB;;;;;oBACjC,QAAQ,GAAkB,cAAA,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBAC7D,IAAI,QAAQ,KAAK,IAAI;wBACjB,MAAM,IAAI,KAAK,CACX,yGAAyG,CAC5G,CAAC;oBACN,iBAAc,QAAQ,8EAAE;;;SAC3B;IAPD,CAOC,CAAC;AACV,CAAC,EA7BgB,aAAa,GAAb,qBAAa,KAAb,qBAAa,QA6B7B"}
@@ -43,6 +43,7 @@ exports.PackageManager = void 0;
43
43
  var fs_1 = __importDefault(require("fs"));
44
44
  var path_1 = __importDefault(require("path"));
45
45
  var CommandExecutor_1 = require("./CommandExecutor");
46
+ var FileRetriever_1 = require("./FileRetriever");
46
47
  var PackageManager = (function () {
47
48
  function PackageManager(directory, data) {
48
49
  this.directory = directory;
@@ -61,7 +62,7 @@ var PackageManager = (function () {
61
62
  var location, _a, _b;
62
63
  return __generator(this, function (_c) {
63
64
  switch (_c.label) {
64
- case 0: return [4, find(process.cwd())];
65
+ case 0: return [4, FileRetriever_1.FileRetriever.directory("package.json")(process.cwd())];
65
66
  case 1:
66
67
  location = _c.sent();
67
68
  if (location === null)
@@ -94,7 +95,7 @@ var PackageManager = (function () {
94
95
  ? this.data.devDependencies
95
96
  : this.data.dependencies;
96
97
  if (!!(container === null || container === void 0 ? void 0 : container[props.modulo]) &&
97
- fs_1.default.existsSync(path_1.default.join(this.directory, "node_modules", props.modulo)))
98
+ FileRetriever_1.FileRetriever.file(path_1.default.join("node_modules", props.modulo))(this.directory) !== null)
98
99
  return false;
99
100
  var middle = this.manager === "yarn"
100
101
  ? "add".concat(props.dev ? " -D" : "")
@@ -122,19 +123,4 @@ var PackageManager = (function () {
122
123
  return PackageManager;
123
124
  }());
124
125
  exports.PackageManager = PackageManager;
125
- function find(directory, depth) {
126
- if (directory === void 0) { directory = process.cwd(); }
127
- if (depth === void 0) { depth = 0; }
128
- return __awaiter(this, void 0, void 0, function () {
129
- var location;
130
- return __generator(this, function (_a) {
131
- location = path_1.default.join(directory, "package.json");
132
- if (fs_1.default.existsSync(location))
133
- return [2, directory];
134
- else if (depth > 1)
135
- return [2, null];
136
- return [2, find(path_1.default.join(directory, ".."), depth + 1)];
137
- });
138
- });
139
- }
140
126
  //# sourceMappingURL=PackageManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PackageManager.js","sourceRoot":"","sources":["../../../src/executable/setup/PackageManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAoB;AACpB,8CAAwB;AAExB,qDAAoD;AACpD,iDAAgD;AAEhD;IAqEI,wBACoB,SAAiB,EAC1B,IAAkB;QADT,cAAS,GAAT,SAAS,CAAQ;QAC1B,SAAI,GAAJ,IAAI,CAAc;QAtEtB,YAAO,GAAW,KAAK,CAAC;IAuE5B,CAAC;IAtEJ,sBAAW,gCAAI;aAAf;YACI,OAAO,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACrD,CAAC;;;OAAA;IAEmB,oBAAK,GAAzB;;;;;4BACoC,WAAM,6BAAa,CAAC,SAAS,CACzD,cAAc,CACjB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAA;;wBAFV,QAAQ,GAAkB,SAEhB;wBAChB,IAAI,QAAQ,KAAK,IAAI;4BACjB,MAAM,IAAI,KAAK,CAAC,sCAAoC,CAAC,CAAC;6BAE/C,cAAc;sCACrB,QAAQ;wBACR,WAAM,IAAI,CAAC,IAAI,CAAC,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,EAAA;4BAFxD,WAAO,cAAI,cAAc,aAErB,SAAoD,MACvD,EAAC;;;;KACL;IAEY,6BAAI,GAAjB,UAAkB,QAAsC;;;;;4BAC5B,WAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAA;;wBAA/D,OAAO,GAAW,SAA6C;wBACrE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBAChC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAEpB,WAAO,YAAE,CAAC,QAAQ,CAAC,SAAS,CACxB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAClC,MAAM,CACT,EAAC;;;;KACL;IAEM,gCAAO,GAAd,UAAe,KAKd;QACG,IAAM,SAAS,GAAG,KAAK,CAAC,GAAG;YACvB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe;YAC3B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;QAC7B,IACI,CAAC,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,KAAK,CAAC,MAAM,CAAC,CAAA;YAC3B,6BAAa,CAAC,IAAI,CAAC,cAAI,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CACvD,IAAI,CAAC,SAAS,CACjB,KAAK,IAAI;YAEV,OAAO,KAAK,CAAC;QAEjB,IAAM,MAAM,GACR,IAAI,CAAC,OAAO,KAAK,MAAM;YACnB,CAAC,CAAC,aAAM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAE;YAChC,CAAC,CAAC,kBAAW,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAE,CAAC;QAC3D,iCAAe,CAAC,GAAG,CACf,UAAG,IAAI,CAAC,OAAO,cAAI,MAAM,cAAI,KAAK,CAAC,MAAM,SACrC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,WAAI,KAAK,CAAC,OAAO,CAAE,CAAC,CAAC,CAAC,EAAE,CAC1C,EACF,CAAC,CAAC,KAAK,CAAC,MAAM,CACjB,CAAC;QACF,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,8BAAK,GAAZ,UAAa,KAA2C;QACpD,IAAM,MAAM,GAAW,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC;QACxE,iCAAe,CAAC,GAAG,CACf,UAAG,IAAI,CAAC,OAAO,cAAI,MAAM,cAAI,KAAK,CAAC,MAAM,CAAE,EAC3C,CAAC,CAAC,KAAK,CAAC,MAAM,CACjB,CAAC;IACN,CAAC;IAOoB,mBAAI,GAAzB,UAA0B,IAAY;;;;;4BACV,WAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,EAAA;;wBAA1D,OAAO,GAAW,SAAwC;wBAChE,WAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAC;;;;KAC9B;IACL,qBAAC;AAAD,CAAC,AA9ED,IA8EC;AA9EY,wCAAc"}
@@ -0,0 +1,5 @@
1
+ import { TypiaSetupWizard } from "../TypiaSetupWizard";
2
+ import { PackageManager } from "./PackageManager";
3
+ export declare namespace PluginConfigurator {
4
+ function configure(pack: PackageManager, args: TypiaSetupWizard.IArguments): Promise<void>;
5
+ }