@hey-api/openapi-ts 0.91.0 → 0.92.0

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 (44) hide show
  1. package/README.md +7 -7
  2. package/dist/clients/angular/client.ts +23 -49
  3. package/dist/clients/angular/types.ts +11 -34
  4. package/dist/clients/angular/utils.ts +6 -22
  5. package/dist/clients/axios/client.ts +16 -27
  6. package/dist/clients/axios/types.ts +17 -54
  7. package/dist/clients/axios/utils.ts +3 -8
  8. package/dist/clients/core/auth.ts +1 -2
  9. package/dist/clients/core/bodySerializer.ts +5 -21
  10. package/dist/clients/core/params.ts +3 -10
  11. package/dist/clients/core/pathSerializer.ts +4 -14
  12. package/dist/clients/core/queryKeySerializer.ts +6 -25
  13. package/dist/clients/core/serverSentEvents.ts +8 -31
  14. package/dist/clients/core/types.ts +4 -18
  15. package/dist/clients/core/utils.ts +1 -4
  16. package/dist/clients/fetch/client.ts +25 -48
  17. package/dist/clients/fetch/types.ts +12 -40
  18. package/dist/clients/fetch/utils.ts +6 -22
  19. package/dist/clients/ky/client.ts +27 -58
  20. package/dist/clients/ky/types.ts +14 -45
  21. package/dist/clients/ky/utils.ts +6 -22
  22. package/dist/clients/next/client.ts +30 -47
  23. package/dist/clients/next/types.ts +13 -47
  24. package/dist/clients/next/utils.ts +8 -31
  25. package/dist/clients/nuxt/client.ts +18 -37
  26. package/dist/clients/nuxt/types.ts +12 -31
  27. package/dist/clients/nuxt/utils.ts +5 -17
  28. package/dist/clients/ofetch/client.ts +34 -60
  29. package/dist/clients/ofetch/types.ts +13 -44
  30. package/dist/clients/ofetch/utils.ts +20 -58
  31. package/dist/index.d.mts +289 -452
  32. package/dist/index.d.mts.map +1 -1
  33. package/dist/index.mjs +2 -2
  34. package/dist/{init-kvO44gnv.mjs → init-DlaW5Djq.mjs} +355 -86
  35. package/dist/init-DlaW5Djq.mjs.map +1 -0
  36. package/dist/internal.mjs +1 -1
  37. package/dist/run.mjs +3 -3
  38. package/dist/run.mjs.map +1 -1
  39. package/dist/{src-Dmlg6WRV.mjs → src-BYA2YioO.mjs} +5 -8
  40. package/dist/src-BYA2YioO.mjs.map +1 -0
  41. package/dist/types-Ba27ofyy.d.mts.map +1 -1
  42. package/package.json +36 -37
  43. package/dist/init-kvO44gnv.mjs.map +0 -1
  44. package/dist/src-Dmlg6WRV.mjs.map +0 -1
package/dist/internal.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { t as resolveJobs } from "./init-kvO44gnv.mjs";
1
+ import { t as resolveJobs } from "./init-DlaW5Djq.mjs";
2
2
  import { getSpec, parseOpenApiSpec } from "@hey-api/shared";
3
3
 
4
4
  export { getSpec, resolveJobs as initConfigs, parseOpenApiSpec };
package/dist/run.mjs CHANGED
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
- import "./init-kvO44gnv.mjs";
3
- import { c as createClient } from "./src-Dmlg6WRV.mjs";
2
+ import "./init-DlaW5Djq.mjs";
3
+ import { c as createClient } from "./src-BYA2YioO.mjs";
4
4
  import { Command, CommanderError } from "commander";
5
5
 
6
6
  //#region package.json
7
- var version = "0.91.0";
7
+ var version = "0.92.0";
8
8
  var bin = { "openapi-ts": "./bin/run.js" };
9
9
 
10
10
  //#endregion
package/dist/run.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.mjs","names":["config: Partial<UserConfig>","plugins: ToArray<UserConfig['plugins']>","pkg.bin","pkg.version"],"sources":["../package.json","../src/cli/adapter.ts","../src/cli/index.ts","../src/run.ts"],"sourcesContent":["","import type { ToArray } from '@hey-api/types';\n\nimport type { UserConfig } from '~/config/types';\n\nimport type { CliOptions } from './schema';\n\nexport function cliToConfig(cli: CliOptions): Partial<UserConfig> {\n const config: Partial<UserConfig> = {};\n\n if (cli.input) config.input = cli.input;\n if (cli.output) config.output = cli.output;\n if (cli.file) config.configFile = cli.file;\n if (cli.dryRun !== undefined) config.dryRun = cli.dryRun;\n\n const plugins: ToArray<UserConfig['plugins']> = [];\n if (cli.plugins instanceof Array && cli.plugins.length > 0) {\n plugins.push(...cli.plugins);\n }\n if (cli.client) plugins.push(cli.client);\n if (plugins.length > 0) config.plugins = plugins;\n\n if (cli.debug || cli.silent || cli.logs || cli.logFile !== undefined) {\n config.logs = {\n ...(cli.logs && { path: cli.logs }),\n ...(cli.debug && { level: 'debug' as const }),\n ...(cli.silent && { level: 'silent' as const }),\n ...(cli.logFile !== undefined && { file: cli.logFile }),\n };\n }\n\n if (cli.watch !== undefined) {\n if (typeof cli.watch === 'string') {\n config.watch = Number.parseInt(cli.watch, 10);\n } else {\n config.watch = cli.watch;\n }\n }\n\n return config;\n}\n","import { Command, CommanderError } from 'commander';\n\nimport { createClient } from '~/index';\n\nimport pkg from '../../package.json';\nimport { cliToConfig } from './adapter';\n\nconst binName = Object.keys(pkg.bin)[0]!;\n\nconst program = new Command()\n .name(binName)\n .description('Generate TypeScript code from OpenAPI specifications')\n .version(pkg.version);\n\nprogram\n .option(\n '-i, --input <path...>',\n 'OpenAPI specification (path, URL, or string)',\n )\n .option('-o, --output <path...>', 'Output folder(s)')\n .option('-c, --client <name>', 'HTTP client to generate')\n .option('-p, --plugins [names...]', 'Plugins to use')\n .option('-f, --file <path>', 'Path to config file')\n .option('-d, --debug', 'Enable debug logging')\n .option('-s, --silent', 'Suppress all output')\n .option('-l, --logs <path>', 'Logs folder path')\n .option('--no-log-file', 'Disable log file output')\n .option('--dry-run', 'Skip writing files')\n .option('-w, --watch [interval]', 'Watch for changes')\n .action(async (options) => {\n const config = cliToConfig(options);\n\n const context = await createClient(\n config as Parameters<typeof createClient>[0],\n );\n\n const hasActiveWatch = context[0]?.config.input.some(\n (input) => input.watch?.enabled,\n );\n\n if (!hasActiveWatch) {\n process.exit(0);\n }\n });\n\nexport async function runCli(): Promise<void> {\n try {\n await program.parseAsync(process.argv);\n } catch (error) {\n if (error instanceof CommanderError && 'code' in error) {\n if (error.code === 'commander.optionMissingArgument') {\n console.error(\n `\\nMissing required argument. Run '${binName} --help' for usage.\\n`,\n );\n } else if (error.code === 'commander.unknownOption') {\n console.error(\n `\\nUnknown option. Run '${binName} --help' for available options.\\n`,\n );\n }\n\n process.exit(error.exitCode);\n }\n\n console.error('Unexpected error:', error);\n process.exit(1);\n }\n}\n","#!/usr/bin/env node\n\nimport { runCli } from '~/cli';\n\nrunCli();\n"],"mappings":";;;;;;;;;;;ACMA,SAAgB,YAAY,KAAsC;CAChE,MAAMA,SAA8B,EAAE;AAEtC,KAAI,IAAI,MAAO,QAAO,QAAQ,IAAI;AAClC,KAAI,IAAI,OAAQ,QAAO,SAAS,IAAI;AACpC,KAAI,IAAI,KAAM,QAAO,aAAa,IAAI;AACtC,KAAI,IAAI,WAAW,OAAW,QAAO,SAAS,IAAI;CAElD,MAAMC,UAA0C,EAAE;AAClD,KAAI,IAAI,mBAAmB,SAAS,IAAI,QAAQ,SAAS,EACvD,SAAQ,KAAK,GAAG,IAAI,QAAQ;AAE9B,KAAI,IAAI,OAAQ,SAAQ,KAAK,IAAI,OAAO;AACxC,KAAI,QAAQ,SAAS,EAAG,QAAO,UAAU;AAEzC,KAAI,IAAI,SAAS,IAAI,UAAU,IAAI,QAAQ,IAAI,YAAY,OACzD,QAAO,OAAO;EACZ,GAAI,IAAI,QAAQ,EAAE,MAAM,IAAI,MAAM;EAClC,GAAI,IAAI,SAAS,EAAE,OAAO,SAAkB;EAC5C,GAAI,IAAI,UAAU,EAAE,OAAO,UAAmB;EAC9C,GAAI,IAAI,YAAY,UAAa,EAAE,MAAM,IAAI,SAAS;EACvD;AAGH,KAAI,IAAI,UAAU,OAChB,KAAI,OAAO,IAAI,UAAU,SACvB,QAAO,QAAQ,OAAO,SAAS,IAAI,OAAO,GAAG;KAE7C,QAAO,QAAQ,IAAI;AAIvB,QAAO;;;;;AC/BT,MAAM,UAAU,OAAO,KAAKC,IAAQ,CAAC;AAErC,MAAM,UAAU,IAAI,SAAS,CAC1B,KAAK,QAAQ,CACb,YAAY,uDAAuD,CACnE,QAAQC,QAAY;AAEvB,QACG,OACC,yBACA,+CACD,CACA,OAAO,0BAA0B,mBAAmB,CACpD,OAAO,uBAAuB,0BAA0B,CACxD,OAAO,4BAA4B,iBAAiB,CACpD,OAAO,qBAAqB,sBAAsB,CAClD,OAAO,eAAe,uBAAuB,CAC7C,OAAO,gBAAgB,sBAAsB,CAC7C,OAAO,qBAAqB,mBAAmB,CAC/C,OAAO,iBAAiB,0BAA0B,CAClD,OAAO,aAAa,qBAAqB,CACzC,OAAO,0BAA0B,oBAAoB,CACrD,OAAO,OAAO,YAAY;AAWzB,KAAI,EARY,MAAM,aAFP,YAAY,QAAQ,CAIlC,EAE8B,IAAI,OAAO,MAAM,MAC7C,UAAU,MAAM,OAAO,QACzB,CAGC,SAAQ,KAAK,EAAE;EAEjB;AAEJ,eAAsB,SAAwB;AAC5C,KAAI;AACF,QAAM,QAAQ,WAAW,QAAQ,KAAK;UAC/B,OAAO;AACd,MAAI,iBAAiB,kBAAkB,UAAU,OAAO;AACtD,OAAI,MAAM,SAAS,kCACjB,SAAQ,MACN,qCAAqC,QAAQ,uBAC9C;YACQ,MAAM,SAAS,0BACxB,SAAQ,MACN,0BAA0B,QAAQ,mCACnC;AAGH,WAAQ,KAAK,MAAM,SAAS;;AAG9B,UAAQ,MAAM,qBAAqB,MAAM;AACzC,UAAQ,KAAK,EAAE;;;;;;AC5DnB,QAAQ"}
1
+ {"version":3,"file":"run.mjs","names":["config: Partial<UserConfig>","plugins: ToArray<UserConfig['plugins']>","pkg.bin","pkg.version"],"sources":["../package.json","../src/cli/adapter.ts","../src/cli/index.ts","../src/run.ts"],"sourcesContent":["","import type { ToArray } from '@hey-api/types';\n\nimport type { UserConfig } from '../config/types';\nimport type { CliOptions } from './schema';\n\nexport function cliToConfig(cli: CliOptions): Partial<UserConfig> {\n const config: Partial<UserConfig> = {};\n\n if (cli.input) config.input = cli.input;\n if (cli.output) config.output = cli.output;\n if (cli.file) config.configFile = cli.file;\n if (cli.dryRun !== undefined) config.dryRun = cli.dryRun;\n\n const plugins: ToArray<UserConfig['plugins']> = [];\n if (cli.plugins instanceof Array && cli.plugins.length > 0) {\n plugins.push(...cli.plugins);\n }\n if (cli.client) plugins.push(cli.client);\n if (plugins.length > 0) config.plugins = plugins;\n\n if (cli.debug || cli.silent || cli.logs || cli.logFile !== undefined) {\n config.logs = {\n ...(cli.logs && { path: cli.logs }),\n ...(cli.debug && { level: 'debug' as const }),\n ...(cli.silent && { level: 'silent' as const }),\n ...(cli.logFile !== undefined && { file: cli.logFile }),\n };\n }\n\n if (cli.watch !== undefined) {\n if (typeof cli.watch === 'string') {\n config.watch = Number.parseInt(cli.watch, 10);\n } else {\n config.watch = cli.watch;\n }\n }\n\n return config;\n}\n","import { Command, CommanderError } from 'commander';\n\nimport pkg from '../../package.json';\nimport { createClient } from '../index';\nimport { cliToConfig } from './adapter';\n\nconst binName = Object.keys(pkg.bin)[0]!;\n\nconst program = new Command()\n .name(binName)\n .description('Generate TypeScript code from OpenAPI specifications')\n .version(pkg.version);\n\nprogram\n .option('-i, --input <path...>', 'OpenAPI specification (path, URL, or string)')\n .option('-o, --output <path...>', 'Output folder(s)')\n .option('-c, --client <name>', 'HTTP client to generate')\n .option('-p, --plugins [names...]', 'Plugins to use')\n .option('-f, --file <path>', 'Path to config file')\n .option('-d, --debug', 'Enable debug logging')\n .option('-s, --silent', 'Suppress all output')\n .option('-l, --logs <path>', 'Logs folder path')\n .option('--no-log-file', 'Disable log file output')\n .option('--dry-run', 'Skip writing files')\n .option('-w, --watch [interval]', 'Watch for changes')\n .action(async (options) => {\n const config = cliToConfig(options);\n\n const context = await createClient(config as Parameters<typeof createClient>[0]);\n\n const hasActiveWatch = context[0]?.config.input.some((input) => input.watch?.enabled);\n\n if (!hasActiveWatch) {\n process.exit(0);\n }\n });\n\nexport async function runCli(): Promise<void> {\n try {\n await program.parseAsync(process.argv);\n } catch (error) {\n if (error instanceof CommanderError && 'code' in error) {\n if (error.code === 'commander.optionMissingArgument') {\n console.error(`\\nMissing required argument. Run '${binName} --help' for usage.\\n`);\n } else if (error.code === 'commander.unknownOption') {\n console.error(`\\nUnknown option. Run '${binName} --help' for available options.\\n`);\n }\n\n process.exit(error.exitCode);\n }\n\n console.error('Unexpected error:', error);\n process.exit(1);\n }\n}\n","#!/usr/bin/env node\n\nimport { runCli } from './cli';\n\nrunCli();\n"],"mappings":";;;;;;;;;;;ACKA,SAAgB,YAAY,KAAsC;CAChE,MAAMA,SAA8B,EAAE;AAEtC,KAAI,IAAI,MAAO,QAAO,QAAQ,IAAI;AAClC,KAAI,IAAI,OAAQ,QAAO,SAAS,IAAI;AACpC,KAAI,IAAI,KAAM,QAAO,aAAa,IAAI;AACtC,KAAI,IAAI,WAAW,OAAW,QAAO,SAAS,IAAI;CAElD,MAAMC,UAA0C,EAAE;AAClD,KAAI,IAAI,mBAAmB,SAAS,IAAI,QAAQ,SAAS,EACvD,SAAQ,KAAK,GAAG,IAAI,QAAQ;AAE9B,KAAI,IAAI,OAAQ,SAAQ,KAAK,IAAI,OAAO;AACxC,KAAI,QAAQ,SAAS,EAAG,QAAO,UAAU;AAEzC,KAAI,IAAI,SAAS,IAAI,UAAU,IAAI,QAAQ,IAAI,YAAY,OACzD,QAAO,OAAO;EACZ,GAAI,IAAI,QAAQ,EAAE,MAAM,IAAI,MAAM;EAClC,GAAI,IAAI,SAAS,EAAE,OAAO,SAAkB;EAC5C,GAAI,IAAI,UAAU,EAAE,OAAO,UAAmB;EAC9C,GAAI,IAAI,YAAY,UAAa,EAAE,MAAM,IAAI,SAAS;EACvD;AAGH,KAAI,IAAI,UAAU,OAChB,KAAI,OAAO,IAAI,UAAU,SACvB,QAAO,QAAQ,OAAO,SAAS,IAAI,OAAO,GAAG;KAE7C,QAAO,QAAQ,IAAI;AAIvB,QAAO;;;;;AC/BT,MAAM,UAAU,OAAO,KAAKC,IAAQ,CAAC;AAErC,MAAM,UAAU,IAAI,SAAS,CAC1B,KAAK,QAAQ,CACb,YAAY,uDAAuD,CACnE,QAAQC,QAAY;AAEvB,QACG,OAAO,yBAAyB,+CAA+C,CAC/E,OAAO,0BAA0B,mBAAmB,CACpD,OAAO,uBAAuB,0BAA0B,CACxD,OAAO,4BAA4B,iBAAiB,CACpD,OAAO,qBAAqB,sBAAsB,CAClD,OAAO,eAAe,uBAAuB,CAC7C,OAAO,gBAAgB,sBAAsB,CAC7C,OAAO,qBAAqB,mBAAmB,CAC/C,OAAO,iBAAiB,0BAA0B,CAClD,OAAO,aAAa,qBAAqB,CACzC,OAAO,0BAA0B,oBAAoB,CACrD,OAAO,OAAO,YAAY;AAOzB,KAAI,EAJY,MAAM,aAFP,YAAY,QAAQ,CAE6C,EAEjD,IAAI,OAAO,MAAM,MAAM,UAAU,MAAM,OAAO,QAAQ,CAGnF,SAAQ,KAAK,EAAE;EAEjB;AAEJ,eAAsB,SAAwB;AAC5C,KAAI;AACF,QAAM,QAAQ,WAAW,QAAQ,KAAK;UAC/B,OAAO;AACd,MAAI,iBAAiB,kBAAkB,UAAU,OAAO;AACtD,OAAI,MAAM,SAAS,kCACjB,SAAQ,MAAM,qCAAqC,QAAQ,uBAAuB;YACzE,MAAM,SAAS,0BACxB,SAAQ,MAAM,0BAA0B,QAAQ,mCAAmC;AAGrF,WAAQ,KAAK,MAAM,SAAS;;AAG9B,UAAQ,MAAM,qBAAqB,MAAM;AACzC,UAAQ,KAAK,EAAE;;;;;;AChDnB,QAAQ"}
@@ -1,4 +1,4 @@
1
- import { _ as postProcessors, c as TypeScriptRenderer, g as getTypedConfig, h as getClientPlugin, i as generateClientBundle, t as resolveJobs } from "./init-kvO44gnv.mjs";
1
+ import { _ as postProcessors, c as TypeScriptRenderer, g as getTypedConfig, h as getClientPlugin, i as generateClientBundle, t as resolveJobs } from "./init-DlaW5Djq.mjs";
2
2
  import { Logger, Logger as Logger$1, Project } from "@hey-api/codegen-core";
3
3
  import { ConfigValidationError, Context, IntentContext, JobError, OperationPath as OperationPath$1, OperationStrategy as OperationStrategy$1, applyNaming, buildGraph, checkNodeVersion, compileInputPath, defaultPaginationKeywords, definePluginConfig as definePluginConfig$1, getLogs, getSpec, logCrashReport, logInputPaths, openGitHubIssueWithCrashReport, parseOpenApiSpec, patchOpenApiSpec, postprocessOutput, printCliIntro, printCrashReport, shouldReportCrash, utils } from "@hey-api/shared";
4
4
  import colors from "ansi-colors";
@@ -9,7 +9,7 @@ import fs from "node:fs";
9
9
  import { $RefParser } from "@hey-api/json-schema-ref-parser";
10
10
 
11
11
  //#region src/generate/output.ts
12
- const generateOutput = async ({ context }) => {
12
+ async function generateOutput(context) {
13
13
  const outputPath = path.resolve(context.config.output.path);
14
14
  if (context.config.output.clean) {
15
15
  if (fs.existsSync(outputPath)) fs.rmSync(outputPath, {
@@ -45,7 +45,7 @@ const generateOutput = async ({ context }) => {
45
45
  if (!context.config.dryRun && sourcePath) fs.writeFileSync(path.resolve(sourcePath, `${source.fileName}.${source.extension}`), serialized, { encoding: "utf8" });
46
46
  if (source.callback) await source.callback(serialized);
47
47
  }
48
- };
48
+ }
49
49
 
50
50
  //#endregion
51
51
  //#region src/createClient.ts
@@ -119,7 +119,7 @@ async function createClient$1({ config, dependencies, jobIndex, logger, watches:
119
119
  context.graph = buildGraph(context.ir, logger).graph;
120
120
  eventParser.timeEnd();
121
121
  const eventGenerator = logger.timeEvent("generator");
122
- await generateOutput({ context });
122
+ await generateOutput(context);
123
123
  eventGenerator.timeEnd();
124
124
  const eventPostprocess = logger.timeEvent("postprocess");
125
125
  if (!config.dryRun) {
@@ -216,13 +216,10 @@ async function createClient(userConfig, logger = new Logger()) {
216
216
  //#endregion
217
217
  //#region src/index.ts
218
218
  colors.enabled = colorSupport().hasBasic;
219
- /**
220
- * Type helper for configuration object, returns {@link MaybeArray<UserConfig>} object(s)
221
- */
222
219
  async function defineConfig(config) {
223
220
  return typeof config === "function" ? await config() : config;
224
221
  }
225
222
 
226
223
  //#endregion
227
224
  export { defineConfig as a, createClient as c, defaultPaginationKeywords as i, OperationPath$1 as n, definePluginConfig$1 as o, OperationStrategy$1 as r, utils as s, Logger$1 as t };
228
- //# sourceMappingURL=src-Dmlg6WRV.mjs.map
225
+ //# sourceMappingURL=src-BYA2YioO.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"src-BYA2YioO.mjs","names":["createClient","watches: ReadonlyArray<WatchValues>","context: Context | undefined","data","jobs: Configs['jobs']","pCreateClient"],"sources":["../src/generate/output.ts","../src/createClient.ts","../src/generate.ts","../src/index.ts"],"sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\n\nimport type { Context } from '@hey-api/shared';\nimport { IntentContext } from '@hey-api/shared';\n\nimport { getTypedConfig } from '../config/utils';\nimport { getClientPlugin } from '../plugins/@hey-api/client-core/utils';\nimport { generateClientBundle } from './client';\n\nexport async function generateOutput(context: Context): Promise<void> {\n const outputPath = path.resolve(context.config.output.path);\n\n if (context.config.output.clean) {\n if (fs.existsSync(outputPath)) {\n fs.rmSync(outputPath, { force: true, recursive: true });\n }\n }\n\n const config = getTypedConfig(context);\n\n const client = getClientPlugin(config);\n if ('bundle' in client.config && client.config.bundle && !config.dryRun) {\n // not proud of this one\n // @ts-expect-error\n config._FRAGILE_CLIENT_BUNDLE_RENAMED = generateClientBundle({\n meta: {\n importFileExtension: config.output.importFileExtension,\n },\n outputPath,\n // @ts-expect-error\n plugin: client,\n project: context.gen,\n });\n }\n\n for (const plugin of context.registerPlugins()) {\n await plugin.run();\n }\n\n context.gen.plan();\n\n const ctx = new IntentContext(context.spec);\n for (const intent of context.intents) {\n await intent.run(ctx);\n }\n\n for (const file of context.gen.render()) {\n const filePath = path.resolve(outputPath, file.path);\n const dir = path.dirname(filePath);\n if (!context.config.dryRun) {\n fs.mkdirSync(dir, { recursive: true });\n fs.writeFileSync(filePath, file.content, { encoding: 'utf8' });\n }\n }\n\n const { source } = context.config.output;\n if (source.enabled) {\n const sourcePath = source.path === null ? undefined : path.resolve(outputPath, source.path);\n if (!context.config.dryRun && sourcePath && sourcePath !== outputPath) {\n fs.mkdirSync(sourcePath, { recursive: true });\n }\n const serialized = await source.serialize(context.spec);\n // TODO: handle yaml (convert before writing)\n if (!context.config.dryRun && sourcePath) {\n fs.writeFileSync(\n path.resolve(sourcePath, `${source.fileName}.${source.extension}`),\n serialized,\n { encoding: 'utf8' },\n );\n }\n if (source.callback) {\n await source.callback(serialized);\n }\n }\n}\n","import path from 'node:path';\n\nimport { type Logger, Project } from '@hey-api/codegen-core';\nimport { $RefParser } from '@hey-api/json-schema-ref-parser';\nimport {\n applyNaming,\n buildGraph,\n compileInputPath,\n Context,\n getSpec,\n type Input,\n logInputPaths,\n type OpenApi,\n parseOpenApiSpec,\n patchOpenApiSpec,\n postprocessOutput,\n type WatchValues,\n} from '@hey-api/shared';\nimport colors from 'ansi-colors';\n\nimport { postProcessors } from './config/output/postprocess';\nimport type { Config } from './config/types';\nimport { generateOutput } from './generate/output';\nimport { TypeScriptRenderer } from './ts-dsl';\n\nexport async function createClient({\n config,\n dependencies,\n jobIndex,\n logger,\n watches: _watches,\n}: {\n config: Config;\n dependencies: Record<string, string>;\n jobIndex: number;\n logger: Logger;\n /**\n * Always undefined on the first run, defined on subsequent runs.\n */\n watches?: ReadonlyArray<WatchValues>;\n}): Promise<Context | undefined> {\n const watches: ReadonlyArray<WatchValues> =\n _watches ||\n Array.from({ length: config.input.length }, () => ({\n headers: new Headers(),\n }));\n\n const inputPaths = config.input.map((input) => compileInputPath(input));\n\n // on first run, print the message as soon as possible\n if (config.logs.level !== 'silent' && !_watches) {\n logInputPaths(inputPaths, jobIndex);\n }\n\n const getSpecData = async (input: Input, index: number) => {\n const eventSpec = logger.timeEvent('spec');\n const { arrayBuffer, error, resolvedInput, response } = await getSpec({\n fetchOptions: input.fetch,\n inputPath: inputPaths[index]!.path,\n timeout: input.watch.timeout,\n watch: watches[index]!,\n });\n eventSpec.timeEnd();\n\n // throw on first run if there's an error to preserve user experience\n // if in watch mode, subsequent errors won't throw to gracefully handle\n // cases where server might be reloading\n if (error && !_watches) {\n throw new Error(`Request failed with status ${response.status}: ${response.statusText}`);\n }\n\n return { arrayBuffer, resolvedInput };\n };\n const specData = (\n await Promise.all(config.input.map((input, index) => getSpecData(input, index)))\n ).filter((data) => data.arrayBuffer || data.resolvedInput);\n\n let context: Context | undefined;\n\n if (specData.length) {\n const refParser = new $RefParser();\n const data =\n specData.length > 1\n ? await refParser.bundleMany({\n arrayBuffer: specData.map((data) => data.arrayBuffer!),\n pathOrUrlOrSchemas: [],\n resolvedInputs: specData.map((data) => data.resolvedInput!),\n })\n : await refParser.bundle({\n arrayBuffer: specData[0]!.arrayBuffer,\n pathOrUrlOrSchema: undefined,\n resolvedInput: specData[0]!.resolvedInput,\n });\n\n // on subsequent runs in watch mode, print the message only if we know we're\n // generating the output\n if (config.logs.level !== 'silent' && _watches) {\n console.clear();\n logInputPaths(inputPaths, jobIndex);\n }\n\n const eventInputPatch = logger.timeEvent('input.patch');\n patchOpenApiSpec({ patchOptions: config.parser.patch, spec: data });\n eventInputPatch.timeEnd();\n\n const eventParser = logger.timeEvent('parser');\n // TODO: allow overriding via config\n const project = new Project({\n defaultFileName: 'index',\n fileName: (base) => {\n const name = applyNaming(base, config.output.fileName);\n const { suffix } = config.output.fileName;\n if (!suffix) {\n return name;\n }\n return name === 'index' || name.endsWith(suffix) ? name : `${name}${suffix}`;\n },\n nameConflictResolvers: config.output.nameConflictResolver\n ? {\n typescript: config.output.nameConflictResolver,\n }\n : undefined,\n renderers: [\n new TypeScriptRenderer({\n header: config.output.header,\n preferExportAll: config.output.preferExportAll,\n preferFileExtension: config.output.importFileExtension || undefined,\n resolveModuleName: config.output.resolveModuleName,\n }),\n ],\n root: config.output.path,\n });\n context = new Context<OpenApi.V2_0_X | OpenApi.V3_0_X | OpenApi.V3_1_X, Config>({\n config,\n dependencies,\n logger,\n project,\n spec: data as OpenApi.V2_0_X | OpenApi.V3_0_X | OpenApi.V3_1_X,\n });\n parseOpenApiSpec(context);\n context.graph = buildGraph(context.ir, logger).graph;\n eventParser.timeEnd();\n\n const eventGenerator = logger.timeEvent('generator');\n await generateOutput(context);\n eventGenerator.timeEnd();\n\n const eventPostprocess = logger.timeEvent('postprocess');\n if (!config.dryRun) {\n const jobPrefix = colors.gray(`[Job ${jobIndex + 1}] `);\n postprocessOutput(config.output, postProcessors, jobPrefix);\n\n if (config.logs.level !== 'silent') {\n const outputPath = process.env.INIT_CWD\n ? `./${path.relative(process.env.INIT_CWD, config.output.path)}`\n : config.output.path;\n console.log(\n `${jobPrefix}${colors.green('✅ Done!')} Your output is in ${colors.cyanBright(outputPath)}`,\n );\n }\n }\n eventPostprocess.timeEnd();\n }\n\n const watchedInput = config.input.find(\n (input, index) => input.watch.enabled && typeof inputPaths[index]!.path === 'string',\n );\n\n if (watchedInput) {\n setTimeout(() => {\n createClient({\n config,\n dependencies,\n jobIndex,\n logger,\n watches,\n });\n }, watchedInput.watch.interval);\n }\n\n return context;\n}\n","import path from 'node:path';\nimport { fileURLToPath } from 'node:url';\n\nimport { Logger } from '@hey-api/codegen-core';\nimport type { Context } from '@hey-api/shared';\nimport {\n checkNodeVersion,\n ConfigValidationError,\n getLogs,\n JobError,\n logCrashReport,\n openGitHubIssueWithCrashReport,\n printCliIntro,\n printCrashReport,\n shouldReportCrash,\n} from '@hey-api/shared';\nimport type { LazyOrAsync, MaybeArray } from '@hey-api/types';\n\nimport type { Configs } from './config/init';\nimport { resolveJobs } from './config/init';\nimport type { UserConfig } from './config/types';\nimport { createClient as pCreateClient } from './createClient';\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = path.dirname(__filename);\n\n/**\n * Generate a client from the provided configuration.\n *\n * @param userConfig User provided {@link UserConfig} configuration(s).\n */\nexport async function createClient(\n userConfig?: LazyOrAsync<MaybeArray<UserConfig>>,\n logger = new Logger(),\n): Promise<ReadonlyArray<Context>> {\n const resolvedConfig = typeof userConfig === 'function' ? await userConfig() : userConfig;\n const userConfigs = resolvedConfig\n ? resolvedConfig instanceof Array\n ? resolvedConfig\n : [resolvedConfig]\n : [];\n\n let rawLogs = userConfigs.find((config) => getLogs(config.logs).level !== 'silent')?.logs;\n if (typeof rawLogs === 'string') {\n rawLogs = getLogs(rawLogs);\n }\n\n let jobs: Configs['jobs'] = [];\n\n try {\n checkNodeVersion();\n\n const eventCreateClient = logger.timeEvent('createClient');\n\n const eventConfig = logger.timeEvent('config');\n const resolved = await resolveJobs({ logger, userConfigs });\n const dependencies = resolved.dependencies;\n jobs = resolved.jobs;\n const printIntro = jobs.some((job) => job.config.logs.level !== 'silent');\n if (printIntro) printCliIntro(__dirname);\n eventConfig.timeEnd();\n\n const configErrors = jobs.flatMap((job) =>\n job.errors.map((error) => ({ error, jobIndex: job.index })),\n );\n if (configErrors.length > 0) {\n throw new ConfigValidationError(configErrors);\n }\n\n const outputs = await Promise.all(\n jobs.map(async (job) => {\n try {\n return await pCreateClient({\n config: job.config,\n dependencies,\n jobIndex: job.index,\n logger,\n });\n } catch (error) {\n if (error instanceof Error) {\n throw new JobError('', {\n error,\n jobIndex: job.index,\n });\n }\n }\n }),\n );\n const contexts = outputs.filter((ctx): ctx is Context => ctx !== undefined);\n\n eventCreateClient.timeEnd();\n\n logger.report(jobs.some((job) => job.config.logs.level === 'debug'));\n\n return contexts;\n } catch (error) {\n const logs =\n jobs.find((job) => job.config.logs.level !== 'silent')?.config.logs ??\n jobs[0]?.config.logs ??\n rawLogs;\n const dryRun =\n jobs.some((job) => job.config.dryRun) ?? userConfigs.some((config) => config.dryRun) ?? false;\n const logPath = logs?.file && !dryRun ? logCrashReport(error, logs.path ?? '') : undefined;\n if (!logs || logs.level !== 'silent') {\n printCrashReport({ error, logPath });\n const isInteractive =\n jobs.some((job) => job.config.interactive) ??\n userConfigs.some((config) => config.interactive) ??\n false;\n if (await shouldReportCrash({ error, isInteractive })) {\n await openGitHubIssueWithCrashReport(error, __dirname);\n }\n }\n\n throw error;\n }\n}\n","// OVERRIDES\n// hard-coded here because build process doesn't pick up overrides from separate files\nimport '@hey-api/codegen-core';\nimport '@hey-api/shared';\n\ndeclare module '@hey-api/codegen-core' {\n interface ProjectRenderMeta {\n /**\n * If specified, this will be the file extension used when importing\n * other modules. By default, we don't add a file extension and let the\n * runtime resolve it.\n *\n * @default null\n */\n importFileExtension?: AnyString | null;\n }\n\n interface SymbolMeta {\n category?:\n | 'client'\n | 'external'\n | 'hook'\n | 'schema'\n | 'sdk'\n | 'transform'\n | 'type'\n | 'utility'\n | AnyString;\n /**\n * Path to the resource this symbol represents.\n */\n path?: ReadonlyArray<string | number>;\n /**\n * Name of the plugin that registered this symbol.\n */\n pluginName?: string;\n resource?: 'client' | 'definition' | 'operation' | 'webhook' | AnyString;\n resourceId?: string;\n role?: 'data' | 'error' | 'errors' | 'options' | 'response' | 'responses' | AnyString;\n /**\n * Tags associated with this symbol.\n */\n tags?: ReadonlyArray<string>;\n tool?:\n | 'angular'\n | 'arktype'\n | 'fastify'\n | 'json-schema'\n | 'sdk'\n | 'typescript'\n | 'valibot'\n | 'zod'\n | AnyString;\n variant?: 'container' | AnyString;\n }\n}\n\ndeclare module '@hey-api/shared' {\n interface PluginConfigMap {\n '@angular/common': AngularCommonPlugin['Types'];\n '@faker-js/faker': FakerJsFakerPlugin['Types'];\n '@hey-api/client-angular': HeyApiClientAngularPlugin['Types'];\n '@hey-api/client-axios': HeyApiClientAxiosPlugin['Types'];\n '@hey-api/client-fetch': HeyApiClientFetchPlugin['Types'];\n '@hey-api/client-ky': HeyApiClientKyPlugin['Types'];\n '@hey-api/client-next': HeyApiClientNextPlugin['Types'];\n '@hey-api/client-nuxt': HeyApiClientNuxtPlugin['Types'];\n '@hey-api/client-ofetch': HeyApiClientOfetchPlugin['Types'];\n '@hey-api/schemas': HeyApiSchemasPlugin['Types'];\n '@hey-api/sdk': HeyApiSdkPlugin['Types'];\n '@hey-api/transformers': HeyApiTransformersPlugin['Types'];\n '@hey-api/typescript': HeyApiTypeScriptPlugin['Types'];\n '@pinia/colada': PiniaColadaPlugin['Types'];\n '@tanstack/angular-query-experimental': TanStackAngularQueryPlugin['Types'];\n '@tanstack/react-query': TanStackReactQueryPlugin['Types'];\n '@tanstack/solid-query': TanStackSolidQueryPlugin['Types'];\n '@tanstack/svelte-query': TanStackSvelteQueryPlugin['Types'];\n '@tanstack/vue-query': TanStackVueQueryPlugin['Types'];\n arktype: ArktypePlugin['Types'];\n fastify: FastifyPlugin['Types'];\n swr: SwrPlugin['Types'];\n valibot: ValibotPlugin['Types'];\n zod: ZodPlugin['Types'];\n }\n\n interface PluginInstanceTypes {\n Node: TsDsl;\n }\n}\n// END OVERRIDES\n\nimport type { AnyString, LazyOrAsync, MaybeArray } from '@hey-api/types';\nimport colors from 'ansi-colors';\n// @ts-expect-error\nimport colorSupport from 'color-support';\n\nimport type { UserConfig } from './config/types';\nimport type { AngularCommonPlugin } from './plugins/@angular/common';\nimport type { FakerJsFakerPlugin } from './plugins/@faker-js/faker';\nimport type { HeyApiClientAngularPlugin } from './plugins/@hey-api/client-angular';\nimport type { HeyApiClientAxiosPlugin } from './plugins/@hey-api/client-axios';\nimport type { HeyApiClientFetchPlugin } from './plugins/@hey-api/client-fetch';\nimport type { HeyApiClientKyPlugin } from './plugins/@hey-api/client-ky';\nimport type { HeyApiClientNextPlugin } from './plugins/@hey-api/client-next';\nimport type { HeyApiClientNuxtPlugin } from './plugins/@hey-api/client-nuxt';\nimport type { HeyApiClientOfetchPlugin } from './plugins/@hey-api/client-ofetch';\nimport type { HeyApiSchemasPlugin } from './plugins/@hey-api/schemas';\nimport type { HeyApiSdkPlugin } from './plugins/@hey-api/sdk';\nimport type { HeyApiTransformersPlugin } from './plugins/@hey-api/transformers';\nimport type { HeyApiTypeScriptPlugin } from './plugins/@hey-api/typescript';\nimport type { PiniaColadaPlugin } from './plugins/@pinia/colada';\nimport type { TanStackAngularQueryPlugin } from './plugins/@tanstack/angular-query-experimental';\nimport type { TanStackReactQueryPlugin } from './plugins/@tanstack/react-query';\nimport type { TanStackSolidQueryPlugin } from './plugins/@tanstack/solid-query';\nimport type { TanStackSvelteQueryPlugin } from './plugins/@tanstack/svelte-query';\nimport type { TanStackVueQueryPlugin } from './plugins/@tanstack/vue-query';\nimport type { ArktypePlugin } from './plugins/arktype';\nimport type { FastifyPlugin } from './plugins/fastify';\nimport type { SwrPlugin } from './plugins/swr';\nimport type { ValibotPlugin } from './plugins/valibot';\nimport type { ZodPlugin } from './plugins/zod';\nimport type { TsDsl } from './ts-dsl';\n\ncolors.enabled = colorSupport().hasBasic;\n\nexport { createClient } from './generate';\n\n/**\n * Type helper for configuration object, returns {@link MaybeArray<UserConfig>} object(s)\n */\nexport function defineConfig(\n config: LazyOrAsync<ReadonlyArray<UserConfig>>,\n): Promise<ReadonlyArray<UserConfig>>;\nexport function defineConfig(config: LazyOrAsync<UserConfig>): Promise<UserConfig>;\nexport async function defineConfig<T extends MaybeArray<UserConfig>>(\n config: LazyOrAsync<T>,\n): Promise<T> {\n return typeof config === 'function' ? await config() : config;\n}\n\nexport { defaultPlugins } from './config/plugins';\nexport type { UserConfig } from './config/types';\nexport type { AngularClient } from './plugins/@hey-api/client-angular';\nexport type { AxiosClient } from './plugins/@hey-api/client-axios';\nexport { clientDefaultConfig, clientDefaultMeta } from './plugins/@hey-api/client-core/config';\nexport { clientPluginHandler } from './plugins/@hey-api/client-core/plugin';\nexport type { Client } from './plugins/@hey-api/client-core/types';\nexport type { FetchClient } from './plugins/@hey-api/client-fetch';\nexport type { NextClient } from './plugins/@hey-api/client-next';\nexport type { NuxtClient } from './plugins/@hey-api/client-nuxt';\nexport type { OfetchClient } from './plugins/@hey-api/client-ofetch';\nexport type { ExpressionTransformer } from './plugins/@hey-api/transformers/expressions';\nexport type { TypeTransformer } from './plugins/@hey-api/transformers/types';\nexport * from './ts-dsl';\nexport { Logger } from '@hey-api/codegen-core';\nexport type {\n DefinePlugin,\n IR,\n OpenApi,\n OpenApiMetaObject,\n OpenApiOperationObject,\n OpenApiParameterObject,\n OpenApiRequestBodyObject,\n OpenApiResponseObject,\n OpenApiSchemaObject,\n Plugin,\n} from '@hey-api/shared';\nexport {\n defaultPaginationKeywords,\n definePluginConfig,\n OperationPath,\n OperationStrategy,\n utils,\n} from '@hey-api/shared';\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types-Ba27ofyy.d.mts","names":[],"sources":["../src/config/output/postprocess.ts","../src/config/output/types.ts","../src/config/types.ts"],"sourcesContent":[],"mappings":";;;;;;;;KAKY,UAAA;;AAAZ;AAKA;AAEa,KAFD,OAAA,GAuCsC,OAAA,GAAA,QAAA,GAAA,QAAA;AAEtC,cAvCC,cAuCkB,EAAA;;;;ICzC1B,SAAA,IAAA,EAAA,gBAAoB;EAEb,CAAA;EAAa,SAAA,YAAA,EAAA;IAOd,SAAA,IAAA,EAAA,SAAA,CAAA,MAAA,EAAA,SAAA,EAAA,UAAA,CAAA;IASa,SAAA,OAAA,EAAA,OAAA;IAAuB,SAAA,IAAA,EAAA,cAAA;EAOtC,CAAA;EAYqB,SAAA,MAAA,EAAA;IAAsB,SAAA,IAAA,EAAA,SAAA,CAAA,UAAA,EAAA,OAAA,CAAA;IAApC,SAAA,OAAA,EAAA,QAAA;IAgBC,SAAA,IAAA,EAAA,QAAA;EAAS,CAAA;EAGd,SAAM,KAAA,EAAA;IAAG,SAAA,IAAA,EAAA,SAAA,CAAA,UAAA,CAAA;IAIX,SAAA,OAAA,EAAA,OAAA;IAOa,SAAA,IAAA,EAAA,OAAA;EAAuB,CAAA;EAItC,SAAA,MAAA,EAAA;IAUO,SAAA,IAAA,EAAA,SAAA,CAAA,OAAA,EAAA,UAAA,CAAA;IAOC,SAAA,OAAA,EAAA,QAAA;IAAS,SAAA,IAAA,EAAA,QAAA;;;;ICxFb,SAAU,OAAA,EAAA,UAAA;IAAkB,SAAA,IAAA,EAAA,UAAA;EAAf,CAAA;CASnB;AAEQ,KF8BF,mBAAA,GE9BE,MAAA,OF8BiC,cE9BjC;;;KDXT,oBAAA;ADLO,KCOA,UAAA,GAAa,cDPH,GAAA;EAKV;AAEZ;AAuCA;;;;ECzCK,MAAA,CAAA,EASM,UATN,GAAA,IAAoB;EAEb;;;;;;;;EAmCI,mBAAA,CAAA,EAnBQ,oBAmBR,GAnB+B,SAmB/B,GAAA,IAAA;EAgBC;;AAGjB;;;;EAW8C,IAAA,CAAA,EA1CrC,OA0CqC,GAAA,IAAA;EAItC;;;;;;;ACvER;;;;EAWc,WAAA,CAAA,ED0BE,aC1BF,CD0BgB,mBC1BhB,GD0BsC,iBC1BtC,CAAA;EAAc;;;;;;EAOhB,eAAM,CAAA,EAAA,OAAA;EAAc;;;;;;;;EAGP,YAAO,CAAA,EDgCf,SChCe,GAAA,IAAA;CAAM;KDmC1B,MAAA,GAAS;;;;UAIX;;;;;;;uBAOa,uBAAuB;;;;QAItC;;;;;;;;;;YAUI,EAAA,CAAG;;;;;;;gBAOC;;;;KCxFJ,UAAA,GAAa,eAAe;;;AFLxC;AAKA;AAEA;AAuCA;;YEjCY,cACN,sBAEQ,cAAc,gBAAgB;IDXvC,IAAA,ECYW,CDZX;EAEO,CAAA,EAAa,CCYjB,WDZiB,CAAA,CAAA;CAOd;AASa,KCAZ,MAAA,GAAS,UDAG,CCAQ,UDAR,ECAoB,MDApB,CAAA,GAAA;EAAuB,WAAA,ECChC,aDDgC,CAAA,MCCZ,eDDY,CAAA;EAOtC,OAAA,EAAA,QCJC,WDgBoB,IChBL,MAAA,CAAO,MDgBF,CChBS,eDgBT,CChByB,CDgBzB,CAAA,CAAA,EAAsB;CAApC"}
1
+ {"version":3,"file":"types-Ba27ofyy.d.mts","names":[],"sources":["../src/config/output/postprocess.ts","../src/config/output/types.ts","../src/config/types.ts"],"sourcesContent":[],"mappings":";;;;;;;;KAKY,UAAA;;AAAZ;AAKA;AAEa,KAFD,OAAA,GAiCsC,OAAA,GAAA,QAAA,GAAA,QAAA;AAEtC,cAjCC,cAiCkB,EAAA;;;;ICvC1B,SAAA,IAAA,EAAA,gBAAoB;EAEb,CAAA;EAAa,SAAA,YAAA,EAAA;IAOd,SAAA,IAAA,EAAA,SAAA,CAAA,MAAA,EAAA,SAAA,EAAA,UAAA,CAAA;IASa,SAAA,OAAA,EAAA,OAAA;IAAuB,SAAA,IAAA,EAAA,cAAA;EAOtC,CAAA;EAYqB,SAAA,MAAA,EAAA;IAAsB,SAAA,IAAA,EAAA,SAAA,CAAA,UAAA,EAAA,OAAA,CAAA;IAApC,SAAA,OAAA,EAAA,QAAA;IAgBC,SAAA,IAAA,EAAA,QAAA;EAAS,CAAA;EAGd,SAAM,KAAA,EAAA;IAAG,SAAA,IAAA,EAAA,SAAA,CAAA,UAAA,CAAA;IAIX,SAAA,OAAA,EAAA,OAAA;IAOa,SAAA,IAAA,EAAA,OAAA;EAAuB,CAAA;EAItC,SAAA,MAAA,EAAA;IAUO,SAAA,IAAA,EAAA,SAAA,CAAA,OAAA,EAAA,UAAA,CAAA;IAOC,SAAA,OAAA,EAAA,QAAA;IAAS,SAAA,IAAA,EAAA,QAAA;;;;ICpFb,SAAU,OAAA,EAAA,UAAA;IAAkB,SAAA,IAAA,EAAA,UAAA;EAAf,CAAA;CASnB;AAEQ,KFwBF,mBAAA,GExBE,MAAA,OFwBiC,cExBjC;;;KDfT,oBAAA;ADDO,KCGA,UAAA,GAAa,cDHH,GAAA;EAKV;AAEZ;AAiCA;;;;ECvCK,MAAA,CAAA,EASM,UATN,GAAA,IAAoB;EAEb;;;;;;;;EAmCI,mBAAA,CAAA,EAnBQ,oBAmBR,GAnB+B,SAmB/B,GAAA,IAAA;EAgBC;;AAGjB;;;;EAW8C,IAAA,CAAA,EA1CrC,OA0CqC,GAAA,IAAA;EAItC;;;;;;;ACnER;;;;EAWc,WAAA,CAAA,EDsBE,aCtBF,CDsBgB,mBCtBhB,GDsBsC,iBCtBtC,CAAA;EAAc;;;;;;EAOhB,eAAM,CAAA,EAAA,OAAA;EAAc;;;;;;;;EAGP,YAAO,CAAA,ED4Bf,SC5Be,GAAA,IAAA;CAAM;KD+B1B,MAAA,GAAS;;;;UAIX;;;;;;;uBAOa,uBAAuB;;;;QAItC;;;;;;;;;;YAUI,EAAA,CAAG;;;;;;;gBAOC;;;;KCpFJ,UAAA,GAAa,eAAe;;;AFLxC;AAKA;AAEA;AAiCA;;YE3BY,cACN,sBAEQ,cAAc,gBAAgB;IDfvC,IAAA,ECgBW,CDhBX;EAEO,CAAA,EAAa,CCgBjB,WDhBiB,CAAA,CAAA;CAOd;AASa,KCIZ,MAAA,GAAS,UDJG,CCIQ,UDJR,ECIoB,MDJpB,CAAA,GAAA;EAAuB,WAAA,ECKhC,aDLgC,CAAA,MCKZ,eDLY,CAAA;EAOtC,OAAA,EAAA,QCAC,WDYoB,ICZL,MAAA,CAAO,MDYF,CCZS,eDYT,CCZyB,CDYzB,CAAA,CAAA,EAAsB;CAApC"}
package/package.json CHANGED
@@ -1,22 +1,7 @@
1
1
  {
2
2
  "name": "@hey-api/openapi-ts",
3
- "version": "0.91.0",
3
+ "version": "0.92.0",
4
4
  "description": "🌀 OpenAPI to TypeScript codegen. Production-ready SDKs, Zod schemas, TanStack Query hooks, and 20+ plugins. Used by Vercel, OpenCode, and PayPal.",
5
- "homepage": "https://heyapi.dev/",
6
- "repository": {
7
- "type": "git",
8
- "url": "git+https://github.com/hey-api/openapi-ts.git"
9
- },
10
- "bugs": {
11
- "url": "https://github.com/hey-api/openapi-ts/issues"
12
- },
13
- "license": "MIT",
14
- "author": {
15
- "email": "lubos@heyapi.dev",
16
- "name": "Hey API",
17
- "url": "https://heyapi.dev"
18
- },
19
- "funding": "https://github.com/sponsors/hey-api",
20
5
  "keywords": [
21
6
  "angular",
22
7
  "axios",
@@ -38,6 +23,30 @@
38
23
  "xhr",
39
24
  "yaml"
40
25
  ],
26
+ "homepage": "https://heyapi.dev/",
27
+ "bugs": {
28
+ "url": "https://github.com/hey-api/openapi-ts/issues"
29
+ },
30
+ "license": "MIT",
31
+ "author": {
32
+ "name": "Hey API",
33
+ "email": "lubos@heyapi.dev",
34
+ "url": "https://heyapi.dev"
35
+ },
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "git+https://github.com/hey-api/openapi-ts.git"
39
+ },
40
+ "funding": "https://github.com/sponsors/hey-api",
41
+ "bin": {
42
+ "openapi-ts": "./bin/run.js"
43
+ },
44
+ "files": [
45
+ "bin",
46
+ "dist",
47
+ "LICENSE.md",
48
+ "README.md"
49
+ ],
41
50
  "type": "module",
42
51
  "main": "./dist/index.mjs",
43
52
  "types": "./dist/index.d.mts",
@@ -52,29 +61,14 @@
52
61
  },
53
62
  "./package.json": "./package.json"
54
63
  },
55
- "bin": {
56
- "openapi-ts": "./bin/run.js"
57
- },
58
- "files": [
59
- "bin",
60
- "dist",
61
- "LICENSE.md",
62
- "README.md"
63
- ],
64
- "engines": {
65
- "node": ">=20.19.0"
66
- },
67
64
  "dependencies": {
68
- "@hey-api/json-schema-ref-parser": "1.2.3",
65
+ "@hey-api/json-schema-ref-parser": "1.2.4",
69
66
  "ansi-colors": "4.1.3",
70
67
  "color-support": "1.1.3",
71
- "commander": "14.0.2",
72
- "@hey-api/codegen-core": "0.6.0",
73
- "@hey-api/types": "0.1.3",
74
- "@hey-api/shared": "0.1.0"
75
- },
76
- "peerDependencies": {
77
- "typescript": ">=5.5.3"
68
+ "commander": "14.0.3",
69
+ "@hey-api/shared": "0.1.2",
70
+ "@hey-api/codegen-core": "0.7.0",
71
+ "@hey-api/types": "0.1.3"
78
72
  },
79
73
  "devDependencies": {
80
74
  "@angular/common": "19.2.17",
@@ -89,7 +83,6 @@
89
83
  "ky": "1.14.2",
90
84
  "nuxt": "3.14.1592",
91
85
  "ofetch": "1.5.1",
92
- "prettier": "3.4.2",
93
86
  "rxjs": "7.8.2",
94
87
  "typescript": "5.9.3",
95
88
  "vue": "3.5.25",
@@ -97,6 +90,12 @@
97
90
  "zone.js": "0.16.0",
98
91
  "@config/vite-base": "0.0.1"
99
92
  },
93
+ "peerDependencies": {
94
+ "typescript": ">=5.5.3"
95
+ },
96
+ "engines": {
97
+ "node": ">=20.19.0"
98
+ },
100
99
  "scripts": {
101
100
  "build": "tsdown && pnpm check-exports",
102
101
  "check-exports": "attw --pack . --profile esm-only --ignore-rules cjs-resolves-to-esm",