@nestia/core 1.0.3 → 1.0.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.
- package/lib/executable/core.js +12 -10
- package/lib/executable/core.js.map +1 -1
- package/lib/executable/internal/CoreSetupWizard.d.ts +6 -2
- package/lib/executable/internal/CoreSetupWizard.js +37 -23
- package/lib/executable/internal/CoreSetupWizard.js.map +1 -1
- package/lib/options/INestiaTransformOptions.d.ts +1 -2
- package/lib/transform.js.map +1 -1
- package/lib/transformers/BodyTransformer.js +16 -1
- package/lib/transformers/BodyTransformer.js.map +1 -1
- package/lib/transformers/RouteTransformer.js +12 -1
- package/lib/transformers/RouteTransformer.js.map +1 -1
- package/package.json +1 -1
- package/src/executable/core.ts +8 -5
- package/src/executable/internal/CoreSetupWizard.ts +45 -22
- package/src/options/INestiaTransformOptions.ts +1 -3
- package/src/transform.ts +2 -2
- package/src/transformers/BodyTransformer.ts +11 -1
- package/src/transformers/RouteTransformer.ts +7 -1
package/lib/executable/core.js
CHANGED
|
@@ -39,35 +39,37 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
39
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
40
|
var CommandParser_1 = require("./internal/CommandParser");
|
|
41
41
|
var CoreSetupWizard_1 = require("./internal/CoreSetupWizard");
|
|
42
|
-
var USAGE = "Wrong command has been detected. Use like below:\n\n npx @nestia/core setup \\\n --compiler (ttypescript|ts-patch) \\\n --manager (npm|pnpm|yarn)\n\n - npx @nestia/core setup\n - npx @nestia/core setup --compiler
|
|
42
|
+
var USAGE = "Wrong command has been detected. Use like below:\n\n npx @nestia/core setup \\\n --compiler (ttypescript|ts-patch) \\\n --manager (npm|pnpm|yarn) \\\n --project {tsconfig.json file path}\n\n - npx @nestia/core setup\n - npx @nestia/core setup --compiler ts-patch\n - npx @nestia/core setup --manager pnpm\n - npx @nestia/core setup --project tsconfig.test.json";
|
|
43
43
|
function halt(desc) {
|
|
44
44
|
console.error(desc);
|
|
45
45
|
process.exit(-1);
|
|
46
46
|
}
|
|
47
47
|
function setup() {
|
|
48
|
-
var _a, _b;
|
|
48
|
+
var _a, _b, _c;
|
|
49
49
|
return __awaiter(this, void 0, void 0, function () {
|
|
50
|
-
var options, manager, compiler;
|
|
51
|
-
return __generator(this, function (
|
|
52
|
-
switch (
|
|
50
|
+
var options, manager, compiler, project;
|
|
51
|
+
return __generator(this, function (_d) {
|
|
52
|
+
switch (_d.label) {
|
|
53
53
|
case 0:
|
|
54
54
|
options = CommandParser_1.CommandParser.parse(process.argv.slice(3));
|
|
55
55
|
manager = (_a = options.manager) !== null && _a !== void 0 ? _a : "npm";
|
|
56
56
|
compiler = (_b = options.compiler) !== null && _b !== void 0 ? _b : "ttypescript";
|
|
57
|
+
project = (_c = options.project) !== null && _c !== void 0 ? _c : "tsconfig.json";
|
|
58
|
+
console.log(options);
|
|
57
59
|
if (!((compiler !== "ttypescript" && compiler !== "ts-patch") ||
|
|
58
60
|
(manager !== "npm" && manager !== "pnpm" && manager !== "yarn"))) return [3 /*break*/, 1];
|
|
59
61
|
halt(USAGE);
|
|
60
62
|
return [3 /*break*/, 5];
|
|
61
63
|
case 1:
|
|
62
64
|
if (!(compiler === "ttypescript")) return [3 /*break*/, 3];
|
|
63
|
-
return [4 /*yield*/, CoreSetupWizard_1.CoreSetupWizard.ttypescript(manager)];
|
|
65
|
+
return [4 /*yield*/, CoreSetupWizard_1.CoreSetupWizard.ttypescript({ manager: manager, project: project })];
|
|
64
66
|
case 2:
|
|
65
|
-
|
|
67
|
+
_d.sent();
|
|
66
68
|
return [3 /*break*/, 5];
|
|
67
|
-
case 3: return [4 /*yield*/, CoreSetupWizard_1.CoreSetupWizard.tsPatch(manager)];
|
|
69
|
+
case 3: return [4 /*yield*/, CoreSetupWizard_1.CoreSetupWizard.tsPatch({ manager: manager, project: project })];
|
|
68
70
|
case 4:
|
|
69
|
-
|
|
70
|
-
|
|
71
|
+
_d.sent();
|
|
72
|
+
_d.label = 5;
|
|
71
73
|
case 5: return [2 /*return*/];
|
|
72
74
|
}
|
|
73
75
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/executable/core.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,0DAAyD;AACzD,8DAA6D;AAE7D,IAAM,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/executable/core.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,0DAAyD;AACzD,8DAA6D;AAE7D,IAAM,KAAK,GAAG,wXAU0C,CAAC;AAEzD,SAAS,IAAI,CAAC,IAAY;IACtB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC;AAED,SAAe,KAAK;;;;;;;oBACV,OAAO,GAA2B,6BAAa,CAAC,KAAK,CACvD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CACxB,CAAC;oBACI,OAAO,GAAW,MAAA,OAAO,CAAC,OAAO,mCAAI,KAAK,CAAC;oBAC3C,QAAQ,GAAW,MAAA,OAAO,CAAC,QAAQ,mCAAI,aAAa,CAAC;oBACrD,OAAO,GAAW,MAAA,OAAO,CAAC,OAAO,mCAAI,eAAe,CAAC;oBAC3D,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;yBAGjB,CAAA,CAAC,QAAQ,KAAK,aAAa,IAAI,QAAQ,KAAK,UAAU,CAAC;wBACvD,CAAC,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,MAAM,CAAC,CAAA,EAD/D,wBAC+D;oBAE/D,IAAI,CAAC,KAAK,CAAC,CAAC;;;yBACP,CAAA,QAAQ,KAAK,aAAa,CAAA,EAA1B,wBAA0B;oBAC/B,qBAAM,iCAAe,CAAC,WAAW,CAAC,EAAE,OAAO,SAAA,EAAE,OAAO,SAAA,EAAE,CAAC,EAAA;;oBAAvD,SAAuD,CAAC;;wBACvD,qBAAM,iCAAe,CAAC,OAAO,CAAC,EAAE,OAAO,SAAA,EAAE,OAAO,SAAA,EAAE,CAAC,EAAA;;oBAAnD,SAAmD,CAAC;;;;;;CAC5D;AAED,SAAe,IAAI;;;;;;oBACT,IAAI,GAAuB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;yBAC7C,CAAA,IAAI,KAAK,OAAO,CAAA,EAAhB,wBAAgB;oBAAE,qBAAM,KAAK,EAAE,EAAA;;oBAAb,SAAa,CAAC;;;oBAC/B,IAAI,CAAC,KAAK,CAAC,CAAC;;;;;;CACpB;AACD,IAAI,EAAE,CAAC,KAAK,CAAC,UAAC,GAAG;IACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
export declare namespace CoreSetupWizard {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
interface IArguments {
|
|
3
|
+
manager: "npm" | "pnpm" | "yarn";
|
|
4
|
+
project: string;
|
|
5
|
+
}
|
|
6
|
+
function ttypescript(args: string | IArguments): Promise<void>;
|
|
7
|
+
function tsPatch(args: string | IArguments): Promise<void>;
|
|
4
8
|
}
|
|
@@ -68,18 +68,26 @@ var fs_1 = __importDefault(require("fs"));
|
|
|
68
68
|
var CoreSetupWizard;
|
|
69
69
|
(function (CoreSetupWizard) {
|
|
70
70
|
var _this = this;
|
|
71
|
-
function ttypescript(
|
|
71
|
+
function ttypescript(args) {
|
|
72
72
|
return __awaiter(this, void 0, void 0, function () {
|
|
73
73
|
var pack;
|
|
74
74
|
return __generator(this, function (_a) {
|
|
75
75
|
switch (_a.label) {
|
|
76
|
-
case 0:
|
|
76
|
+
case 0:
|
|
77
|
+
// POLYFILL
|
|
78
|
+
if (typeof args === "string")
|
|
79
|
+
args = {
|
|
80
|
+
manager: args,
|
|
81
|
+
project: "tsconfig.json",
|
|
82
|
+
};
|
|
83
|
+
console.log("args", args);
|
|
84
|
+
return [4 /*yield*/, prepare(args.manager)];
|
|
77
85
|
case 1:
|
|
78
86
|
pack = _a.sent();
|
|
79
|
-
add(manager)(pack)("ttypescript", true);
|
|
80
|
-
add(manager)(pack)("ts-node", true);
|
|
87
|
+
add(args.manager)(pack)("ttypescript", true);
|
|
88
|
+
add(args.manager)(pack)("ts-node", true);
|
|
81
89
|
// TSCONFIG.JSON
|
|
82
|
-
return [4 /*yield*/, configure(
|
|
90
|
+
return [4 /*yield*/, configure(args)(pack)];
|
|
83
91
|
case 2:
|
|
84
92
|
// TSCONFIG.JSON
|
|
85
93
|
_a.sent();
|
|
@@ -89,15 +97,21 @@ var CoreSetupWizard;
|
|
|
89
97
|
});
|
|
90
98
|
}
|
|
91
99
|
CoreSetupWizard.ttypescript = ttypescript;
|
|
92
|
-
function tsPatch(
|
|
100
|
+
function tsPatch(args) {
|
|
93
101
|
return __awaiter(this, void 0, void 0, function () {
|
|
94
102
|
var _a, pack, _b, _c;
|
|
95
103
|
return __generator(this, function (_d) {
|
|
96
104
|
switch (_d.label) {
|
|
97
105
|
case 0:
|
|
106
|
+
// POLYFILL
|
|
107
|
+
if (typeof args === "string")
|
|
108
|
+
args = {
|
|
109
|
+
manager: args,
|
|
110
|
+
project: "tsconfig.json",
|
|
111
|
+
};
|
|
98
112
|
// INSTALL
|
|
99
|
-
_a = add(manager);
|
|
100
|
-
return [4 /*yield*/, prepare(manager)];
|
|
113
|
+
_a = add(args.manager);
|
|
114
|
+
return [4 /*yield*/, prepare(args.manager)];
|
|
101
115
|
case 1:
|
|
102
116
|
// INSTALL
|
|
103
117
|
_a.apply(void 0, [_d.sent()])("ts-patch", true);
|
|
@@ -119,7 +133,7 @@ var CoreSetupWizard;
|
|
|
119
133
|
case 3:
|
|
120
134
|
_d.sent();
|
|
121
135
|
// TSCONFIG.JSON
|
|
122
|
-
return [4 /*yield*/, configure(
|
|
136
|
+
return [4 /*yield*/, configure(args)(pack)];
|
|
123
137
|
case 4:
|
|
124
138
|
// TSCONFIG.JSON
|
|
125
139
|
_d.sent();
|
|
@@ -149,42 +163,42 @@ var CoreSetupWizard;
|
|
|
149
163
|
});
|
|
150
164
|
});
|
|
151
165
|
}
|
|
152
|
-
var configure = function (
|
|
166
|
+
var configure = function (args) {
|
|
153
167
|
return function (pack) { return __awaiter(_this, void 0, void 0, function () {
|
|
154
168
|
var temporary, halter, Comment, config, _a, _b, options, plugins, strict, core, typia;
|
|
155
169
|
return __generator(this, function (_c) {
|
|
156
170
|
var _d;
|
|
157
171
|
switch (_c.label) {
|
|
158
172
|
case 0:
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
if (fs_1.default.existsSync(
|
|
163
|
-
halt(function () { })("
|
|
173
|
+
if (fs_1.default.existsSync(args.project) === false) {
|
|
174
|
+
if (args.project === "tsconfig.json")
|
|
175
|
+
execute("npx tsc --init");
|
|
176
|
+
if (fs_1.default.existsSync(args.project) === false)
|
|
177
|
+
halt(function () { })("".concat(args.project, " file does not exist."));
|
|
164
178
|
}
|
|
165
179
|
temporary = !fs_1.default.existsSync("node_modules/comment-json");
|
|
166
180
|
if (temporary === true)
|
|
167
|
-
add(manager)(pack)("comment-json", true);
|
|
181
|
+
add(args.manager)(pack)("comment-json", true);
|
|
168
182
|
halter = halt(function () {
|
|
169
183
|
if (temporary === true)
|
|
170
|
-
remove(manager)("comment-json", true);
|
|
184
|
+
remove(args.manager)("comment-json", true);
|
|
171
185
|
});
|
|
172
186
|
return [4 /*yield*/, (_d = process.cwd() + "/node_modules/comment-json", Promise.resolve().then(function () { return __importStar(require(_d)); }))];
|
|
173
187
|
case 1:
|
|
174
188
|
Comment = _c.sent();
|
|
175
189
|
_b = (_a = Comment).parse;
|
|
176
|
-
return [4 /*yield*/, fs_1.default.promises.readFile(
|
|
190
|
+
return [4 /*yield*/, fs_1.default.promises.readFile(args.project, "utf8")];
|
|
177
191
|
case 2:
|
|
178
192
|
config = _b.apply(_a, [_c.sent()]);
|
|
179
193
|
options = config.compilerOptions;
|
|
180
194
|
if (options === undefined)
|
|
181
|
-
halter("
|
|
195
|
+
halter("".concat(args.project, " file does not have \"compilerOptions\" property."));
|
|
182
196
|
plugins = (function () {
|
|
183
197
|
var plugins = options.plugins;
|
|
184
198
|
if (plugins === undefined)
|
|
185
199
|
return (options.plugins = []);
|
|
186
200
|
else if (!Array.isArray(plugins))
|
|
187
|
-
halter("\"plugins\" property of
|
|
201
|
+
halter("\"plugins\" property of ".concat(args.project, " must be array type."));
|
|
188
202
|
return plugins;
|
|
189
203
|
})();
|
|
190
204
|
strict = options.strict === true;
|
|
@@ -199,7 +213,7 @@ var CoreSetupWizard;
|
|
|
199
213
|
p.transform === "typia/lib/transform";
|
|
200
214
|
});
|
|
201
215
|
if (!(strict === true && core !== undefined && typia !== undefined)) return [3 /*break*/, 3];
|
|
202
|
-
console.log("you've been already configured the
|
|
216
|
+
console.log("you've been already configured the ".concat(args.project, " file."));
|
|
203
217
|
return [3 /*break*/, 5];
|
|
204
218
|
case 3:
|
|
205
219
|
// DO CONFIGURE
|
|
@@ -208,13 +222,13 @@ var CoreSetupWizard;
|
|
|
208
222
|
plugins.push(Comment.parse("{\n \"transform\": \"@nestia/core/lib/transform\",\n /**\n * Validate request body.\n * \n * - \"assert\": Use typia.assert() function\n * - \"is\": Use typia.is() function\n * - \"validate\": Use typia.validate() function\n */\n \"validate\": \"assert\",\n\n /**\n * Validate JSON typed response body.\n * \n * - null: Just use JSON.stringify() function, without boosting\n * - \"stringify\": Use typia.stringify() function, but dangerous\n * - \"assert\": Use typia.assertStringify() function\n * - \"is\": Use typia.isStringify() function\n * - \"validate\": Use typia.validateStringify() function\n */\n \"stringify\": \"is\"\n }"));
|
|
209
223
|
if (typia === undefined)
|
|
210
224
|
plugins.push(Comment.parse("{\n \"transform\": \"typia/lib/transform\"\n }"));
|
|
211
|
-
return [4 /*yield*/, fs_1.default.promises.writeFile(
|
|
225
|
+
return [4 /*yield*/, fs_1.default.promises.writeFile(args.project, Comment.stringify(config, null, 2))];
|
|
212
226
|
case 4:
|
|
213
227
|
_c.sent();
|
|
214
228
|
_c.label = 5;
|
|
215
229
|
case 5:
|
|
216
230
|
if (temporary === true)
|
|
217
|
-
remove(manager)("comment-json", false);
|
|
231
|
+
remove(args.manager)("comment-json", false);
|
|
218
232
|
return [2 /*return*/];
|
|
219
233
|
}
|
|
220
234
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreSetupWizard.js","sourceRoot":"","sources":["../../../src/executable/internal/CoreSetupWizard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gEAA+B;AAE/B,0CAAoB;AAEpB,IAAiB,eAAe,
|
|
1
|
+
{"version":3,"file":"CoreSetupWizard.js","sourceRoot":"","sources":["../../../src/executable/internal/CoreSetupWizard.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export interface INestiaTransformOptions extends ITransformOptions {
|
|
1
|
+
export interface INestiaTransformOptions {
|
|
3
2
|
validate?: "assert" | "is" | "validate";
|
|
4
3
|
stringify?: "stringify" | "assert" | "is" | "validate" | null;
|
|
5
4
|
}
|
package/lib/transform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":";;;;;AAAA,0DAA4B;AAI5B,kEAAiE;AAEjE,SAAwB,SAAS,CAC7B,OAAmB,EACnB,OAAiC;IAEjC,IAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":";;;;;AAAA,0DAA4B;AAI5B,kEAAiE;AAEjE,SAAwB,SAAS,CAC7B,OAAmB,EACnB,OAAiC;IAEjC,IAAM,OAAO,GAA4B;QACrC,OAAO,SAAA;QACP,eAAe,EAAE,OAAO,CAAC,kBAAkB,EAAE;QAC7C,OAAO,EAAE,OAAO,CAAC,cAAc,EAAE;QACjC,OAAO,EAAE,oBAAE,CAAC,aAAa,EAAE;QAC3B,OAAO,EAAE,OAAO,IAAI,EAAE;KACzB,CAAC;IACF,OAAO,UAAC,OAAO,IAAK,OAAA,UAAC,IAAI;QACrB,OAAA,iCAAe,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;IAAjD,CAAiD,EADjC,CACiC,CAAC;AAC1D,CAAC;AAbD,4BAaC"}
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
2
13
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
15
|
};
|
|
@@ -45,7 +56,11 @@ var BodyTransformer;
|
|
|
45
56
|
var parameter = function (key, programmer) {
|
|
46
57
|
return typescript_1.default.factory.createObjectLiteralExpression([
|
|
47
58
|
typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier("type"), typescript_1.default.factory.createStringLiteral(key)),
|
|
48
|
-
typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier(key), programmer(
|
|
59
|
+
typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier(key), programmer(__assign(__assign({}, project), { options: {
|
|
60
|
+
numeric: false,
|
|
61
|
+
finite: false,
|
|
62
|
+
functional: false,
|
|
63
|
+
} }), expression.expression)(type)),
|
|
49
64
|
]);
|
|
50
65
|
};
|
|
51
66
|
var validator = (function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BodyTransformer.js","sourceRoot":"","sources":["../../src/transformers/BodyTransformer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BodyTransformer.js","sourceRoot":"","sources":["../../src/transformers/BodyTransformer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,8CAAwB;AACxB,0DAA4B;AAC5B,2EAA0E;AAC1E,mEAAkE;AAClE,+EAA8E;AAK9E,IAAiB,eAAe,CA0G/B;AA1GD,WAAiB,eAAe;IAC5B,SAAgB,SAAS,CACrB,OAAgC,EAChC,IAAa,EACb,SAAuB;QAEvB,IAAI,CAAC,oBAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,UAAU,CAAC;YAAE,OAAO,SAAS,CAAC;QACjE,OAAO,oBAAE,CAAC,OAAO,CAAC,eAAe,CAC7B,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC,CAChD,CAAC;IACN,CAAC;IATe,yBAAS,YASxB,CAAA;IAED,SAAS,QAAQ,CACb,OAAgC,EAChC,IAAa,EACb,UAA6B;QAE7B,kBAAkB;QAClB,IAAM,SAAS,GACX,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,WAAW;YAAE,OAAO,UAAU,CAAC;QAE5D,0BAA0B;QAC1B,IAAM,QAAQ,GAAY,CAAC;YACvB,iBAAiB;YACjB,IAAM,QAAQ,GAAW,cAAI,CAAC,OAAO,CACjC,SAAS,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,QAAQ,CACjD,CAAC;YACF,IACI,SAAS,CAAC,KAAK,CAAC,UAAC,GAAG,IAAK,OAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAA5B,CAA4B,CAAC;gBACtD,SAAS,CAAC,KAAK,CAAC,UAAC,GAAG,IAAK,OAAA,QAAQ,KAAK,GAAG,EAAhB,CAAgB,CAAC;gBAE1C,OAAO,KAAK,CAAC;YAEjB,kCAAkC;YAClC,OAAO,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC;QAC7C,CAAC,CAAC,EAAE,CAAC;QACL,IAAI,QAAQ,KAAK,KAAK;YAAE,OAAO,UAAU,CAAC;QAE1C,kBAAkB;QAClB,IAAM,QAAQ,GACV,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/D,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,UAAU,CAAC;QAE9C,MAAM;QACN,iBAAiB;QACjB,MAAM;QACN,2BAA2B;QAC3B,IAAM,SAAS,GAAG,UACd,GAAW,EACX,UAGwC;YAExC,OAAA,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC;gBACrC,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CAC/B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EACnC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CACtC;gBACD,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CAC/B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAChC,UAAU,uBAEC,OAAO,KACV,OAAO,EAAE;wBACL,OAAO,EAAE,KAAK;wBACd,MAAM,EAAE,KAAK;wBACb,UAAU,EAAE,KAAK;qBACpB,KAEL,UAAU,CAAC,UAAU,CACxB,CAAC,IAAI,CAAC,CACV;aACJ,CAAC;QAnBF,CAmBE,CAAC;QACP,IAAM,SAAS,GAA+B,CAAC;YAC3C,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI;gBACjC,OAAO,SAAS,CAAC,IAAI,EAAE,2BAAY,CAAC,QAAQ,CAAC,CAAC;iBAC7C,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,KAAK,UAAU;gBAC5C,OAAO,SAAS,CAAC,UAAU,EAAE,uCAAkB,CAAC,QAAQ,CAAC,CAAC;YAC9D,OAAO,SAAS,CAAC,QAAQ,EAAE,mCAAgB,CAAC,QAAQ,CAAC,CAAC;QAC1D,CAAC,CAAC,EAAE,CAAC;QAEL,iCAAiC;QACjC,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAClC,UAAU,EACV,UAAU,CAAC,UAAU,EACrB,UAAU,CAAC,aAAa,EACxB,CAAC,SAAS,CAAC,CACd,CAAC;IACN,CAAC;IAED,IAAM,OAAO,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IAC/C,IAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,UAAC,GAAG;QAC9B,OAAA,cAAI,CAAC,IAAI,CACL,cAAc,EACd,SAAS,EACT,MAAM,EACN,KAAK,EACL,YAAY,EACZ,UAAG,GAAG,UAAO,CAChB;IAPD,CAOC,CACJ,CAAC;IACF,IAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,UAAC,GAAG;QAC9B,OAAA,cAAI,CAAC,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,UAAG,GAAG,QAAK,CAAC,CAAC;IAAnE,CAAmE,CACtE,CAAC;AACN,CAAC,EA1GgB,eAAe,GAAf,uBAAe,KAAf,uBAAe,QA0G/B"}
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
2
13
|
var __read = (this && this.__read) || function (o, n) {
|
|
3
14
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
15
|
if (!m) return o;
|
|
@@ -82,7 +93,7 @@ var RouteTransformer;
|
|
|
82
93
|
var parameter = function (key, programmer) {
|
|
83
94
|
return typescript_1.default.factory.createObjectLiteralExpression([
|
|
84
95
|
typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier("type"), typescript_1.default.factory.createStringLiteral(key)),
|
|
85
|
-
typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier(key), programmer(project, expression.expression)(type)),
|
|
96
|
+
typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier(key), programmer(__assign(__assign({}, project), { options: {} }), expression.expression)(type)),
|
|
86
97
|
]);
|
|
87
98
|
};
|
|
88
99
|
var stringify = (function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteTransformer.js","sourceRoot":"","sources":["../../src/transformers/RouteTransformer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RouteTransformer.js","sourceRoot":"","sources":["../../src/transformers/RouteTransformer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/executable/core.ts
CHANGED
|
@@ -6,12 +6,13 @@ const USAGE = `Wrong command has been detected. Use like below:
|
|
|
6
6
|
|
|
7
7
|
npx @nestia/core setup \\
|
|
8
8
|
--compiler (ttypescript|ts-patch) \\
|
|
9
|
-
--manager (npm|pnpm|yarn)
|
|
9
|
+
--manager (npm|pnpm|yarn) \\
|
|
10
|
+
--project {tsconfig.json file path}
|
|
10
11
|
|
|
11
12
|
- npx @nestia/core setup
|
|
12
|
-
- npx @nestia/core setup --compiler ttypescript
|
|
13
13
|
- npx @nestia/core setup --compiler ts-patch
|
|
14
|
-
- npx @nestia/core setup --manager pnpm
|
|
14
|
+
- npx @nestia/core setup --manager pnpm
|
|
15
|
+
- npx @nestia/core setup --project tsconfig.test.json`;
|
|
15
16
|
|
|
16
17
|
function halt(desc: string): never {
|
|
17
18
|
console.error(desc);
|
|
@@ -24,6 +25,8 @@ async function setup(): Promise<void> {
|
|
|
24
25
|
);
|
|
25
26
|
const manager: string = options.manager ?? "npm";
|
|
26
27
|
const compiler: string = options.compiler ?? "ttypescript";
|
|
28
|
+
const project: string = options.project ?? "tsconfig.json";
|
|
29
|
+
console.log(options);
|
|
27
30
|
|
|
28
31
|
if (
|
|
29
32
|
(compiler !== "ttypescript" && compiler !== "ts-patch") ||
|
|
@@ -31,8 +34,8 @@ async function setup(): Promise<void> {
|
|
|
31
34
|
)
|
|
32
35
|
halt(USAGE);
|
|
33
36
|
else if (compiler === "ttypescript")
|
|
34
|
-
await CoreSetupWizard.ttypescript(manager);
|
|
35
|
-
else await CoreSetupWizard.tsPatch(manager);
|
|
37
|
+
await CoreSetupWizard.ttypescript({ manager, project });
|
|
38
|
+
else await CoreSetupWizard.tsPatch({ manager, project });
|
|
36
39
|
}
|
|
37
40
|
|
|
38
41
|
async function main(): Promise<void> {
|
|
@@ -3,19 +3,41 @@ import type Comment from "comment-json";
|
|
|
3
3
|
import fs from "fs";
|
|
4
4
|
|
|
5
5
|
export namespace CoreSetupWizard {
|
|
6
|
-
export
|
|
6
|
+
export interface IArguments {
|
|
7
|
+
manager: "npm" | "pnpm" | "yarn";
|
|
8
|
+
project: string;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export async function ttypescript(
|
|
12
|
+
args: string | IArguments,
|
|
13
|
+
): Promise<void> {
|
|
14
|
+
// POLYFILL
|
|
15
|
+
if (typeof args === "string")
|
|
16
|
+
args = {
|
|
17
|
+
manager: args as "npm",
|
|
18
|
+
project: "tsconfig.json",
|
|
19
|
+
};
|
|
20
|
+
console.log("args", args);
|
|
21
|
+
|
|
7
22
|
// INSTALL
|
|
8
|
-
const pack: any = await prepare(manager);
|
|
9
|
-
add(manager)(pack)("ttypescript", true);
|
|
10
|
-
add(manager)(pack)("ts-node", true);
|
|
23
|
+
const pack: any = await prepare(args.manager);
|
|
24
|
+
add(args.manager)(pack)("ttypescript", true);
|
|
25
|
+
add(args.manager)(pack)("ts-node", true);
|
|
11
26
|
|
|
12
27
|
// TSCONFIG.JSON
|
|
13
|
-
await configure(
|
|
28
|
+
await configure(args)(pack);
|
|
14
29
|
}
|
|
15
30
|
|
|
16
|
-
export async function tsPatch(
|
|
31
|
+
export async function tsPatch(args: string | IArguments): Promise<void> {
|
|
32
|
+
// POLYFILL
|
|
33
|
+
if (typeof args === "string")
|
|
34
|
+
args = {
|
|
35
|
+
manager: args as "npm",
|
|
36
|
+
project: "tsconfig.json",
|
|
37
|
+
};
|
|
38
|
+
|
|
17
39
|
// INSTALL
|
|
18
|
-
add(manager)(await prepare(manager))("ts-patch", true);
|
|
40
|
+
add(args.manager)(await prepare(args.manager))("ts-patch", true);
|
|
19
41
|
execute("npx ts-patch install");
|
|
20
42
|
|
|
21
43
|
// PACKAGE.JSON
|
|
@@ -37,7 +59,7 @@ export namespace CoreSetupWizard {
|
|
|
37
59
|
);
|
|
38
60
|
|
|
39
61
|
// TSCONFIG.JSON
|
|
40
|
-
await configure(
|
|
62
|
+
await configure(args)(pack);
|
|
41
63
|
}
|
|
42
64
|
|
|
43
65
|
async function prepare(manager: string): Promise<any> {
|
|
@@ -54,22 +76,23 @@ export namespace CoreSetupWizard {
|
|
|
54
76
|
}
|
|
55
77
|
|
|
56
78
|
const configure =
|
|
57
|
-
(
|
|
79
|
+
(args: IArguments) =>
|
|
58
80
|
async (pack: any): Promise<void> => {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
halt(() => {})("tsconfig.json file does not exist.");
|
|
81
|
+
if (fs.existsSync(args.project) === false) {
|
|
82
|
+
if (args.project === "tsconfig.json") execute("npx tsc --init");
|
|
83
|
+
if (fs.existsSync(args.project) === false)
|
|
84
|
+
halt(() => {})(`${args.project} file does not exist.`);
|
|
64
85
|
}
|
|
65
86
|
|
|
66
87
|
const temporary: boolean = !fs.existsSync(
|
|
67
88
|
"node_modules/comment-json",
|
|
68
89
|
);
|
|
69
|
-
if (temporary === true)
|
|
90
|
+
if (temporary === true)
|
|
91
|
+
add(args.manager)(pack)("comment-json", true);
|
|
70
92
|
|
|
71
93
|
const halter: (msg: string) => never = halt(() => {
|
|
72
|
-
if (temporary === true)
|
|
94
|
+
if (temporary === true)
|
|
95
|
+
remove(args.manager)("comment-json", true);
|
|
73
96
|
});
|
|
74
97
|
|
|
75
98
|
// READ TSCONFIG FILE
|
|
@@ -77,14 +100,14 @@ export namespace CoreSetupWizard {
|
|
|
77
100
|
process.cwd() + "/node_modules/comment-json"
|
|
78
101
|
);
|
|
79
102
|
const config: Comment.CommentObject = Comment.parse(
|
|
80
|
-
await fs.promises.readFile(
|
|
103
|
+
await fs.promises.readFile(args.project, "utf8"),
|
|
81
104
|
) as Comment.CommentObject;
|
|
82
105
|
const options = config.compilerOptions as
|
|
83
106
|
| Comment.CommentObject
|
|
84
107
|
| undefined;
|
|
85
108
|
if (options === undefined)
|
|
86
109
|
halter(
|
|
87
|
-
|
|
110
|
+
`${args.project} file does not have "compilerOptions" property.`,
|
|
88
111
|
);
|
|
89
112
|
|
|
90
113
|
const plugins: Comment.CommentArray<Comment.CommentObject> =
|
|
@@ -96,7 +119,7 @@ export namespace CoreSetupWizard {
|
|
|
96
119
|
return (options.plugins = [] as any);
|
|
97
120
|
else if (!Array.isArray(plugins))
|
|
98
121
|
halter(
|
|
99
|
-
`"plugins" property of
|
|
122
|
+
`"plugins" property of ${args.project} must be array type.`,
|
|
100
123
|
);
|
|
101
124
|
return plugins;
|
|
102
125
|
})();
|
|
@@ -118,7 +141,7 @@ export namespace CoreSetupWizard {
|
|
|
118
141
|
|
|
119
142
|
if (strict === true && core !== undefined && typia !== undefined) {
|
|
120
143
|
console.log(
|
|
121
|
-
|
|
144
|
+
`you've been already configured the ${args.project} file.`,
|
|
122
145
|
);
|
|
123
146
|
} else {
|
|
124
147
|
// DO CONFIGURE
|
|
@@ -155,11 +178,11 @@ export namespace CoreSetupWizard {
|
|
|
155
178
|
}`) as Comment.CommentObject,
|
|
156
179
|
);
|
|
157
180
|
await fs.promises.writeFile(
|
|
158
|
-
|
|
181
|
+
args.project,
|
|
159
182
|
Comment.stringify(config, null, 2),
|
|
160
183
|
);
|
|
161
184
|
}
|
|
162
|
-
if (temporary === true) remove(manager)("comment-json", false);
|
|
185
|
+
if (temporary === true) remove(args.manager)("comment-json", false);
|
|
163
186
|
};
|
|
164
187
|
}
|
|
165
188
|
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export interface INestiaTransformOptions extends ITransformOptions {
|
|
1
|
+
export interface INestiaTransformOptions {
|
|
4
2
|
validate?: "assert" | "is" | "validate";
|
|
5
3
|
stringify?: "stringify" | "assert" | "is" | "validate" | null;
|
|
6
4
|
}
|
package/src/transform.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
|
-
import { IProject } from "typia/lib/transformers/IProject";
|
|
3
2
|
|
|
4
3
|
import { INestiaTransformOptions } from "./options/INestiaTransformOptions";
|
|
4
|
+
import { INestiaTransformProject } from "./options/INestiaTransformProject";
|
|
5
5
|
import { FileTransformer } from "./transformers/FileTransformer";
|
|
6
6
|
|
|
7
7
|
export default function transform(
|
|
8
8
|
program: ts.Program,
|
|
9
9
|
options?: INestiaTransformOptions,
|
|
10
10
|
): ts.TransformerFactory<ts.SourceFile> {
|
|
11
|
-
const project:
|
|
11
|
+
const project: INestiaTransformProject = {
|
|
12
12
|
program,
|
|
13
13
|
compilerOptions: program.getCompilerOptions(),
|
|
14
14
|
checker: program.getTypeChecker(),
|
|
@@ -69,7 +69,17 @@ export namespace BodyTransformer {
|
|
|
69
69
|
),
|
|
70
70
|
ts.factory.createPropertyAssignment(
|
|
71
71
|
ts.factory.createIdentifier(key),
|
|
72
|
-
programmer(
|
|
72
|
+
programmer(
|
|
73
|
+
{
|
|
74
|
+
...project,
|
|
75
|
+
options: {
|
|
76
|
+
numeric: false,
|
|
77
|
+
finite: false,
|
|
78
|
+
functional: false,
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
expression.expression,
|
|
82
|
+
)(type),
|
|
73
83
|
),
|
|
74
84
|
]);
|
|
75
85
|
const validator: ts.ObjectLiteralExpression = (() => {
|
|
@@ -80,7 +80,13 @@ export namespace RouteTransformer {
|
|
|
80
80
|
),
|
|
81
81
|
ts.factory.createPropertyAssignment(
|
|
82
82
|
ts.factory.createIdentifier(key),
|
|
83
|
-
programmer(
|
|
83
|
+
programmer(
|
|
84
|
+
{
|
|
85
|
+
...project,
|
|
86
|
+
options: {}, // use default option
|
|
87
|
+
},
|
|
88
|
+
expression.expression,
|
|
89
|
+
)(type),
|
|
84
90
|
),
|
|
85
91
|
]);
|
|
86
92
|
const stringify: ts.Expression = (() => {
|