From df6965b8f9f8809f0bd119346cbe9890b5e575be Mon Sep 17 00:00:00 2001 From: "K.Himeno" <6715229+Himenon@users.noreply.github.com> Date: Mon, 20 Mar 2023 18:58:59 +0900 Subject: [PATCH 1/2] refactor: api-client -> class-api-client --- .eslintingore | 7 ------- .gitignore | 3 +++ .../{api-client => class-api-client}/ApiClientArgument.ts | 0 .../ApiClientClass/ApiClientInterface.ts | 0 .../ApiClientClass/Class.ts | 0 .../ApiClientClass/Constructor.ts | 0 .../ApiClientClass/Method.ts | 0 .../ApiClientClass/MethodBody/CallRequest.ts | 0 .../ApiClientClass/MethodBody/HeaderParameter.ts | 0 .../ApiClientClass/MethodBody/PathParameter.ts | 0 .../ApiClientClass/MethodBody/QueryParameter.ts | 0 .../MethodBody/__tests__/PathParameter-test.ts | 0 .../ApiClientClass/MethodBody/index.ts | 0 .../ApiClientClass/index.ts | 0 .../__tests__/utils.test.ts | 0 .../{api-client => class-api-client}/index.ts | 0 .../{api-client => class-api-client}/types.ts | 0 .../{api-client => class-api-client}/utils.ts | 0 src/meta.ts | 2 +- src/templates.ts | 2 +- 20 files changed, 5 insertions(+), 9 deletions(-) delete mode 100644 .eslintingore rename src/code-templates/{api-client => class-api-client}/ApiClientArgument.ts (100%) rename src/code-templates/{api-client => class-api-client}/ApiClientClass/ApiClientInterface.ts (100%) rename src/code-templates/{api-client => class-api-client}/ApiClientClass/Class.ts (100%) rename src/code-templates/{api-client => class-api-client}/ApiClientClass/Constructor.ts (100%) rename src/code-templates/{api-client => class-api-client}/ApiClientClass/Method.ts (100%) rename src/code-templates/{api-client => class-api-client}/ApiClientClass/MethodBody/CallRequest.ts (100%) rename src/code-templates/{api-client => class-api-client}/ApiClientClass/MethodBody/HeaderParameter.ts (100%) rename src/code-templates/{api-client => class-api-client}/ApiClientClass/MethodBody/PathParameter.ts (100%) rename src/code-templates/{api-client => class-api-client}/ApiClientClass/MethodBody/QueryParameter.ts (100%) rename src/code-templates/{api-client => class-api-client}/ApiClientClass/MethodBody/__tests__/PathParameter-test.ts (100%) rename src/code-templates/{api-client => class-api-client}/ApiClientClass/MethodBody/index.ts (100%) rename src/code-templates/{api-client => class-api-client}/ApiClientClass/index.ts (100%) rename src/code-templates/{api-client => class-api-client}/__tests__/utils.test.ts (100%) rename src/code-templates/{api-client => class-api-client}/index.ts (100%) rename src/code-templates/{api-client => class-api-client}/types.ts (100%) rename src/code-templates/{api-client => class-api-client}/utils.ts (100%) diff --git a/.eslintingore b/.eslintingore deleted file mode 100644 index b6072742..00000000 --- a/.eslintingore +++ /dev/null @@ -1,7 +0,0 @@ -lib -debug -test/code/ -lib/ -test/kubernetes -test/argo-rollout -CHANGELOG.md diff --git a/.gitignore b/.gitignore index 7780cbf2..665ba3bc 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,6 @@ package-lock.json private_npm_cache test/code debug +test/kubernetes +test/argo-rollout +CHANGELOG.md diff --git a/src/code-templates/api-client/ApiClientArgument.ts b/src/code-templates/class-api-client/ApiClientArgument.ts similarity index 100% rename from src/code-templates/api-client/ApiClientArgument.ts rename to src/code-templates/class-api-client/ApiClientArgument.ts diff --git a/src/code-templates/api-client/ApiClientClass/ApiClientInterface.ts b/src/code-templates/class-api-client/ApiClientClass/ApiClientInterface.ts similarity index 100% rename from src/code-templates/api-client/ApiClientClass/ApiClientInterface.ts rename to src/code-templates/class-api-client/ApiClientClass/ApiClientInterface.ts diff --git a/src/code-templates/api-client/ApiClientClass/Class.ts b/src/code-templates/class-api-client/ApiClientClass/Class.ts similarity index 100% rename from src/code-templates/api-client/ApiClientClass/Class.ts rename to src/code-templates/class-api-client/ApiClientClass/Class.ts diff --git a/src/code-templates/api-client/ApiClientClass/Constructor.ts b/src/code-templates/class-api-client/ApiClientClass/Constructor.ts similarity index 100% rename from src/code-templates/api-client/ApiClientClass/Constructor.ts rename to src/code-templates/class-api-client/ApiClientClass/Constructor.ts diff --git a/src/code-templates/api-client/ApiClientClass/Method.ts b/src/code-templates/class-api-client/ApiClientClass/Method.ts similarity index 100% rename from src/code-templates/api-client/ApiClientClass/Method.ts rename to src/code-templates/class-api-client/ApiClientClass/Method.ts diff --git a/src/code-templates/api-client/ApiClientClass/MethodBody/CallRequest.ts b/src/code-templates/class-api-client/ApiClientClass/MethodBody/CallRequest.ts similarity index 100% rename from src/code-templates/api-client/ApiClientClass/MethodBody/CallRequest.ts rename to src/code-templates/class-api-client/ApiClientClass/MethodBody/CallRequest.ts diff --git a/src/code-templates/api-client/ApiClientClass/MethodBody/HeaderParameter.ts b/src/code-templates/class-api-client/ApiClientClass/MethodBody/HeaderParameter.ts similarity index 100% rename from src/code-templates/api-client/ApiClientClass/MethodBody/HeaderParameter.ts rename to src/code-templates/class-api-client/ApiClientClass/MethodBody/HeaderParameter.ts diff --git a/src/code-templates/api-client/ApiClientClass/MethodBody/PathParameter.ts b/src/code-templates/class-api-client/ApiClientClass/MethodBody/PathParameter.ts similarity index 100% rename from src/code-templates/api-client/ApiClientClass/MethodBody/PathParameter.ts rename to src/code-templates/class-api-client/ApiClientClass/MethodBody/PathParameter.ts diff --git a/src/code-templates/api-client/ApiClientClass/MethodBody/QueryParameter.ts b/src/code-templates/class-api-client/ApiClientClass/MethodBody/QueryParameter.ts similarity index 100% rename from src/code-templates/api-client/ApiClientClass/MethodBody/QueryParameter.ts rename to src/code-templates/class-api-client/ApiClientClass/MethodBody/QueryParameter.ts diff --git a/src/code-templates/api-client/ApiClientClass/MethodBody/__tests__/PathParameter-test.ts b/src/code-templates/class-api-client/ApiClientClass/MethodBody/__tests__/PathParameter-test.ts similarity index 100% rename from src/code-templates/api-client/ApiClientClass/MethodBody/__tests__/PathParameter-test.ts rename to src/code-templates/class-api-client/ApiClientClass/MethodBody/__tests__/PathParameter-test.ts diff --git a/src/code-templates/api-client/ApiClientClass/MethodBody/index.ts b/src/code-templates/class-api-client/ApiClientClass/MethodBody/index.ts similarity index 100% rename from src/code-templates/api-client/ApiClientClass/MethodBody/index.ts rename to src/code-templates/class-api-client/ApiClientClass/MethodBody/index.ts diff --git a/src/code-templates/api-client/ApiClientClass/index.ts b/src/code-templates/class-api-client/ApiClientClass/index.ts similarity index 100% rename from src/code-templates/api-client/ApiClientClass/index.ts rename to src/code-templates/class-api-client/ApiClientClass/index.ts diff --git a/src/code-templates/api-client/__tests__/utils.test.ts b/src/code-templates/class-api-client/__tests__/utils.test.ts similarity index 100% rename from src/code-templates/api-client/__tests__/utils.test.ts rename to src/code-templates/class-api-client/__tests__/utils.test.ts diff --git a/src/code-templates/api-client/index.ts b/src/code-templates/class-api-client/index.ts similarity index 100% rename from src/code-templates/api-client/index.ts rename to src/code-templates/class-api-client/index.ts diff --git a/src/code-templates/api-client/types.ts b/src/code-templates/class-api-client/types.ts similarity index 100% rename from src/code-templates/api-client/types.ts rename to src/code-templates/class-api-client/types.ts diff --git a/src/code-templates/api-client/utils.ts b/src/code-templates/class-api-client/utils.ts similarity index 100% rename from src/code-templates/api-client/utils.ts rename to src/code-templates/class-api-client/utils.ts diff --git a/src/meta.ts b/src/meta.ts index ecb03efb..f2ea959d 100644 --- a/src/meta.ts +++ b/src/meta.ts @@ -1,2 +1,2 @@ export const Name = "@himenon/openapi-typescript-code-generator"; -export const Version = "0.19.3"; +export const Version = "0.21.0"; \ No newline at end of file diff --git a/src/templates.ts b/src/templates.ts index 65c4447e..426c7f91 100644 --- a/src/templates.ts +++ b/src/templates.ts @@ -1 +1 @@ -export * as ApiClient from "./code-templates/api-client"; +export * as ApiClient from "./code-templates/class-api-client"; From dd154df2e19337e124ddbfc28b853dd933bc9db5 Mon Sep 17 00:00:00 2001 From: "K.Himeno" <6715229+Himenon@users.noreply.github.com> Date: Mon, 20 Mar 2023 19:10:41 +0900 Subject: [PATCH 2/2] refactor: update --- .eslintrc.js | 46 ++++- .../use-extract-schema-params.ts | 2 +- package.json | 6 +- pnpm-lock.yaml | 194 ++++++++++++------ scripts/tools/cherry-pick.ts | 4 +- .../ApiClientClass/MethodBody/index.ts | 2 +- src/code-templates/class-api-client/utils.ts | 4 +- .../OpenApiTools/components/Reference.ts | 2 +- src/internal/TsGenerator/factory/Namespace.ts | 2 +- test/__tests__/client-generate-test.ts | 1 - test/__tests__/multi-type.test.domain.ts | 1 - test/__tests__/parameter-test.ts | 1 - test/__tests__/spit-code-test.ts | 1 - test/__tests__/template-only-test.ts | 1 - test/__tests__/typedef-only-test.ts | 1 - test/__tests__/unknown-schema-domain-test.ts | 1 - 16 files changed, 184 insertions(+), 85 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 56dcbb4a..8cb9d76a 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,19 +1,53 @@ +/** + * @type {import("eslint").Linter.Config} + */ module.exports = { env: { browser: true, - es2021: true, + es2022: true, + node: true, }, - extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:import/typescript"], + extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:import/typescript", "prettier"], parser: "@typescript-eslint/parser", parserOptions: { ecmaVersion: 12, - project: "tsconfig.json", + project: ["tsconfig.json"], sourceType: "module", }, - plugins: ["@typescript-eslint"], + plugins: ["@typescript-eslint", "simple-import-sort", "unused-imports"], rules: { + eqeqeq: "error", "no-unused-vars": "off", - "@typescript-eslint/ban-types": "warn", - "@typescript-eslint/no-namespace": "off", + "unused-imports/no-unused-imports": "error", + "@typescript-eslint/no-explicit-any": "error", + "@typescript-eslint/no-unused-vars": [ + "error", + { + argsIgnorePattern: "^_", + varsIgnorePattern: "^_", + caughtErrorsIgnorePattern: "^_", + }, + ], + "@typescript-eslint/ban-types": [ + "error", + { + types: { + // un-ban a type that's banned by default + "{}": false, + }, + extendDefaults: true, + }, + ], + "@typescript-eslint/no-explicit-any": "off", }, + overrides: [ + { + files: ["example/**"], + rules: { + "@typescript-eslint/no-unused-vars": "off", + "@typescript-eslint/no-empty-interface": "off", + "@typescript-eslint/no-namespace": "off", + }, + }, + ], }; diff --git a/example/readme-sample/use-extract-schema-params.ts b/example/readme-sample/use-extract-schema-params.ts index 850b5483..7886d872 100644 --- a/example/readme-sample/use-extract-schema-params.ts +++ b/example/readme-sample/use-extract-schema-params.ts @@ -2,7 +2,7 @@ import * as Types from "@himenon/openapi-typescript-code-generator/types"; interface Option {} -const generator: Types.CodeGenerator.GenerateFunction