From 1a756bdc45d3c9c425f26ee3213888168a013aff Mon Sep 17 00:00:00 2001 From: "K.Himeno" Date: Tue, 12 Jan 2021 16:57:38 +0900 Subject: [PATCH] fix: after release some bugs (#4) --- .dependency-cruiser.js | 6 ++++++ README.md | 2 +- example/codegen.ts | 2 -- package.json | 7 +++++-- scripts/testCodeGen.ts | 1 - src/index.ts | 19 ++++++------------- 6 files changed, 18 insertions(+), 19 deletions(-) diff --git a/.dependency-cruiser.js b/.dependency-cruiser.js index 781703f1..8d7745b5 100644 --- a/.dependency-cruiser.js +++ b/.dependency-cruiser.js @@ -65,8 +65,13 @@ module.exports = { }, to: { dependencyTypes: ["npm-dev"], + pathNot: "typescript", }, }, + { + name: "no-duplicate-dep-types", + severity: "ignore", + }, { name: "optional-deps-used", severity: "info", @@ -91,6 +96,7 @@ module.exports = { from: {}, to: { dependencyTypes: ["npm-peer"], + pathNot: "typescript", }, }, ], diff --git a/README.md b/README.md index 08e433bb..31a74cea 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ The hierarchical structure of the directory is converted to the hierarchical str yarn add -D @himenon/openapi-typescript-code-generator ``` -### デモ +### DEMO - [DEMO](./example/README.md) diff --git a/example/codegen.ts b/example/codegen.ts index 4d1c0bc8..be9c2d3a 100644 --- a/example/codegen.ts +++ b/example/codegen.ts @@ -4,11 +4,9 @@ import * as CodeGenerator from "../lib"; // = @himenon/openapi-typescript-code-g const main = () => { const params: CodeGenerator.Params = { - version: "v3", entryPoint: "./spec/openapi.yml", enableValidate: true, }; - fs.mkdirSync("test/code", { recursive: true }); const code = CodeGenerator.generateTypeScriptCode(params); fs.writeFileSync("client.ts", code, { encoding: "utf-8" }); }; diff --git a/package.json b/package.json index 7dea82eb..9f2360b3 100644 --- a/package.json +++ b/package.json @@ -75,8 +75,7 @@ "@types/json-schema": "7.0.6", "ajv": "7.0.3", "dot-prop": "6.0.1", - "js-yaml": "4.0.0", - "typescript": "4.1.3" + "js-yaml": "4.0.0" }, "devDependencies": { "@commitlint/cli": "11.0.0", @@ -112,8 +111,12 @@ "sort-package-json": "1.48.1", "ts-jest": "26.4.4", "ts-node": "9.1.1", + "typescript": "4.1.3", "yarn-deduplicate": "3.1.0" }, + "peerDependencies": { + "typescript": "4.1.3" + }, "publishConfig": { "access": "public" }, diff --git a/scripts/testCodeGen.ts b/scripts/testCodeGen.ts index 2a32e99d..361c3f44 100644 --- a/scripts/testCodeGen.ts +++ b/scripts/testCodeGen.ts @@ -4,7 +4,6 @@ import * as CodeGenerator from "../lib"; const main = () => { const params: CodeGenerator.Params = { - version: "v3", entryPoint: "test/api.test.domain/index.yml", log: { validator: { diff --git a/src/index.ts b/src/index.ts index 7c87fef3..13a87cbc 100644 --- a/src/index.ts +++ b/src/index.ts @@ -10,7 +10,6 @@ import * as Validator from "./Validator"; export { Converter }; export interface Params { - version: "v3"; entryPoint: string; option?: Partial; /** default: true */ @@ -20,7 +19,7 @@ export interface Params { }; } -export const generateTypeScriptCode = ({ version, entryPoint, option, enableValidate = true, log }: Params): string => { +export const generateTypeScriptCode = ({ entryPoint, option, enableValidate = true, log }: Params): string => { const schema = fileSystem.loadJsonOrYaml(entryPoint); const resolvedReferenceDocument = ResolveReference.resolve(entryPoint, entryPoint, JSON.parse(JSON.stringify(schema))); @@ -28,15 +27,9 @@ export const generateTypeScriptCode = ({ version, entryPoint, option, enableVali Validator.v3.validate(resolvedReferenceDocument, log && log.validator); } - switch (version) { - case "v3": { - const convertOption: Converter.v3.Option = option - ? { makeApiClient: option.makeApiClient || DefaultCodeTemplate.makeClientApiClient } - : { makeApiClient: DefaultCodeTemplate.makeClientApiClient }; - const { createFunction, generateLeadingComment } = Converter.v3.create(entryPoint, schema, resolvedReferenceDocument, convertOption); - return [generateLeadingComment(), TypeScriptCodeGenerator.generate(createFunction)].join(EOL + EOL + EOL); - } - default: - return "UnSupport OpenAPI Version"; - } + const convertOption: Converter.v3.Option = option + ? { makeApiClient: option.makeApiClient || DefaultCodeTemplate.makeClientApiClient } + : { makeApiClient: DefaultCodeTemplate.makeClientApiClient }; + const { createFunction, generateLeadingComment } = Converter.v3.create(entryPoint, schema, resolvedReferenceDocument, convertOption); + return [generateLeadingComment(), TypeScriptCodeGenerator.generate(createFunction)].join(EOL + EOL + EOL); };