typia 3.5.3 → 3.6.0-dev.20230219

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 (132) hide show
  1. package/README.md +3 -1
  2. package/lib/executable/TypiaGenerateWizard.d.ts +8 -0
  3. package/lib/executable/TypiaGenerateWizard.js +182 -0
  4. package/lib/executable/TypiaGenerateWizard.js.map +1 -0
  5. package/lib/executable/TypiaSetupWizard.d.ts +8 -0
  6. package/lib/executable/TypiaSetupWizard.js +218 -0
  7. package/lib/executable/TypiaSetupWizard.js.map +1 -0
  8. package/lib/executable/setup/ArgumentParser.d.ts +7 -0
  9. package/lib/executable/setup/ArgumentParser.js +155 -0
  10. package/lib/executable/setup/ArgumentParser.js.map +1 -0
  11. package/lib/executable/{internal → setup}/CommandExecutor.d.ts +0 -0
  12. package/lib/executable/{internal → setup}/CommandExecutor.js +0 -0
  13. package/lib/executable/setup/CommandExecutor.js.map +1 -0
  14. package/lib/executable/{internal → setup}/PackageManager.d.ts +0 -0
  15. package/lib/executable/{internal → setup}/PackageManager.js +0 -0
  16. package/lib/executable/setup/PackageManager.js.map +1 -0
  17. package/lib/executable/setup/PluginConfigurator.d.ts +5 -0
  18. package/lib/executable/{internal → setup}/PluginConfigurator.js +0 -0
  19. package/lib/executable/setup/PluginConfigurator.js.map +1 -0
  20. package/lib/executable/typia.js +13 -57
  21. package/lib/executable/typia.js.map +1 -1
  22. package/lib/factories/IdentifierFactory.d.ts +1 -1
  23. package/lib/factories/IdentifierFactory.js +3 -3
  24. package/lib/factories/IdentifierFactory.js.map +1 -1
  25. package/lib/factories/TypeFactory.d.ts +1 -0
  26. package/lib/factories/TypeFactory.js +15 -0
  27. package/lib/factories/TypeFactory.js.map +1 -1
  28. package/lib/generate/TypiaGenerator.d.ts +8 -0
  29. package/lib/generate/TypiaGenerator.js +211 -0
  30. package/lib/generate/TypiaGenerator.js.map +1 -0
  31. package/lib/module.d.ts +14 -8
  32. package/lib/module.js +2 -1
  33. package/lib/module.js.map +1 -1
  34. package/lib/programmers/AssertCloneProgrammer.js +8 -2
  35. package/lib/programmers/AssertCloneProgrammer.js.map +1 -1
  36. package/lib/programmers/AssertParseProgrammer.js +7 -1
  37. package/lib/programmers/AssertParseProgrammer.js.map +1 -1
  38. package/lib/programmers/AssertProgrammer.js +6 -2
  39. package/lib/programmers/AssertProgrammer.js.map +1 -1
  40. package/lib/programmers/AssertPruneProgrammer.js +5 -1
  41. package/lib/programmers/AssertPruneProgrammer.js.map +1 -1
  42. package/lib/programmers/AssertStringifyProgrammer.js +5 -1
  43. package/lib/programmers/AssertStringifyProgrammer.js.map +1 -1
  44. package/lib/programmers/CheckerProgrammer.js +8 -1
  45. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  46. package/lib/programmers/CloneProgrammer.js +13 -0
  47. package/lib/programmers/CloneProgrammer.js.map +1 -1
  48. package/lib/programmers/FeatureProgrammer.d.ts +6 -1
  49. package/lib/programmers/FeatureProgrammer.js +35 -26
  50. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  51. package/lib/programmers/IsCloneProgrammer.js +10 -1
  52. package/lib/programmers/IsCloneProgrammer.js.map +1 -1
  53. package/lib/programmers/IsParseProgrammer.js +8 -2
  54. package/lib/programmers/IsParseProgrammer.js.map +1 -1
  55. package/lib/programmers/IsProgrammer.js +1 -1
  56. package/lib/programmers/IsProgrammer.js.map +1 -1
  57. package/lib/programmers/IsPruneProgrammer.js +5 -1
  58. package/lib/programmers/IsPruneProgrammer.js.map +1 -1
  59. package/lib/programmers/IsStringifyProgrammer.js +8 -1
  60. package/lib/programmers/IsStringifyProgrammer.js.map +1 -1
  61. package/lib/programmers/PruneProgrammer.js +8 -0
  62. package/lib/programmers/PruneProgrammer.js.map +1 -1
  63. package/lib/programmers/RandomProgrammer.js +4 -3
  64. package/lib/programmers/RandomProgrammer.js.map +1 -1
  65. package/lib/programmers/StringifyProgrammer.js +9 -1
  66. package/lib/programmers/StringifyProgrammer.js.map +1 -1
  67. package/lib/programmers/ValidateCloneProgrammer.js +10 -2
  68. package/lib/programmers/ValidateCloneProgrammer.js.map +1 -1
  69. package/lib/programmers/ValidateParseProgrammer.js +9 -1
  70. package/lib/programmers/ValidateParseProgrammer.js.map +1 -1
  71. package/lib/programmers/ValidateProgrammer.js +12 -4
  72. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  73. package/lib/programmers/ValidatePruneProgrammer.js +7 -1
  74. package/lib/programmers/ValidatePruneProgrammer.js.map +1 -1
  75. package/lib/programmers/ValidateStringifyProgrammer.js +8 -2
  76. package/lib/programmers/ValidateStringifyProgrammer.js.map +1 -1
  77. package/lib/programmers/helpers/FunctionImporeter.js +2 -1
  78. package/lib/programmers/helpers/FunctionImporeter.js.map +1 -1
  79. package/lib/programmers/internal/check_everything.js +4 -1
  80. package/lib/programmers/internal/check_everything.js.map +1 -1
  81. package/lib/programmers/internal/check_union_array_like.js +4 -1
  82. package/lib/programmers/internal/check_union_array_like.js.map +1 -1
  83. package/lib/programmers/internal/feature_object_entries.d.ts +2 -1
  84. package/lib/programmers/internal/feature_object_entries.js +28 -23
  85. package/lib/programmers/internal/feature_object_entries.js.map +1 -1
  86. package/lib/transformers/CallExpressionTransformer.js +4 -1
  87. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  88. package/package.json +1 -1
  89. package/src/executable/TypiaGenerateWizard.ts +86 -0
  90. package/src/executable/{internal/ArgumentParser.ts → TypiaSetupWizard.ts} +58 -60
  91. package/src/executable/setup/ArgumentParser.ts +89 -0
  92. package/src/executable/{internal → setup}/CommandExecutor.ts +0 -0
  93. package/src/executable/{internal → setup}/PackageManager.ts +0 -0
  94. package/src/executable/{internal → setup}/PluginConfigurator.ts +3 -3
  95. package/src/executable/typia.ts +15 -49
  96. package/src/factories/IdentifierFactory.ts +3 -2
  97. package/src/factories/TypeFactory.ts +28 -0
  98. package/src/generate/TypiaGenerator.ts +126 -0
  99. package/src/module.ts +23 -11
  100. package/src/programmers/AssertCloneProgrammer.ts +22 -3
  101. package/src/programmers/AssertParseProgrammer.ts +14 -2
  102. package/src/programmers/AssertProgrammer.ts +15 -213
  103. package/src/programmers/AssertPruneProgrammer.ts +9 -2
  104. package/src/programmers/AssertStringifyProgrammer.ts +12 -2
  105. package/src/programmers/CheckerProgrammer.ts +15 -2
  106. package/src/programmers/CloneProgrammer.ts +14 -0
  107. package/src/programmers/FeatureProgrammer.ts +64 -26
  108. package/src/programmers/IsCloneProgrammer.ts +17 -2
  109. package/src/programmers/IsParseProgrammer.ts +18 -3
  110. package/src/programmers/IsProgrammer.ts +3 -1
  111. package/src/programmers/IsPruneProgrammer.ts +16 -2
  112. package/src/programmers/IsStringifyProgrammer.ts +15 -2
  113. package/src/programmers/PruneProgrammer.ts +7 -0
  114. package/src/programmers/RandomProgrammer.ts +15 -1
  115. package/src/programmers/StringifyProgrammer.ts +8 -1
  116. package/src/programmers/ValidateCloneProgrammer.ts +23 -6
  117. package/src/programmers/ValidateParseProgrammer.ts +16 -2
  118. package/src/programmers/ValidateProgrammer.ts +44 -5
  119. package/src/programmers/ValidatePruneProgrammer.ts +14 -2
  120. package/src/programmers/ValidateStringifyProgrammer.ts +21 -6
  121. package/src/programmers/helpers/FunctionImporeter.ts +10 -1
  122. package/src/programmers/internal/check_everything.ts +8 -5
  123. package/src/programmers/internal/check_union_array_like.ts +7 -1
  124. package/src/programmers/internal/feature_object_entries.ts +6 -1
  125. package/src/transformers/CallExpressionTransformer.ts +8 -1
  126. package/lib/executable/internal/ArgumentParser.d.ts +0 -9
  127. package/lib/executable/internal/ArgumentParser.js +0 -266
  128. package/lib/executable/internal/ArgumentParser.js.map +0 -1
  129. package/lib/executable/internal/CommandExecutor.js.map +0 -1
  130. package/lib/executable/internal/PackageManager.js.map +0 -1
  131. package/lib/executable/internal/PluginConfigurator.d.ts +0 -5
  132. 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
@@ -233,6 +233,8 @@ export function createAssertStringify<T>(): (input: T) => string;
233
233
  export function random<T>(): Primitive<T>; // random data generator
234
234
  export function clone<T>(input: T): Primitive<T>; // deep copy
235
235
  export function prune<T>(input: T): void; // remove superfluous properties
236
+ // +) isClone, assertClone, validateClone
237
+ // +) isPrune, assertPrune, validatePrune
236
238
  ```
237
239
 
238
240
  When you need test data, just generate it through `typia.random<T>()`.
@@ -0,0 +1,8 @@
1
+ export declare namespace TypiaGenerateWizard {
2
+ function generate(): Promise<void>;
3
+ interface IArguments {
4
+ input: string;
5
+ output: string;
6
+ project: string;
7
+ }
8
+ }
@@ -0,0 +1,182 @@
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.TypiaGenerateWizard = void 0;
43
+ var fs_1 = __importDefault(require("fs"));
44
+ var TypiaGenerator_1 = require("../generate/TypiaGenerator");
45
+ var ArgumentParser_1 = require("./setup/ArgumentParser");
46
+ var PackageManager_1 = require("./setup/PackageManager");
47
+ var TypiaGenerateWizard;
48
+ (function (TypiaGenerateWizard) {
49
+ var _this = this;
50
+ function generate() {
51
+ return __awaiter(this, void 0, void 0, function () {
52
+ var pack, options;
53
+ return __generator(this, function (_a) {
54
+ switch (_a.label) {
55
+ case 0:
56
+ console.log("----------------------------------------");
57
+ console.log(" Typia Generate Wizard");
58
+ console.log("----------------------------------------");
59
+ return [4, PackageManager_1.PackageManager.mount()];
60
+ case 1:
61
+ pack = _a.sent();
62
+ return [4, ArgumentParser_1.ArgumentParser.parse(pack)(false)(inquiry)];
63
+ case 2:
64
+ options = _a.sent();
65
+ return [4, TypiaGenerator_1.TypiaGenerator.generate(options)];
66
+ case 3:
67
+ _a.sent();
68
+ return [2];
69
+ }
70
+ });
71
+ });
72
+ }
73
+ TypiaGenerateWizard.generate = generate;
74
+ var inquiry = function (_pack, command, prompt, action) { return __awaiter(_this, void 0, void 0, function () {
75
+ var questioned, input, select, configure;
76
+ var _this = this;
77
+ return __generator(this, function (_a) {
78
+ command.option("--input <path>", "input directory");
79
+ command.option("--output <directory>", "output directory");
80
+ command.option("--project [project]", "tsconfig.json file location");
81
+ questioned = { value: false };
82
+ input = function (name) { return function (message) { return __awaiter(_this, void 0, void 0, function () {
83
+ var result;
84
+ return __generator(this, function (_a) {
85
+ switch (_a.label) {
86
+ case 0: return [4, prompt()({
87
+ type: "input",
88
+ name: name,
89
+ message: message,
90
+ default: "",
91
+ })];
92
+ case 1:
93
+ result = _a.sent();
94
+ return [2, result[name]];
95
+ }
96
+ });
97
+ }); }; };
98
+ select = function (name) {
99
+ return function (message) {
100
+ return function (choices) { return __awaiter(_this, void 0, void 0, function () {
101
+ return __generator(this, function (_a) {
102
+ switch (_a.label) {
103
+ case 0:
104
+ questioned.value = true;
105
+ return [4, prompt()({
106
+ type: "list",
107
+ name: name,
108
+ message: message,
109
+ choices: choices,
110
+ })];
111
+ case 1: return [2, (_a.sent())[name]];
112
+ }
113
+ });
114
+ }); };
115
+ };
116
+ };
117
+ configure = function () { return __awaiter(_this, void 0, void 0, function () {
118
+ var fileList;
119
+ return __generator(this, function (_a) {
120
+ switch (_a.label) {
121
+ case 0: return [4, fs_1.default.promises.readdir(process.cwd())];
122
+ case 1: return [4, (_a.sent()).filter(function (str) {
123
+ return str.substring(0, 8) === "tsconfig" &&
124
+ str.substring(str.length - 5) === ".json";
125
+ })];
126
+ case 2:
127
+ fileList = _a.sent();
128
+ if (fileList.length === 0)
129
+ throw new Error("Unable to find \"tsconfig.json\" file.");
130
+ else if (fileList.length === 1)
131
+ return [2, fileList[0]];
132
+ return [2, select("tsconfig")("TS Config File")(fileList)];
133
+ }
134
+ });
135
+ }); };
136
+ return [2, action(function (options) { return __awaiter(_this, void 0, void 0, function () {
137
+ var _a, _b, _c, _d, _e, _f;
138
+ var _g, _h, _j;
139
+ return __generator(this, function (_k) {
140
+ switch (_k.label) {
141
+ case 0:
142
+ if (!((_g = options.input) !== null && _g !== void 0)) return [3, 1];
143
+ _a = _g;
144
+ return [3, 3];
145
+ case 1:
146
+ _b = options;
147
+ return [4, input("input")("input directory")];
148
+ case 2:
149
+ _a = (_b.input = _k.sent());
150
+ _k.label = 3;
151
+ case 3:
152
+ _a;
153
+ if (!((_h = options.output) !== null && _h !== void 0)) return [3, 4];
154
+ _c = _h;
155
+ return [3, 6];
156
+ case 4:
157
+ _d = options;
158
+ return [4, input("output")("output directory")];
159
+ case 5:
160
+ _c = (_d.output = _k.sent());
161
+ _k.label = 6;
162
+ case 6:
163
+ _c;
164
+ if (!((_j = options.project) !== null && _j !== void 0)) return [3, 7];
165
+ _e = _j;
166
+ return [3, 9];
167
+ case 7:
168
+ _f = options;
169
+ return [4, configure()];
170
+ case 8:
171
+ _e = (_f.project = _k.sent());
172
+ _k.label = 9;
173
+ case 9:
174
+ _e;
175
+ return [2, options];
176
+ }
177
+ });
178
+ }); })];
179
+ });
180
+ }); };
181
+ })(TypiaGenerateWizard = exports.TypiaGenerateWizard || (exports.TypiaGenerateWizard = {}));
182
+ //# sourceMappingURL=TypiaGenerateWizard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypiaGenerateWizard.js","sourceRoot":"","sources":["../../src/executable/TypiaGenerateWizard.ts"],"names":[],"mappings":"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"}
@@ -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,155 @@
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.ArgumentParser = void 0;
66
+ var path_1 = __importDefault(require("path"));
67
+ var ArgumentParser;
68
+ (function (ArgumentParser) {
69
+ var _this = this;
70
+ ArgumentParser.parse = function (pack) {
71
+ return function (erase) {
72
+ return function (inquiry) { return __awaiter(_this, void 0, void 0, function () {
73
+ var newbie, command, prompt, action, output;
74
+ var _this = this;
75
+ return __generator(this, function (_a) {
76
+ var _b, _c;
77
+ switch (_a.label) {
78
+ case 0:
79
+ newbie = {
80
+ commander: pack.install({
81
+ dev: true,
82
+ modulo: "commander",
83
+ version: "10.0.0",
84
+ silent: true,
85
+ }),
86
+ inquirer: pack.install({
87
+ dev: true,
88
+ modulo: "inquirer",
89
+ version: "8.2.5",
90
+ silent: true,
91
+ }),
92
+ };
93
+ return [4, (_b = path_1.default.join(pack.directory, "node_modules", "commander"), Promise.resolve().then(function () { return __importStar(require(_b)); }))];
94
+ case 1:
95
+ command = (_a.sent()).program;
96
+ return [4, (_c = path_1.default.join(pack.directory, "node_modules", "inquirer"), Promise.resolve().then(function () { return __importStar(require(_c)); }))];
97
+ case 2:
98
+ prompt = (_a.sent()).createPromptModule;
99
+ action = function (closure) {
100
+ return new Promise(function (resolve, reject) {
101
+ command.action(function (options) { return __awaiter(_this, void 0, void 0, function () {
102
+ var _a, exp_1;
103
+ return __generator(this, function (_b) {
104
+ switch (_b.label) {
105
+ case 0:
106
+ _b.trys.push([0, 2, , 3]);
107
+ _a = resolve;
108
+ return [4, closure(options)];
109
+ case 1:
110
+ _a.apply(void 0, [_b.sent()]);
111
+ return [3, 3];
112
+ case 2:
113
+ exp_1 = _b.sent();
114
+ reject(exp_1);
115
+ return [3, 3];
116
+ case 3: return [2];
117
+ }
118
+ });
119
+ }); });
120
+ command.parseAsync().catch(reject);
121
+ });
122
+ };
123
+ return [4, (function () { return __awaiter(_this, void 0, void 0, function () {
124
+ var error_1;
125
+ return __generator(this, function (_a) {
126
+ switch (_a.label) {
127
+ case 0:
128
+ _a.trys.push([0, 2, , 3]);
129
+ return [4, inquiry(pack, command, prompt, action)];
130
+ case 1: return [2, _a.sent()];
131
+ case 2:
132
+ error_1 = _a.sent();
133
+ return [2, error_1];
134
+ case 3: return [2];
135
+ }
136
+ });
137
+ }); })()];
138
+ case 3:
139
+ output = _a.sent();
140
+ if (erase === true) {
141
+ if (newbie.commander)
142
+ pack.erase({ modulo: "commander", silent: true });
143
+ if (newbie.inquirer)
144
+ pack.erase({ modulo: "inquirer", silent: true });
145
+ }
146
+ if (output instanceof Error)
147
+ throw output;
148
+ return [2, output];
149
+ }
150
+ });
151
+ }); };
152
+ };
153
+ };
154
+ })(ArgumentParser = exports.ArgumentParser || (exports.ArgumentParser = {}));
155
+ //# sourceMappingURL=ArgumentParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArgumentParser.js","sourceRoot":"","sources":["../../../src/executable/setup/ArgumentParser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,8CAAwB;AAIxB,IAAiB,cAAc,CAkF9B;AAlFD,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;4BAGmD,iBACjD,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,WAAW,CAAC,8EACzD;;4BAFgB,OAAO,GAA6B,CAAA,SAEpD,CAAA,QAFuB;4BAIpB,iBACI,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,UAAU,CAAC,8EACxD;;4BAHuB,MAAM,GAC9B,CAAA,SAEC,CAAA,mBAH6B;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;QApED,CAoEC;IArED,CAqEC,CAAC;AACV,CAAC,EAlFgB,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAkF9B"}
@@ -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"}