swagger-typescript-api 13.0.8 → 13.0.9

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.
Files changed (55) hide show
  1. package/README.md +1 -1
  2. package/cli/constants.js +1 -5
  3. package/cli/execute.js +5 -7
  4. package/cli/index.d.ts +7 -6
  5. package/cli/index.js +7 -9
  6. package/cli/operations/display-help.js +3 -5
  7. package/cli/operations/display-version.js +1 -1
  8. package/cli/parse-args.js +1 -3
  9. package/cli/process-option.js +2 -4
  10. package/index.js +11 -16
  11. package/package.json +7 -4
  12. package/src/code-formatter.js +4 -6
  13. package/src/code-gen-process.js +19 -21
  14. package/src/commands/generate-templates/configuration.js +3 -5
  15. package/src/commands/generate-templates/index.js +6 -12
  16. package/src/commands/generate-templates/templates-gen-process.js +8 -7
  17. package/src/component-type-name-resolver.js +3 -5
  18. package/src/configuration.js +7 -10
  19. package/src/constants.js +48 -36
  20. package/src/index.js +12 -22
  21. package/src/schema-components-map.js +2 -4
  22. package/src/schema-parser/base-schema-parsers/array.js +4 -6
  23. package/src/schema-parser/base-schema-parsers/complex.js +4 -6
  24. package/src/schema-parser/base-schema-parsers/discriminator.js +4 -6
  25. package/src/schema-parser/base-schema-parsers/enum.js +5 -7
  26. package/src/schema-parser/base-schema-parsers/object.js +4 -6
  27. package/src/schema-parser/base-schema-parsers/primitive.js +4 -6
  28. package/src/schema-parser/complex-schema-parsers/all-of.js +3 -3
  29. package/src/schema-parser/complex-schema-parsers/any-of.js +3 -3
  30. package/src/schema-parser/complex-schema-parsers/not.js +2 -2
  31. package/src/schema-parser/complex-schema-parsers/one-of.js +3 -3
  32. package/src/schema-parser/mono-schema-parser.js +1 -3
  33. package/src/schema-parser/schema-formatters.js +3 -5
  34. package/src/schema-parser/schema-parser-fabric.js +5 -7
  35. package/src/schema-parser/schema-parser.js +16 -21
  36. package/src/schema-parser/schema-utils.js +6 -9
  37. package/src/schema-parser/util/enum-key-resolver.js +2 -4
  38. package/src/schema-routes/schema-routes.js +7 -12
  39. package/src/schema-routes/util/specific-arg-name-resolver.js +2 -4
  40. package/src/schema-walker.js +2 -4
  41. package/src/swagger-schema-resolver.js +5 -7
  42. package/src/templates-worker.js +7 -7
  43. package/src/translators/javascript.js +3 -5
  44. package/src/translators/translator.js +1 -3
  45. package/src/type-name-formatter.js +2 -4
  46. package/src/util/file-system.js +7 -7
  47. package/src/util/id.js +2 -4
  48. package/src/util/internal-case.js +6 -4
  49. package/src/util/logger.js +3 -5
  50. package/src/util/name-resolver.js +2 -4
  51. package/src/util/object-assign.js +2 -4
  52. package/src/util/pascal-case.js +6 -4
  53. package/src/util/random.js +1 -4
  54. package/src/util/request.js +2 -4
  55. package/src/util/sort-by-property.js +1 -3
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # swagger-typescript-api
2
2
 
3
3
  - Support for OpenAPI 3.0, 2.0, JSON and YAML
4
- - Generate the API client for Fetch or Axios from an OpenAPI Specification
4
+ - Generate the API Client for Fetch or Axios from an OpenAPI Specification
5
5
 
6
6
  Any questions you can ask [**here**](https://github.com/acacode/swagger-typescript-api/discussions)
7
7
 
package/cli/constants.js CHANGED
@@ -3,8 +3,4 @@ const skip_command = Symbol("skip");
3
3
 
4
4
  const reservedOptions = ["version", "help"];
5
5
 
6
- module.exports = {
7
- root_command,
8
- skip_command,
9
- reservedOptions,
10
- };
6
+ export { root_command, skip_command, reservedOptions };
package/cli/execute.js CHANGED
@@ -1,7 +1,7 @@
1
- const _ = require("lodash");
2
- const { root_command, skip_command } = require("./constants");
3
- const { parseArgs } = require("./parse-args");
4
- const didYouMean = require("didyoumean");
1
+ import didYouMean from "didyoumean";
2
+ import _ from "lodash";
3
+ import { root_command, skip_command } from "./constants.js";
4
+ import { parseArgs } from "./parse-args.js";
5
5
 
6
6
  didYouMean.threshold = 0.5;
7
7
 
@@ -177,6 +177,4 @@ const processArgs = (commands, args) => {
177
177
  };
178
178
  };
179
179
 
180
- module.exports = {
181
- execute,
182
- };
180
+ export { execute };
package/cli/index.d.ts CHANGED
@@ -1,18 +1,19 @@
1
1
  type CliStructOption = {
2
- flags?: string;
3
- description?: string;
4
2
  default?: unknown;
3
+ description?: string;
4
+ flags?: string;
5
5
  internal?: { name?: string; formatter?: (value: any) => any };
6
+ required?: boolean;
6
7
  };
7
8
 
8
9
  type CliStruct = {
9
- inherited?: string | null;
10
- name?: string;
11
10
  alias?: string;
12
- version?: string;
11
+ commands?: CliStruct[];
13
12
  description?: string;
13
+ inherited?: string | null;
14
+ name?: string;
14
15
  options: CliStructOption[];
15
- commands?: CliStruct[];
16
+ version?: string;
16
17
  };
17
18
 
18
19
  type ExecuteOptions = {
package/cli/index.js CHANGED
@@ -1,9 +1,9 @@
1
- const _ = require("lodash");
2
- const { reservedOptions, root_command } = require("./constants");
3
- const { processOption } = require("./process-option");
4
- const { execute } = require("./execute");
5
- const { displayHelp } = require("./operations/display-help");
6
- const { displayVersion } = require("./operations/display-version");
1
+ import _ from "lodash";
2
+ import { reservedOptions, root_command } from "./constants.js";
3
+ import { execute } from "./execute.js";
4
+ import { displayHelp } from "./operations/display-help.js";
5
+ import { displayVersion } from "./operations/display-version.js";
6
+ import { processOption } from "./process-option.js";
7
7
 
8
8
  const cli = (input) => {
9
9
  const commands = {};
@@ -91,6 +91,4 @@ const cli = (input) => {
91
91
  return instance;
92
92
  };
93
93
 
94
- module.exports = {
95
- cli,
96
- };
94
+ export { cli };
@@ -1,5 +1,5 @@
1
- const _ = require("lodash");
2
- const { root_command } = require("../constants");
1
+ import _ from "lodash";
2
+ import { root_command } from "../constants.js";
3
3
 
4
4
  const generateOptionsOutput = (options) =>
5
5
  options.reduce(
@@ -174,6 +174,4 @@ ${command.description}`
174
174
  ${outputTest}`);
175
175
  };
176
176
 
177
- module.exports = {
178
- displayHelp,
179
- };
177
+ export { displayHelp };
@@ -2,4 +2,4 @@ const displayVersion = (instance) => {
2
2
  console.log(instance.input.version);
3
3
  };
4
4
 
5
- module.exports = { displayVersion };
5
+ export { displayVersion };
package/cli/parse-args.js CHANGED
@@ -21,6 +21,4 @@ const parseArgs = (args, type) => {
21
21
  }
22
22
  };
23
23
 
24
- module.exports = {
25
- parseArgs,
26
- };
24
+ export { parseArgs };
@@ -1,4 +1,4 @@
1
- const _ = require("lodash");
1
+ import _ from "lodash";
2
2
 
3
3
  const optionFormatters = {
4
4
  number: (str) => +str,
@@ -72,6 +72,4 @@ const processOption = (option) => {
72
72
  };
73
73
  };
74
74
 
75
- module.exports = {
76
- processOption,
77
- };
75
+ export { processOption };
package/index.js CHANGED
@@ -1,28 +1,23 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- // Copyright (c) 2019-present acacode
4
- // Node module: swagger-typescript-api
5
- // This file is licensed under the MIT License.
6
- // License text available at https://opensource.org/licenses/MIT
7
- // Repository https://github.com/acacode/swagger-typescript-api
3
+ import { createRequire } from "node:module";
4
+ import { resolve } from "node:path";
5
+ import { cli } from "./cli/index.js";
6
+ import { TemplatesGenConfig } from "./src/commands/generate-templates/configuration.js";
7
+ import { CodeGenConfig } from "./src/configuration.js";
8
+ import { HTTP_CLIENT } from "./src/constants.js";
9
+ import { generateApi, generateTemplates } from "./src/index.js";
8
10
 
9
- const { version, name } = require("./package.json");
10
- const { cli } = require("./cli");
11
- const { generateApi, generateTemplates } = require("./src");
12
- const { HTTP_CLIENT } = require("./src/constants");
13
- const { resolve } = require("node:path");
14
- const { CodeGenConfig } = require("./src/configuration");
15
- const {
16
- TemplatesGenConfig,
17
- } = require("./src/commands/generate-templates/configuration");
11
+ const require = createRequire(import.meta.url);
12
+ const packageJson = require("./package.json");
18
13
 
19
14
  const codeGenBaseConfig = new CodeGenConfig({});
20
15
  const templateGenBaseConfig = new TemplatesGenConfig({});
21
16
 
22
17
  const program = cli({
23
- name: name,
18
+ name: packageJson.name,
24
19
  alias: "sta",
25
- version: version,
20
+ version: packageJson.version,
26
21
  description:
27
22
  "Generate api via swagger scheme.\nSupports OA 3.0, 2.0, JSON, yaml.",
28
23
  options: [
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "swagger-typescript-api",
3
- "version": "13.0.8",
4
- "description": "Generate TypeScript/JavaScript API from Swagger schema",
3
+ "version": "13.0.9",
4
+ "description": "Generate the API client for Fetch or Axios from an OpenAPI Specification",
5
5
  "homepage": "https://github.com/acacode/swagger-typescript-api",
6
6
  "bugs": "https://github.com/acacode/swagger-typescript-api/issues",
7
7
  "repository": "github:acacode/swagger-typescript-api",
@@ -10,6 +10,7 @@
10
10
  "contributors": [
11
11
  "Sora Morimoto <sora@morimoto.io>"
12
12
  ],
13
+ "type": "module",
13
14
  "main": "./src/index.js",
14
15
  "types": "./index.d.ts",
15
16
  "bin": {
@@ -50,16 +51,18 @@
50
51
  },
51
52
  "devDependencies": {
52
53
  "@biomejs/biome": "1.8.2",
54
+ "@tsconfig/node18": "18.2.4",
55
+ "@tsconfig/strictest": "2.0.5",
53
56
  "@types/didyoumean": "1.2.2",
54
57
  "@types/js-yaml": "4.0.9",
55
58
  "@types/lodash": "4.17.5",
56
- "@types/node": "20.14.7",
59
+ "@types/node": "20.14.8",
57
60
  "@types/swagger2openapi": "7.0.4",
58
61
  "axios": "1.7.2",
59
62
  "shx": "0.3.4",
60
63
  "vitest": "1.6.0"
61
64
  },
62
- "packageManager": "yarn@4.3.0",
65
+ "packageManager": "yarn@4.3.1",
63
66
  "engines": {
64
67
  "node": ">=18.0.0"
65
68
  },
@@ -1,6 +1,6 @@
1
- const _ = require("lodash");
2
- const ts = require("typescript");
3
- const prettier = require("prettier");
1
+ import _ from "lodash";
2
+ import prettier from "prettier";
3
+ import ts from "typescript";
4
4
 
5
5
  class CodeFormatter {
6
6
  /**
@@ -111,6 +111,4 @@ class TsLanguageServiceHost {
111
111
  }
112
112
  }
113
113
 
114
- module.exports = {
115
- CodeFormatter,
116
- };
114
+ export { CodeFormatter };
@@ -1,21 +1,21 @@
1
- const { SwaggerSchemaResolver } = require("./swagger-schema-resolver.js");
2
- const { SchemaComponentsMap } = require("./schema-components-map.js");
3
- const { NameResolver } = require("./util/name-resolver");
4
- const { Logger } = require("./util/logger.js");
5
- const { TypeNameFormatter } = require("./type-name-formatter.js");
6
- const _ = require("lodash");
7
- const { SchemaParserFabric } = require("./schema-parser/schema-parser-fabric");
8
- const { SchemaRoutes } = require("./schema-routes/schema-routes.js");
9
- const { CodeGenConfig } = require("./configuration.js");
10
- const { SchemaWalker } = require("./schema-walker");
11
- const { FileSystem } = require("./util/file-system");
12
- const { TemplatesWorker } = require("./templates-worker");
13
- const { JavascriptTranslator } = require("./translators/javascript");
14
- const ts = require("typescript");
15
- const { CodeFormatter } = require("./code-formatter");
16
- const { pascalCase } = require("./util/pascal-case");
17
- const { internalCase } = require("./util/internal-case");
18
- const { sortByProperty } = require("./util/sort-by-property");
1
+ import _ from "lodash";
2
+ import ts from "typescript";
3
+ import { CodeFormatter } from "./code-formatter.js";
4
+ import { CodeGenConfig } from "./configuration.js";
5
+ import { SchemaComponentsMap } from "./schema-components-map.js";
6
+ import { SchemaParserFabric } from "./schema-parser/schema-parser-fabric.js";
7
+ import { SchemaRoutes } from "./schema-routes/schema-routes.js";
8
+ import { SchemaWalker } from "./schema-walker.js";
9
+ import { SwaggerSchemaResolver } from "./swagger-schema-resolver.js";
10
+ import { TemplatesWorker } from "./templates-worker.js";
11
+ import { JavascriptTranslator } from "./translators/javascript.js";
12
+ import { TypeNameFormatter } from "./type-name-formatter.js";
13
+ import { FileSystem } from "./util/file-system.js";
14
+ import { internalCase } from "./util/internal-case.js";
15
+ import { Logger } from "./util/logger.js";
16
+ import { NameResolver } from "./util/name-resolver.js";
17
+ import { pascalCase } from "./util/pascal-case.js";
18
+ import { sortByProperty } from "./util/sort-by-property.js";
19
19
 
20
20
  const PATCHABLE_INSTANCES = [
21
21
  "schemaWalker",
@@ -566,6 +566,4 @@ class CodeGenProcess {
566
566
  };
567
567
  }
568
568
 
569
- module.exports = {
570
- CodeGenProcess,
571
- };
569
+ export { CodeGenProcess };
@@ -1,5 +1,5 @@
1
- const { objectAssign } = require("../../util/object-assign");
2
- const { HTTP_CLIENT, PROJECT_VERSION } = require("../../constants");
1
+ import { HTTP_CLIENT, PROJECT_VERSION } from "../../constants.js";
2
+ import { objectAssign } from "../../util/object-assign.js";
3
3
 
4
4
  /**
5
5
  * @type {GenerateTemplatesParams}}
@@ -28,6 +28,4 @@ class TemplatesGenConfig {
28
28
  };
29
29
  }
30
30
 
31
- module.exports = {
32
- TemplatesGenConfig,
33
- };
31
+ export { TemplatesGenConfig };
@@ -1,16 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- // Copyright (c) 2019-present acacode
4
- // Node module: swagger-typescript-api
5
- // This file is licensed under the MIT License.
6
- // License text available at https://opensource.org/licenses/MIT
7
- // Repository https://github.com/acacode/swagger-typescript-api
3
+ import { TemplatesGenProcess } from "./templates-gen-process.js";
8
4
 
9
- const { TemplatesGenProcess } = require("./templates-gen-process");
5
+ async function generateTemplates(config) {
6
+ const codeGenProcess = new TemplatesGenProcess(config);
7
+ return await codeGenProcess.start();
8
+ }
10
9
 
11
- module.exports = {
12
- generateTemplates: async (config) => {
13
- const codeGenProcess = new TemplatesGenProcess(config);
14
- return await codeGenProcess.start();
15
- },
16
- };
10
+ export { generateTemplates };
@@ -1,7 +1,10 @@
1
- const { TemplatesGenConfig } = require("./configuration");
2
- const { FileSystem } = require("../../util/file-system");
3
- const { Logger } = require("../../util/logger");
4
- const path = require("node:path");
1
+ import path from "node:path";
2
+ import url from "node:url";
3
+ import { FileSystem } from "../../util/file-system.js";
4
+ import { Logger } from "../../util/logger.js";
5
+ import { TemplatesGenConfig } from "./configuration.js";
6
+
7
+ const __dirname = path.dirname(url.fileURLToPath(import.meta.url));
5
8
 
6
9
  class TemplatesGenProcess {
7
10
  /**
@@ -199,6 +202,4 @@ class TemplatesGenProcess {
199
202
  };
200
203
  }
201
204
 
202
- module.exports = {
203
- TemplatesGenProcess,
204
- };
205
+ export { TemplatesGenProcess };
@@ -1,5 +1,5 @@
1
- const { getRandomInt } = require("./util/random");
2
- const { NameResolver } = require("./util/name-resolver");
1
+ import { NameResolver } from "./util/name-resolver.js";
2
+ import { getRandomInt } from "./util/random.js";
3
3
 
4
4
  class ComponentTypeNameResolver extends NameResolver {
5
5
  counter = 1;
@@ -39,6 +39,4 @@ class ComponentTypeNameResolver extends NameResolver {
39
39
  }
40
40
  }
41
41
 
42
- module.exports = {
43
- ComponentTypeNameResolver,
44
- };
42
+ export { ComponentTypeNameResolver };
@@ -1,10 +1,9 @@
1
- /* eslint-disable no-unused-vars */
2
- const { objectAssign } = require("./util/object-assign");
3
- const _ = require("lodash");
4
- const CONSTANTS = require("./constants");
5
- const { ComponentTypeNameResolver } = require("./component-type-name-resolver");
6
- const { cosmiconfigSync } = require("cosmiconfig");
7
- const ts = require("typescript");
1
+ import { cosmiconfigSync } from "cosmiconfig";
2
+ import _ from "lodash";
3
+ import ts from "typescript";
4
+ import { ComponentTypeNameResolver } from "./component-type-name-resolver.js";
5
+ import * as CONSTANTS from "./constants.js";
6
+ import { objectAssign } from "./util/object-assign.js";
8
7
 
9
8
  const TsKeyword = {
10
9
  Number: "number",
@@ -443,6 +442,4 @@ const getDefaultPrettierOptions = () => {
443
442
  return { ...CONSTANTS.PRETTIER_OPTIONS };
444
443
  };
445
444
 
446
- module.exports = {
447
- CodeGenConfig,
448
- };
445
+ export { CodeGenConfig };
package/src/constants.js CHANGED
@@ -1,14 +1,51 @@
1
+ import { createRequire } from "node:module";
2
+
3
+ const require = createRequire(import.meta.url);
1
4
  const packageJson = require("../package.json");
2
- const RESERVED_QUERY_ARG_NAMES = ["query", "queryParams", "queryArg"];
5
+
6
+ const DEFAULT_BODY_ARG_NAME = "data";
7
+
8
+ const FILE_PREFIX = `/* eslint-disable */
9
+ /* tslint:disable */
10
+ /*
11
+ * ---------------------------------------------------------------
12
+ * ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
13
+ * ## ##
14
+ * ## AUTHOR: acacode ##
15
+ * ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
16
+ * ---------------------------------------------------------------
17
+ */
18
+
19
+ `;
20
+
21
+ const HTTP_CLIENT = {
22
+ FETCH: "fetch",
23
+ AXIOS: "axios",
24
+ };
25
+
26
+ const PRETTIER_OPTIONS = {
27
+ printWidth: 120,
28
+ tabWidth: 2,
29
+ trailingComma: "all",
30
+ parser: "typescript",
31
+ };
32
+
33
+ const PROJECT_VERSION = packageJson.version;
34
+
3
35
  const RESERVED_BODY_ARG_NAMES = ["data", "body", "reqBody"];
36
+
37
+ const RESERVED_HEADER_ARG_NAMES = ["headers", "headersParams"];
38
+
39
+ const RESERVED_PATH_ARG_NAMES = ["path", "pathParams"];
40
+
41
+ const RESERVED_QUERY_ARG_NAMES = ["query", "queryParams", "queryArg"];
42
+
4
43
  const RESERVED_REQ_PARAMS_ARG_NAMES = [
5
44
  "params",
6
45
  "requestParams",
7
46
  "reqParams",
8
47
  "httpParams",
9
48
  ];
10
- const RESERVED_PATH_ARG_NAMES = ["path", "pathParams"];
11
- const RESERVED_HEADER_ARG_NAMES = ["headers", "headersParams"];
12
49
 
13
50
  const SCHEMA_TYPES = {
14
51
  ARRAY: "array",
@@ -25,41 +62,16 @@ const SCHEMA_TYPES = {
25
62
  COMPLEX_UNKNOWN: "__unknown",
26
63
  };
27
64
 
28
- const HTTP_CLIENT = {
29
- FETCH: "fetch",
30
- AXIOS: "axios",
31
- };
32
-
33
- const PROJECT_VERSION = packageJson.version;
34
-
35
- const FILE_PREFIX = `/* eslint-disable */
36
- /* tslint:disable */
37
- /*
38
- * ---------------------------------------------------------------
39
- * ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
40
- * ## ##
41
- * ## AUTHOR: acacode ##
42
- * ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
43
- * ---------------------------------------------------------------
44
- */
45
-
46
- `;
47
-
48
- module.exports = {
65
+ export {
66
+ DEFAULT_BODY_ARG_NAME,
49
67
  FILE_PREFIX,
50
- DEFAULT_BODY_ARG_NAME: "data",
51
- PROJECT_VERSION,
52
- SCHEMA_TYPES,
53
68
  HTTP_CLIENT,
54
- RESERVED_QUERY_ARG_NAMES,
69
+ PRETTIER_OPTIONS,
70
+ PROJECT_VERSION,
55
71
  RESERVED_BODY_ARG_NAMES,
56
- RESERVED_REQ_PARAMS_ARG_NAMES,
57
- RESERVED_PATH_ARG_NAMES,
58
72
  RESERVED_HEADER_ARG_NAMES,
59
- PRETTIER_OPTIONS: {
60
- printWidth: 120,
61
- tabWidth: 2,
62
- trailingComma: "all",
63
- parser: "typescript",
64
- },
73
+ RESERVED_PATH_ARG_NAMES,
74
+ RESERVED_QUERY_ARG_NAMES,
75
+ RESERVED_REQ_PARAMS_ARG_NAMES,
76
+ SCHEMA_TYPES,
65
77
  };
package/src/index.js CHANGED
@@ -1,26 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- // Copyright (c) 2019-present acacode
4
- // Node module: swagger-typescript-api
5
- // This file is licensed under the MIT License.
6
- // License text available at https://opensource.org/licenses/MIT
7
- // Repository https://github.com/acacode/swagger-typescript-api
3
+ import { CodeGenProcess } from "./code-gen-process.js";
4
+ import { generateTemplates } from "./commands/generate-templates/index.js";
5
+ import * as constants from "./constants.js";
8
6
 
9
- const constants = require("./constants");
10
- const { CodeGenProcess } = require("./code-gen-process.js");
11
- const { generateTemplates } = require("./commands/generate-templates");
7
+ async function generateApi({ name, prettier, ...config }) {
8
+ const codeGenProcess = new CodeGenProcess({
9
+ ...config,
10
+ fileName: name,
11
+ prettierOptions: prettier,
12
+ });
13
+ return await codeGenProcess.start();
14
+ }
12
15
 
13
- module.exports = {
14
- constants: constants,
15
- generateApi: async ({ name, prettier, ...config }) => {
16
- const codeGenProcess = new CodeGenProcess({
17
- ...config,
18
- fileName: name,
19
- prettierOptions: prettier,
20
- });
21
- return await codeGenProcess.start();
22
- },
23
- generateTemplates: async (config) => {
24
- return await generateTemplates(config);
25
- },
26
- };
16
+ export { constants, generateApi, generateTemplates };
@@ -1,4 +1,4 @@
1
- const _ = require("lodash");
1
+ import _ from "lodash";
2
2
 
3
3
  class SchemaComponentsMap {
4
4
  /** @type {SchemaComponent[]} */
@@ -73,6 +73,4 @@ class SchemaComponentsMap {
73
73
  }
74
74
  }
75
75
 
76
- module.exports = {
77
- SchemaComponentsMap,
78
- };
76
+ export { SchemaComponentsMap };
@@ -1,6 +1,6 @@
1
- const { MonoSchemaParser } = require("../mono-schema-parser");
2
- const _ = require("lodash");
3
- const { SCHEMA_TYPES } = require("../../constants");
1
+ import _ from "lodash";
2
+ import { SCHEMA_TYPES } from "../../constants.js";
3
+ import { MonoSchemaParser } from "../mono-schema-parser.js";
4
4
 
5
5
  class ArraySchemaParser extends MonoSchemaParser {
6
6
  parse() {
@@ -38,6 +38,4 @@ class ArraySchemaParser extends MonoSchemaParser {
38
38
  }
39
39
  }
40
40
 
41
- module.exports = {
42
- ArraySchemaParser,
43
- };
41
+ export { ArraySchemaParser };
@@ -1,6 +1,6 @@
1
- const { MonoSchemaParser } = require("../mono-schema-parser");
2
- const _ = require("lodash");
3
- const { SCHEMA_TYPES } = require("../../constants");
1
+ import _ from "lodash";
2
+ import { SCHEMA_TYPES } from "../../constants.js";
3
+ import { MonoSchemaParser } from "../mono-schema-parser.js";
4
4
 
5
5
  class ComplexSchemaParser extends MonoSchemaParser {
6
6
  parse() {
@@ -46,6 +46,4 @@ class ComplexSchemaParser extends MonoSchemaParser {
46
46
  }
47
47
  }
48
48
 
49
- module.exports = {
50
- ComplexSchemaParser,
51
- };
49
+ export { ComplexSchemaParser };
@@ -1,6 +1,6 @@
1
- const _ = require("lodash");
2
- const { SCHEMA_TYPES } = require("../../constants");
3
- const { MonoSchemaParser } = require("../mono-schema-parser");
1
+ import _ from "lodash";
2
+ import { SCHEMA_TYPES } from "../../constants.js";
3
+ import { MonoSchemaParser } from "../mono-schema-parser.js";
4
4
 
5
5
  class DiscriminatorSchemaParser extends MonoSchemaParser {
6
6
  parse() {
@@ -302,6 +302,4 @@ class DiscriminatorSchemaParser extends MonoSchemaParser {
302
302
  };
303
303
  }
304
304
 
305
- module.exports = {
306
- DiscriminatorSchemaParser,
307
- };
305
+ export { DiscriminatorSchemaParser };
@@ -1,7 +1,7 @@
1
- const { MonoSchemaParser } = require("../mono-schema-parser");
2
- const _ = require("lodash");
3
- const { SCHEMA_TYPES } = require("../../constants");
4
- const { EnumKeyResolver } = require("../util/enum-key-resolver");
1
+ import _ from "lodash";
2
+ import { SCHEMA_TYPES } from "../../constants.js";
3
+ import { MonoSchemaParser } from "../mono-schema-parser.js";
4
+ import { EnumKeyResolver } from "../util/enum-key-resolver.js";
5
5
 
6
6
  class EnumSchemaParser extends MonoSchemaParser {
7
7
  /** @type {EnumKeyResolver} */
@@ -153,6 +153,4 @@ class EnumSchemaParser extends MonoSchemaParser {
153
153
  };
154
154
  }
155
155
 
156
- module.exports = {
157
- EnumSchemaParser,
158
- };
156
+ export { EnumSchemaParser };
@@ -1,6 +1,6 @@
1
- const { MonoSchemaParser } = require("../mono-schema-parser");
2
- const _ = require("lodash");
3
- const { SCHEMA_TYPES } = require("../../constants");
1
+ import _ from "lodash";
2
+ import { SCHEMA_TYPES } from "../../constants.js";
3
+ import { MonoSchemaParser } from "../mono-schema-parser.js";
4
4
 
5
5
  class ObjectSchemaParser extends MonoSchemaParser {
6
6
  parse() {
@@ -100,6 +100,4 @@ class ObjectSchemaParser extends MonoSchemaParser {
100
100
  };
101
101
  }
102
102
 
103
- module.exports = {
104
- ObjectSchemaParser,
105
- };
103
+ export { ObjectSchemaParser };
@@ -1,6 +1,6 @@
1
- const { MonoSchemaParser } = require("../mono-schema-parser");
2
- const _ = require("lodash");
3
- const { SCHEMA_TYPES } = require("../../constants");
1
+ import _ from "lodash";
2
+ import { SCHEMA_TYPES } from "../../constants.js";
3
+ import { MonoSchemaParser } from "../mono-schema-parser.js";
4
4
 
5
5
  class PrimitiveSchemaParser extends MonoSchemaParser {
6
6
  parse() {
@@ -58,6 +58,4 @@ class PrimitiveSchemaParser extends MonoSchemaParser {
58
58
  }
59
59
  }
60
60
 
61
- module.exports = {
62
- PrimitiveSchemaParser,
63
- };
61
+ export { PrimitiveSchemaParser };
@@ -1,5 +1,5 @@
1
- const { MonoSchemaParser } = require("../mono-schema-parser");
2
- const _ = require("lodash");
1
+ import _ from "lodash";
2
+ import { MonoSchemaParser } from "../mono-schema-parser.js";
3
3
 
4
4
  // T1 & T2
5
5
  class AllOfSchemaParser extends MonoSchemaParser {
@@ -23,4 +23,4 @@ class AllOfSchemaParser extends MonoSchemaParser {
23
23
  }
24
24
  }
25
25
 
26
- module.exports = { AllOfSchemaParser };
26
+ export { AllOfSchemaParser };
@@ -1,5 +1,5 @@
1
- const { MonoSchemaParser } = require("../mono-schema-parser");
2
- const _ = require("lodash");
1
+ import _ from "lodash";
2
+ import { MonoSchemaParser } from "../mono-schema-parser.js";
3
3
 
4
4
  // T1 | T2
5
5
  class AnyOfSchemaParser extends MonoSchemaParser {
@@ -24,4 +24,4 @@ class AnyOfSchemaParser extends MonoSchemaParser {
24
24
  }
25
25
  }
26
26
 
27
- module.exports = { AnyOfSchemaParser };
27
+ export { AnyOfSchemaParser };
@@ -1,4 +1,4 @@
1
- const { MonoSchemaParser } = require("../mono-schema-parser");
1
+ import { MonoSchemaParser } from "../mono-schema-parser.js";
2
2
 
3
3
  class NotSchemaParser extends MonoSchemaParser {
4
4
  parse() {
@@ -6,4 +6,4 @@ class NotSchemaParser extends MonoSchemaParser {
6
6
  }
7
7
  }
8
8
 
9
- module.exports = { NotSchemaParser };
9
+ export { NotSchemaParser };
@@ -1,5 +1,5 @@
1
- const { MonoSchemaParser } = require("../mono-schema-parser");
2
- const _ = require("lodash");
1
+ import _ from "lodash";
2
+ import { MonoSchemaParser } from "../mono-schema-parser.js";
3
3
 
4
4
  // T1 | T2
5
5
  class OneOfSchemaParser extends MonoSchemaParser {
@@ -24,4 +24,4 @@ class OneOfSchemaParser extends MonoSchemaParser {
24
24
  }
25
25
  }
26
26
 
27
- module.exports = { OneOfSchemaParser };
27
+ export { OneOfSchemaParser };
@@ -43,6 +43,4 @@ class MonoSchemaParser {
43
43
  };
44
44
  }
45
45
 
46
- module.exports = {
47
- MonoSchemaParser,
48
- };
46
+ export { MonoSchemaParser };
@@ -1,5 +1,5 @@
1
- const { SCHEMA_TYPES } = require("../constants");
2
- const _ = require("lodash");
1
+ import _ from "lodash";
2
+ import { SCHEMA_TYPES } from "../constants.js";
3
3
 
4
4
  class SchemaFormatters {
5
5
  /** @type {CodeGenConfig} */
@@ -161,6 +161,4 @@ class SchemaFormatters {
161
161
  };
162
162
  }
163
163
 
164
- module.exports = {
165
- SchemaFormatters,
166
- };
164
+ export { SchemaFormatters };
@@ -1,7 +1,7 @@
1
- const _ = require("lodash");
2
- const { SchemaFormatters } = require("./schema-formatters");
3
- const { SchemaUtils } = require("./schema-utils");
4
- const { SchemaParser } = require("./schema-parser");
1
+ import _ from "lodash";
2
+ import { SchemaFormatters } from "./schema-formatters.js";
3
+ import { SchemaParser } from "./schema-parser.js";
4
+ import { SchemaUtils } from "./schema-utils.js";
5
5
 
6
6
  class SchemaParserFabric {
7
7
  /** @type {CodeGenConfig} */
@@ -127,6 +127,4 @@ class SchemaParserFabric {
127
127
  };
128
128
  }
129
129
 
130
- module.exports = {
131
- SchemaParserFabric,
132
- };
130
+ export { SchemaParserFabric };
@@ -1,21 +1,18 @@
1
- /* eslint-disable no-unused-vars */
2
- const { SCHEMA_TYPES } = require("../constants.js");
3
- const _ = require("lodash");
4
- const { SchemaFormatters } = require("./schema-formatters");
5
- const { SchemaUtils } = require("./schema-utils");
6
- const {
7
- DiscriminatorSchemaParser,
8
- } = require("./base-schema-parsers/discriminator");
9
- const { EnumSchemaParser } = require("./base-schema-parsers/enum");
10
- const { ObjectSchemaParser } = require("./base-schema-parsers/object");
11
- const { PrimitiveSchemaParser } = require("./base-schema-parsers/primitive");
12
- const { ComplexSchemaParser } = require("./base-schema-parsers/complex");
13
- const { OneOfSchemaParser } = require("./complex-schema-parsers/one-of");
14
- const { AllOfSchemaParser } = require("./complex-schema-parsers/all-of");
15
- const { AnyOfSchemaParser } = require("./complex-schema-parsers/any-of");
16
- const { NotSchemaParser } = require("./complex-schema-parsers/not");
17
- const { ArraySchemaParser } = require("./base-schema-parsers/array");
18
- const { sortByProperty } = require("../util/sort-by-property");
1
+ import _ from "lodash";
2
+ import { SCHEMA_TYPES } from "../constants.js";
3
+ import { sortByProperty } from "../util/sort-by-property.js";
4
+ import { ArraySchemaParser } from "./base-schema-parsers/array.js";
5
+ import { ComplexSchemaParser } from "./base-schema-parsers/complex.js";
6
+ import { DiscriminatorSchemaParser } from "./base-schema-parsers/discriminator.js";
7
+ import { EnumSchemaParser } from "./base-schema-parsers/enum.js";
8
+ import { ObjectSchemaParser } from "./base-schema-parsers/object.js";
9
+ import { PrimitiveSchemaParser } from "./base-schema-parsers/primitive.js";
10
+ import { AllOfSchemaParser } from "./complex-schema-parsers/all-of.js";
11
+ import { AnyOfSchemaParser } from "./complex-schema-parsers/any-of.js";
12
+ import { NotSchemaParser } from "./complex-schema-parsers/not.js";
13
+ import { OneOfSchemaParser } from "./complex-schema-parsers/one-of.js";
14
+ import { SchemaFormatters } from "./schema-formatters.js";
15
+ import { SchemaUtils } from "./schema-utils.js";
19
16
 
20
17
  class SchemaParser {
21
18
  /** @type {SchemaParserFabric} */
@@ -295,6 +292,4 @@ class SchemaParser {
295
292
  };
296
293
  }
297
294
 
298
- module.exports = {
299
- SchemaParser,
300
- };
295
+ export { SchemaParser };
@@ -1,8 +1,7 @@
1
- const _ = require("lodash");
2
- const { SCHEMA_TYPES } = require("../constants");
3
- const { internalCase } = require("../util/internal-case");
4
- const { pascalCase } = require("../util/pascal-case");
5
- const { camelCase } = require("lodash");
1
+ import _ from "lodash";
2
+ import { SCHEMA_TYPES } from "../constants.js";
3
+ import { internalCase } from "../util/internal-case.js";
4
+ import { pascalCase } from "../util/pascal-case.js";
6
5
 
7
6
  class SchemaUtils {
8
7
  /** @type {CodeGenConfig} */
@@ -285,7 +284,7 @@ class SchemaUtils {
285
284
  if (!schemaPath || !schemaPath[0]) return null;
286
285
 
287
286
  return pascalCase(
288
- camelCase(
287
+ _.camelCase(
289
288
  _.uniq([schemaPath[0], schemaPath[schemaPath.length - 1]]).join("_"),
290
289
  ),
291
290
  );
@@ -317,6 +316,4 @@ class SchemaUtils {
317
316
  };
318
317
  }
319
318
 
320
- module.exports = {
321
- SchemaUtils,
322
- };
319
+ export { SchemaUtils };
@@ -1,4 +1,4 @@
1
- const { NameResolver } = require("../../util/name-resolver");
1
+ import { NameResolver } from "../../util/name-resolver.js";
2
2
 
3
3
  class EnumKeyResolver extends NameResolver {
4
4
  counter = 1;
@@ -21,6 +21,4 @@ class EnumKeyResolver extends NameResolver {
21
21
  }
22
22
  }
23
23
 
24
- module.exports = {
25
- EnumKeyResolver,
26
- };
24
+ export { EnumKeyResolver };
@@ -1,16 +1,13 @@
1
- const _ = require("lodash");
2
- const { generateId } = require("../util/id.js");
3
- const {
4
- SpecificArgNameResolver,
5
- } = require("./util/specific-arg-name-resolver");
6
- const {
1
+ import _ from "lodash";
2
+ import {
7
3
  DEFAULT_BODY_ARG_NAME,
8
4
  RESERVED_BODY_ARG_NAMES,
9
5
  RESERVED_HEADER_ARG_NAMES,
10
6
  RESERVED_PATH_ARG_NAMES,
11
7
  RESERVED_QUERY_ARG_NAMES,
12
- } = require("../constants.js");
13
- const { camelCase } = require("lodash");
8
+ } from "../constants.js";
9
+ import { generateId } from "../util/id.js";
10
+ import { SpecificArgNameResolver } from "./util/specific-arg-name-resolver.js";
14
11
 
15
12
  const CONTENT_KIND = {
16
13
  JSON: "JSON",
@@ -540,7 +537,7 @@ class SchemaRoutes {
540
537
  let usageName = `${schemaPart.name}`;
541
538
 
542
539
  if (usageName.includes(".")) {
543
- usageName = camelCase(usageName);
540
+ usageName = _.camelCase(usageName);
544
541
  }
545
542
 
546
543
  return {
@@ -1208,6 +1205,4 @@ class SchemaRoutes {
1208
1205
  };
1209
1206
  }
1210
1207
 
1211
- module.exports = {
1212
- SchemaRoutes,
1213
- };
1208
+ export { SchemaRoutes };
@@ -1,4 +1,4 @@
1
- const { NameResolver } = require("../../util/name-resolver");
1
+ import { NameResolver } from "../../util/name-resolver.js";
2
2
 
3
3
  class SpecificArgNameResolver extends NameResolver {
4
4
  counter = 1;
@@ -21,6 +21,4 @@ class SpecificArgNameResolver extends NameResolver {
21
21
  }
22
22
  }
23
23
 
24
- module.exports = {
25
- SpecificArgNameResolver,
26
- };
24
+ export { SpecificArgNameResolver };
@@ -1,4 +1,4 @@
1
- const _ = require("lodash");
1
+ import _ from "lodash";
2
2
 
3
3
  // TODO: WIP
4
4
  // this class will be needed to walk by schema everywhere
@@ -88,6 +88,4 @@ class SchemaWalker {
88
88
  };
89
89
  }
90
90
 
91
- module.exports = {
92
- SchemaWalker,
93
- };
91
+ export { SchemaWalker };
@@ -1,7 +1,7 @@
1
- const _ = require("lodash");
2
- const converter = require("swagger2openapi");
3
- const yaml = require("js-yaml");
4
- const { Request } = require("./util/request");
1
+ import yaml from "js-yaml";
2
+ import _ from "lodash";
3
+ import converter from "swagger2openapi";
4
+ import { Request } from "./util/request.js";
5
5
 
6
6
  class SwaggerSchemaResolver {
7
7
  /**
@@ -192,6 +192,4 @@ class SwaggerSchemaResolver {
192
192
  }
193
193
  }
194
194
 
195
- module.exports = {
196
- SwaggerSchemaResolver,
197
- };
195
+ export { SwaggerSchemaResolver };
@@ -1,7 +1,8 @@
1
- const { resolve } = require("node:path");
2
- const _ = require("lodash");
3
- const Eta = require("eta");
4
- const path = require("node:path");
1
+ import { resolve } from "node:path";
2
+ import path from "node:path";
3
+ import url from "node:url";
4
+ import * as Eta from "eta";
5
+ import _ from "lodash";
5
6
 
6
7
  class TemplatesWorker {
7
8
  /**
@@ -34,6 +35,7 @@ class TemplatesWorker {
34
35
  * @returns {CodeGenConfig.templatePaths}
35
36
  */
36
37
  getTemplatePaths = (config) => {
38
+ const __dirname = path.dirname(url.fileURLToPath(import.meta.url));
37
39
  const baseTemplatesPath = resolve(__dirname, "../templates/base");
38
40
  const defaultTemplatesPath = resolve(__dirname, "../templates/default");
39
41
  const modularTemplatesPath = resolve(__dirname, "../templates/modular");
@@ -238,6 +240,4 @@ class TemplatesWorker {
238
240
  };
239
241
  }
240
242
 
241
- module.exports = {
242
- TemplatesWorker,
243
- };
243
+ export { TemplatesWorker };
@@ -1,5 +1,5 @@
1
- const ts = require("typescript");
2
- const { Translator } = require("./translator");
1
+ import ts from "typescript";
2
+ import { Translator } from "./translator.js";
3
3
 
4
4
  class JavascriptTranslator extends Translator {
5
5
  /**
@@ -78,6 +78,4 @@ class JavascriptTranslator extends Translator {
78
78
  };
79
79
  }
80
80
 
81
- module.exports = {
82
- JavascriptTranslator,
83
- };
81
+ export { JavascriptTranslator };
@@ -30,6 +30,4 @@ class Translator {
30
30
  }
31
31
  }
32
32
 
33
- module.exports = {
34
- Translator,
35
- };
33
+ export { Translator };
@@ -1,4 +1,4 @@
1
- const _ = require("lodash");
1
+ import _ from "lodash";
2
2
 
3
3
  /**
4
4
  * @typedef {"enum-key" | "type-name"} FormattingSchemaType
@@ -108,6 +108,4 @@ class TypeNameFormatter {
108
108
  };
109
109
  }
110
110
 
111
- module.exports = {
112
- TypeNameFormatter,
113
- };
111
+ export { TypeNameFormatter };
@@ -1,7 +1,8 @@
1
- const fs = require("node:fs");
2
- const { resolve } = require("node:path");
3
- const _ = require("lodash");
4
- const { Logger } = require("./logger");
1
+ import fs from "node:fs";
2
+ import { dirname, resolve } from "node:path";
3
+ import url from "node:url";
4
+ import _ from "lodash";
5
+ import { Logger } from "./logger.js";
5
6
 
6
7
  const FILE_PREFIX = `/* eslint-disable */
7
8
  /* tslint:disable */
@@ -83,6 +84,7 @@ class FileSystem {
83
84
  };
84
85
 
85
86
  createFile = ({ path, fileName, content, withPrefix }) => {
87
+ const __dirname = dirname(url.fileURLToPath(import.meta.url));
86
88
  const absolutePath = resolve(__dirname, path, `./${fileName}`);
87
89
  const fileContent = `${withPrefix ? FILE_PREFIX : ""}${content}`;
88
90
 
@@ -90,6 +92,4 @@ class FileSystem {
90
92
  };
91
93
  }
92
94
 
93
- module.exports = {
94
- FileSystem,
95
- };
95
+ export { FileSystem };
package/src/util/id.js CHANGED
@@ -1,9 +1,7 @@
1
- const { customAlphabet } = require("nanoid");
1
+ import { customAlphabet } from "nanoid";
2
2
 
3
3
  const ALPHABET = "abcdefghijklmnopqrstuvwxyz0123456789";
4
4
 
5
5
  const generateId = customAlphabet(ALPHABET, 12);
6
6
 
7
- module.exports = {
8
- generateId,
9
- };
7
+ export { generateId };
@@ -1,5 +1,7 @@
1
- const _ = require("lodash");
1
+ import _ from "lodash";
2
2
 
3
- module.exports = {
4
- internalCase: (value) => _.camelCase(_.lowerCase(value)),
5
- };
3
+ function internalCase(value) {
4
+ return _.camelCase(_.lowerCase(value));
5
+ }
6
+
7
+ export { internalCase };
@@ -1,5 +1,5 @@
1
- const { emojify } = require("node-emoji");
2
- const _ = require("lodash");
1
+ import _ from "lodash";
2
+ import { emojify } from "node-emoji";
3
3
 
4
4
  class Logger {
5
5
  firstLog = true;
@@ -139,6 +139,4 @@ class Logger {
139
139
  };
140
140
  }
141
141
 
142
- module.exports = {
143
- Logger,
144
- };
142
+ export { Logger };
@@ -1,4 +1,4 @@
1
- const _ = require("lodash");
1
+ import _ from "lodash";
2
2
 
3
3
  class NameResolver {
4
4
  reservedNames = [];
@@ -100,6 +100,4 @@ class NameResolver {
100
100
  }
101
101
  }
102
102
 
103
- module.exports = {
104
- NameResolver,
105
- };
103
+ export { NameResolver };
@@ -1,4 +1,4 @@
1
- const _ = require("lodash");
1
+ import _ from "lodash";
2
2
 
3
3
  const objectAssign = (target, updaterFn) => {
4
4
  if (!updaterFn) return;
@@ -14,6 +14,4 @@ const objectAssign = (target, updaterFn) => {
14
14
  });
15
15
  };
16
16
 
17
- module.exports = {
18
- objectAssign,
19
- };
17
+ export { objectAssign };
@@ -1,5 +1,7 @@
1
- const _ = require("lodash");
1
+ import _ from "lodash";
2
2
 
3
- module.exports = {
4
- pascalCase: (value) => _.upperFirst(_.camelCase(value)),
5
- };
3
+ function pascalCase(value) {
4
+ return _.upperFirst(_.camelCase(value));
5
+ }
6
+
7
+ export { pascalCase };
@@ -8,7 +8,4 @@ const getRandomInt = (min = 0, max = 1) => {
8
8
  return Math.round(getRandomFloat(min, max));
9
9
  };
10
10
 
11
- module.exports = {
12
- getRandomInt,
13
- getRandomFloat,
14
- };
11
+ export { getRandomInt, getRandomFloat };
@@ -1,4 +1,4 @@
1
- const _ = require("lodash");
1
+ import _ from "lodash";
2
2
 
3
3
  class Request {
4
4
  /**
@@ -60,6 +60,4 @@ class Request {
60
60
  }
61
61
  }
62
62
 
63
- module.exports = {
64
- Request,
65
- };
63
+ export { Request };
@@ -12,6 +12,4 @@ const sortByProperty = (propertyName) => (o1, o2) => {
12
12
  return 0;
13
13
  };
14
14
 
15
- module.exports = {
16
- sortByProperty,
17
- };
15
+ export { sortByProperty };