From ebc8a82fcff635771cacc4cfd2782dbcadc73fd4 Mon Sep 17 00:00:00 2001 From: Jon Ursenbach Date: Tue, 17 Oct 2023 12:13:59 -0700 Subject: [PATCH] feat(core): moving `json-schema-to-ts` directly into the `core` package --- package-lock.json | 2 +- packages/api/package.json | 1 - packages/api/src/codegen/languages/typescript/index.ts | 8 +------- packages/core/package.json | 5 +++++ packages/core/src/lib/index.ts | 4 +++- packages/core/tsup.config.ts | 2 +- packages/test-utils/sdks/alby/package.json | 3 +-- packages/test-utils/sdks/alby/src/types.ts | 2 +- packages/test-utils/sdks/metrotransit/package.json | 3 +-- packages/test-utils/sdks/metrotransit/src/types.ts | 2 +- packages/test-utils/sdks/operationid-quirks/package.json | 3 +-- packages/test-utils/sdks/optional-payload/package.json | 3 +-- packages/test-utils/sdks/optional-payload/src/types.ts | 2 +- packages/test-utils/sdks/petstore/package.json | 3 +-- packages/test-utils/sdks/petstore/src/types.ts | 2 +- packages/test-utils/sdks/readme/package.json | 3 +-- packages/test-utils/sdks/readme/src/types.ts | 2 +- .../test-utils/sdks/response-title-quirks/package.json | 3 +-- .../test-utils/sdks/response-title-quirks/src/types.ts | 2 +- packages/test-utils/sdks/simple/package.json | 3 +-- packages/test-utils/sdks/simple/src/types.ts | 2 +- packages/test-utils/sdks/star-trek/package.json | 3 +-- packages/test-utils/sdks/star-trek/src/types.ts | 2 +- 23 files changed, 28 insertions(+), 37 deletions(-) diff --git a/package-lock.json b/package-lock.json index ee15d02f..ec24cb99 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22002,7 +22002,6 @@ "execa": "^5.1.1", "figures": "^3.2.0", "js-yaml": "^4.1.0", - "json-schema-to-ts": "^2.9.2", "lodash.camelcase": "^4.3.0", "lodash.deburr": "^4.1.0", "lodash.setwith": "^4.3.2", @@ -22052,6 +22051,7 @@ "datauri": "^4.1.0", "fetch-har": "^11.0.1", "get-stream": "^6.0.1", + "json-schema-to-ts": "^2.9.2", "json-schema-traverse": "^1.0.0", "lodash.merge": "^4.6.2", "oas": "^23.0.0", diff --git a/packages/api/package.json b/packages/api/package.json index 91ba9aaf..62626384 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -45,7 +45,6 @@ "execa": "^5.1.1", "figures": "^3.2.0", "js-yaml": "^4.1.0", - "json-schema-to-ts": "^2.9.2", "lodash.camelcase": "^4.3.0", "lodash.deburr": "^4.1.0", "lodash.setwith": "^4.3.2", diff --git a/packages/api/src/codegen/languages/typescript/index.ts b/packages/api/src/codegen/languages/typescript/index.ts index 6c9fa2d2..3c38a8aa 100644 --- a/packages/api/src/codegen/languages/typescript/index.ts +++ b/packages/api/src/codegen/languages/typescript/index.ts @@ -95,12 +95,6 @@ export default class TSGenerator extends CodeGenerator { ? `file:${path.relative(__dirname, path.dirname(require.resolve('@readme/api-core/package.json')))}` : corePkg.version, }, - 'json-schema-to-ts': { - dependencyType: 'production', - reason: 'Required for TypeScript type handling.', - url: 'https://npm.im/json-schema-to-ts', - version: '^2.9.2', - }, tsup: { dependencyType: 'development', reason: "Used for compiling your codegen'd SDK into code that can be used in JS environments.", @@ -581,7 +575,7 @@ sdk.server('https://eu.api.example.com/v14');`), const sourceFile = sourceDirectory.createSourceFile('types.ts', ''); sourceFile.addImportDeclarations([ - { defaultImport: 'type { FromSchema }', moduleSpecifier: 'json-schema-to-ts' }, + { defaultImport: 'type { FromSchema }', moduleSpecifier: '@readme/api-core/lib' }, { defaultImport: '* as schemas', moduleSpecifier: './schemas' }, ]); diff --git a/packages/core/package.json b/packages/core/package.json index 21f06a23..1b30cc37 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -13,6 +13,10 @@ "require": "./dist/errors/fetchError.cjs", "import": "./dist/errors/fetchError.js" }, + "./lib": { + "require": "./dist/lib/index.cjs", + "import": "./dist/lib/index.js" + }, "./package.json": "./package.json" }, "main": "dist/index.cjs", @@ -46,6 +50,7 @@ "datauri": "^4.1.0", "fetch-har": "^11.0.1", "get-stream": "^6.0.1", + "json-schema-to-ts": "^2.9.2", "json-schema-traverse": "^1.0.0", "lodash.merge": "^4.6.2", "oas": "^23.0.0", diff --git a/packages/core/src/lib/index.ts b/packages/core/src/lib/index.ts index b66b0b18..47c61efb 100644 --- a/packages/core/src/lib/index.ts +++ b/packages/core/src/lib/index.ts @@ -1,7 +1,9 @@ +import type { FromSchema } from 'json-schema-to-ts'; + import getJSONSchemaDefaults from './getJSONSchemaDefaults.js'; import parseResponse from './parseResponse.js'; import prepareAuth from './prepareAuth.js'; import prepareParams from './prepareParams.js'; import prepareServer from './prepareServer.js'; -export { getJSONSchemaDefaults, parseResponse, prepareAuth, prepareParams, prepareServer }; +export { FromSchema, getJSONSchemaDefaults, parseResponse, prepareAuth, prepareParams, prepareServer }; diff --git a/packages/core/tsup.config.ts b/packages/core/tsup.config.ts index 9137a0cb..764376d8 100644 --- a/packages/core/tsup.config.ts +++ b/packages/core/tsup.config.ts @@ -10,6 +10,6 @@ export default defineConfig((options: Options) => ({ ...options, ...config, - entry: ['src/errors/fetchError.ts', 'src/index.ts'], + entry: ['src/errors/fetchError.ts', 'src/lib/index.ts', 'src/index.ts'], silent: !options.watch, })); diff --git a/packages/test-utils/sdks/alby/package.json b/packages/test-utils/sdks/alby/package.json index 1f9d9151..4881cadf 100644 --- a/packages/test-utils/sdks/alby/package.json +++ b/packages/test-utils/sdks/alby/package.json @@ -21,8 +21,7 @@ "prepare": "tsup" }, "dependencies": { - "@readme/api-core": "file:../../../../../core", - "json-schema-to-ts": "^2.9.2" + "@readme/api-core": "file:../../../../../core" }, "devDependencies": { "tsup": "^7.2.0", diff --git a/packages/test-utils/sdks/alby/src/types.ts b/packages/test-utils/sdks/alby/src/types.ts index d1a1a501..e950893e 100644 --- a/packages/test-utils/sdks/alby/src/types.ts +++ b/packages/test-utils/sdks/alby/src/types.ts @@ -1,4 +1,4 @@ -import type { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from '@readme/api-core/lib'; import * as schemas from './schemas'; export type AmqpExternalRulePatch = FromSchema; diff --git a/packages/test-utils/sdks/metrotransit/package.json b/packages/test-utils/sdks/metrotransit/package.json index 2f5a89db..bd0bfe7e 100644 --- a/packages/test-utils/sdks/metrotransit/package.json +++ b/packages/test-utils/sdks/metrotransit/package.json @@ -21,8 +21,7 @@ "prepare": "tsup" }, "dependencies": { - "@readme/api-core": "file:../../../../../core", - "json-schema-to-ts": "^2.9.2" + "@readme/api-core": "file:../../../../../core" }, "devDependencies": { "tsup": "^7.2.0", diff --git a/packages/test-utils/sdks/metrotransit/src/types.ts b/packages/test-utils/sdks/metrotransit/src/types.ts index 7265985e..00edec16 100644 --- a/packages/test-utils/sdks/metrotransit/src/types.ts +++ b/packages/test-utils/sdks/metrotransit/src/types.ts @@ -1,4 +1,4 @@ -import type { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from '@readme/api-core/lib'; import * as schemas from './schemas'; export type Agency = FromSchema; diff --git a/packages/test-utils/sdks/operationid-quirks/package.json b/packages/test-utils/sdks/operationid-quirks/package.json index f12e10e9..300c0e64 100644 --- a/packages/test-utils/sdks/operationid-quirks/package.json +++ b/packages/test-utils/sdks/operationid-quirks/package.json @@ -17,8 +17,7 @@ "prepare": "tsup" }, "dependencies": { - "@readme/api-core": "file:../../../../../core", - "json-schema-to-ts": "^2.9.2" + "@readme/api-core": "file:../../../../../core" }, "devDependencies": { "tsup": "^7.2.0", diff --git a/packages/test-utils/sdks/optional-payload/package.json b/packages/test-utils/sdks/optional-payload/package.json index a742eeaf..4c196c9f 100644 --- a/packages/test-utils/sdks/optional-payload/package.json +++ b/packages/test-utils/sdks/optional-payload/package.json @@ -21,8 +21,7 @@ "prepare": "tsup" }, "dependencies": { - "@readme/api-core": "file:../../../../../core", - "json-schema-to-ts": "^2.9.2" + "@readme/api-core": "file:../../../../../core" }, "devDependencies": { "tsup": "^7.2.0", diff --git a/packages/test-utils/sdks/optional-payload/src/types.ts b/packages/test-utils/sdks/optional-payload/src/types.ts index 307a1250..79508083 100644 --- a/packages/test-utils/sdks/optional-payload/src/types.ts +++ b/packages/test-utils/sdks/optional-payload/src/types.ts @@ -1,4 +1,4 @@ -import type { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from '@readme/api-core/lib'; import * as schemas from './schemas'; export type UpdatePetWithFormFormDataParam = FromSchema; diff --git a/packages/test-utils/sdks/petstore/package.json b/packages/test-utils/sdks/petstore/package.json index a7a5e9e6..34c94cc1 100644 --- a/packages/test-utils/sdks/petstore/package.json +++ b/packages/test-utils/sdks/petstore/package.json @@ -21,8 +21,7 @@ "prepare": "tsup" }, "dependencies": { - "@readme/api-core": "file:../../../../../core", - "json-schema-to-ts": "^2.9.2" + "@readme/api-core": "file:../../../../../core" }, "devDependencies": { "tsup": "^7.2.0", diff --git a/packages/test-utils/sdks/petstore/src/types.ts b/packages/test-utils/sdks/petstore/src/types.ts index 2680bda0..40b60ea4 100644 --- a/packages/test-utils/sdks/petstore/src/types.ts +++ b/packages/test-utils/sdks/petstore/src/types.ts @@ -1,4 +1,4 @@ -import type { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from '@readme/api-core/lib'; import * as schemas from './schemas'; export type ApiResponse = FromSchema; diff --git a/packages/test-utils/sdks/readme/package.json b/packages/test-utils/sdks/readme/package.json index e1db3244..f642e21a 100644 --- a/packages/test-utils/sdks/readme/package.json +++ b/packages/test-utils/sdks/readme/package.json @@ -21,8 +21,7 @@ "prepare": "tsup" }, "dependencies": { - "@readme/api-core": "file:../../../../../core", - "json-schema-to-ts": "^2.9.2" + "@readme/api-core": "file:../../../../../core" }, "devDependencies": { "tsup": "^7.2.0", diff --git a/packages/test-utils/sdks/readme/src/types.ts b/packages/test-utils/sdks/readme/src/types.ts index 317a54b2..b528885c 100644 --- a/packages/test-utils/sdks/readme/src/types.ts +++ b/packages/test-utils/sdks/readme/src/types.ts @@ -1,4 +1,4 @@ -import type { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from '@readme/api-core/lib'; import * as schemas from './schemas'; export type Apply = FromSchema; diff --git a/packages/test-utils/sdks/response-title-quirks/package.json b/packages/test-utils/sdks/response-title-quirks/package.json index 337df5b9..da7fd69b 100644 --- a/packages/test-utils/sdks/response-title-quirks/package.json +++ b/packages/test-utils/sdks/response-title-quirks/package.json @@ -21,8 +21,7 @@ "prepare": "tsup" }, "dependencies": { - "@readme/api-core": "file:../../../../../core", - "json-schema-to-ts": "^2.9.2" + "@readme/api-core": "file:../../../../../core" }, "devDependencies": { "tsup": "^7.2.0", diff --git a/packages/test-utils/sdks/response-title-quirks/src/types.ts b/packages/test-utils/sdks/response-title-quirks/src/types.ts index b0ed5649..bb543199 100644 --- a/packages/test-utils/sdks/response-title-quirks/src/types.ts +++ b/packages/test-utils/sdks/response-title-quirks/src/types.ts @@ -1,4 +1,4 @@ -import type { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from '@readme/api-core/lib'; import * as schemas from './schemas'; export type GetAnythingMetadataParam = FromSchema; diff --git a/packages/test-utils/sdks/simple/package.json b/packages/test-utils/sdks/simple/package.json index 5d4289c3..1979bae2 100644 --- a/packages/test-utils/sdks/simple/package.json +++ b/packages/test-utils/sdks/simple/package.json @@ -21,8 +21,7 @@ "prepare": "tsup" }, "dependencies": { - "@readme/api-core": "file:../../../../../core", - "json-schema-to-ts": "^2.9.2" + "@readme/api-core": "file:../../../../../core" }, "devDependencies": { "tsup": "^7.2.0", diff --git a/packages/test-utils/sdks/simple/src/types.ts b/packages/test-utils/sdks/simple/src/types.ts index 4ea47267..3c595807 100644 --- a/packages/test-utils/sdks/simple/src/types.ts +++ b/packages/test-utils/sdks/simple/src/types.ts @@ -1,4 +1,4 @@ -import type { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from '@readme/api-core/lib'; import * as schemas from './schemas'; export type Category = FromSchema; diff --git a/packages/test-utils/sdks/star-trek/package.json b/packages/test-utils/sdks/star-trek/package.json index 2714b935..96a2f83e 100644 --- a/packages/test-utils/sdks/star-trek/package.json +++ b/packages/test-utils/sdks/star-trek/package.json @@ -21,8 +21,7 @@ "prepare": "tsup" }, "dependencies": { - "@readme/api-core": "file:../../../../../core", - "json-schema-to-ts": "^2.9.2" + "@readme/api-core": "file:../../../../../core" }, "devDependencies": { "tsup": "^7.2.0", diff --git a/packages/test-utils/sdks/star-trek/src/types.ts b/packages/test-utils/sdks/star-trek/src/types.ts index bba7f622..2c578042 100644 --- a/packages/test-utils/sdks/star-trek/src/types.ts +++ b/packages/test-utils/sdks/star-trek/src/types.ts @@ -1,4 +1,4 @@ -import type { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from '@readme/api-core/lib'; import * as schemas from './schemas'; export type AnimalBase = FromSchema;