@nestia/sdk 2.2.4-dev.20231013 → 2.3.0-dev.20231014
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/NestiaConfigLoader.d.ts +2 -2
- package/lib/executable/internal/NestiaConfigLoader.js +7 -7
- package/lib/executable/internal/NestiaConfigLoader.js.map +1 -1
- package/lib/executable/internal/NestiaProjectGetter.d.ts +1 -1
- package/lib/executable/internal/NestiaProjectGetter.js +2 -2
- package/lib/executable/internal/NestiaProjectGetter.js.map +1 -1
- package/lib/executable/internal/NestiaSdkCommand.js +18 -2
- package/lib/executable/internal/NestiaSdkCommand.js.map +1 -1
- package/lib/executable/sdk.js +3 -3
- package/package.json +3 -3
- package/src/executable/internal/NestiaConfigLoader.ts +7 -6
- package/src/executable/internal/NestiaProjectGetter.ts +2 -2
- package/src/executable/internal/NestiaSdkCommand.ts +18 -1
- package/src/executable/sdk.ts +3 -3
|
@@ -2,6 +2,6 @@ import ts from "typescript";
|
|
|
2
2
|
import { INestiaConfig } from "../../INestiaConfig";
|
|
3
3
|
export declare namespace NestiaConfigLoader {
|
|
4
4
|
const compilerOptions: (project: string) => Promise<ts.CompilerOptions>;
|
|
5
|
-
const config: (options: ts.CompilerOptions) => Promise<INestiaConfig>;
|
|
6
|
-
const project: () => Promise<string>;
|
|
5
|
+
const config: (file: string, options: ts.CompilerOptions) => Promise<INestiaConfig>;
|
|
6
|
+
const project: (file: string) => Promise<string>;
|
|
7
7
|
}
|
|
@@ -67,15 +67,15 @@ var NestiaConfigLoader;
|
|
|
67
67
|
const _a = configParseResult.raw.compilerOptions, { moduleResolution } = _a, result = __rest(_a, ["moduleResolution"]);
|
|
68
68
|
return result;
|
|
69
69
|
});
|
|
70
|
-
NestiaConfigLoader.config = (options) => __awaiter(this, void 0, void 0, function* () {
|
|
71
|
-
if (fs_1.default.existsSync(path_1.default.resolve(
|
|
72
|
-
throw new Error(`unable to find "
|
|
70
|
+
NestiaConfigLoader.config = (file, options) => __awaiter(this, void 0, void 0, function* () {
|
|
71
|
+
if (fs_1.default.existsSync(path_1.default.resolve(file)) === false)
|
|
72
|
+
throw new Error(`unable to find "${file}" file.`);
|
|
73
73
|
(0, ts_node_1.register)({
|
|
74
74
|
emit: false,
|
|
75
75
|
compilerOptions: options,
|
|
76
76
|
require: options.baseUrl ? ["tsconfig-paths/register"] : undefined,
|
|
77
77
|
});
|
|
78
|
-
const loaded = yield Promise.resolve(`${path_1.default.resolve(
|
|
78
|
+
const loaded = yield Promise.resolve(`${path_1.default.resolve(file)}`).then(s => __importStar(require(s)));
|
|
79
79
|
const config = typeof (loaded === null || loaded === void 0 ? void 0 : loaded.default) === "object" && loaded.default !== null
|
|
80
80
|
? loaded.default
|
|
81
81
|
: loaded;
|
|
@@ -566,15 +566,15 @@ var NestiaConfigLoader;
|
|
|
566
566
|
const $io0 = input => "string" === typeof input.method && (undefined === input.path || "string" === typeof input.path) && "string" === typeof input.expected && true && "string" === typeof input.name && "string" === typeof input.message && (undefined === input.stack || "string" === typeof input.stack);
|
|
567
567
|
return "object" === typeof input && null !== input && $io0(input);
|
|
568
568
|
})(exp))
|
|
569
|
-
exp.message = `invalid "
|
|
569
|
+
exp.message = `invalid "${file}" data.`;
|
|
570
570
|
throw exp;
|
|
571
571
|
}
|
|
572
572
|
});
|
|
573
|
-
NestiaConfigLoader.project = () => __awaiter(this, void 0, void 0, function* () {
|
|
573
|
+
NestiaConfigLoader.project = (file) => __awaiter(this, void 0, void 0, function* () {
|
|
574
574
|
const connector = new WorkerConnector_1.WorkerConnector(null, null, "process");
|
|
575
575
|
yield connector.connect(`${__dirname}/nestia.project.getter.${__filename.substr(-2)}`);
|
|
576
576
|
const driver = yield connector.getDriver();
|
|
577
|
-
const project = yield driver.get();
|
|
577
|
+
const project = yield driver.get(file);
|
|
578
578
|
yield connector.close();
|
|
579
579
|
return project;
|
|
580
580
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NestiaConfigLoader.js","sourceRoot":"","sources":["../../../src/executable/internal/NestiaConfigLoader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,6EAA0E;AAC1E,qCAAmC;AACnC,uCAAuC;AACvC,4DAA4B;AAE5B,kDAA0B;AAK1B,IAAiB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"NestiaConfigLoader.js","sourceRoot":"","sources":["../../../src/executable/internal/NestiaConfigLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,10 +13,10 @@ exports.NestiaProjectGetter = void 0;
|
|
|
13
13
|
const NestiaConfigLoader_1 = require("./NestiaConfigLoader");
|
|
14
14
|
var NestiaProjectGetter;
|
|
15
15
|
(function (NestiaProjectGetter) {
|
|
16
|
-
function get() {
|
|
16
|
+
function get(file) {
|
|
17
17
|
var _a;
|
|
18
18
|
return __awaiter(this, void 0, void 0, function* () {
|
|
19
|
-
const config = yield NestiaConfigLoader_1.NestiaConfigLoader.config({
|
|
19
|
+
const config = yield NestiaConfigLoader_1.NestiaConfigLoader.config(file, {
|
|
20
20
|
module: "CommonJS",
|
|
21
21
|
noEmit: true,
|
|
22
22
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NestiaProjectGetter.js","sourceRoot":"","sources":["../../../src/executable/internal/NestiaProjectGetter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6DAA0D;AAE1D,IAAiB,mBAAmB,CAQnC;AARD,WAAiB,mBAAmB;IAChC,SAAsB,GAAG;;;
|
|
1
|
+
{"version":3,"file":"NestiaProjectGetter.js","sourceRoot":"","sources":["../../../src/executable/internal/NestiaProjectGetter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6DAA0D;AAE1D,IAAiB,mBAAmB,CAQnC;AARD,WAAiB,mBAAmB;IAChC,SAAsB,GAAG,CAAC,IAAY;;;YAClC,MAAM,MAAM,GAAG,MAAM,uCAAkB,CAAC,MAAM,CAAC,IAAI,EAAE;gBACjD,MAAM,EAAE,UAAiB;gBACzB,MAAM,EAAE,IAAI;aACf,CAAC,CAAC;YACH,OAAO,MAAA,MAAM,CAAC,OAAO,mCAAI,eAAe,CAAC;;KAC5C;IANqB,uBAAG,MAMxB,CAAA;AACL,CAAC,EARgB,mBAAmB,mCAAnB,mBAAmB,QAQnC"}
|
|
@@ -21,13 +21,29 @@ var NestiaSdkCommand;
|
|
|
21
21
|
yield generate(task);
|
|
22
22
|
});
|
|
23
23
|
const generate = (task) => __awaiter(this, void 0, void 0, function* () {
|
|
24
|
+
var _a;
|
|
24
25
|
// LOAD CONFIG INFO
|
|
25
|
-
const
|
|
26
|
+
const file = (_a = getConfigFile()) !== null && _a !== void 0 ? _a : "nestia.config.ts";
|
|
27
|
+
const project = yield NestiaConfigLoader_1.NestiaConfigLoader.project(file);
|
|
26
28
|
const compilerOptions = yield NestiaConfigLoader_1.NestiaConfigLoader.compilerOptions(project);
|
|
27
|
-
const config = yield NestiaConfigLoader_1.NestiaConfigLoader.config(compilerOptions);
|
|
29
|
+
const config = yield NestiaConfigLoader_1.NestiaConfigLoader.config(file, compilerOptions);
|
|
28
30
|
// GENERATE
|
|
29
31
|
const app = new NestiaSdkApplication_1.NestiaSdkApplication(config, compilerOptions);
|
|
30
32
|
yield task(app);
|
|
31
33
|
});
|
|
34
|
+
const getConfigFile = () => {
|
|
35
|
+
const argv = process.argv.slice(3);
|
|
36
|
+
if (argv.length < 1)
|
|
37
|
+
return null;
|
|
38
|
+
const index = argv.findIndex((str) => str === "--config");
|
|
39
|
+
if (index === -1)
|
|
40
|
+
return null;
|
|
41
|
+
else if (argv.length === 1)
|
|
42
|
+
throw new Error("Config file must be provided");
|
|
43
|
+
const file = argv[index + 1];
|
|
44
|
+
if (file.endsWith(".ts") === false)
|
|
45
|
+
throw new Error("Config file must be TypeScript file");
|
|
46
|
+
return file;
|
|
47
|
+
};
|
|
32
48
|
})(NestiaSdkCommand || (exports.NestiaSdkCommand = NestiaSdkCommand = {}));
|
|
33
49
|
//# sourceMappingURL=NestiaSdkCommand.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NestiaSdkCommand.js","sourceRoot":"","sources":["../../../src/executable/internal/NestiaSdkCommand.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,qEAAkE;AAClE,6DAA0D;AAE1D,IAAiB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"NestiaSdkCommand.js","sourceRoot":"","sources":["../../../src/executable/internal/NestiaSdkCommand.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,qEAAkE;AAClE,6DAA0D;AAE1D,IAAiB,gBAAgB,CA4ChC;AA5CD,WAAiB,gBAAgB;IAChB,oBAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IACrC,wBAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7C,oBAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IAElD,MAAM,IAAI,GAAG,CAAO,IAAkD,EAAE,EAAE;QACtE,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC,CAAA,CAAC;IAEF,MAAM,QAAQ,GAAG,CACb,IAAkD,EACpD,EAAE;;QACA,mBAAmB;QACnB,MAAM,IAAI,GAAW,MAAA,aAAa,EAAE,mCAAI,kBAAkB,CAAC;QAC3D,MAAM,OAAO,GAAW,MAAM,uCAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/D,MAAM,eAAe,GACjB,MAAM,uCAAkB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,MAAM,GAAkB,MAAM,uCAAkB,CAAC,MAAM,CACzD,IAAI,EACJ,eAAe,CAClB,CAAC;QAEF,WAAW;QACX,MAAM,GAAG,GAAyB,IAAI,2CAAoB,CACtD,MAAM,EACN,eAAe,CAClB,CAAC;QACF,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC,CAAA,CAAC;IAEF,MAAM,aAAa,GAAG,GAAkB,EAAE;QACtC,MAAM,IAAI,GAAa,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAEjC,MAAM,KAAK,GAAW,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,UAAU,CAAC,CAAC;QAClE,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;aACzB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAEpD,MAAM,IAAI,GAAW,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,KAAK;YAC9B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;AACN,CAAC,EA5CgB,gBAAgB,gCAAhB,gBAAgB,QA4ChC"}
|
package/lib/executable/sdk.js
CHANGED
|
@@ -48,9 +48,9 @@ npx @nestia/sdk [command] [options?]
|
|
|
48
48
|
- npx @nestia/sdk dependencies
|
|
49
49
|
- npx @nestia/sdk dependencies --manager pnpm
|
|
50
50
|
2. npx @nestia/sdk init
|
|
51
|
-
3. npx @nestia/sdk sdk
|
|
52
|
-
4. npx @nestia/sdk swagger
|
|
53
|
-
5. npx @nestia/sdk e2e
|
|
51
|
+
3. npx @nestia/sdk sdk --config? [config file]
|
|
52
|
+
4. npx @nestia/sdk swagger --config? [config file]
|
|
53
|
+
5. npx @nestia/sdk e2e --config? [config file]
|
|
54
54
|
`;
|
|
55
55
|
function halt(desc) {
|
|
56
56
|
console.error(desc);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nestia/sdk",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.0-dev.20231014",
|
|
4
4
|
"description": "Nestia SDK and Swagger generator",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
},
|
|
36
36
|
"homepage": "https://nestia.io",
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@nestia/fetcher": "^2.
|
|
38
|
+
"@nestia/fetcher": "^2.3.0-dev.20231014",
|
|
39
39
|
"cli": "^1.0.1",
|
|
40
40
|
"glob": "^7.2.0",
|
|
41
41
|
"path-to-regexp": "^6.2.1",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"typia": "^5.2.2"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
|
-
"@nestia/fetcher": ">=2.
|
|
50
|
+
"@nestia/fetcher": ">=2.3.0-dev.20231014",
|
|
51
51
|
"@nestjs/common": ">=7.0.1",
|
|
52
52
|
"@nestjs/core": ">=7.0.1",
|
|
53
53
|
"reflect-metadata": ">=0.1.12",
|
|
@@ -40,10 +40,11 @@ export namespace NestiaConfigLoader {
|
|
|
40
40
|
};
|
|
41
41
|
|
|
42
42
|
export const config = async (
|
|
43
|
+
file: string,
|
|
43
44
|
options: ts.CompilerOptions,
|
|
44
45
|
): Promise<INestiaConfig> => {
|
|
45
|
-
if (fs.existsSync(path.resolve(
|
|
46
|
-
throw new Error(`unable to find "
|
|
46
|
+
if (fs.existsSync(path.resolve(file)) === false)
|
|
47
|
+
throw new Error(`unable to find "${file}" file.`);
|
|
47
48
|
|
|
48
49
|
register({
|
|
49
50
|
emit: false,
|
|
@@ -52,7 +53,7 @@ export namespace NestiaConfigLoader {
|
|
|
52
53
|
});
|
|
53
54
|
|
|
54
55
|
const loaded: INestiaConfig & { default?: INestiaConfig } =
|
|
55
|
-
await import(path.resolve(
|
|
56
|
+
await import(path.resolve(file));
|
|
56
57
|
const config: INestiaConfig =
|
|
57
58
|
typeof loaded?.default === "object" && loaded.default !== null
|
|
58
59
|
? loaded.default
|
|
@@ -62,19 +63,19 @@ export namespace NestiaConfigLoader {
|
|
|
62
63
|
return typia.assert(config);
|
|
63
64
|
} catch (exp) {
|
|
64
65
|
if (typia.is<typia.TypeGuardError>(exp))
|
|
65
|
-
exp.message = `invalid "
|
|
66
|
+
exp.message = `invalid "${file}" data.`;
|
|
66
67
|
throw exp;
|
|
67
68
|
}
|
|
68
69
|
};
|
|
69
70
|
|
|
70
|
-
export const project = async (): Promise<string> => {
|
|
71
|
+
export const project = async (file: string): Promise<string> => {
|
|
71
72
|
const connector = new WorkerConnector(null, null, "process");
|
|
72
73
|
await connector.connect(
|
|
73
74
|
`${__dirname}/nestia.project.getter.${__filename.substr(-2)}`,
|
|
74
75
|
);
|
|
75
76
|
|
|
76
77
|
const driver = await connector.getDriver<typeof NestiaProjectGetter>();
|
|
77
|
-
const project: string = await driver.get();
|
|
78
|
+
const project: string = await driver.get(file);
|
|
78
79
|
await connector.close();
|
|
79
80
|
|
|
80
81
|
return project;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { NestiaConfigLoader } from "./NestiaConfigLoader";
|
|
2
2
|
|
|
3
3
|
export namespace NestiaProjectGetter {
|
|
4
|
-
export async function get(): Promise<string> {
|
|
5
|
-
const config = await NestiaConfigLoader.config({
|
|
4
|
+
export async function get(file: string): Promise<string> {
|
|
5
|
+
const config = await NestiaConfigLoader.config(file, {
|
|
6
6
|
module: "CommonJS" as any,
|
|
7
7
|
noEmit: true,
|
|
8
8
|
});
|
|
@@ -17,10 +17,12 @@ export namespace NestiaSdkCommand {
|
|
|
17
17
|
task: (app: NestiaSdkApplication) => Promise<void>,
|
|
18
18
|
) => {
|
|
19
19
|
// LOAD CONFIG INFO
|
|
20
|
-
const
|
|
20
|
+
const file: string = getConfigFile() ?? "nestia.config.ts";
|
|
21
|
+
const project: string = await NestiaConfigLoader.project(file);
|
|
21
22
|
const compilerOptions: ts.CompilerOptions =
|
|
22
23
|
await NestiaConfigLoader.compilerOptions(project);
|
|
23
24
|
const config: INestiaConfig = await NestiaConfigLoader.config(
|
|
25
|
+
file,
|
|
24
26
|
compilerOptions,
|
|
25
27
|
);
|
|
26
28
|
|
|
@@ -31,4 +33,19 @@ export namespace NestiaSdkCommand {
|
|
|
31
33
|
);
|
|
32
34
|
await task(app);
|
|
33
35
|
};
|
|
36
|
+
|
|
37
|
+
const getConfigFile = (): string | null => {
|
|
38
|
+
const argv: string[] = process.argv.slice(3);
|
|
39
|
+
if (argv.length < 1) return null;
|
|
40
|
+
|
|
41
|
+
const index: number = argv.findIndex((str) => str === "--config");
|
|
42
|
+
if (index === -1) return null;
|
|
43
|
+
else if (argv.length === 1)
|
|
44
|
+
throw new Error("Config file must be provided");
|
|
45
|
+
|
|
46
|
+
const file: string = argv[index + 1];
|
|
47
|
+
if (file.endsWith(".ts") === false)
|
|
48
|
+
throw new Error("Config file must be TypeScript file");
|
|
49
|
+
return file;
|
|
50
|
+
};
|
|
34
51
|
}
|
package/src/executable/sdk.ts
CHANGED
|
@@ -14,9 +14,9 @@ npx @nestia/sdk [command] [options?]
|
|
|
14
14
|
- npx @nestia/sdk dependencies
|
|
15
15
|
- npx @nestia/sdk dependencies --manager pnpm
|
|
16
16
|
2. npx @nestia/sdk init
|
|
17
|
-
3. npx @nestia/sdk sdk
|
|
18
|
-
4. npx @nestia/sdk swagger
|
|
19
|
-
5. npx @nestia/sdk e2e
|
|
17
|
+
3. npx @nestia/sdk sdk --config? [config file]
|
|
18
|
+
4. npx @nestia/sdk swagger --config? [config file]
|
|
19
|
+
5. npx @nestia/sdk e2e --config? [config file]
|
|
20
20
|
`;
|
|
21
21
|
|
|
22
22
|
function halt(desc: string): never {
|