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.
@@ -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, _a, _b;
90
- return __generator(this, function (_c) {
91
- switch (_c.label) {
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 = _b.apply(_a, [_c.sent()]);
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
- _c.sent();
110
+ _a.sent();
112
111
  return [4, configure()];
113
112
  case 3:
114
- _c.sent();
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
- return __generator(this, function (_a) {
124
- if (fs_1.default.existsSync("package.json") === false)
125
- halt("make package.json file or move to it.");
126
- install("typia", "--save");
127
- install("typescript", "--save-dev");
128
- return [2];
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
- halt("tsconfig.json file does not have \"compilerOptions\" property.");
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
- halt("\"plugins\" property of tsconfig.json must be array type.");
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
- if (fs_1.default.existsSync("node_modules/" + modulo) === false)
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 halt(desc) {
193
- console.error(desc);
194
- process.exit(-1);
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":"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"}
1
+ {"version":3,"file":"TypiaSetupWizard.js","sourceRoot":"","sources":["../../../src/executable/internal/TypiaSetupWizard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gEAA+B;AAE/B,0CAAoB;AAEpB,IAAiB,gBAAgB,CAmHhC;AAnHD,WAAiB,gBAAgB;IAC7B,SAAsB,WAAW;;;;;4BAEX,WAAM,OAAO,EAAE,EAAA;;wBAA3B,IAAI,GAAQ,SAAe;wBACjC,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;wBAC3C,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;wBAGvC,WAAM,SAAS,EAAE,EAAA;;wBAAjB,SAAiB,CAAC;;;;;KACrB;IARqB,4BAAW,cAQhC,CAAA;IAED,SAAsB,OAAO;;;;;4BAEP,WAAM,OAAO,EAAE,EAAA;;wBAA3B,IAAI,GAAQ,SAAe;wBACjC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;wBACxC,OAAO,CAAC,sBAAsB,CAAC,CAAC;wBAGhC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;4BACjD,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;wBACtB,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE;4BAC1C,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;gCACvD,IAAI,CAAC,OAAO,CAAC,OAAO;oCAChB,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;yBACzD;;4BAAM,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,kBAAkB,CAAC;wBAEjD,WAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CACvB,cAAc,EACd,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAC7B,MAAM,CACT,EAAA;;wBAJD,SAIC,CAAC;wBAGF,WAAM,SAAS,EAAE,EAAA;;wBAAjB,SAAiB,CAAC;;;;;KACrB;IAvBqB,wBAAO,UAuB5B,CAAA;IAED,SAAe,OAAO;;;;;;wBAClB,IAAI,YAAE,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,KAAK;4BACvC,IAAI,CAAC,cAAO,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC;wBAC1C,KAAA,CAAA,KAAA,IAAI,CAAA,CAAC,KAAK,CAAA;wBACxB,WAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,EAAA;;wBADhD,IAAI,GAAQ,cACd,SAAkD,EACrD;wBACD,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;wBACjC,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;;;;;KAC7C;IAED,SAAe,SAAS;;;;;;;wBAEpB,IAAI,YAAE,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,KAAK,EAAE;4BAC1C,OAAO,CAAC,gBAAgB,CAAC,CAAC;4BAC1B,IAAI,YAAE,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,KAAK;gCACxC,IAAI,CAAC,cAAO,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC;yBAC5D;wBAEK,SAAS,GAAY,CAAC,YAAE,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC;wBACvE,IAAI,SAAS,KAAK,IAAI;4BAClB,uBAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC,CAAC;wBAEjD,MAAM,GAA2B,IAAI,CAAC;4BACxC,IAAI,SAAS,KAAK,IAAI;gCAClB,uBAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC,CAAC;wBAC7D,CAAC,CAAC,CAAC;wBAG4C,iBAC3C,OAAO,CAAC,GAAG,EAAE,GAAG,4BAA4B,8EAC/C;;wBAFK,OAAO,GAAkC,SAE9C;wBACqC,KAAA,CAAA,KAAA,OAAO,CAAA,CAAC,KAAK,CAAA;wBAC/C,WAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,EAAA;;wBADjD,MAAM,GAA0B,cAClC,SAAmD,EAC7B;wBACpB,OAAO,GAAG,MAAM,CAAC,eAER,CAAC;wBAChB,IAAI,OAAO,KAAK,SAAS;4BACrB,MAAM,CACF,gEAA8D,CACjE,CAAC;wBAEA,OAAO,GAAgD,CAAC;4BAC1D,IAAM,OAAO,GAAG,OAAO,CAAC,OAET,CAAC;4BAChB,IAAI,OAAO,KAAK,SAAS;gCAAE,OAAO,CAAC,OAAO,CAAC,OAAO,GAAG,EAAS,CAAC,CAAC;iCAC3D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;gCAC5B,MAAM,CACF,2DAAyD,CAC5D,CAAC;4BACN,OAAO,OAAO,CAAC;wBACnB,CAAC,CAAC,EAAE,CAAC;wBAGC,MAAM,GAAY,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC;wBAC1C,MAAM,GAAsC,OAAO,CAAC,IAAI,CAC1D,UAAC,CAAC;4BACE,OAAA,OAAO,CAAC,KAAK,QAAQ;gCACrB,CAAC,KAAK,IAAI;gCACV,CAAC,CAAC,SAAS,KAAK,qBAAqB;wBAFrC,CAEqC,CAC5C,CAAC;wBAEF,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE;4BACzC,OAAO,CAAC,GAAG,CACP,wDAAwD,CAC3D,CAAC;4BACF,WAAO;yBACV;wBAGD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;wBACtB,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAS,CAAC,CAAC;wBAE1D,WAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CACvB,eAAe,EACf,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CACrC,EAAA;;wBAHD,SAGC,CAAC;;;;;KACL;AACL,CAAC,EAnHgB,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAmHhC;AAED,SAAS,OAAO,CACZ,IAAS,EACT,MAAc,EACd,IAA6B;IAE7B,IAAM,MAAM,GACR,CAAC,IAAI,KAAK,QAAQ;QACd,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,SAAS;QACzC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC;QACjD,YAAE,CAAC,UAAU,CAAC,eAAe,GAAG,MAAM,CAAC,CAAC;IAC5C,IAAI,MAAM,KAAK,KAAK;QAAE,OAAO,CAAC,sBAAe,IAAI,cAAI,MAAM,CAAE,CAAC,CAAC;AACnE,CAAC;AAED,IAAM,IAAI,GACN,UAAC,MAAiB;IAClB,OAAA,UAAC,IAAY;QACT,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpB,MAAM,EAAE,CAAC;QACT,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;AAJD,CAIC,CAAC;AAEN,SAAS,OAAO,CAAC,OAAe;IAC5B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrB,uBAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;AAC/C,CAAC"}
@@ -1 +1,2 @@
1
+ #!/usr/bin/env node
1
2
  export {};
@@ -1,3 +1,4 @@
1
+ #!/usr/bin/env node
1
2
  "use strict";
2
3
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
4
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
@@ -1 +1 @@
1
- {"version":3,"file":"typia.js","sourceRoot":"","sources":["../../src/executable/typia.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,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"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typia",
3
- "version": "3.4.1",
3
+ "version": "3.4.3",
4
4
  "description": "Runtime type checkers and 5x faster JSON.stringify() function",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -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<void> {
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
- install("typia", "--save");
48
- install("typescript", "--save-dev");
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
- halt(
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
- halt(`"plugins" property of tsconfig.json must be array type.`);
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(modulo: string, mode: "--save" | "--save-dev"): void {
118
- if (fs.existsSync("node_modules/" + modulo) === false)
119
- execute(`npm install ${mode} ${modulo}`);
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
- function halt(desc: string): never {
123
- console.error(desc);
124
- process.exit(-1);
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);
@@ -1,3 +1,4 @@
1
+ #!/usr/bin/env node
1
2
  import { TypiaSetupWizard } from "./internal/TypiaSetupWizard";
2
3
 
3
4
  const USAGE = `Usage: npx typia setup (transformer?: "ttypescript" | "ts-patch")