nestia 4.4.0-dev.20230607 → 4.4.0
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/bin/NestiaSetupWizard.d.ts +3 -0
- package/bin/NestiaSetupWizard.js +73 -0
- package/bin/NestiaSetupWizard.js.map +1 -0
- package/bin/NestiaStarter.d.ts +3 -0
- package/bin/NestiaStarter.js +48 -0
- package/bin/NestiaStarter.js.map +1 -0
- package/bin/index.d.ts +4 -0
- package/bin/index.js +90 -0
- package/bin/index.js.map +1 -0
- package/bin/internal/ArgumentParser.d.ts +8 -0
- package/bin/internal/ArgumentParser.js +89 -0
- package/bin/internal/ArgumentParser.js.map +1 -0
- package/bin/internal/CommandExecutor.d.ts +3 -0
- package/bin/internal/CommandExecutor.js +16 -0
- package/bin/internal/CommandExecutor.js.map +1 -0
- package/bin/internal/FileRetriever.d.ts +4 -0
- package/bin/internal/FileRetriever.js +28 -0
- package/bin/internal/FileRetriever.js.map +1 -0
- package/bin/internal/PackageManager.d.ts +22 -0
- package/bin/internal/PackageManager.js +60 -0
- package/bin/internal/PackageManager.js.map +1 -0
- package/bin/internal/PluginConfigurator.d.ts +4 -0
- package/bin/internal/PluginConfigurator.js +89 -0
- package/bin/internal/PluginConfigurator.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,73 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.NestiaSetupWizard = void 0;
|
|
13
|
+
const ArgumentParser_1 = require("./internal/ArgumentParser");
|
|
14
|
+
const CommandExecutor_1 = require("./internal/CommandExecutor");
|
|
15
|
+
const PackageManager_1 = require("./internal/PackageManager");
|
|
16
|
+
const PluginConfigurator_1 = require("./internal/PluginConfigurator");
|
|
17
|
+
var NestiaSetupWizard;
|
|
18
|
+
(function (NestiaSetupWizard) {
|
|
19
|
+
function setup() {
|
|
20
|
+
var _a;
|
|
21
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
+
console.log("----------------------------------------");
|
|
23
|
+
console.log(" Nestia Setup Wizard");
|
|
24
|
+
console.log("----------------------------------------");
|
|
25
|
+
// PREPARE ASSETS
|
|
26
|
+
const pack = yield PackageManager_1.PackageManager.mount();
|
|
27
|
+
const args = yield ArgumentParser_1.ArgumentParser.parse(pack);
|
|
28
|
+
// INSTALL TYPESCRIPT COMPILERS
|
|
29
|
+
pack.install({ dev: true, modulo: "ts-patch", version: "latest" });
|
|
30
|
+
pack.install({ dev: true, modulo: "ts-node", version: "latest" });
|
|
31
|
+
pack.install({ dev: true, modulo: "typescript", version: "latest" });
|
|
32
|
+
(_a = args.project) !== null && _a !== void 0 ? _a : (args.project = (() => {
|
|
33
|
+
const runner = pack.manager === "npm" ? "npx" : pack.manager;
|
|
34
|
+
CommandExecutor_1.CommandExecutor.run(`${runner} tsc --init`);
|
|
35
|
+
return (args.project = "tsconfig.json");
|
|
36
|
+
})());
|
|
37
|
+
// SETUP TRANSFORMER
|
|
38
|
+
yield pack.save((data) => {
|
|
39
|
+
var _a;
|
|
40
|
+
// COMPOSE POSTINSTALL COMMAND
|
|
41
|
+
(_a = data.scripts) !== null && _a !== void 0 ? _a : (data.scripts = {});
|
|
42
|
+
if (typeof data.scripts.postinstall === "string" &&
|
|
43
|
+
data.scripts.postinstall.trim().length) {
|
|
44
|
+
if (data.scripts.postinstall.indexOf("ts-patch install") === -1)
|
|
45
|
+
data.scripts.postinstall =
|
|
46
|
+
"ts-patch install && " + data.scripts.postinstall;
|
|
47
|
+
}
|
|
48
|
+
else
|
|
49
|
+
data.scripts.postinstall = "ts-patch install";
|
|
50
|
+
// FOR OLDER VERSIONS
|
|
51
|
+
if (typeof data.scripts.prepare === "string") {
|
|
52
|
+
data.scripts.prepare = data.scripts.prepare
|
|
53
|
+
.split("&&")
|
|
54
|
+
.map((str) => str.trim())
|
|
55
|
+
.filter((str) => str.indexOf("ts-patch install") === -1)
|
|
56
|
+
.join(" && ");
|
|
57
|
+
if (data.scripts.prepare.length === 0)
|
|
58
|
+
delete data.scripts.prepare;
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
CommandExecutor_1.CommandExecutor.run(`${pack.manager} run postinstall`);
|
|
62
|
+
// INSTALL AND CONFIGURE TYPIA + NESTIA
|
|
63
|
+
pack.install({ dev: false, modulo: "typia", version: "latest" });
|
|
64
|
+
pack.install({ dev: false, modulo: "@nestia/core", version: "latest" });
|
|
65
|
+
pack.install({ dev: true, modulo: "@nestia/e2e", version: "latest" });
|
|
66
|
+
pack.install({ dev: true, modulo: "@nestia/sdk", version: "latest" });
|
|
67
|
+
pack.install({ dev: true, modulo: "nestia", version: "latest" });
|
|
68
|
+
yield PluginConfigurator_1.PluginConfigurator.configure(args);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
NestiaSetupWizard.setup = setup;
|
|
72
|
+
})(NestiaSetupWizard || (exports.NestiaSetupWizard = NestiaSetupWizard = {}));
|
|
73
|
+
//# sourceMappingURL=NestiaSetupWizard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NestiaSetupWizard.js","sourceRoot":"","sources":["../src/NestiaSetupWizard.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.NestiaStarter = void 0;
|
|
16
|
+
const child_process_1 = __importDefault(require("child_process"));
|
|
17
|
+
const fs_1 = __importDefault(require("fs"));
|
|
18
|
+
var NestiaStarter;
|
|
19
|
+
(function (NestiaStarter) {
|
|
20
|
+
NestiaStarter.start = (halter) => (argv) => __awaiter(this, void 0, void 0, function* () {
|
|
21
|
+
// VALIDATION
|
|
22
|
+
const dest = argv[0];
|
|
23
|
+
if (dest === undefined)
|
|
24
|
+
halter();
|
|
25
|
+
else if (fs_1.default.existsSync(dest) === true)
|
|
26
|
+
halter("The target directory already exists.");
|
|
27
|
+
console.log("-----------------------------------------");
|
|
28
|
+
console.log(" Nestia Starter Kit");
|
|
29
|
+
console.log("-----------------------------------------");
|
|
30
|
+
// COPY PROJECTS
|
|
31
|
+
execute(`git clone https://github.com/samchon/nestia-template ${dest}`);
|
|
32
|
+
console.log(`cd "${dest}"`);
|
|
33
|
+
process.chdir(dest);
|
|
34
|
+
// INSTALL DEPENDENCIES
|
|
35
|
+
execute("npm install");
|
|
36
|
+
// BUILD TYPESCRIPT
|
|
37
|
+
execute("npm run build");
|
|
38
|
+
// DO TEST
|
|
39
|
+
execute("npm run test");
|
|
40
|
+
// REMOVE .GIT DIRECTORY
|
|
41
|
+
child_process_1.default.execSync("npx rimraf .git");
|
|
42
|
+
});
|
|
43
|
+
function execute(command) {
|
|
44
|
+
console.log(command);
|
|
45
|
+
child_process_1.default.execSync(command, { stdio: "inherit" });
|
|
46
|
+
}
|
|
47
|
+
})(NestiaStarter || (exports.NestiaStarter = NestiaStarter = {}));
|
|
48
|
+
//# sourceMappingURL=NestiaStarter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NestiaStarter.js","sourceRoot":"","sources":["../src/NestiaStarter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kEAA+B;AAC/B,4CAAoB;AAEpB,IAAiB,aAAa,CAsC7B;AAtCD,WAAiB,aAAa;IACb,mBAAK,GACd,CAAC,MAA+B,EAAE,EAAE,CACpC,CAAO,IAAc,EAAiB,EAAE;QACpC,aAAa;QACb,MAAM,IAAI,GAAuB,IAAI,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,EAAE,CAAC;aAC5B,IAAI,YAAE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,IAAI;YACjC,MAAM,CAAC,sCAAsC,CAAC,CAAC;QAEnD,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QAEzD,gBAAgB;QAChB,OAAO,CACH,wDAAwD,IAAI,EAAE,CACjE,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEpB,uBAAuB;QACvB,OAAO,CAAC,aAAa,CAAC,CAAC;QAEvB,mBAAmB;QACnB,OAAO,CAAC,eAAe,CAAC,CAAC;QAEzB,UAAU;QACV,OAAO,CAAC,cAAc,CAAC,CAAC;QAExB,wBAAwB;QACxB,uBAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACnC,CAAC,CAAA,CAAC;IAEN,SAAS,OAAO,CAAC,OAAe;QAC5B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrB,uBAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC/C,CAAC;AACL,CAAC,EAtCgB,aAAa,6BAAb,aAAa,QAsC7B"}
|
package/bin/index.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
declare const USAGE = "Wrong command has been detected. Use like below:\n\nnpx nestia [command] [options?]\n\n 1. npx nestia start <directory>\n 2. npx nestia setup\n 3. npx nestia dependencies\n 4. npx nestia init\n 5. npx nestia sdk\n 6. npx nestia swagger\n 7. npx nestia e2e\n";
|
|
3
|
+
declare function halt(desc: string): never;
|
|
4
|
+
declare function main(): Promise<void>;
|
package/bin/index.js
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
20
|
+
if (mod && mod.__esModule) return mod;
|
|
21
|
+
var result = {};
|
|
22
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
23
|
+
__setModuleDefault(result, mod);
|
|
24
|
+
return result;
|
|
25
|
+
};
|
|
26
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
27
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
28
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
29
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
30
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
31
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
32
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
const USAGE = `Wrong command has been detected. Use like below:
|
|
36
|
+
|
|
37
|
+
npx nestia [command] [options?]
|
|
38
|
+
|
|
39
|
+
1. npx nestia start <directory>
|
|
40
|
+
2. npx nestia setup
|
|
41
|
+
3. npx nestia dependencies
|
|
42
|
+
4. npx nestia init
|
|
43
|
+
5. npx nestia sdk
|
|
44
|
+
6. npx nestia swagger
|
|
45
|
+
7. npx nestia e2e
|
|
46
|
+
`;
|
|
47
|
+
function halt(desc) {
|
|
48
|
+
console.error(desc);
|
|
49
|
+
process.exit(-1);
|
|
50
|
+
}
|
|
51
|
+
function main() {
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
const type = process.argv[2];
|
|
54
|
+
const argv = process.argv.slice(3);
|
|
55
|
+
if (type === "start") {
|
|
56
|
+
yield (yield Promise.resolve().then(() => __importStar(require("./NestiaStarter")))).NestiaStarter.start((msg) => halt(msg !== null && msg !== void 0 ? msg : USAGE))(argv);
|
|
57
|
+
}
|
|
58
|
+
else if (type === "setup") {
|
|
59
|
+
try {
|
|
60
|
+
yield Promise.resolve().then(() => __importStar(require("comment-json")));
|
|
61
|
+
yield Promise.resolve().then(() => __importStar(require("inquirer")));
|
|
62
|
+
yield Promise.resolve().then(() => __importStar(require("commander")));
|
|
63
|
+
}
|
|
64
|
+
catch (_a) {
|
|
65
|
+
halt(`nestia has not been installed. Run "npm i -D nestia" before.`);
|
|
66
|
+
}
|
|
67
|
+
yield (yield Promise.resolve().then(() => __importStar(require("./NestiaSetupWizard")))).NestiaSetupWizard.setup();
|
|
68
|
+
}
|
|
69
|
+
else if (type === "dependencies" ||
|
|
70
|
+
type === "init" ||
|
|
71
|
+
type === "sdk" ||
|
|
72
|
+
type === "swagger" ||
|
|
73
|
+
type === "e2e") {
|
|
74
|
+
try {
|
|
75
|
+
require.resolve("@nestia/sdk/lib/executable/sdk");
|
|
76
|
+
}
|
|
77
|
+
catch (_b) {
|
|
78
|
+
halt(`@nestia/sdk has not been installed. Run "npx nestia setup" before.`);
|
|
79
|
+
}
|
|
80
|
+
yield Promise.resolve().then(() => __importStar(require("@nestia/sdk/lib/executable/sdk")));
|
|
81
|
+
}
|
|
82
|
+
else
|
|
83
|
+
halt(USAGE);
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
main().catch((exp) => {
|
|
87
|
+
console.log(exp.message);
|
|
88
|
+
process.exit(-1);
|
|
89
|
+
});
|
|
90
|
+
//# sourceMappingURL=index.js.map
|
package/bin/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,MAAM,KAAK,GAAG;;;;;;;;;;;CAWb,CAAC;AAEF,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,IAAI;;QACf,MAAM,IAAI,GAAuB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,IAAI,GAAa,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE7C,IAAI,IAAI,KAAK,OAAO,EAAE;YAClB,MAAM,CACF,wDAAa,iBAAiB,GAAC,CAClC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC5D;aAAM,IAAI,IAAI,KAAK,OAAO,EAAE;YACzB,IAAI;gBACA,wDAAa,cAAc,GAAC,CAAC;gBAC7B,wDAAa,UAAU,GAAC,CAAC;gBACzB,wDAAa,WAAW,GAAC,CAAC;aAC7B;YAAC,WAAM;gBACJ,IAAI,CACA,8DAA8D,CACjE,CAAC;aACL;YACD,MAAM,CAAC,wDAAa,qBAAqB,GAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;SACzE;aAAM,IACH,IAAI,KAAK,cAAc;YACvB,IAAI,KAAK,MAAM;YACf,IAAI,KAAK,KAAK;YACd,IAAI,KAAK,SAAS;YAClB,IAAI,KAAK,KAAK,EAChB;YACE,IAAI;gBACA,OAAO,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;aACrD;YAAC,WAAM;gBACJ,IAAI,CACA,oEAAoE,CACvE,CAAC;aACL;YACD,wDAAa,gCAAgC,GAAC,CAAC;SAClD;;YAAM,IAAI,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;CAAA;AACD,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACjB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.ArgumentParser = void 0;
|
|
16
|
+
const commander_1 = __importDefault(require("commander"));
|
|
17
|
+
const fs_1 = __importDefault(require("fs"));
|
|
18
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
19
|
+
var ArgumentParser;
|
|
20
|
+
(function (ArgumentParser) {
|
|
21
|
+
function parse(pack) {
|
|
22
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
// PREPARE ASSETS
|
|
24
|
+
commander_1.default.program.option("--manager [manager]", "package manager");
|
|
25
|
+
commander_1.default.program.option("--project [project]", "tsconfig.json file location");
|
|
26
|
+
// INTERNAL PROCEDURES
|
|
27
|
+
const questioned = { value: false };
|
|
28
|
+
const action = (closure) => {
|
|
29
|
+
return new Promise((resolve, reject) => {
|
|
30
|
+
commander_1.default.program.action((options) => __awaiter(this, void 0, void 0, function* () {
|
|
31
|
+
try {
|
|
32
|
+
resolve(yield closure(options));
|
|
33
|
+
}
|
|
34
|
+
catch (exp) {
|
|
35
|
+
reject(exp);
|
|
36
|
+
}
|
|
37
|
+
}));
|
|
38
|
+
commander_1.default.program.parseAsync().catch(reject);
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
const select = (name) => (message) => (choices, filter) => __awaiter(this, void 0, void 0, function* () {
|
|
42
|
+
questioned.value = true;
|
|
43
|
+
return (yield inquirer_1.default.createPromptModule()({
|
|
44
|
+
type: "list",
|
|
45
|
+
name: name,
|
|
46
|
+
message: message,
|
|
47
|
+
choices: choices,
|
|
48
|
+
filter,
|
|
49
|
+
}))[name];
|
|
50
|
+
});
|
|
51
|
+
const configure = () => __awaiter(this, void 0, void 0, function* () {
|
|
52
|
+
const fileList = yield (yield fs_1.default.promises.readdir(process.cwd()))
|
|
53
|
+
.filter((str) => str.substring(0, 8) === "tsconfig" &&
|
|
54
|
+
str.substring(str.length - 5) === ".json")
|
|
55
|
+
.sort((x, y) => x === "tsconfig.json"
|
|
56
|
+
? -1
|
|
57
|
+
: y === "tsconfig.json"
|
|
58
|
+
? 1
|
|
59
|
+
: x < y
|
|
60
|
+
? -1
|
|
61
|
+
: 1);
|
|
62
|
+
if (fileList.length === 0) {
|
|
63
|
+
if (process.cwd() !== pack.directory)
|
|
64
|
+
throw new Error(`Unable to find "tsconfig.json" file.`);
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
else if (fileList.length === 1)
|
|
68
|
+
return fileList[0];
|
|
69
|
+
return select("tsconfig")("TS Config File")(fileList);
|
|
70
|
+
});
|
|
71
|
+
// DO CONSTRUCT
|
|
72
|
+
return action((options) => __awaiter(this, void 0, void 0, function* () {
|
|
73
|
+
var _a, _b;
|
|
74
|
+
(_a = options.manager) !== null && _a !== void 0 ? _a : (options.manager = yield select("manager")("Package Manager")([
|
|
75
|
+
"npm",
|
|
76
|
+
"pnpm",
|
|
77
|
+
"yarn (berry is not supported)",
|
|
78
|
+
], (value) => value.split(" ")[0]));
|
|
79
|
+
pack.manager = options.manager;
|
|
80
|
+
(_b = options.project) !== null && _b !== void 0 ? _b : (options.project = yield configure());
|
|
81
|
+
if (questioned.value)
|
|
82
|
+
console.log("");
|
|
83
|
+
return options;
|
|
84
|
+
}));
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
ArgumentParser.parse = parse;
|
|
88
|
+
})(ArgumentParser || (exports.ArgumentParser = ArgumentParser = {}));
|
|
89
|
+
//# sourceMappingURL=ArgumentParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ArgumentParser.js","sourceRoot":"","sources":["../../src/internal/ArgumentParser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,0DAAkC;AAClC,4CAAoB;AACpB,wDAAgC;AAIhC,IAAiB,cAAc,CA2F9B;AA3FD,WAAiB,cAAc;IAM3B,SAAsB,KAAK,CAAC,IAAoB;;YAC5C,iBAAiB;YACjB,mBAAS,CAAC,OAAO,CAAC,MAAM,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAC;YACnE,mBAAS,CAAC,OAAO,CAAC,MAAM,CACpB,qBAAqB,EACrB,6BAA6B,CAChC,CAAC;YAEF,sBAAsB;YACtB,MAAM,UAAU,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,CACX,OAA8D,EAChE,EAAE;gBACA,OAAO,IAAI,OAAO,CAAa,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC/C,mBAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAO,OAAO,EAAE,EAAE;wBACvC,IAAI;4BACA,OAAO,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;yBACnC;wBAAC,OAAO,GAAG,EAAE;4BACV,MAAM,CAAC,GAAG,CAAC,CAAC;yBACf;oBACL,CAAC,CAAA,CAAC,CAAC;oBACH,mBAAS,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACjD,CAAC,CAAC,CAAC;YACP,CAAC,CAAC;YACF,MAAM,MAAM,GACR,CAAC,IAAY,EAAE,EAAE,CACjB,CAAC,OAAe,EAAE,EAAE,CACpB,CACI,OAAiB,EACjB,MAAkC,EACnB,EAAE;gBACjB,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC;gBACxB,OAAO,CACH,MAAM,kBAAQ,CAAC,kBAAkB,EAAE,CAAC;oBAChC,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI;oBACV,OAAO,EAAE,OAAO;oBAChB,OAAO,EAAE,OAAO;oBAChB,MAAM;iBACT,CAAC,CACL,CAAC,IAAI,CAAC,CAAC;YACZ,CAAC,CAAA,CAAC;YACN,MAAM,SAAS,GAAG,GAAS,EAAE;gBACzB,MAAM,QAAQ,GAAa,MAAM,CAC7B,MAAM,YAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAC3C;qBACI,MAAM,CACH,CAAC,GAAG,EAAE,EAAE,CACJ,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,OAAO,CAChD;qBACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACX,CAAC,KAAK,eAAe;oBACjB,CAAC,CAAC,CAAC,CAAC;oBACJ,CAAC,CAAC,CAAC,KAAK,eAAe;wBACvB,CAAC,CAAC,CAAC;wBACH,CAAC,CAAC,CAAC,GAAG,CAAC;4BACP,CAAC,CAAC,CAAC,CAAC;4BACJ,CAAC,CAAC,CAAC,CACV,CAAC;gBACN,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;oBACvB,IAAI,OAAO,CAAC,GAAG,EAAE,KAAK,IAAI,CAAC,SAAS;wBAChC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;oBAC5D,OAAO,IAAI,CAAC;iBACf;qBAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACrD,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC1D,CAAC,CAAA,CAAC;YAEF,eAAe;YACf,OAAO,MAAM,CAAC,CAAO,OAAO,EAAE,EAAE;;gBAC5B,MAAA,OAAO,CAAC,OAAO,oCAAf,OAAO,CAAC,OAAO,GAAK,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,CAC1D;oBACI,KAAc;oBACd,MAAe;oBACf,+BAAyC;iBAC5C,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAW,CAC3C,EAAC;gBACF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;gBAC/B,MAAA,OAAO,CAAC,OAAO,oCAAf,OAAO,CAAC,OAAO,GAAK,MAAM,SAAS,EAAE,EAAC;gBAEtC,IAAI,UAAU,CAAC,KAAK;oBAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACtC,OAAO,OAAqB,CAAC;YACjC,CAAC,CAAA,CAAC,CAAC;QACP,CAAC;KAAA;IApFqB,oBAAK,QAoF1B,CAAA;AACL,CAAC,EA3FgB,cAAc,8BAAd,cAAc,QA2F9B"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.CommandExecutor = void 0;
|
|
7
|
+
const child_process_1 = __importDefault(require("child_process"));
|
|
8
|
+
var CommandExecutor;
|
|
9
|
+
(function (CommandExecutor) {
|
|
10
|
+
function run(str) {
|
|
11
|
+
console.log(str);
|
|
12
|
+
child_process_1.default.execSync(str, { stdio: "ignore" });
|
|
13
|
+
}
|
|
14
|
+
CommandExecutor.run = run;
|
|
15
|
+
})(CommandExecutor || (exports.CommandExecutor = CommandExecutor = {}));
|
|
16
|
+
//# sourceMappingURL=CommandExecutor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommandExecutor.js","sourceRoot":"","sources":["../../src/internal/CommandExecutor.ts"],"names":[],"mappings":";;;;;;AAAA,kEAA+B;AAE/B,IAAiB,eAAe,CAK/B;AALD,WAAiB,eAAe;IAC5B,SAAgB,GAAG,CAAC,GAAW;QAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjB,uBAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1C,CAAC;IAHe,mBAAG,MAGlB,CAAA;AACL,CAAC,EALgB,eAAe,+BAAf,eAAe,QAK/B"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.FileRetriever = void 0;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
var FileRetriever;
|
|
10
|
+
(function (FileRetriever) {
|
|
11
|
+
FileRetriever.directory = (name) => (dir, depth = 0) => {
|
|
12
|
+
const location = path_1.default.join(dir, name);
|
|
13
|
+
if (fs_1.default.existsSync(location))
|
|
14
|
+
return dir;
|
|
15
|
+
else if (depth > 2)
|
|
16
|
+
return null;
|
|
17
|
+
return FileRetriever.directory(name)(path_1.default.join(dir, ".."), depth + 1);
|
|
18
|
+
};
|
|
19
|
+
FileRetriever.file = (name) => (directory, depth = 0) => {
|
|
20
|
+
const location = path_1.default.join(directory, name);
|
|
21
|
+
if (fs_1.default.existsSync(location))
|
|
22
|
+
return location;
|
|
23
|
+
else if (depth > 2)
|
|
24
|
+
return null;
|
|
25
|
+
return FileRetriever.file(name)(path_1.default.join(directory, ".."), depth + 1);
|
|
26
|
+
};
|
|
27
|
+
})(FileRetriever || (exports.FileRetriever = FileRetriever = {}));
|
|
28
|
+
//# sourceMappingURL=FileRetriever.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileRetriever.js","sourceRoot":"","sources":["../../src/internal/FileRetriever.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAExB,IAAiB,aAAa,CAkB7B;AAlBD,WAAiB,aAAa;IACb,uBAAS,GAClB,CAAC,IAAY,EAAE,EAAE,CACjB,CAAC,GAAW,EAAE,QAAgB,CAAC,EAAiB,EAAE;QAC9C,MAAM,QAAQ,GAAW,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,GAAG,CAAC;aACnC,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAChC,OAAO,cAAA,SAAS,CAAC,IAAI,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC;IAEO,kBAAI,GACb,CAAC,IAAY,EAAE,EAAE,CACjB,CAAC,SAAiB,EAAE,QAAgB,CAAC,EAAiB,EAAE;QACpD,MAAM,QAAQ,GAAW,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACpD,IAAI,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAC;aACxC,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAChC,OAAO,cAAA,IAAI,CAAC,IAAI,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC;AACV,CAAC,EAlBgB,aAAa,6BAAb,aAAa,QAkB7B"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export declare class PackageManager {
|
|
2
|
+
readonly directory: string;
|
|
3
|
+
data: Package.Data;
|
|
4
|
+
manager: string;
|
|
5
|
+
get file(): string;
|
|
6
|
+
static mount(): Promise<PackageManager>;
|
|
7
|
+
save(modifier: (data: Package.Data) => void): Promise<void>;
|
|
8
|
+
install(props: {
|
|
9
|
+
dev: boolean;
|
|
10
|
+
modulo: string;
|
|
11
|
+
version: `latest` | `${number}.${number}.${number}`;
|
|
12
|
+
}): boolean;
|
|
13
|
+
private constructor();
|
|
14
|
+
private static load;
|
|
15
|
+
}
|
|
16
|
+
export declare namespace Package {
|
|
17
|
+
interface Data {
|
|
18
|
+
scripts?: Record<string, string>;
|
|
19
|
+
dependencies?: Record<string, string>;
|
|
20
|
+
devDependencies?: Record<string, string>;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.PackageManager = void 0;
|
|
16
|
+
const fs_1 = __importDefault(require("fs"));
|
|
17
|
+
const path_1 = __importDefault(require("path"));
|
|
18
|
+
const CommandExecutor_1 = require("./CommandExecutor");
|
|
19
|
+
const FileRetriever_1 = require("./FileRetriever");
|
|
20
|
+
class PackageManager {
|
|
21
|
+
get file() {
|
|
22
|
+
return path_1.default.join(this.directory, "package.json");
|
|
23
|
+
}
|
|
24
|
+
static mount() {
|
|
25
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
+
const location = yield FileRetriever_1.FileRetriever.directory("package.json")(process.cwd());
|
|
27
|
+
if (location === null)
|
|
28
|
+
throw new Error(`Unable to find "package.json" file`);
|
|
29
|
+
return new PackageManager(location, yield this.load(path_1.default.join(location, "package.json")));
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
save(modifier) {
|
|
33
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
const content = yield fs_1.default.promises.readFile(this.file, "utf8");
|
|
35
|
+
this.data = JSON.parse(content);
|
|
36
|
+
modifier(this.data);
|
|
37
|
+
return fs_1.default.promises.writeFile(this.file, JSON.stringify(this.data, null, 2), "utf8");
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
install(props) {
|
|
41
|
+
const middle = this.manager === "yarn"
|
|
42
|
+
? `add${props.dev ? " -D" : ""}`
|
|
43
|
+
: `install ${props.dev ? "--save-dev" : "--save"}`;
|
|
44
|
+
CommandExecutor_1.CommandExecutor.run(`${this.manager} ${middle} ${props.modulo}${props.version ? `@${props.version}` : ""}`);
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
constructor(directory, data) {
|
|
48
|
+
this.directory = directory;
|
|
49
|
+
this.data = data;
|
|
50
|
+
this.manager = "npm";
|
|
51
|
+
}
|
|
52
|
+
static load(file) {
|
|
53
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
const content = yield fs_1.default.promises.readFile(file, "utf8");
|
|
55
|
+
return JSON.parse(content);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
exports.PackageManager = PackageManager;
|
|
60
|
+
//# sourceMappingURL=PackageManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PackageManager.js","sourceRoot":"","sources":["../../src/internal/PackageManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAExB,uDAAoD;AACpD,mDAAgD;AAEhD,MAAa,cAAc;IAEvB,IAAW,IAAI;QACX,OAAO,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACrD,CAAC;IAEM,MAAM,CAAO,KAAK;;YACrB,MAAM,QAAQ,GAAkB,MAAM,6BAAa,CAAC,SAAS,CACzD,cAAc,CACjB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACjB,IAAI,QAAQ,KAAK,IAAI;gBACjB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAE1D,OAAO,IAAI,cAAc,CACrB,QAAQ,EACR,MAAM,IAAI,CAAC,IAAI,CAAC,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CACvD,CAAC;QACN,CAAC;KAAA;IAEY,IAAI,CAAC,QAAsC;;YACpD,MAAM,OAAO,GAAW,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACtE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAChC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEpB,OAAO,YAAE,CAAC,QAAQ,CAAC,SAAS,CACxB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAClC,MAAM,CACT,CAAC;QACN,CAAC;KAAA;IAEM,OAAO,CAAC,KAId;QACG,MAAM,MAAM,GACR,IAAI,CAAC,OAAO,KAAK,MAAM;YACnB,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YAChC,CAAC,CAAC,WAAW,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC3D,iCAAe,CAAC,GAAG,CACf,GAAG,IAAI,CAAC,OAAO,IAAI,MAAM,IAAI,KAAK,CAAC,MAAM,GACrC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAC1C,EAAE,CACL,CAAC;QACF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,YACoB,SAAiB,EAC1B,IAAkB;QADT,cAAS,GAAT,SAAS,CAAQ;QAC1B,SAAI,GAAJ,IAAI,CAAc;QAjDtB,YAAO,GAAW,KAAK,CAAC;IAkD5B,CAAC;IAEI,MAAM,CAAO,IAAI,CAAC,IAAY;;YAClC,MAAM,OAAO,GAAW,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACjE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;KAAA;CACJ;AAzDD,wCAyDC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.PluginConfigurator = void 0;
|
|
16
|
+
const comment_json_1 = __importDefault(require("comment-json"));
|
|
17
|
+
const fs_1 = __importDefault(require("fs"));
|
|
18
|
+
var PluginConfigurator;
|
|
19
|
+
(function (PluginConfigurator) {
|
|
20
|
+
function configure(args) {
|
|
21
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
+
// GET COMPILER-OPTIONS
|
|
23
|
+
const config = comment_json_1.default.parse(yield fs_1.default.promises.readFile(args.project, "utf8"));
|
|
24
|
+
const compilerOptions = config.compilerOptions;
|
|
25
|
+
if (compilerOptions === undefined)
|
|
26
|
+
throw new Error(`${args.project} file does not have "compilerOptions" property.`);
|
|
27
|
+
// PREPARE PLUGINS
|
|
28
|
+
const plugins = (() => {
|
|
29
|
+
const plugins = compilerOptions.plugins;
|
|
30
|
+
if (plugins === undefined)
|
|
31
|
+
return (compilerOptions.plugins = []);
|
|
32
|
+
else if (!Array.isArray(plugins))
|
|
33
|
+
throw new Error(`"plugins" property of ${args.project} must be array type.`);
|
|
34
|
+
return plugins;
|
|
35
|
+
})();
|
|
36
|
+
// CHECK WHETHER CONFIGURED
|
|
37
|
+
const strict = compilerOptions.strict;
|
|
38
|
+
const strictNullChecks = compilerOptions.strictNullChecks;
|
|
39
|
+
const core = plugins.find((p) => typeof p === "object" &&
|
|
40
|
+
p !== null &&
|
|
41
|
+
p.transform === "@nestia/core/lib/transform");
|
|
42
|
+
const typia = plugins.find((p) => typeof p === "object" &&
|
|
43
|
+
p !== null &&
|
|
44
|
+
p.transform === "typia/lib/transform");
|
|
45
|
+
if (strictNullChecks !== false &&
|
|
46
|
+
(strict === true || strictNullChecks === true) &&
|
|
47
|
+
core !== undefined &&
|
|
48
|
+
typia !== undefined)
|
|
49
|
+
return;
|
|
50
|
+
// DO CONFIGURE
|
|
51
|
+
compilerOptions.strictNullChecks = true;
|
|
52
|
+
if (strict === undefined && strictNullChecks === undefined)
|
|
53
|
+
compilerOptions.strict = true;
|
|
54
|
+
compilerOptions.experimentalDecorators = true;
|
|
55
|
+
compilerOptions.emitDecoratorMetadata = true;
|
|
56
|
+
if (core === undefined)
|
|
57
|
+
plugins.push(comment_json_1.default.parse(`{
|
|
58
|
+
"transform": "@nestia/core/lib/transform",
|
|
59
|
+
/**
|
|
60
|
+
* Validate request body.
|
|
61
|
+
*
|
|
62
|
+
* - "assert": Use typia.assert() function
|
|
63
|
+
* - "is": Use typia.is() function
|
|
64
|
+
* - "validate": Use typia.validate() function
|
|
65
|
+
* - "assertEquals": Use typia.assertEquals() function
|
|
66
|
+
* - "equals": Use typia.equals() function
|
|
67
|
+
* - "validateEquals": Use typia.validateEquals() function
|
|
68
|
+
*/
|
|
69
|
+
"validate": "assert",
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Validate JSON typed response body.
|
|
73
|
+
*
|
|
74
|
+
* - "assert": Use typia.assertStringify() function
|
|
75
|
+
* - "is": Use typia.isStringify() function
|
|
76
|
+
* - "validate": Use typia.validateStringify() function
|
|
77
|
+
* - "stringify": Use typia.stringify() function, but dangerous
|
|
78
|
+
* - null: Just use JSON.stringify() function, without boosting
|
|
79
|
+
*/
|
|
80
|
+
"stringify": "assert"
|
|
81
|
+
}`));
|
|
82
|
+
if (typia === undefined)
|
|
83
|
+
plugins.push(comment_json_1.default.parse(`{ "transform": "typia/lib/transform" }`));
|
|
84
|
+
yield fs_1.default.promises.writeFile(args.project, comment_json_1.default.stringify(config, null, 2));
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
PluginConfigurator.configure = configure;
|
|
88
|
+
})(PluginConfigurator || (exports.PluginConfigurator = PluginConfigurator = {}));
|
|
89
|
+
//# sourceMappingURL=PluginConfigurator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PluginConfigurator.js","sourceRoot":"","sources":["../../src/internal/PluginConfigurator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gEAAoC;AACpC,4CAAoB;AAIpB,IAAiB,kBAAkB,CAqGlC;AArGD,WAAiB,kBAAkB;IAC/B,SAAsB,SAAS,CAC3B,IAA+B;;YAE/B,uBAAuB;YACvB,MAAM,MAAM,GAA2B,sBAAQ,CAAC,KAAK,CACjD,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAQ,EAAE,MAAM,CAAC,CAC1B,CAAC;YAC5B,MAAM,eAAe,GACjB,MAAM,CAAC,eAAqD,CAAC;YACjE,IAAI,eAAe,KAAK,SAAS;gBAC7B,MAAM,IAAI,KAAK,CACX,GAAG,IAAI,CAAC,OAAO,iDAAiD,CACnE,CAAC;YAEN,kBAAkB;YAClB,MAAM,OAAO,GAAkD,CAAC,GAAG,EAAE;gBACjE,MAAM,OAAO,GAAG,eAAe,CAAC,OAEjB,CAAC;gBAChB,IAAI,OAAO,KAAK,SAAS;oBACrB,OAAO,CAAC,eAAe,CAAC,OAAO,GAAG,EAAS,CAAC,CAAC;qBAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;oBAC5B,MAAM,IAAI,KAAK,CACX,yBAAyB,IAAI,CAAC,OAAO,sBAAsB,CAC9D,CAAC;gBACN,OAAO,OAAO,CAAC;YACnB,CAAC,CAAC,EAAE,CAAC;YAEL,2BAA2B;YAC3B,MAAM,MAAM,GAAwB,eAAe,CAAC,MAErC,CAAC;YAChB,MAAM,gBAAgB,GAClB,eAAe,CAAC,gBAAuC,CAAC;YAC5D,MAAM,IAAI,GAAuC,OAAO,CAAC,IAAI,CACzD,CAAC,CAAC,EAAE,EAAE,CACF,OAAO,CAAC,KAAK,QAAQ;gBACrB,CAAC,KAAK,IAAI;gBACV,CAAC,CAAC,SAAS,KAAK,4BAA4B,CACnD,CAAC;YACF,MAAM,KAAK,GAAuC,OAAO,CAAC,IAAI,CAC1D,CAAC,CAAC,EAAE,EAAE,CACF,OAAO,CAAC,KAAK,QAAQ;gBACrB,CAAC,KAAK,IAAI;gBACV,CAAC,CAAC,SAAS,KAAK,qBAAqB,CAC5C,CAAC;YACF,IACI,gBAAgB,KAAK,KAAK;gBAC1B,CAAC,MAAM,KAAK,IAAI,IAAI,gBAAgB,KAAK,IAAI,CAAC;gBAC9C,IAAI,KAAK,SAAS;gBAClB,KAAK,KAAK,SAAS;gBAEnB,OAAO;YAEX,eAAe;YACf,eAAe,CAAC,gBAAgB,GAAG,IAAI,CAAC;YACxC,IAAI,MAAM,KAAK,SAAS,IAAI,gBAAgB,KAAK,SAAS;gBACtD,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC;YAClC,eAAe,CAAC,sBAAsB,GAAG,IAAI,CAAC;YAC9C,eAAe,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAE7C,IAAI,IAAI,KAAK,SAAS;gBAClB,OAAO,CAAC,IAAI,CACR,sBAAQ,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;kBAwBb,CAA2B,CAChC,CAAC;YACN,IAAI,KAAK,KAAK,SAAS;gBACnB,OAAO,CAAC,IAAI,CACR,sBAAQ,CAAC,KAAK,CACV,wCAAwC,CACjB,CAC9B,CAAC;YACN,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CACvB,IAAI,CAAC,OAAQ,EACb,sBAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CACtC,CAAC;QACN,CAAC;KAAA;IAnGqB,4BAAS,YAmG9B,CAAA;AACL,CAAC,EArGgB,kBAAkB,kCAAlB,kBAAkB,QAqGlC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nestia",
|
|
3
|
-
"version": "4.4.0
|
|
3
|
+
"version": "4.4.0",
|
|
4
4
|
"description": "Nestia CLI tool",
|
|
5
5
|
"main": "bin/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"scripts": {
|
|
10
10
|
"build": "rimraf bin && tsc",
|
|
11
11
|
"prettier": "prettier ./src/**/*.ts --write",
|
|
12
|
-
"package:next": "npm publish --access public --tag next"
|
|
12
|
+
"package:next": "npm run build && npm publish --access public --tag next"
|
|
13
13
|
},
|
|
14
14
|
"repository": {
|
|
15
15
|
"type": "git",
|