@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.
@@ -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("nestia.config.ts")) === false)
72
- throw new Error(`unable to find "nestia.config.ts" file.`);
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("nestia.config.ts")}`).then(s => __importStar(require(s)));
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 "nestia.config.ts" data.`;
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":"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"}
1
+ {"version":3,"file":"NestiaConfigLoader.js","sourceRoot":"","sources":["../../../src/executable/internal/NestiaConfigLoader.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  export declare namespace NestiaProjectGetter {
2
- function get(): Promise<string>;
2
+ function get(file: string): Promise<string>;
3
3
  }
@@ -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;;;YACrB,MAAM,MAAM,GAAG,MAAM,uCAAkB,CAAC,MAAM,CAAC;gBAC3C,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"}
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 project = yield NestiaConfigLoader_1.NestiaConfigLoader.project();
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,CA2BhC;AA3BD,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,OAAO,GAAW,MAAM,uCAAkB,CAAC,OAAO,EAAE,CAAC;QAC3D,MAAM,eAAe,GACjB,MAAM,uCAAkB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,MAAM,GAAkB,MAAM,uCAAkB,CAAC,MAAM,CACzD,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;AACN,CAAC,EA3BgB,gBAAgB,gCAAhB,gBAAgB,QA2BhC"}
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"}
@@ -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.2.4-dev.20231013",
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.2.4-dev.20231013",
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.2.4-dev.20231013",
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("nestia.config.ts")) === false)
46
- throw new Error(`unable to find "nestia.config.ts" file.`);
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("nestia.config.ts"));
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 "nestia.config.ts" data.`;
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 project: string = await NestiaConfigLoader.project();
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
  }
@@ -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 {