typia 3.4.1 → 3.4.3
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/internal/TypiaSetupWizard.js +51 -35
- package/lib/executable/internal/TypiaSetupWizard.js.map +1 -1
- package/lib/executable/typia.d.ts +1 -0
- package/lib/executable/typia.js +1 -0
- package/lib/executable/typia.js.map +1 -1
- package/package.json +1 -1
- package/src/executable/internal/TypiaSetupWizard.ts +40 -24
- package/src/executable/typia.ts +1 -0
|
@@ -69,14 +69,16 @@ var TypiaSetupWizard;
|
|
|
69
69
|
(function (TypiaSetupWizard) {
|
|
70
70
|
function ttypescript() {
|
|
71
71
|
return __awaiter(this, void 0, void 0, function () {
|
|
72
|
+
var pack;
|
|
72
73
|
return __generator(this, function (_a) {
|
|
73
74
|
switch (_a.label) {
|
|
74
|
-
case 0:
|
|
75
|
-
prepare();
|
|
76
|
-
install("ttypescript", "--save-dev");
|
|
77
|
-
install("ts-node", "--save-dev");
|
|
78
|
-
return [4, configure()];
|
|
75
|
+
case 0: return [4, prepare()];
|
|
79
76
|
case 1:
|
|
77
|
+
pack = _a.sent();
|
|
78
|
+
install(pack, "ttypescript", "--save-dev");
|
|
79
|
+
install(pack, "ts-node", "--save-dev");
|
|
80
|
+
return [4, configure()];
|
|
81
|
+
case 2:
|
|
80
82
|
_a.sent();
|
|
81
83
|
return [2];
|
|
82
84
|
}
|
|
@@ -86,17 +88,14 @@ var TypiaSetupWizard;
|
|
|
86
88
|
TypiaSetupWizard.ttypescript = ttypescript;
|
|
87
89
|
function tsPatch() {
|
|
88
90
|
return __awaiter(this, void 0, void 0, function () {
|
|
89
|
-
var pack
|
|
90
|
-
return __generator(this, function (
|
|
91
|
-
switch (
|
|
92
|
-
case 0:
|
|
93
|
-
prepare();
|
|
94
|
-
install("ts-patch", "--save-dev");
|
|
95
|
-
execute("npx ts-patch install");
|
|
96
|
-
_b = (_a = JSON).parse;
|
|
97
|
-
return [4, fs_1.default.promises.readFile("package.json", "utf8")];
|
|
91
|
+
var pack;
|
|
92
|
+
return __generator(this, function (_a) {
|
|
93
|
+
switch (_a.label) {
|
|
94
|
+
case 0: return [4, prepare()];
|
|
98
95
|
case 1:
|
|
99
|
-
pack =
|
|
96
|
+
pack = _a.sent();
|
|
97
|
+
install(pack, "ts-patch", "--save-dev");
|
|
98
|
+
execute("npx ts-patch install");
|
|
100
99
|
if (!pack.scripts || typeof pack.scripts !== "object")
|
|
101
100
|
pack.scripts = {};
|
|
102
101
|
if (typeof pack.scripts.prepare === "string") {
|
|
@@ -108,10 +107,10 @@ var TypiaSetupWizard;
|
|
|
108
107
|
pack.scripts.prepare = "ts-patch install";
|
|
109
108
|
return [4, fs_1.default.promises.writeFile("package.json", JSON.stringify(pack, null, 2), "utf8")];
|
|
110
109
|
case 2:
|
|
111
|
-
|
|
110
|
+
_a.sent();
|
|
112
111
|
return [4, configure()];
|
|
113
112
|
case 3:
|
|
114
|
-
|
|
113
|
+
_a.sent();
|
|
115
114
|
return [2];
|
|
116
115
|
}
|
|
117
116
|
});
|
|
@@ -120,18 +119,26 @@ var TypiaSetupWizard;
|
|
|
120
119
|
TypiaSetupWizard.tsPatch = tsPatch;
|
|
121
120
|
function prepare() {
|
|
122
121
|
return __awaiter(this, void 0, void 0, function () {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
122
|
+
var pack, _a, _b;
|
|
123
|
+
return __generator(this, function (_c) {
|
|
124
|
+
switch (_c.label) {
|
|
125
|
+
case 0:
|
|
126
|
+
if (fs_1.default.existsSync("package.json") === false)
|
|
127
|
+
halt(function () { })("make package.json file or move to it.");
|
|
128
|
+
_b = (_a = JSON).parse;
|
|
129
|
+
return [4, fs_1.default.promises.readFile("package.json", "utf8")];
|
|
130
|
+
case 1:
|
|
131
|
+
pack = _b.apply(_a, [_c.sent()]);
|
|
132
|
+
install(pack, "typia", "--save");
|
|
133
|
+
install(pack, "typescript", "--save-dev");
|
|
134
|
+
return [2];
|
|
135
|
+
}
|
|
129
136
|
});
|
|
130
137
|
});
|
|
131
138
|
}
|
|
132
139
|
function configure() {
|
|
133
140
|
return __awaiter(this, void 0, void 0, function () {
|
|
134
|
-
var temporary, Comment, config, _a, _b, options, plugins, strict, oldbie;
|
|
141
|
+
var temporary, halter, Comment, config, _a, _b, options, plugins, strict, oldbie;
|
|
135
142
|
return __generator(this, function (_c) {
|
|
136
143
|
var _d;
|
|
137
144
|
switch (_c.label) {
|
|
@@ -139,11 +146,15 @@ var TypiaSetupWizard;
|
|
|
139
146
|
if (fs_1.default.existsSync("tsconfig.json") === false) {
|
|
140
147
|
execute("npx tsc --init");
|
|
141
148
|
if (fs_1.default.existsSync("tsconfig.json") === false)
|
|
142
|
-
halt("tsconfig.json file does not exist.");
|
|
149
|
+
halt(function () { })("tsconfig.json file does not exist.");
|
|
143
150
|
}
|
|
144
151
|
temporary = !fs_1.default.existsSync("node_modules/comment-json");
|
|
145
152
|
if (temporary === true)
|
|
146
153
|
child_process_1.default.execSync("npm install --save-dev comment-json");
|
|
154
|
+
halter = halt(function () {
|
|
155
|
+
if (temporary === true)
|
|
156
|
+
child_process_1.default.execSync("npm uninstall --save-dev comment-json");
|
|
157
|
+
});
|
|
147
158
|
return [4, (_d = process.cwd() + "/node_modules/comment-json", Promise.resolve().then(function () { return __importStar(require(_d)); }))];
|
|
148
159
|
case 1:
|
|
149
160
|
Comment = _c.sent();
|
|
@@ -153,13 +164,13 @@ var TypiaSetupWizard;
|
|
|
153
164
|
config = _b.apply(_a, [_c.sent()]);
|
|
154
165
|
options = config.compilerOptions;
|
|
155
166
|
if (options === undefined)
|
|
156
|
-
|
|
167
|
+
halter("tsconfig.json file does not have \"compilerOptions\" property.");
|
|
157
168
|
plugins = (function () {
|
|
158
169
|
var plugins = options.plugins;
|
|
159
170
|
if (plugins === undefined)
|
|
160
171
|
return (options.plugins = []);
|
|
161
172
|
else if (!Array.isArray(plugins))
|
|
162
|
-
|
|
173
|
+
halter("\"plugins\" property of tsconfig.json must be array type.");
|
|
163
174
|
return plugins;
|
|
164
175
|
})();
|
|
165
176
|
strict = options.strict === true;
|
|
@@ -177,22 +188,27 @@ var TypiaSetupWizard;
|
|
|
177
188
|
return [4, fs_1.default.promises.writeFile("tsconfig.json", Comment.stringify(config, null, 2))];
|
|
178
189
|
case 3:
|
|
179
190
|
_c.sent();
|
|
180
|
-
if (temporary === true)
|
|
181
|
-
child_process_1.default.execSync("npm uninstall --save-dev comment-json");
|
|
182
191
|
return [2];
|
|
183
192
|
}
|
|
184
193
|
});
|
|
185
194
|
});
|
|
186
195
|
}
|
|
187
196
|
})(TypiaSetupWizard = exports.TypiaSetupWizard || (exports.TypiaSetupWizard = {}));
|
|
188
|
-
function install(modulo, mode) {
|
|
189
|
-
|
|
197
|
+
function install(pack, modulo, mode) {
|
|
198
|
+
var exists = (mode === "--save"
|
|
199
|
+
? pack.dependencies[modulo] !== undefined
|
|
200
|
+
: pack.devDependencies[modulo] !== undefined) &&
|
|
201
|
+
fs_1.default.existsSync("node_modules/" + modulo);
|
|
202
|
+
if (exists === false)
|
|
190
203
|
execute("npm install ".concat(mode, " ").concat(modulo));
|
|
191
204
|
}
|
|
192
|
-
function
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
205
|
+
var halt = function (closer) {
|
|
206
|
+
return function (desc) {
|
|
207
|
+
console.error(desc);
|
|
208
|
+
closer();
|
|
209
|
+
process.exit(-1);
|
|
210
|
+
};
|
|
211
|
+
};
|
|
196
212
|
function execute(command) {
|
|
197
213
|
console.log(command);
|
|
198
214
|
child_process_1.default.execSync(command, { stdio: "inherit" });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypiaSetupWizard.js","sourceRoot":"","sources":["../../../src/executable/internal/TypiaSetupWizard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gEAA+B;AAE/B,0CAAoB;AAEpB,IAAiB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"TypiaSetupWizard.js","sourceRoot":"","sources":["../../../src/executable/internal/TypiaSetupWizard.ts"],"names":[],"mappings":"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"}
|
package/lib/executable/typia.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typia.js","sourceRoot":"","sources":["../../src/executable/typia.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"typia.js","sourceRoot":"","sources":["../../src/executable/typia.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,gEAA+D;AAE/D,IAAM,KAAK,GAAG,6JAIe,CAAC;AAE9B,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,QAAQ,GAAW,MAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,mCAAI,aAAa,CAAC;yBACtD,CAAA,QAAQ,KAAK,aAAa,IAAI,QAAQ,KAAK,UAAU,CAAA,EAArD,cAAqD;oBACrD,IAAI,CACA,gEAAgE;wBAC5D,MAAM;wBACN,KAAK,CACZ,CAAC;;;yBACG,CAAA,QAAQ,KAAK,aAAa,CAAA,EAA1B,cAA0B;oBAAE,WAAM,mCAAgB,CAAC,WAAW,EAAE,EAAA;;oBAApC,SAAoC,CAAC;;wBACrE,WAAM,mCAAgB,CAAC,OAAO,EAAE,EAAA;;oBAAhC,SAAgC,CAAC;;;;;;CACzC;AAED,SAAe,IAAI;;;;;;oBACT,IAAI,GAAuB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;yBAC7C,CAAA,IAAI,KAAK,SAAS,CAAA,EAAlB,cAAkB;oBAAE,IAAI,CAAC,KAAK,CAAC,CAAC;;;yBAC3B,CAAA,IAAI,KAAK,OAAO,CAAA,EAAhB,cAAgB;oBAAE,WAAM,KAAK,EAAE,EAAA;;oBAAb,SAAa,CAAC;;;;;;CAC5C;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"}
|
package/package.json
CHANGED
|
@@ -5,9 +5,9 @@ import fs from "fs";
|
|
|
5
5
|
export namespace TypiaSetupWizard {
|
|
6
6
|
export async function ttypescript(): Promise<void> {
|
|
7
7
|
// INSTALL
|
|
8
|
-
prepare();
|
|
9
|
-
install("ttypescript", "--save-dev");
|
|
10
|
-
install("ts-node", "--save-dev");
|
|
8
|
+
const pack: any = await prepare();
|
|
9
|
+
install(pack, "ttypescript", "--save-dev");
|
|
10
|
+
install(pack, "ts-node", "--save-dev");
|
|
11
11
|
|
|
12
12
|
// TSCONFIG.JSON
|
|
13
13
|
await configure();
|
|
@@ -15,14 +15,11 @@ export namespace TypiaSetupWizard {
|
|
|
15
15
|
|
|
16
16
|
export async function tsPatch(): Promise<void> {
|
|
17
17
|
// INSTALL
|
|
18
|
-
prepare();
|
|
19
|
-
install("ts-patch", "--save-dev");
|
|
18
|
+
const pack: any = await prepare();
|
|
19
|
+
install(pack, "ts-patch", "--save-dev");
|
|
20
20
|
execute("npx ts-patch install");
|
|
21
21
|
|
|
22
22
|
// PACKAGE.JSON
|
|
23
|
-
const pack: any = JSON.parse(
|
|
24
|
-
await fs.promises.readFile("package.json", "utf8"),
|
|
25
|
-
);
|
|
26
23
|
if (!pack.scripts || typeof pack.scripts !== "object")
|
|
27
24
|
pack.scripts = {};
|
|
28
25
|
if (typeof pack.scripts.prepare === "string") {
|
|
@@ -41,11 +38,14 @@ export namespace TypiaSetupWizard {
|
|
|
41
38
|
await configure();
|
|
42
39
|
}
|
|
43
40
|
|
|
44
|
-
async function prepare(): Promise<
|
|
41
|
+
async function prepare(): Promise<any> {
|
|
45
42
|
if (fs.existsSync("package.json") === false)
|
|
46
|
-
halt("make package.json file or move to it.");
|
|
47
|
-
|
|
48
|
-
|
|
43
|
+
halt(() => {})("make package.json file or move to it.");
|
|
44
|
+
const pack: any = JSON.parse(
|
|
45
|
+
await fs.promises.readFile("package.json", "utf8"),
|
|
46
|
+
);
|
|
47
|
+
install(pack, "typia", "--save");
|
|
48
|
+
install(pack, "typescript", "--save-dev");
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
async function configure(): Promise<void> {
|
|
@@ -53,13 +53,18 @@ export namespace TypiaSetupWizard {
|
|
|
53
53
|
if (fs.existsSync("tsconfig.json") === false) {
|
|
54
54
|
execute("npx tsc --init");
|
|
55
55
|
if (fs.existsSync("tsconfig.json") === false)
|
|
56
|
-
halt("tsconfig.json file does not exist.");
|
|
56
|
+
halt(() => {})("tsconfig.json file does not exist.");
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
const temporary: boolean = !fs.existsSync("node_modules/comment-json");
|
|
60
60
|
if (temporary === true)
|
|
61
61
|
cp.execSync("npm install --save-dev comment-json");
|
|
62
62
|
|
|
63
|
+
const halter: (msg: string) => never = halt(() => {
|
|
64
|
+
if (temporary === true)
|
|
65
|
+
cp.execSync("npm uninstall --save-dev comment-json");
|
|
66
|
+
});
|
|
67
|
+
|
|
63
68
|
// READ TSCONFIG FILE
|
|
64
69
|
const Comment: typeof import("comment-json") = await import(
|
|
65
70
|
process.cwd() + "/node_modules/comment-json"
|
|
@@ -71,7 +76,7 @@ export namespace TypiaSetupWizard {
|
|
|
71
76
|
| Comment.CommentObject
|
|
72
77
|
| undefined;
|
|
73
78
|
if (options === undefined)
|
|
74
|
-
|
|
79
|
+
halter(
|
|
75
80
|
`tsconfig.json file does not have "compilerOptions" property.`,
|
|
76
81
|
);
|
|
77
82
|
|
|
@@ -81,7 +86,9 @@ export namespace TypiaSetupWizard {
|
|
|
81
86
|
| undefined;
|
|
82
87
|
if (plugins === undefined) return (options.plugins = [] as any);
|
|
83
88
|
else if (!Array.isArray(plugins))
|
|
84
|
-
|
|
89
|
+
halter(
|
|
90
|
+
`"plugins" property of tsconfig.json must be array type.`,
|
|
91
|
+
);
|
|
85
92
|
return plugins;
|
|
86
93
|
})();
|
|
87
94
|
|
|
@@ -109,20 +116,29 @@ export namespace TypiaSetupWizard {
|
|
|
109
116
|
"tsconfig.json",
|
|
110
117
|
Comment.stringify(config, null, 2),
|
|
111
118
|
);
|
|
112
|
-
if (temporary === true)
|
|
113
|
-
cp.execSync("npm uninstall --save-dev comment-json");
|
|
114
119
|
}
|
|
115
120
|
}
|
|
116
121
|
|
|
117
|
-
function install(
|
|
118
|
-
|
|
119
|
-
|
|
122
|
+
function install(
|
|
123
|
+
pack: any,
|
|
124
|
+
modulo: string,
|
|
125
|
+
mode: "--save" | "--save-dev",
|
|
126
|
+
): void {
|
|
127
|
+
const exists: boolean =
|
|
128
|
+
(mode === "--save"
|
|
129
|
+
? pack.dependencies[modulo] !== undefined
|
|
130
|
+
: pack.devDependencies[modulo] !== undefined) &&
|
|
131
|
+
fs.existsSync("node_modules/" + modulo);
|
|
132
|
+
if (exists === false) execute(`npm install ${mode} ${modulo}`);
|
|
120
133
|
}
|
|
121
134
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
135
|
+
const halt =
|
|
136
|
+
(closer: () => any) =>
|
|
137
|
+
(desc: string): never => {
|
|
138
|
+
console.error(desc);
|
|
139
|
+
closer();
|
|
140
|
+
process.exit(-1);
|
|
141
|
+
};
|
|
126
142
|
|
|
127
143
|
function execute(command: string): void {
|
|
128
144
|
console.log(command);
|
package/src/executable/typia.ts
CHANGED