fork of hey-api/openapi-ts because I need some additional things

fix: properly handle dual publishing and type generation

Lubos 11a276a1 769a9f1f

Changed files
+4022 -918
.changeset
packages
client-axios
client-core
client-fetch
openapi-ts
bin
src
generate
legacy
handlebars
compiled
templates
node
types
utils
test
__snapshots__
test
generated
v3-hey-api-client-axios-bundle
v3-hey-api-client-axios-bundle_transform
v3-hey-api-client-fetch-bundle
v3-hey-api-client-fetch-bundle_transform
e2e
+5
.changeset/fifty-plums-battle.md
···
··· 1 + --- 2 + '@hey-api/openapi-ts': patch 3 + --- 4 + 5 + fix: properly handle dual publishing and type generation
+6
.changeset/giant-buckets-eat.md
···
··· 1 + --- 2 + '@hey-api/client-axios': patch 3 + '@hey-api/client-fetch': patch 4 + --- 5 + 6 + fix: properly handle dual publishing and type generation
+6 -5
.editorconfig
··· 1 root = true 2 3 [*] 4 - end_of_line = lf 5 charset = utf-8 6 - trim_trailing_whitespace = true 7 insert_final_newline = true 8 - indent_style = space 9 - indent_size = 2 10 11 [*.hbs] 12 - indent_style = tab
··· 1 root = true 2 3 [*] 4 charset = utf-8 5 + end_of_line = lf 6 + indent_size = 2 7 + indent_style = space 8 insert_final_newline = true 9 + trim_trailing_whitespace = true 10 11 [*.hbs] 12 + indent_size = 2 13 + indent_style = space
+3
eslint.config.js
··· 53 configPrettier, 54 { 55 ignores: [ 56 '**/dist/', 57 '**/node_modules/', 58 'temp/', 59 '**/test/e2e/generated/', 60 '**/test/generated/', 61 '**/.svelte-kit/',
··· 53 configPrettier, 54 { 55 ignores: [ 56 + '**/.tsup/', 57 '**/dist/', 58 '**/node_modules/', 59 'temp/', 60 + 'packages/openapi-ts/src/legacy/handlebars/compiled/**/*.js', 61 + 'packages/openapi-ts/src/legacy/handlebars/templates/**/*.hbs', 62 '**/test/e2e/generated/', 63 '**/test/generated/', 64 '**/.svelte-kit/',
+2 -6
package.json
··· 34 "node": "^18.0.0 || >=20.0.0" 35 }, 36 "devDependencies": { 37 "@changesets/changelog-github": "0.5.0", 38 "@changesets/cli": "2.27.7", 39 - "@rollup/plugin-commonjs": "26.0.1", 40 - "@rollup/plugin-terser": "0.4.4", 41 - "@rollup/plugin-typescript": "11.1.6", 42 "@types/node": "20.14.10", 43 "@typescript-eslint/eslint-plugin": "7.15.0", 44 "@vitest/coverage-v8": "1.6.0", ··· 52 "husky": "9.0.11", 53 "lint-staged": "15.2.7", 54 "prettier": "3.3.2", 55 - "rimraf": "5.0.8", 56 - "rollup": "4.18.0", 57 - "rollup-plugin-dts": "6.1.1", 58 "typescript": "5.5.3", 59 "typescript-eslint": "7.15.0", 60 "vitest": "1.6.0"
··· 34 "node": "^18.0.0 || >=20.0.0" 35 }, 36 "devDependencies": { 37 + "@arethetypeswrong/cli": "0.16.4", 38 "@changesets/changelog-github": "0.5.0", 39 "@changesets/cli": "2.27.7", 40 "@types/node": "20.14.10", 41 "@typescript-eslint/eslint-plugin": "7.15.0", 42 "@vitest/coverage-v8": "1.6.0", ··· 50 "husky": "9.0.11", 51 "lint-staged": "15.2.7", 52 "prettier": "3.3.2", 53 + "tsup": "8.3.0", 54 "typescript": "5.5.3", 55 "typescript-eslint": "7.15.0", 56 "vitest": "1.6.0"
+11 -16
packages/client-axios/package.json
··· 1 { 2 "name": "@hey-api/client-axios", 3 "version": "0.2.4", 4 - "type": "module", 5 "description": "Type-safe Axios client for your @hey-api/openapi-ts types", 6 "homepage": "https://heyapi.vercel.app/", 7 "repository": { ··· 25 "typescript", 26 "vue" 27 ], 28 - "types": "dist/node/index.d.ts", 29 - "main": "dist/node/index.cjs", 30 - "module": "dist/node/index.mjs", 31 "exports": { 32 ".": { 33 "import": { 34 - "types": "./dist/node/index.d.ts", 35 - "default": "./dist/node/index.mjs" 36 }, 37 "require": { 38 - "types": "./dist/node/index.d.ts", 39 - "default": "./dist/node/index.cjs" 40 } 41 }, 42 "./package.json": "./package.json" ··· 48 "src" 49 ], 50 "scripts": { 51 - "build-bundle": "rollup --config rollup.config.ts --configPlugin typescript", 52 - "build-types-check": "tsc --project tsconfig.check.json", 53 - "build-types-roll": "rollup --config rollup.dts.config.ts --configPlugin typescript && rimraf temp", 54 - "build-types-temp": "tsc --emitDeclarationOnly --outDir temp -p src/node", 55 - "build-types": "pnpm build-types-temp && pnpm build-types-roll && pnpm build-types-check", 56 - "build": "pnpm clean && pnpm build-bundle && pnpm build-types", 57 - "clean": "rimraf dist coverage node_modules/.cache", 58 - "dev": "rimraf dist && pnpm build-bundle --watch", 59 "prepublishOnly": "pnpm build", 60 "test:coverage": "vitest run --coverage", 61 "test:update": "vitest watch --update",
··· 1 { 2 "name": "@hey-api/client-axios", 3 "version": "0.2.4", 4 "description": "Type-safe Axios client for your @hey-api/openapi-ts types", 5 "homepage": "https://heyapi.vercel.app/", 6 "repository": { ··· 24 "typescript", 25 "vue" 26 ], 27 + "type": "module", 28 + "main": "./dist/index.cjs", 29 + "module": "./dist/index.js", 30 + "types": "./dist/index.d.ts", 31 "exports": { 32 ".": { 33 "import": { 34 + "types": "./dist/index.d.ts", 35 + "default": "./dist/index.js" 36 }, 37 "require": { 38 + "types": "./dist/index.d.cts", 39 + "default": "./dist/index.cjs" 40 } 41 }, 42 "./package.json": "./package.json" ··· 48 "src" 49 ], 50 "scripts": { 51 + "build": "tsup && pnpm check-exports", 52 + "check-exports": "attw --pack .", 53 + "dev": "tsup --watch", 54 "prepublishOnly": "pnpm build", 55 "test:coverage": "vitest run --coverage", 56 "test:update": "vitest watch --update",
-67
packages/client-axios/rollup.config.ts
··· 1 - import { readFileSync } from 'node:fs'; 2 - import path from 'node:path'; 3 - import { fileURLToPath } from 'node:url'; 4 - 5 - import commonjs from '@rollup/plugin-commonjs'; 6 - import terser from '@rollup/plugin-terser'; 7 - import typescript from '@rollup/plugin-typescript'; 8 - import type { RollupOptions } from 'rollup'; 9 - import { defineConfig } from 'rollup'; 10 - 11 - const __dirname = fileURLToPath(new URL('.', import.meta.url)); 12 - 13 - const pkg = JSON.parse( 14 - readFileSync(new URL('./package.json', import.meta.url)).toString(), 15 - ); 16 - 17 - export const externalDependencies = [ 18 - ...Object.keys(pkg.dependencies ?? {}), 19 - ...Object.keys(pkg.peerDependencies ?? {}), 20 - ]; 21 - 22 - function createConfig(isProduction: boolean) { 23 - return [ 24 - defineConfig({ 25 - external: externalDependencies, 26 - input: path.resolve(__dirname, 'src/node/index.ts'), 27 - output: { 28 - file: path.resolve(__dirname, 'dist/node/index.cjs'), 29 - format: 'cjs', 30 - }, 31 - plugins: [ 32 - typescript({ 33 - declaration: false, 34 - tsconfig: path.resolve(__dirname, 'src/node/tsconfig.json'), 35 - }), 36 - commonjs({ 37 - sourceMap: false, 38 - }), 39 - isProduction && terser(), 40 - ], 41 - }), 42 - defineConfig({ 43 - external: externalDependencies, 44 - input: path.resolve(__dirname, 'src/node/index.ts'), 45 - output: { 46 - file: path.resolve(__dirname, 'dist/node/index.mjs'), 47 - format: 'esm', 48 - }, 49 - plugins: [ 50 - typescript({ 51 - declaration: false, 52 - tsconfig: path.resolve(__dirname, 'src/node/tsconfig.json'), 53 - }), 54 - commonjs({ 55 - sourceMap: false, 56 - }), 57 - isProduction && terser(), 58 - ], 59 - }), 60 - ]; 61 - } 62 - 63 - export default (commandLineArgs: any): RollupOptions[] => { 64 - const isDev = commandLineArgs.watch; 65 - const isProduction = !isDev; 66 - return defineConfig(createConfig(isProduction)); 67 - };
···
-16
packages/client-axios/rollup.dts.config.ts
··· 1 - import { defineConfig } from 'rollup'; 2 - import dts from 'rollup-plugin-dts'; 3 - 4 - import { externalDependencies } from './rollup.config'; 5 - 6 - export default defineConfig({ 7 - external: externalDependencies, 8 - input: { 9 - index: './temp/node/index.d.ts', 10 - }, 11 - output: { 12 - dir: './dist/node', 13 - format: 'cjs', 14 - }, 15 - plugins: [dts({ respectExternal: true })], 16 - });
···
+8
packages/client-axios/src/index.ts
··· 84 setConfig, 85 } as Client; 86 };
··· 84 setConfig, 85 } as Client; 86 }; 87 + 88 + export type { Config, Options } from './types'; 89 + export { 90 + createConfig, 91 + formDataBodySerializer, 92 + jsonBodySerializer, 93 + urlSearchParamsBodySerializer, 94 + } from './utils';
-15
packages/client-axios/src/node/index.ts
··· 1 - export { createClient } from '../'; 2 - export type { 3 - Client, 4 - Config, 5 - Options, 6 - RequestOptions, 7 - RequestOptionsBase, 8 - RequestResult, 9 - } from '../types'; 10 - export { 11 - createConfig, 12 - formDataBodySerializer, 13 - jsonBodySerializer, 14 - urlSearchParamsBodySerializer, 15 - } from '../utils';
···
-9
packages/client-axios/src/node/tsconfig.json
··· 1 - { 2 - "compilerOptions": { 3 - "lib": ["ES2020", "DOM", "DOM.Iterable"], 4 - "stripInternal": true 5 - }, 6 - "exclude": ["../**/__tests__"], 7 - "extends": "../../tsconfig.base.json", 8 - "include": ["../"] 9 - }
···
-11
packages/client-axios/tsconfig.check.json
··· 1 - { 2 - "compilerOptions": { 3 - "exactOptionalPropertyTypes": true, 4 - "module": "NodeNext", 5 - "moduleResolution": "NodeNext", 6 - "noEmit": true, 7 - "strict": true, 8 - "target": "ES2020" 9 - }, 10 - "include": ["dist/**/*"] 11 - }
···
+1 -3
packages/client-axios/tsconfig.json
··· 3 "compilerOptions": { 4 "declaration": false, 5 "esModuleInterop": true 6 - }, 7 - "exclude": ["node_modules", "**/__mocks__"], 8 - "include": ["./src/**/*.ts", "rollup.config.ts", "rollup.dts.config.ts"] 9 }
··· 3 "compilerOptions": { 4 "declaration": false, 5 "esModuleInterop": true 6 + } 7 }
+12
packages/client-axios/tsup.config.ts
···
··· 1 + import { defineConfig } from 'tsup'; 2 + 3 + export default defineConfig((options) => ({ 4 + clean: true, 5 + dts: true, 6 + entry: ['src/index.ts'], 7 + format: ['cjs', 'esm'], 8 + minify: !options.watch, 9 + shims: false, 10 + sourcemap: true, 11 + treeshake: true, 12 + }));
-8
packages/client-core/package.json
··· 19 "types": "./dist/node/index.d.ts" 20 }, 21 "scripts": { 22 - "build-bundle": "rollup --config rollup.config.ts --configPlugin typescript", 23 - "build-types-check": "tsc --project tsconfig.check.json", 24 - "build-types-roll": "rollup --config rollup.dts.config.ts --configPlugin typescript && rimraf temp", 25 - "build-types-temp": "tsc --emitDeclarationOnly --outDir temp -p src/node", 26 - "build-types": "pnpm build-types-temp && pnpm build-types-roll && pnpm build-types-check", 27 - "build": "pnpm clean && pnpm build-bundle && pnpm build-types", 28 - "clean": "rimraf dist coverage node_modules/.cache", 29 - "dev": "rimraf dist && pnpm build-bundle --watch", 30 "prepublishOnly": "pnpm build", 31 "test:coverage": "vitest run --coverage", 32 "test:update": "vitest watch --update",
··· 19 "types": "./dist/node/index.d.ts" 20 }, 21 "scripts": { 22 "prepublishOnly": "pnpm build", 23 "test:coverage": "vitest run --coverage", 24 "test:update": "vitest watch --update",
-67
packages/client-core/rollup.config.ts
··· 1 - import { readFileSync } from 'node:fs'; 2 - import path from 'node:path'; 3 - import { fileURLToPath } from 'node:url'; 4 - 5 - import commonjs from '@rollup/plugin-commonjs'; 6 - import terser from '@rollup/plugin-terser'; 7 - import typescript from '@rollup/plugin-typescript'; 8 - import type { RollupOptions } from 'rollup'; 9 - import { defineConfig } from 'rollup'; 10 - 11 - const __dirname = fileURLToPath(new URL('.', import.meta.url)); 12 - 13 - const pkg = JSON.parse( 14 - readFileSync(new URL('./package.json', import.meta.url)).toString(), 15 - ); 16 - 17 - export const externalDependencies = [ 18 - ...Object.keys(pkg.dependencies ?? {}), 19 - ...Object.keys(pkg.peerDependencies ?? {}), 20 - ]; 21 - 22 - function createConfig(isProduction: boolean) { 23 - return [ 24 - defineConfig({ 25 - external: externalDependencies, 26 - input: path.resolve(__dirname, 'src/node/index.ts'), 27 - output: { 28 - file: path.resolve(__dirname, 'dist/node/index.cjs'), 29 - format: 'cjs', 30 - }, 31 - plugins: [ 32 - typescript({ 33 - declaration: false, 34 - tsconfig: path.resolve(__dirname, 'src/node/tsconfig.json'), 35 - }), 36 - commonjs({ 37 - sourceMap: false, 38 - }), 39 - isProduction && terser(), 40 - ], 41 - }), 42 - defineConfig({ 43 - external: externalDependencies, 44 - input: path.resolve(__dirname, 'src/node/index.ts'), 45 - output: { 46 - file: path.resolve(__dirname, 'dist/node/index.mjs'), 47 - format: 'esm', 48 - }, 49 - plugins: [ 50 - typescript({ 51 - declaration: false, 52 - tsconfig: path.resolve(__dirname, 'src/node/tsconfig.json'), 53 - }), 54 - commonjs({ 55 - sourceMap: false, 56 - }), 57 - isProduction && terser(), 58 - ], 59 - }), 60 - ]; 61 - } 62 - 63 - export default (commandLineArgs: any): RollupOptions[] => { 64 - const isDev = commandLineArgs.watch; 65 - const isProduction = !isDev; 66 - return defineConfig(createConfig(isProduction)); 67 - };
···
-16
packages/client-core/rollup.dts.config.ts
··· 1 - import { defineConfig } from 'rollup'; 2 - import dts from 'rollup-plugin-dts'; 3 - 4 - import { externalDependencies } from './rollup.config'; 5 - 6 - export default defineConfig({ 7 - external: externalDependencies, 8 - input: { 9 - index: './temp/node/index.d.ts', 10 - }, 11 - output: { 12 - dir: './dist/node', 13 - format: 'cjs', 14 - }, 15 - plugins: [dts({ respectExternal: true })], 16 - });
···
-11
packages/client-core/tsconfig.check.json
··· 1 - { 2 - "compilerOptions": { 3 - "exactOptionalPropertyTypes": true, 4 - "module": "NodeNext", 5 - "moduleResolution": "NodeNext", 6 - "noEmit": true, 7 - "strict": true, 8 - "target": "ES2020" 9 - }, 10 - "include": ["dist/**/*"] 11 - }
···
+1 -1
packages/client-core/tsconfig.json
··· 5 "esModuleInterop": true 6 }, 7 "exclude": ["node_modules", "**/__mocks__"], 8 - "include": ["./src/**/*.ts", "rollup.config.ts", "rollup.dts.config.ts"] 9 }
··· 5 "esModuleInterop": true 6 }, 7 "exclude": ["node_modules", "**/__mocks__"], 8 + "include": ["./src/**/*.ts"] 9 }
+11 -16
packages/client-fetch/package.json
··· 1 { 2 "name": "@hey-api/client-fetch", 3 "version": "0.3.1", 4 - "type": "module", 5 "description": "Type-safe Fetch API client for your @hey-api/openapi-ts types", 6 "homepage": "https://heyapi.vercel.app/", 7 "repository": { ··· 25 "typescript", 26 "vue" 27 ], 28 - "types": "dist/node/index.d.ts", 29 - "main": "dist/node/index.cjs", 30 - "module": "dist/node/index.mjs", 31 "exports": { 32 ".": { 33 "import": { 34 - "types": "./dist/node/index.d.ts", 35 - "default": "./dist/node/index.mjs" 36 }, 37 "require": { 38 - "types": "./dist/node/index.d.ts", 39 - "default": "./dist/node/index.cjs" 40 } 41 }, 42 "./package.json": "./package.json" ··· 48 "src" 49 ], 50 "scripts": { 51 - "build-bundle": "rollup --config rollup.config.ts --configPlugin typescript", 52 - "build-types-check": "tsc --project tsconfig.check.json", 53 - "build-types-roll": "rollup --config rollup.dts.config.ts --configPlugin typescript && rimraf temp", 54 - "build-types-temp": "tsc --emitDeclarationOnly --outDir temp -p src/node", 55 - "build-types": "pnpm build-types-temp && pnpm build-types-roll && pnpm build-types-check", 56 - "build": "pnpm clean && pnpm build-bundle && pnpm build-types", 57 - "clean": "rimraf dist coverage node_modules/.cache", 58 - "dev": "rimraf dist && pnpm build-bundle --watch", 59 "prepublishOnly": "pnpm build", 60 "test:coverage": "vitest run --coverage", 61 "test:update": "vitest watch --update",
··· 1 { 2 "name": "@hey-api/client-fetch", 3 "version": "0.3.1", 4 "description": "Type-safe Fetch API client for your @hey-api/openapi-ts types", 5 "homepage": "https://heyapi.vercel.app/", 6 "repository": { ··· 24 "typescript", 25 "vue" 26 ], 27 + "type": "module", 28 + "main": "./dist/index.cjs", 29 + "module": "./dist/index.js", 30 + "types": "./dist/index.d.ts", 31 "exports": { 32 ".": { 33 "import": { 34 + "types": "./dist/index.d.ts", 35 + "default": "./dist/index.js" 36 }, 37 "require": { 38 + "types": "./dist/index.d.cts", 39 + "default": "./dist/index.cjs" 40 } 41 }, 42 "./package.json": "./package.json" ··· 48 "src" 49 ], 50 "scripts": { 51 + "build": "tsup && pnpm check-exports", 52 + "check-exports": "attw --pack .", 53 + "dev": "tsup --watch", 54 "prepublishOnly": "pnpm build", 55 "test:coverage": "vitest run --coverage", 56 "test:update": "vitest watch --update",
-67
packages/client-fetch/rollup.config.ts
··· 1 - import { readFileSync } from 'node:fs'; 2 - import path from 'node:path'; 3 - import { fileURLToPath } from 'node:url'; 4 - 5 - import commonjs from '@rollup/plugin-commonjs'; 6 - import terser from '@rollup/plugin-terser'; 7 - import typescript from '@rollup/plugin-typescript'; 8 - import type { RollupOptions } from 'rollup'; 9 - import { defineConfig } from 'rollup'; 10 - 11 - const __dirname = fileURLToPath(new URL('.', import.meta.url)); 12 - 13 - const pkg = JSON.parse( 14 - readFileSync(new URL('./package.json', import.meta.url)).toString(), 15 - ); 16 - 17 - export const externalDependencies = [ 18 - ...Object.keys(pkg.dependencies ?? {}), 19 - ...Object.keys(pkg.peerDependencies ?? {}), 20 - ]; 21 - 22 - function createConfig(isProduction: boolean) { 23 - return [ 24 - defineConfig({ 25 - external: externalDependencies, 26 - input: path.resolve(__dirname, 'src/node/index.ts'), 27 - output: { 28 - file: path.resolve(__dirname, 'dist/node/index.cjs'), 29 - format: 'cjs', 30 - }, 31 - plugins: [ 32 - typescript({ 33 - declaration: false, 34 - tsconfig: path.resolve(__dirname, 'src/node/tsconfig.json'), 35 - }), 36 - commonjs({ 37 - sourceMap: false, 38 - }), 39 - isProduction && terser(), 40 - ], 41 - }), 42 - defineConfig({ 43 - external: externalDependencies, 44 - input: path.resolve(__dirname, 'src/node/index.ts'), 45 - output: { 46 - file: path.resolve(__dirname, 'dist/node/index.mjs'), 47 - format: 'esm', 48 - }, 49 - plugins: [ 50 - typescript({ 51 - declaration: false, 52 - tsconfig: path.resolve(__dirname, 'src/node/tsconfig.json'), 53 - }), 54 - commonjs({ 55 - sourceMap: false, 56 - }), 57 - isProduction && terser(), 58 - ], 59 - }), 60 - ]; 61 - } 62 - 63 - export default (commandLineArgs: any): RollupOptions[] => { 64 - const isDev = commandLineArgs.watch; 65 - const isProduction = !isDev; 66 - return defineConfig(createConfig(isProduction)); 67 - };
···
-16
packages/client-fetch/rollup.dts.config.ts
··· 1 - import { defineConfig } from 'rollup'; 2 - import dts from 'rollup-plugin-dts'; 3 - 4 - import { externalDependencies } from './rollup.config'; 5 - 6 - export default defineConfig({ 7 - external: externalDependencies, 8 - input: { 9 - index: './temp/node/index.d.ts', 10 - }, 11 - output: { 12 - dir: './dist/node', 13 - format: 'cjs', 14 - }, 15 - plugins: [dts({ respectExternal: true })], 16 - });
···
+8
packages/client-fetch/src/index.ts
··· 144 trace: (options) => request({ ...options, method: 'TRACE' }), 145 }; 146 };
··· 144 trace: (options) => request({ ...options, method: 'TRACE' }), 145 }; 146 }; 147 + 148 + export type { Config, Options } from './types'; 149 + export { 150 + createConfig, 151 + formDataBodySerializer, 152 + jsonBodySerializer, 153 + urlSearchParamsBodySerializer, 154 + } from './utils';
-19
packages/client-fetch/src/node/index.ts
··· 1 - export { createClient } from '../'; 2 - export type { 3 - Client, 4 - Config, 5 - Options, 6 - RequestOptions, 7 - RequestOptionsBase, 8 - RequestResult, 9 - } from '../types'; 10 - export { 11 - type BodySerializer, 12 - createConfig, 13 - formDataBodySerializer, 14 - jsonBodySerializer, 15 - type Middleware, 16 - type QuerySerializer, 17 - type QuerySerializerOptions, 18 - urlSearchParamsBodySerializer, 19 - } from '../utils';
···
-9
packages/client-fetch/src/node/tsconfig.json
··· 1 - { 2 - "compilerOptions": { 3 - "lib": ["ES2020", "DOM", "DOM.Iterable"], 4 - "stripInternal": true 5 - }, 6 - "exclude": ["../**/__tests__"], 7 - "extends": "../../tsconfig.base.json", 8 - "include": ["../"] 9 - }
···
-11
packages/client-fetch/tsconfig.check.json
··· 1 - { 2 - "compilerOptions": { 3 - "exactOptionalPropertyTypes": true, 4 - "module": "NodeNext", 5 - "moduleResolution": "NodeNext", 6 - "noEmit": true, 7 - "strict": true, 8 - "target": "ES2020" 9 - }, 10 - "include": ["dist/**/*"] 11 - }
···
+1 -3
packages/client-fetch/tsconfig.json
··· 3 "compilerOptions": { 4 "declaration": false, 5 "esModuleInterop": true 6 - }, 7 - "exclude": ["node_modules", "**/__mocks__"], 8 - "include": ["./src/**/*.ts", "rollup.config.ts", "rollup.dts.config.ts"] 9 }
··· 3 "compilerOptions": { 4 "declaration": false, 5 "esModuleInterop": true 6 + } 7 }
+12
packages/client-fetch/tsup.config.ts
···
··· 1 + import { defineConfig } from 'tsup'; 2 + 3 + export default defineConfig((options) => ({ 4 + clean: true, 5 + dts: true, 6 + entry: ['src/index.ts'], 7 + format: ['cjs', 'esm'], 8 + minify: !options.watch, 9 + shims: false, 10 + sourcemap: true, 11 + treeshake: true, 12 + }));
+1
packages/openapi-ts/.gitignore
··· 1 .DS_Store 2 .idea 3 .tmp 4 junit.xml 5 node_modules
··· 1 .DS_Store 2 .idea 3 + .tsup 4 .tmp 5 junit.xml 6 node_modules
+1 -3
packages/openapi-ts/bin/index.cjs
··· 66 async function start() { 67 let userConfig; 68 try { 69 - const { createClient } = require( 70 - resolve(__dirname, '../dist/node/index.cjs'), 71 - ); 72 userConfig = processParams(params, [ 73 'dryRun', 74 'exportCore',
··· 66 async function start() { 67 let userConfig; 68 try { 69 + const { createClient } = require(resolve(__dirname, '../dist/index.cjs')); 70 userConfig = processParams(params, [ 71 'dryRun', 72 'exportCore',
+21 -13
packages/openapi-ts/package.json
··· 1 { 2 "name": "@hey-api/openapi-ts", 3 "version": "0.53.2", 4 - "type": "module", 5 "description": "Turn your OpenAPI specification into a beautiful TypeScript client", 6 "homepage": "https://heyapi.vercel.app/", 7 "repository": { ··· 29 "xhr", 30 "yaml" 31 ], 32 - "main": "./dist/node/index.cjs", 33 - "types": "./dist/node/index.d.ts", 34 "bin": { 35 "openapi-ts": "bin/index.cjs" 36 }, ··· 40 "LICENSE.md" 41 ], 42 "scripts": { 43 - "build-bundle": "rollup --config rollup.config.ts --configPlugin typescript", 44 - "build-types-check": "tsc --project tsconfig.check.json", 45 - "build-types-roll": "rollup --config rollup.dts.config.ts --configPlugin typescript && rimraf temp", 46 - "build-types-temp": "tsc --emitDeclarationOnly --outDir temp -p src/node", 47 - "build-types": "pnpm build-types-temp && pnpm build-types-roll && pnpm build-types-check", 48 - "build": "pnpm clean && pnpm build-bundle && pnpm build-types", 49 - "clean": "rimraf dist test/generated test/e2e/generated coverage node_modules/.cache", 50 - "dev": "rimraf dist && pnpm build-bundle --watch", 51 "prepublishOnly": "pnpm build", 52 "test:coverage": "vitest run --config vitest.config.unit.ts --coverage", 53 "test:e2e": "vitest run --config vitest.config.e2e.ts", ··· 83 "@angular/router": "17.3.9", 84 "@hey-api/client-axios": "workspace:*", 85 "@hey-api/client-fetch": "workspace:*", 86 - "@rollup/plugin-json": "6.1.0", 87 - "@rollup/plugin-node-resolve": "15.2.3", 88 "@tanstack/react-query": "5.56.2", 89 "@tanstack/solid-query": "5.51.21", 90 "@tanstack/svelte-query": "5.56.2",
··· 1 { 2 "name": "@hey-api/openapi-ts", 3 "version": "0.53.2", 4 "description": "Turn your OpenAPI specification into a beautiful TypeScript client", 5 "homepage": "https://heyapi.vercel.app/", 6 "repository": { ··· 28 "xhr", 29 "yaml" 30 ], 31 + "type": "module", 32 + "main": "./dist/index.cjs", 33 + "module": "./dist/index.js", 34 + "types": "./dist/index.d.ts", 35 + "exports": { 36 + ".": { 37 + "import": { 38 + "types": "./dist/index.d.ts", 39 + "default": "./dist/index.js" 40 + }, 41 + "require": { 42 + "types": "./dist/index.d.cts", 43 + "default": "./dist/index.cjs" 44 + } 45 + }, 46 + "./package.json": "./package.json" 47 + }, 48 "bin": { 49 "openapi-ts": "bin/index.cjs" 50 }, ··· 54 "LICENSE.md" 55 ], 56 "scripts": { 57 + "build": "tsup && pnpm check-exports", 58 + "check-exports": "attw --pack .", 59 + "dev": "tsup --watch", 60 + "handlebars": "node src/legacy/handlebars/handlebars.cjs", 61 "prepublishOnly": "pnpm build", 62 "test:coverage": "vitest run --config vitest.config.unit.ts --coverage", 63 "test:e2e": "vitest run --config vitest.config.e2e.ts", ··· 93 "@angular/router": "17.3.9", 94 "@hey-api/client-axios": "workspace:*", 95 "@hey-api/client-fetch": "workspace:*", 96 "@tanstack/react-query": "5.56.2", 97 "@tanstack/solid-query": "5.51.21", 98 "@tanstack/svelte-query": "5.56.2",
-93
packages/openapi-ts/rollup.config.ts
··· 1 - import { readFileSync } from 'node:fs'; 2 - import path from 'node:path'; 3 - import { fileURLToPath } from 'node:url'; 4 - 5 - import commonjs from '@rollup/plugin-commonjs'; 6 - import json from '@rollup/plugin-json'; 7 - import { nodeResolve } from '@rollup/plugin-node-resolve'; 8 - import terser from '@rollup/plugin-terser'; 9 - import typescript from '@rollup/plugin-typescript'; 10 - import handlebars from 'handlebars'; 11 - import type { Plugin, RollupOptions } from 'rollup'; 12 - import { defineConfig } from 'rollup'; 13 - 14 - /** 15 - * Custom plugin to parse handlebar imports and precompile 16 - * the template on the fly. This reduces runtime by about 17 - * half on large projects. 18 - */ 19 - export function handlebarsPlugin(): Plugin { 20 - return { 21 - load: (file: any) => { 22 - if (path.extname(file) === '.hbs') { 23 - const template = readFileSync(file, 'utf8').toString().trim(); 24 - const templateSpec = handlebars.precompile(template, { 25 - knownHelpers: { 26 - camelCase: true, 27 - equals: true, 28 - ifdef: true, 29 - notEquals: true, 30 - transformServiceName: true, 31 - }, 32 - knownHelpersOnly: true, 33 - noEscape: true, 34 - preventIndent: true, 35 - strict: true, 36 - }); 37 - return `export default ${templateSpec};`; 38 - } 39 - return null; 40 - }, 41 - name: 'handlebars', 42 - resolveId: (file: any, importer: any) => { 43 - if (path.extname(file) === '.hbs') { 44 - return path.resolve(path.dirname(importer), file); 45 - } 46 - return null; 47 - }, 48 - }; 49 - } 50 - 51 - const __dirname = fileURLToPath(new URL('.', import.meta.url)); 52 - 53 - const pkg = JSON.parse( 54 - readFileSync(new URL('./package.json', import.meta.url)).toString(), 55 - ); 56 - 57 - // ESM only dependencies are not treated as external so that we can fully support CommonJS and ESM 58 - const esmDependencies = ['camelcase']; 59 - 60 - export const externalDependencies = [ 61 - ...Object.keys(pkg.dependencies ?? {}), 62 - ...Object.keys(pkg.peerDependencies ?? {}), 63 - ].filter((dependency) => !esmDependencies.includes(dependency)); 64 - 65 - function createConfig(isProduction: boolean) { 66 - return defineConfig({ 67 - external: externalDependencies, 68 - input: path.resolve(__dirname, 'src/node/index.ts'), 69 - output: { 70 - file: path.resolve(__dirname, 'dist/node/index.cjs'), 71 - format: 'cjs', 72 - }, 73 - plugins: [ 74 - nodeResolve({ preferBuiltins: true }), 75 - typescript({ 76 - declaration: false, 77 - tsconfig: path.resolve(__dirname, 'src/node/tsconfig.json'), 78 - }), 79 - commonjs({ 80 - sourceMap: false, 81 - }), 82 - json(), 83 - handlebarsPlugin(), 84 - isProduction && terser(), 85 - ], 86 - }); 87 - } 88 - 89 - export default (commandLineArgs: any): RollupOptions[] => { 90 - const isDev = commandLineArgs.watch; 91 - const isProduction = !isDev; 92 - return defineConfig([createConfig(isProduction)]); 93 - };
···
-16
packages/openapi-ts/rollup.dts.config.ts
··· 1 - import { defineConfig } from 'rollup'; 2 - import dts from 'rollup-plugin-dts'; 3 - 4 - import { externalDependencies } from './rollup.config'; 5 - 6 - export default defineConfig({ 7 - external: externalDependencies, 8 - input: { 9 - index: './temp/node/index.d.ts', 10 - }, 11 - output: { 12 - dir: './dist/node', 13 - format: 'cjs', 14 - }, 15 - plugins: [dts({ respectExternal: true })], 16 - });
···
+26 -13
packages/openapi-ts/src/generate/client.ts
··· 1 - import { copyFileSync, readFileSync, writeFileSync } from 'node:fs'; 2 - import { createRequire } from 'node:module'; 3 import path from 'node:path'; 4 5 import { getConfig, isStandaloneClient } from '../utils/config'; 6 import { ensureDirSync } from './utils'; 7 8 - const require = createRequire(import.meta.url); 9 10 export const clientModulePath = () => { 11 const config = getConfig(); ··· 16 17 /** 18 * (optional) Creates a `client.ts` file containing the same exports as a 19 - * standalone client package. Creates a `core` directory containing the modules 20 * from standalone client. These files are generated only when `client.bundle` 21 * is set to true. 22 */ ··· 31 } 32 33 // create directory for client modules 34 - const dirPath = path.resolve(outputPath, 'core'); 35 ensureDirSync(dirPath); 36 37 const clientModulePath = path.normalize(require.resolve(moduleName)); 38 const clientModulePathComponents = clientModulePath.split(path.sep); 39 const clientSrcPath = [ ··· 52 path.resolve(dirPath, file), 53 ); 54 }); 55 - 56 - // copy index file with cherry-picked exports 57 - const nodeIndexFile = readFileSync( 58 - path.resolve(clientSrcPath, 'node', 'index.ts'), 59 - 'utf-8', 60 - ); 61 - const indexFile = nodeIndexFile.replaceAll('../', './core/'); 62 - writeFileSync(path.resolve(outputPath, 'client.ts'), indexFile, 'utf-8'); 63 };
··· 1 + import { copyFileSync } from 'node:fs'; 2 import path from 'node:path'; 3 4 import { getConfig, isStandaloneClient } from '../utils/config'; 5 import { ensureDirSync } from './utils'; 6 7 + const isESM = () => { 8 + try { 9 + return typeof import.meta.url === 'string'; 10 + } catch (error) { 11 + return false; 12 + } 13 + }; 14 + 15 + const getRequire = async (): Promise<NodeRequire> => { 16 + try { 17 + if (isESM()) { 18 + const module: any = await import('node:module'); 19 + const createRequire: (path: string | URL) => NodeRequire = 20 + module.createRequire; 21 + return createRequire(import.meta.url); 22 + } 23 + 24 + return module.require; 25 + } catch (error) { 26 + return module.require; 27 + } 28 + }; 29 30 export const clientModulePath = () => { 31 const config = getConfig(); ··· 36 37 /** 38 * (optional) Creates a `client.ts` file containing the same exports as a 39 + * standalone client package. Creates a `client` directory containing the modules 40 * from standalone client. These files are generated only when `client.bundle` 41 * is set to true. 42 */ ··· 51 } 52 53 // create directory for client modules 54 + const dirPath = path.resolve(outputPath, 'client'); 55 ensureDirSync(dirPath); 56 57 + const require = await getRequire(); 58 const clientModulePath = path.normalize(require.resolve(moduleName)); 59 const clientModulePathComponents = clientModulePath.split(path.sep); 60 const clientSrcPath = [ ··· 73 path.resolve(dirPath, file), 74 ); 75 }); 76 };
+4
packages/openapi-ts/src/generate/output.ts
··· 88 await generatePlugins({ client, files }); 89 90 Object.entries(files).forEach(([name, file]) => { 91 if (name === 'index') { 92 file.write(); 93 } else {
··· 88 await generatePlugins({ client, files }); 89 90 Object.entries(files).forEach(([name, file]) => { 91 + if (config.dryRun) { 92 + return; 93 + } 94 + 95 if (name === 'index') { 96 file.write(); 97 } else {
+44 -8
packages/openapi-ts/src/index.ts
··· 18 operationParameterFilterFn, 19 operationParameterNameFn, 20 } from './utils/parse'; 21 - import { Performance } from './utils/performance'; 22 import { postProcessClient } from './utils/postprocess'; 23 24 type OutputProcessor = { ··· 112 }; 113 if (typeof userConfig.client === 'string') { 114 client.name = userConfig.client; 115 - } else { 116 client = { 117 ...client, 118 ...userConfig.client, ··· 269 270 const client = getClient(userConfig); 271 272 - if (!CLIENTS.includes(client.name)) { 273 throw new Error('🚫 invalid client - select a valid client value'); 274 } 275 ··· 286 287 output.path = path.resolve(process.cwd(), output.path); 288 289 - return setConfig({ 290 base, 291 client, 292 configFile, ··· 305 types, 306 useOptions, 307 }); 308 }); 309 }; 310 ··· 319 ): Promise<ReadonlyArray<Client>> { 320 Performance.start('createClient'); 321 322 const configs = await initConfigs(userConfig); 323 324 const templates = registerHandlebarTemplates(); 325 326 const pCreateClient = (config: Config) => async () => { 327 const openApi = 328 typeof config.input === 'string' 329 ? await getOpenApiSpec(config.input) 330 : (config.input as unknown as Awaited< 331 ReturnType<typeof getOpenApiSpec> 332 >); 333 334 if (config.experimental_parser) { 335 Performance.start('experimental_parser'); ··· 355 const client = postProcessClient(parsed); 356 Performance.end('parser'); 357 358 if (!config.dryRun) { 359 - logClientMessage(); 360 - await generateOutput(openApi, client, templates); 361 processOutput(); 362 - } 363 364 - console.log('✨ Done! Your client is located in:', config.output.path); 365 366 return client; 367 } ··· 379 380 Performance.end('createClient'); 381 382 return clients; 383 } 384 ··· 391 createClient, 392 defineConfig, 393 };
··· 18 operationParameterFilterFn, 19 operationParameterNameFn, 20 } from './utils/parse'; 21 + import { Performance, PerformanceReport } from './utils/performance'; 22 import { postProcessClient } from './utils/postprocess'; 23 24 type OutputProcessor = { ··· 112 }; 113 if (typeof userConfig.client === 'string') { 114 client.name = userConfig.client; 115 + } else if (userConfig.client) { 116 client = { 117 ...client, 118 ...userConfig.client, ··· 269 270 const client = getClient(userConfig); 271 272 + if (client.name && !CLIENTS.includes(client.name)) { 273 throw new Error('🚫 invalid client - select a valid client value'); 274 } 275 ··· 286 287 output.path = path.resolve(process.cwd(), output.path); 288 289 + const config = setConfig({ 290 base, 291 client, 292 configFile, ··· 305 types, 306 useOptions, 307 }); 308 + 309 + if (debug) { 310 + console.warn('config:', config); 311 + } 312 + 313 + return config; 314 }); 315 }; 316 ··· 325 ): Promise<ReadonlyArray<Client>> { 326 Performance.start('createClient'); 327 328 + Performance.start('config'); 329 const configs = await initConfigs(userConfig); 330 + Performance.end('config'); 331 332 + Performance.start('handlebars'); 333 const templates = registerHandlebarTemplates(); 334 + Performance.end('handlebars'); 335 336 const pCreateClient = (config: Config) => async () => { 337 + Performance.start('openapi'); 338 const openApi = 339 typeof config.input === 'string' 340 ? await getOpenApiSpec(config.input) 341 : (config.input as unknown as Awaited< 342 ReturnType<typeof getOpenApiSpec> 343 >); 344 + Performance.end('openapi'); 345 346 if (config.experimental_parser) { 347 Performance.start('experimental_parser'); ··· 367 const client = postProcessClient(parsed); 368 Performance.end('parser'); 369 370 + logClientMessage(); 371 + 372 + Performance.start('generator'); 373 + await generateOutput(openApi, client, templates); 374 + Performance.end('generator'); 375 + 376 + Performance.start('postprocess'); 377 if (!config.dryRun) { 378 processOutput(); 379 380 + console.log('✨ Done! Your client is located in:', config.output.path); 381 + } 382 + Performance.end('postprocess'); 383 384 return client; 385 } ··· 397 398 Performance.end('createClient'); 399 400 + if (userConfig.debug) { 401 + const perfReport = new PerformanceReport({ 402 + totalMark: 'createClient', 403 + }); 404 + perfReport.report({ 405 + marks: [ 406 + 'config', 407 + 'openapi', 408 + 'handlebars', 409 + 'parser', 410 + 'generator', 411 + 'postprocess', 412 + ], 413 + }); 414 + } 415 + 416 return clients; 417 } 418 ··· 425 createClient, 426 defineConfig, 427 }; 428 + 429 + export type { UserConfig } from './types/config';
+457
packages/openapi-ts/src/legacy/handlebars/compiled/client.js
···
··· 1 + export default { 2 + 1: function (container, depth0, helpers, partials, data) { 3 + return "import { NgModule} from '@angular/core';\nimport { HttpClientModule } from '@angular/common/http';\n\nimport { AngularHttpRequest } from './core/AngularHttpRequest';\nimport { BaseHttpRequest } from './core/BaseHttpRequest';\nimport type { OpenAPIConfig } from './core/OpenAPI';\nimport { OpenAPI } from './core/OpenAPI';\nimport { Interceptors } from './core/OpenAPI';\n"; 4 + }, 5 + 3: function (container, depth0, helpers, partials, data) { 6 + var stack1, 7 + alias1 = container.strict, 8 + alias2 = container.lambda; 9 + 10 + return ( 11 + "import type { BaseHttpRequest } from './core/BaseHttpRequest';\nimport type { OpenAPIConfig } from './core/OpenAPI';\nimport { Interceptors } from './core/OpenAPI';\nimport { " + 12 + ((stack1 = alias2( 13 + alias1(depth0, 'httpRequest', { 14 + start: { line: 14, column: 12 }, 15 + end: { line: 14, column: 23 }, 16 + }), 17 + depth0, 18 + )) != null 19 + ? stack1 20 + : '') + 21 + " } from './core/" + 22 + ((stack1 = alias2( 23 + alias1(depth0, 'httpRequest', { 24 + start: { line: 14, column: 45 }, 25 + end: { line: 14, column: 56 }, 26 + }), 27 + depth0, 28 + )) != null 29 + ? stack1 30 + : '') + 31 + "';\n" 32 + ); 33 + }, 34 + 5: function (container, depth0, helpers, partials, data) { 35 + var stack1, 36 + lookupProperty = 37 + container.lookupProperty || 38 + function (parent, propertyName) { 39 + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { 40 + return parent[propertyName]; 41 + } 42 + return undefined; 43 + }; 44 + 45 + return (stack1 = lookupProperty(helpers, 'each').call( 46 + depth0 != null ? depth0 : container.nullContext || {}, 47 + lookupProperty(depth0, 'services'), 48 + { 49 + name: 'each', 50 + hash: {}, 51 + fn: container.program(6, data, 0), 52 + inverse: container.noop, 53 + data: data, 54 + loc: { start: { line: 18, column: 0 }, end: { line: 20, column: 9 } }, 55 + }, 56 + )) != null 57 + ? stack1 58 + : ''; 59 + }, 60 + 6: function (container, depth0, helpers, partials, data) { 61 + var stack1, 62 + lookupProperty = 63 + container.lookupProperty || 64 + function (parent, propertyName) { 65 + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { 66 + return parent[propertyName]; 67 + } 68 + return undefined; 69 + }; 70 + 71 + return ( 72 + 'import { ' + 73 + ((stack1 = lookupProperty(helpers, 'transformServiceName').call( 74 + depth0 != null ? depth0 : container.nullContext || {}, 75 + lookupProperty(depth0, 'name'), 76 + { 77 + name: 'transformServiceName', 78 + hash: {}, 79 + data: data, 80 + loc: { 81 + start: { line: 19, column: 9 }, 82 + end: { line: 19, column: 40 }, 83 + }, 84 + }, 85 + )) != null 86 + ? stack1 87 + : '') + 88 + " } from './services.gen';\n" 89 + ); 90 + }, 91 + 8: function (container, depth0, helpers, partials, data) { 92 + var stack1, 93 + alias1 = container.strict, 94 + alias2 = container.lambda, 95 + lookupProperty = 96 + container.lookupProperty || 97 + function (parent, propertyName) { 98 + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { 99 + return parent[propertyName]; 100 + } 101 + return undefined; 102 + }; 103 + 104 + return ( 105 + "@NgModule({\n imports: [HttpClientModule],\n providers: [\n {\n provide: OpenAPI,\n useValue: {\n BASE: OpenAPI?.BASE ?? '" + 106 + ((stack1 = alias2( 107 + alias1(depth0, 'server', { 108 + start: { line: 30, column: 31 }, 109 + end: { line: 30, column: 37 }, 110 + }), 111 + depth0, 112 + )) != null 113 + ? stack1 114 + : '') + 115 + "',\n VERSION: OpenAPI?.VERSION ?? '" + 116 + ((stack1 = alias2( 117 + alias1(depth0, 'version', { 118 + start: { line: 31, column: 37 }, 119 + end: { line: 31, column: 44 }, 120 + }), 121 + depth0, 122 + )) != null 123 + ? stack1 124 + : '') + 125 + "',\n WITH_CREDENTIALS: OpenAPI?.WITH_CREDENTIALS ?? false,\n CREDENTIALS: OpenAPI?.CREDENTIALS ?? 'include',\n TOKEN: OpenAPI?.TOKEN,\n USERNAME: OpenAPI?.USERNAME,\n PASSWORD: OpenAPI?.PASSWORD,\n HEADERS: OpenAPI?.HEADERS,\n ENCODE_PATH: OpenAPI?.ENCODE_PATH,\n interceptors: {\n response: OpenAPI?.interceptors?.response ?? new Interceptors(),\n },\n } as OpenAPIConfig,\n },\n {\n provide: BaseHttpRequest,\n useClass: AngularHttpRequest,\n },\n" + 126 + ((stack1 = lookupProperty(helpers, 'each').call( 127 + depth0 != null ? depth0 : container.nullContext || {}, 128 + lookupProperty(depth0, 'services'), 129 + { 130 + name: 'each', 131 + hash: {}, 132 + fn: container.program(9, data, 0), 133 + inverse: container.noop, 134 + data: data, 135 + loc: { 136 + start: { line: 48, column: 2 }, 137 + end: { line: 50, column: 11 }, 138 + }, 139 + }, 140 + )) != null 141 + ? stack1 142 + : '') + 143 + ' ]\n})\nexport class ' + 144 + ((stack1 = alias2( 145 + alias1( 146 + lookupProperty(lookupProperty(data, 'root'), '$config'), 147 + 'name', 148 + { start: { line: 53, column: 16 }, end: { line: 53, column: 34 } }, 149 + ), 150 + depth0, 151 + )) != null 152 + ? stack1 153 + : '') + 154 + ' {}\n' 155 + ); 156 + }, 157 + 9: function (container, depth0, helpers, partials, data) { 158 + var stack1, 159 + lookupProperty = 160 + container.lookupProperty || 161 + function (parent, propertyName) { 162 + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { 163 + return parent[propertyName]; 164 + } 165 + return undefined; 166 + }; 167 + 168 + return ( 169 + ' ' + 170 + ((stack1 = lookupProperty(helpers, 'transformServiceName').call( 171 + depth0 != null ? depth0 : container.nullContext || {}, 172 + lookupProperty(depth0, 'name'), 173 + { 174 + name: 'transformServiceName', 175 + hash: {}, 176 + data: data, 177 + loc: { 178 + start: { line: 49, column: 2 }, 179 + end: { line: 49, column: 33 }, 180 + }, 181 + }, 182 + )) != null 183 + ? stack1 184 + : '') + 185 + ',\n' 186 + ); 187 + }, 188 + 11: function (container, depth0, helpers, partials, data) { 189 + var stack1, 190 + alias1 = container.strict, 191 + alias2 = container.lambda, 192 + alias3 = depth0 != null ? depth0 : container.nullContext || {}, 193 + lookupProperty = 194 + container.lookupProperty || 195 + function (parent, propertyName) { 196 + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { 197 + return parent[propertyName]; 198 + } 199 + return undefined; 200 + }; 201 + 202 + return ( 203 + 'type HttpRequestConstructor = new (config: OpenAPIConfig) => BaseHttpRequest;\n\nexport class ' + 204 + ((stack1 = alias2( 205 + alias1( 206 + lookupProperty(lookupProperty(data, 'root'), '$config'), 207 + 'name', 208 + { start: { line: 57, column: 16 }, end: { line: 57, column: 34 } }, 209 + ), 210 + depth0, 211 + )) != null 212 + ? stack1 213 + : '') + 214 + ' {\n\n' + 215 + ((stack1 = lookupProperty(helpers, 'each').call( 216 + alias3, 217 + lookupProperty(depth0, 'services'), 218 + { 219 + name: 'each', 220 + hash: {}, 221 + fn: container.program(12, data, 0), 222 + inverse: container.noop, 223 + data: data, 224 + loc: { 225 + start: { line: 59, column: 1 }, 226 + end: { line: 61, column: 10 }, 227 + }, 228 + }, 229 + )) != null 230 + ? stack1 231 + : '') + 232 + '\n public readonly request: BaseHttpRequest;\n\n constructor(config?: Partial<OpenAPIConfig>, HttpRequest: HttpRequestConstructor = ' + 233 + ((stack1 = alias2( 234 + alias1(depth0, 'httpRequest', { 235 + start: { line: 65, column: 87 }, 236 + end: { line: 65, column: 98 }, 237 + }), 238 + depth0, 239 + )) != null 240 + ? stack1 241 + : '') + 242 + ") {\n this.request = new HttpRequest({\n BASE: config?.BASE ?? '" + 243 + ((stack1 = alias2( 244 + alias1(depth0, 'server', { 245 + start: { line: 67, column: 29 }, 246 + end: { line: 67, column: 35 }, 247 + }), 248 + depth0, 249 + )) != null 250 + ? stack1 251 + : '') + 252 + "',\n VERSION: config?.VERSION ?? '" + 253 + ((stack1 = alias2( 254 + alias1(depth0, 'version', { 255 + start: { line: 68, column: 35 }, 256 + end: { line: 68, column: 42 }, 257 + }), 258 + depth0, 259 + )) != null 260 + ? stack1 261 + : '') + 262 + "',\n WITH_CREDENTIALS: config?.WITH_CREDENTIALS ?? false,\n CREDENTIALS: config?.CREDENTIALS ?? 'include',\n TOKEN: config?.TOKEN,\n USERNAME: config?.USERNAME,\n PASSWORD: config?.PASSWORD,\n HEADERS: config?.HEADERS,\n ENCODE_PATH: config?.ENCODE_PATH,\n interceptors: {\n request: config?.interceptors?.request ?? new Interceptors(),\n response: config?.interceptors?.response ?? new Interceptors(),\n },\n });\n\n" + 263 + ((stack1 = lookupProperty(helpers, 'each').call( 264 + alias3, 265 + lookupProperty(depth0, 'services'), 266 + { 267 + name: 'each', 268 + hash: {}, 269 + fn: container.program(14, data, 0), 270 + inverse: container.noop, 271 + data: data, 272 + loc: { 273 + start: { line: 82, column: 2 }, 274 + end: { line: 84, column: 11 }, 275 + }, 276 + }, 277 + )) != null 278 + ? stack1 279 + : '') + 280 + ' }\n}\n' 281 + ); 282 + }, 283 + 12: function (container, depth0, helpers, partials, data) { 284 + var stack1, 285 + alias1 = depth0 != null ? depth0 : container.nullContext || {}, 286 + lookupProperty = 287 + container.lookupProperty || 288 + function (parent, propertyName) { 289 + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { 290 + return parent[propertyName]; 291 + } 292 + return undefined; 293 + }; 294 + 295 + return ( 296 + ' public readonly ' + 297 + ((stack1 = lookupProperty(helpers, 'camelCase').call( 298 + alias1, 299 + lookupProperty(depth0, 'name'), 300 + { 301 + name: 'camelCase', 302 + hash: {}, 303 + data: data, 304 + loc: { 305 + start: { line: 60, column: 17 }, 306 + end: { line: 60, column: 37 }, 307 + }, 308 + }, 309 + )) != null 310 + ? stack1 311 + : '') + 312 + ': ' + 313 + ((stack1 = lookupProperty(helpers, 'transformServiceName').call( 314 + alias1, 315 + lookupProperty(depth0, 'name'), 316 + { 317 + name: 'transformServiceName', 318 + hash: {}, 319 + data: data, 320 + loc: { 321 + start: { line: 60, column: 39 }, 322 + end: { line: 60, column: 70 }, 323 + }, 324 + }, 325 + )) != null 326 + ? stack1 327 + : '') + 328 + ';\n' 329 + ); 330 + }, 331 + 14: function (container, depth0, helpers, partials, data) { 332 + var stack1, 333 + alias1 = depth0 != null ? depth0 : container.nullContext || {}, 334 + lookupProperty = 335 + container.lookupProperty || 336 + function (parent, propertyName) { 337 + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { 338 + return parent[propertyName]; 339 + } 340 + return undefined; 341 + }; 342 + 343 + return ( 344 + ' this.' + 345 + ((stack1 = lookupProperty(helpers, 'camelCase').call( 346 + alias1, 347 + lookupProperty(depth0, 'name'), 348 + { 349 + name: 'camelCase', 350 + hash: {}, 351 + data: data, 352 + loc: { 353 + start: { line: 83, column: 7 }, 354 + end: { line: 83, column: 27 }, 355 + }, 356 + }, 357 + )) != null 358 + ? stack1 359 + : '') + 360 + ' = new ' + 361 + ((stack1 = lookupProperty(helpers, 'transformServiceName').call( 362 + alias1, 363 + lookupProperty(depth0, 'name'), 364 + { 365 + name: 'transformServiceName', 366 + hash: {}, 367 + data: data, 368 + loc: { 369 + start: { line: 83, column: 34 }, 370 + end: { line: 83, column: 65 }, 371 + }, 372 + }, 373 + )) != null 374 + ? stack1 375 + : '') + 376 + '(this.request);\n' 377 + ); 378 + }, 379 + compiler: [8, '>= 4.3.0'], 380 + main: function (container, depth0, helpers, partials, data) { 381 + var stack1, 382 + alias1 = depth0 != null ? depth0 : container.nullContext || {}, 383 + lookupProperty = 384 + container.lookupProperty || 385 + function (parent, propertyName) { 386 + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { 387 + return parent[propertyName]; 388 + } 389 + return undefined; 390 + }; 391 + 392 + return ( 393 + ((stack1 = lookupProperty(helpers, 'equals').call( 394 + alias1, 395 + lookupProperty( 396 + lookupProperty( 397 + lookupProperty(lookupProperty(data, 'root'), '$config'), 398 + 'client', 399 + ), 400 + 'name', 401 + ), 402 + 'legacy/angular', 403 + { 404 + name: 'equals', 405 + hash: {}, 406 + fn: container.program(1, data, 0), 407 + inverse: container.program(3, data, 0), 408 + data: data, 409 + loc: { start: { line: 1, column: 0 }, end: { line: 15, column: 11 } }, 410 + }, 411 + )) != null 412 + ? stack1 413 + : '') + 414 + '\n' + 415 + ((stack1 = lookupProperty(helpers, 'if').call( 416 + alias1, 417 + lookupProperty(depth0, 'services'), 418 + { 419 + name: 'if', 420 + hash: {}, 421 + fn: container.program(5, data, 0), 422 + inverse: container.noop, 423 + data: data, 424 + loc: { start: { line: 17, column: 0 }, end: { line: 21, column: 7 } }, 425 + }, 426 + )) != null 427 + ? stack1 428 + : '') + 429 + '\n' + 430 + ((stack1 = lookupProperty(helpers, 'equals').call( 431 + alias1, 432 + lookupProperty( 433 + lookupProperty( 434 + lookupProperty(lookupProperty(data, 'root'), '$config'), 435 + 'client', 436 + ), 437 + 'name', 438 + ), 439 + 'legacy/angular', 440 + { 441 + name: 'equals', 442 + hash: {}, 443 + fn: container.program(8, data, 0), 444 + inverse: container.program(11, data, 0), 445 + data: data, 446 + loc: { 447 + start: { line: 23, column: 0 }, 448 + end: { line: 87, column: 11 }, 449 + }, 450 + }, 451 + )) != null 452 + ? stack1 453 + : '') 454 + ); 455 + }, 456 + useData: true, 457 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/ApiError.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return "import type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\n\nexport class ApiError extends Error {\n public readonly url: string;\n public readonly status: number;\n public readonly statusText: string;\n public readonly body: unknown;\n public readonly request: ApiRequestOptions;\n\n constructor(request: ApiRequestOptions, response: ApiResult, message: string) {\n super(message);\n\n this.name = 'ApiError';\n this.url = response.url;\n this.status = response.status;\n this.statusText = response.statusText;\n this.body = response.body;\n this.request = request;\n }\n}"; 5 + }, 6 + useData: true, 7 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/ApiRequestOptions.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return "export type ApiRequestOptions<T = unknown> = {\n readonly body?: any;\n readonly cookies?: Record<string, unknown>;\n readonly errors?: Record<number | string, string>;\n readonly formData?: Record<string, unknown> | any[] | Blob | File;\n readonly headers?: Record<string, unknown>;\n readonly mediaType?: string;\n readonly method:\n | 'DELETE'\n | 'GET'\n | 'HEAD'\n | 'OPTIONS'\n | 'PATCH'\n | 'POST'\n | 'PUT';\n readonly path?: Record<string, unknown>;\n readonly query?: Record<string, unknown>;\n readonly responseHeader?: string;\n readonly responseTransformer?: (data: unknown) => Promise<T>;\n readonly url: string;\n};"; 5 + }, 6 + useData: true, 7 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/ApiResult.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return 'export type ApiResult<TData = any> = {\n readonly body: TData;\n readonly ok: boolean;\n readonly status: number;\n readonly statusText: string;\n readonly url: string;\n};'; 5 + }, 6 + useData: true, 7 + };
+109
packages/openapi-ts/src/legacy/handlebars/compiled/core/BaseHttpRequest.js
···
··· 1 + export default { 2 + 1: function (container, depth0, helpers, partials, data) { 3 + return "import type { HttpClient } from '@angular/common/http';\nimport type { Observable } from 'rxjs';\n\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { OpenAPIConfig } from './OpenAPI';\n"; 4 + }, 5 + 3: function (container, depth0, helpers, partials, data) { 6 + return "import type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { CancelablePromise } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\n"; 7 + }, 8 + 5: function (container, depth0, helpers, partials, data) { 9 + return ' constructor(\n public readonly config: OpenAPIConfig,\n public readonly http: HttpClient,\n ) {}\n'; 10 + }, 11 + 7: function (container, depth0, helpers, partials, data) { 12 + return ' constructor(public readonly config: OpenAPIConfig) {}\n'; 13 + }, 14 + 9: function (container, depth0, helpers, partials, data) { 15 + return ' public abstract request<T>(options: ApiRequestOptions<T>): Observable<T>;\n'; 16 + }, 17 + 11: function (container, depth0, helpers, partials, data) { 18 + return ' public abstract request<T>(options: ApiRequestOptions<T>): CancelablePromise<T>;\n'; 19 + }, 20 + compiler: [8, '>= 4.3.0'], 21 + main: function (container, depth0, helpers, partials, data) { 22 + var stack1, 23 + alias1 = depth0 != null ? depth0 : container.nullContext || {}, 24 + lookupProperty = 25 + container.lookupProperty || 26 + function (parent, propertyName) { 27 + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { 28 + return parent[propertyName]; 29 + } 30 + return undefined; 31 + }; 32 + 33 + return ( 34 + ((stack1 = lookupProperty(helpers, 'equals').call( 35 + alias1, 36 + lookupProperty( 37 + lookupProperty( 38 + lookupProperty(lookupProperty(data, 'root'), '$config'), 39 + 'client', 40 + ), 41 + 'name', 42 + ), 43 + 'legacy/angular', 44 + { 45 + name: 'equals', 46 + hash: {}, 47 + fn: container.program(1, data, 0), 48 + inverse: container.program(3, data, 0), 49 + data: data, 50 + loc: { start: { line: 1, column: 0 }, end: { line: 11, column: 11 } }, 51 + }, 52 + )) != null 53 + ? stack1 54 + : '') + 55 + '\nexport abstract class BaseHttpRequest {\n\n' + 56 + ((stack1 = lookupProperty(helpers, 'equals').call( 57 + alias1, 58 + lookupProperty( 59 + lookupProperty( 60 + lookupProperty(lookupProperty(data, 'root'), '$config'), 61 + 'client', 62 + ), 63 + 'name', 64 + ), 65 + 'legacy/angular', 66 + { 67 + name: 'equals', 68 + hash: {}, 69 + fn: container.program(5, data, 0), 70 + inverse: container.program(7, data, 0), 71 + data: data, 72 + loc: { 73 + start: { line: 15, column: 1 }, 74 + end: { line: 22, column: 12 }, 75 + }, 76 + }, 77 + )) != null 78 + ? stack1 79 + : '') + 80 + '\n' + 81 + ((stack1 = lookupProperty(helpers, 'equals').call( 82 + alias1, 83 + lookupProperty( 84 + lookupProperty( 85 + lookupProperty(lookupProperty(data, 'root'), '$config'), 86 + 'client', 87 + ), 88 + 'name', 89 + ), 90 + 'legacy/angular', 91 + { 92 + name: 'equals', 93 + hash: {}, 94 + fn: container.program(9, data, 0), 95 + inverse: container.program(11, data, 0), 96 + data: data, 97 + loc: { 98 + start: { line: 24, column: 1 }, 99 + end: { line: 28, column: 12 }, 100 + }, 101 + }, 102 + )) != null 103 + ? stack1 104 + : '') + 105 + '}' 106 + ); 107 + }, 108 + useData: true, 109 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/CancelablePromise.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return "export class CancelError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'CancelError';\n }\n\n public get isCancelled(): boolean {\n return true;\n }\n}\n\nexport interface OnCancel {\n readonly isResolved: boolean;\n readonly isRejected: boolean;\n readonly isCancelled: boolean;\n\n (cancelHandler: () => void): void;\n}\n\nexport class CancelablePromise<T> implements Promise<T> {\n private _isResolved: boolean;\n private _isRejected: boolean;\n private _isCancelled: boolean;\n readonly cancelHandlers: (() => void)[];\n readonly promise: Promise<T>;\n private _resolve?: (value: T | PromiseLike<T>) => void;\n private _reject?: (reason?: unknown) => void;\n\n constructor(\n executor: (\n resolve: (value: T | PromiseLike<T>) => void,\n reject: (reason?: unknown) => void,\n onCancel: OnCancel\n ) => void\n ) {\n this._isResolved = false;\n this._isRejected = false;\n this._isCancelled = false;\n this.cancelHandlers = [];\n this.promise = new Promise<T>((resolve, reject) => {\n this._resolve = resolve;\n this._reject = reject;\n\n const onResolve = (value: T | PromiseLike<T>): void => {\n if (this._isResolved || this._isRejected || this._isCancelled) {\n return;\n }\n this._isResolved = true;\n if (this._resolve) this._resolve(value);\n };\n\n const onReject = (reason?: unknown): void => {\n if (this._isResolved || this._isRejected || this._isCancelled) {\n return;\n }\n this._isRejected = true;\n if (this._reject) this._reject(reason);\n };\n\n const onCancel = (cancelHandler: () => void): void => {\n if (this._isResolved || this._isRejected || this._isCancelled) {\n return;\n }\n this.cancelHandlers.push(cancelHandler);\n };\n\n Object.defineProperty(onCancel, 'isResolved', {\n get: (): boolean => this._isResolved,\n });\n\n Object.defineProperty(onCancel, 'isRejected', {\n get: (): boolean => this._isRejected,\n });\n\n Object.defineProperty(onCancel, 'isCancelled', {\n get: (): boolean => this._isCancelled,\n });\n\n return executor(onResolve, onReject, onCancel as OnCancel);\n });\n }\n\n get [Symbol.toStringTag]() {\n return \"Cancellable Promise\";\n }\n\n public then<TResult1 = T, TResult2 = never>(\n onFulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null,\n onRejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null\n ): Promise<TResult1 | TResult2> {\n return this.promise.then(onFulfilled, onRejected);\n }\n\n public catch<TResult = never>(\n onRejected?: ((reason: unknown) => TResult | PromiseLike<TResult>) | null\n ): Promise<T | TResult> {\n return this.promise.catch(onRejected);\n }\n\n public finally(onFinally?: (() => void) | null): Promise<T> {\n return this.promise.finally(onFinally);\n }\n\n public cancel(): void {\n if (this._isResolved || this._isRejected || this._isCancelled) {\n return;\n }\n this._isCancelled = true;\n if (this.cancelHandlers.length) {\n try {\n for (const cancelHandler of this.cancelHandlers) {\n cancelHandler();\n }\n } catch (error) {\n console.warn('Cancellation threw an error', error);\n return;\n }\n }\n this.cancelHandlers.length = 0;\n if (this._reject) this._reject(new CancelError('Request aborted'));\n }\n\n public get isCancelled(): boolean {\n return this._isCancelled;\n }\n}"; 5 + }, 6 + useData: true, 7 + };
+147
packages/openapi-ts/src/legacy/handlebars/compiled/core/HttpRequest.js
···
··· 1 + export default { 2 + 1: function (container, depth0, helpers, partials, data) { 3 + return "import { Inject, Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport type { Observable } from 'rxjs';\n\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport { BaseHttpRequest } from './BaseHttpRequest';\nimport type { OpenAPIConfig } from './OpenAPI';\nimport { OpenAPI } from './OpenAPI';\nimport { request as __request } from './request';\n"; 4 + }, 5 + 3: function (container, depth0, helpers, partials, data) { 6 + return "import type { ApiRequestOptions } from './ApiRequestOptions';\nimport { BaseHttpRequest } from './BaseHttpRequest';\nimport type { CancelablePromise } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\nimport { request as __request } from './request';\n"; 7 + }, 8 + 5: function (container, depth0, helpers, partials, data) { 9 + return '@Injectable()\n'; 10 + }, 11 + 7: function (container, depth0, helpers, partials, data) { 12 + return ' constructor(\n @Inject(OpenAPI)\n config: OpenAPIConfig,\n http: HttpClient,\n ) {\n super(config, http);\n }\n'; 13 + }, 14 + 9: function (container, depth0, helpers, partials, data) { 15 + return ' constructor(config: OpenAPIConfig) {\n super(config);\n }\n'; 16 + }, 17 + 11: function (container, depth0, helpers, partials, data) { 18 + return ' /**\n * Request method\n * @param options The request options from the service\n * @returns Observable<T>\n * @throws ApiError\n */\n public override request<T>(options: ApiRequestOptions<T>): Observable<T> {\n return __request(this.config, this.http, options);\n }\n'; 19 + }, 20 + 13: function (container, depth0, helpers, partials, data) { 21 + return ' /**\n * Request method\n * @param options The request options from the service\n * @returns CancelablePromise<T>\n * @throws ApiError\n */\n public override request<T>(options: ApiRequestOptions<T>): CancelablePromise<T> {\n return __request(this.config, options);\n }\n'; 22 + }, 23 + compiler: [8, '>= 4.3.0'], 24 + main: function (container, depth0, helpers, partials, data) { 25 + var stack1, 26 + alias1 = depth0 != null ? depth0 : container.nullContext || {}, 27 + lookupProperty = 28 + container.lookupProperty || 29 + function (parent, propertyName) { 30 + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { 31 + return parent[propertyName]; 32 + } 33 + return undefined; 34 + }; 35 + 36 + return ( 37 + ((stack1 = lookupProperty(helpers, 'equals').call( 38 + alias1, 39 + lookupProperty( 40 + lookupProperty( 41 + lookupProperty(lookupProperty(data, 'root'), '$config'), 42 + 'client', 43 + ), 44 + 'name', 45 + ), 46 + 'legacy/angular', 47 + { 48 + name: 'equals', 49 + hash: {}, 50 + fn: container.program(1, data, 0), 51 + inverse: container.program(3, data, 0), 52 + data: data, 53 + loc: { start: { line: 1, column: 0 }, end: { line: 17, column: 11 } }, 54 + }, 55 + )) != null 56 + ? stack1 57 + : '') + 58 + '\n' + 59 + ((stack1 = lookupProperty(helpers, 'equals').call( 60 + alias1, 61 + lookupProperty( 62 + lookupProperty( 63 + lookupProperty(lookupProperty(data, 'root'), '$config'), 64 + 'client', 65 + ), 66 + 'name', 67 + ), 68 + 'legacy/angular', 69 + { 70 + name: 'equals', 71 + hash: {}, 72 + fn: container.program(5, data, 0), 73 + inverse: container.noop, 74 + data: data, 75 + loc: { 76 + start: { line: 19, column: 0 }, 77 + end: { line: 21, column: 11 }, 78 + }, 79 + }, 80 + )) != null 81 + ? stack1 82 + : '') + 83 + 'export class ' + 84 + ((stack1 = container.lambda( 85 + container.strict(depth0, 'httpRequest', { 86 + start: { line: 22, column: 15 }, 87 + end: { line: 22, column: 26 }, 88 + }), 89 + depth0, 90 + )) != null 91 + ? stack1 92 + : '') + 93 + ' extends BaseHttpRequest {\n\n' + 94 + ((stack1 = lookupProperty(helpers, 'equals').call( 95 + alias1, 96 + lookupProperty( 97 + lookupProperty( 98 + lookupProperty(lookupProperty(data, 'root'), '$config'), 99 + 'client', 100 + ), 101 + 'name', 102 + ), 103 + 'legacy/angular', 104 + { 105 + name: 'equals', 106 + hash: {}, 107 + fn: container.program(7, data, 0), 108 + inverse: container.program(9, data, 0), 109 + data: data, 110 + loc: { 111 + start: { line: 24, column: 1 }, 112 + end: { line: 36, column: 12 }, 113 + }, 114 + }, 115 + )) != null 116 + ? stack1 117 + : '') + 118 + '\n' + 119 + ((stack1 = lookupProperty(helpers, 'equals').call( 120 + alias1, 121 + lookupProperty( 122 + lookupProperty( 123 + lookupProperty(lookupProperty(data, 'root'), '$config'), 124 + 'client', 125 + ), 126 + 'name', 127 + ), 128 + 'legacy/angular', 129 + { 130 + name: 'equals', 131 + hash: {}, 132 + fn: container.program(11, data, 0), 133 + inverse: container.program(13, data, 0), 134 + data: data, 135 + loc: { 136 + start: { line: 38, column: 1 }, 137 + end: { line: 58, column: 12 }, 138 + }, 139 + }, 140 + )) != null 141 + ? stack1 142 + : '') + 143 + '}' 144 + ); 145 + }, 146 + useData: true, 147 + };
+275
packages/openapi-ts/src/legacy/handlebars/compiled/core/OpenAPI.js
···
··· 1 + export default { 2 + 1: function (container, depth0, helpers, partials, data) { 3 + return "import type { HttpResponse } from '@angular/common/http';\n"; 4 + }, 5 + 3: function (container, depth0, helpers, partials, data) { 6 + return "import type { AxiosRequestConfig, AxiosResponse } from 'axios';\n"; 7 + }, 8 + 5: function (container, depth0, helpers, partials, data) { 9 + return "import type { RequestInit, Response } from 'node-fetch';\n"; 10 + }, 11 + 7: function (container, depth0, helpers, partials, data) { 12 + return ' response: Interceptors<HttpResponse<any>>;\n'; 13 + }, 14 + 9: function (container, depth0, helpers, partials, data) { 15 + return ' request: Interceptors<AxiosRequestConfig>;\n response: Interceptors<AxiosResponse>;\n'; 16 + }, 17 + 11: function (container, depth0, helpers, partials, data) { 18 + return ' request: Interceptors<RequestInit>;\n response: Interceptors<Response>;\n'; 19 + }, 20 + 13: function (container, depth0, helpers, partials, data) { 21 + return ' request: Interceptors<XMLHttpRequest>;\n response: Interceptors<XMLHttpRequest>;\n'; 22 + }, 23 + 15: function (container, depth0, helpers, partials, data) { 24 + return ' request: new Interceptors(),\n'; 25 + }, 26 + compiler: [8, '>= 4.3.0'], 27 + main: function (container, depth0, helpers, partials, data) { 28 + var stack1, 29 + alias1 = depth0 != null ? depth0 : container.nullContext || {}, 30 + alias2 = container.strict, 31 + alias3 = container.lambda, 32 + lookupProperty = 33 + container.lookupProperty || 34 + function (parent, propertyName) { 35 + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { 36 + return parent[propertyName]; 37 + } 38 + return undefined; 39 + }; 40 + 41 + return ( 42 + ((stack1 = lookupProperty(helpers, 'equals').call( 43 + alias1, 44 + lookupProperty( 45 + lookupProperty( 46 + lookupProperty(lookupProperty(data, 'root'), '$config'), 47 + 'client', 48 + ), 49 + 'name', 50 + ), 51 + 'legacy/angular', 52 + { 53 + name: 'equals', 54 + hash: {}, 55 + fn: container.program(1, data, 0), 56 + inverse: container.noop, 57 + data: data, 58 + loc: { start: { line: 1, column: 0 }, end: { line: 3, column: 11 } }, 59 + }, 60 + )) != null 61 + ? stack1 62 + : '') + 63 + ((stack1 = lookupProperty(helpers, 'equals').call( 64 + alias1, 65 + lookupProperty( 66 + lookupProperty( 67 + lookupProperty(lookupProperty(data, 'root'), '$config'), 68 + 'client', 69 + ), 70 + 'name', 71 + ), 72 + 'legacy/axios', 73 + { 74 + name: 'equals', 75 + hash: {}, 76 + fn: container.program(3, data, 0), 77 + inverse: container.noop, 78 + data: data, 79 + loc: { start: { line: 4, column: 0 }, end: { line: 6, column: 11 } }, 80 + }, 81 + )) != null 82 + ? stack1 83 + : '') + 84 + ((stack1 = lookupProperty(helpers, 'equals').call( 85 + alias1, 86 + lookupProperty( 87 + lookupProperty( 88 + lookupProperty(lookupProperty(data, 'root'), '$config'), 89 + 'client', 90 + ), 91 + 'name', 92 + ), 93 + 'legacy/node', 94 + { 95 + name: 'equals', 96 + hash: {}, 97 + fn: container.program(5, data, 0), 98 + inverse: container.noop, 99 + data: data, 100 + loc: { start: { line: 7, column: 0 }, end: { line: 9, column: 11 } }, 101 + }, 102 + )) != null 103 + ? stack1 104 + : '') + 105 + "import type { ApiRequestOptions } from './ApiRequestOptions';\n\ntype Headers = Record<string, string>;\ntype Middleware<T> = (value: T) => T | Promise<T>;\ntype Resolver<T> = (options: ApiRequestOptions<T>) => Promise<T>;\n\nexport class Interceptors<T> {\n _fns: Middleware<T>[];\n\n constructor() {\n this._fns = [];\n }\n\n eject(fn: Middleware<T>): void {\n const index = this._fns.indexOf(fn);\n if (index !== -1) {\n this._fns = [...this._fns.slice(0, index), ...this._fns.slice(index + 1)];\n }\n }\n\n use(fn: Middleware<T>): void {\n this._fns = [...this._fns, fn];\n }\n}\n\nexport type OpenAPIConfig = {\n BASE: string;\n CREDENTIALS: 'include' | 'omit' | 'same-origin';\n ENCODE_PATH?: ((path: string) => string) | undefined;\n HEADERS?: Headers | Resolver<Headers> | undefined;\n PASSWORD?: string | Resolver<string> | undefined;\n TOKEN?: string | Resolver<string> | undefined;\n USERNAME?: string | Resolver<string> | undefined;\n VERSION: string;\n WITH_CREDENTIALS: boolean;\n interceptors: {\n" + 106 + ((stack1 = lookupProperty(helpers, 'equals').call( 107 + alias1, 108 + lookupProperty( 109 + lookupProperty( 110 + lookupProperty(lookupProperty(data, 'root'), '$config'), 111 + 'client', 112 + ), 113 + 'name', 114 + ), 115 + 'legacy/angular', 116 + { 117 + name: 'equals', 118 + hash: {}, 119 + fn: container.program(7, data, 0), 120 + inverse: container.noop, 121 + data: data, 122 + loc: { 123 + start: { line: 46, column: 2 }, 124 + end: { line: 48, column: 13 }, 125 + }, 126 + }, 127 + )) != null 128 + ? stack1 129 + : '') + 130 + ((stack1 = lookupProperty(helpers, 'equals').call( 131 + alias1, 132 + lookupProperty( 133 + lookupProperty( 134 + lookupProperty(lookupProperty(data, 'root'), '$config'), 135 + 'client', 136 + ), 137 + 'name', 138 + ), 139 + 'legacy/axios', 140 + { 141 + name: 'equals', 142 + hash: {}, 143 + fn: container.program(9, data, 0), 144 + inverse: container.noop, 145 + data: data, 146 + loc: { 147 + start: { line: 49, column: 2 }, 148 + end: { line: 52, column: 13 }, 149 + }, 150 + }, 151 + )) != null 152 + ? stack1 153 + : '') + 154 + ((stack1 = lookupProperty(helpers, 'equals').call( 155 + alias1, 156 + lookupProperty( 157 + lookupProperty( 158 + lookupProperty(lookupProperty(data, 'root'), '$config'), 159 + 'client', 160 + ), 161 + 'name', 162 + ), 163 + 'legacy/fetch', 164 + { 165 + name: 'equals', 166 + hash: {}, 167 + fn: container.program(11, data, 0), 168 + inverse: container.noop, 169 + data: data, 170 + loc: { 171 + start: { line: 53, column: 2 }, 172 + end: { line: 56, column: 13 }, 173 + }, 174 + }, 175 + )) != null 176 + ? stack1 177 + : '') + 178 + ((stack1 = lookupProperty(helpers, 'equals').call( 179 + alias1, 180 + lookupProperty( 181 + lookupProperty( 182 + lookupProperty(lookupProperty(data, 'root'), '$config'), 183 + 'client', 184 + ), 185 + 'name', 186 + ), 187 + 'legacy/node', 188 + { 189 + name: 'equals', 190 + hash: {}, 191 + fn: container.program(11, data, 0), 192 + inverse: container.noop, 193 + data: data, 194 + loc: { 195 + start: { line: 57, column: 2 }, 196 + end: { line: 60, column: 13 }, 197 + }, 198 + }, 199 + )) != null 200 + ? stack1 201 + : '') + 202 + ((stack1 = lookupProperty(helpers, 'equals').call( 203 + alias1, 204 + lookupProperty( 205 + lookupProperty( 206 + lookupProperty(lookupProperty(data, 'root'), '$config'), 207 + 'client', 208 + ), 209 + 'name', 210 + ), 211 + 'legacy/xhr', 212 + { 213 + name: 'equals', 214 + hash: {}, 215 + fn: container.program(13, data, 0), 216 + inverse: container.noop, 217 + data: data, 218 + loc: { 219 + start: { line: 61, column: 2 }, 220 + end: { line: 64, column: 13 }, 221 + }, 222 + }, 223 + )) != null 224 + ? stack1 225 + : '') + 226 + " };\n};\n\nexport const OpenAPI: OpenAPIConfig = {\n BASE: '" + 227 + ((stack1 = alias3( 228 + alias2(depth0, 'server', { 229 + start: { line: 69, column: 11 }, 230 + end: { line: 69, column: 17 }, 231 + }), 232 + depth0, 233 + )) != null 234 + ? stack1 235 + : '') + 236 + "',\n CREDENTIALS: 'include',\n ENCODE_PATH: undefined,\n HEADERS: undefined,\n PASSWORD: undefined,\n TOKEN: undefined,\n USERNAME: undefined,\n VERSION: '" + 237 + ((stack1 = alias3( 238 + alias2(depth0, 'version', { 239 + start: { line: 76, column: 14 }, 240 + end: { line: 76, column: 21 }, 241 + }), 242 + depth0, 243 + )) != null 244 + ? stack1 245 + : '') + 246 + "',\n WITH_CREDENTIALS: false,\n interceptors: {\n" + 247 + ((stack1 = lookupProperty(helpers, 'notEquals').call( 248 + alias1, 249 + lookupProperty( 250 + lookupProperty( 251 + lookupProperty(lookupProperty(data, 'root'), '$config'), 252 + 'client', 253 + ), 254 + 'name', 255 + ), 256 + 'legacy/angular', 257 + { 258 + name: 'notEquals', 259 + hash: {}, 260 + fn: container.program(15, data, 0), 261 + inverse: container.noop, 262 + data: data, 263 + loc: { 264 + start: { line: 79, column: 2 }, 265 + end: { line: 81, column: 16 }, 266 + }, 267 + }, 268 + )) != null 269 + ? stack1 270 + : '') + 271 + ' response: new Interceptors(),\n },\n};' 272 + ); 273 + }, 274 + useData: true, 275 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/angular/getHeaders.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return "export const getHeaders = <T>(config: OpenAPIConfig, options: ApiRequestOptions<T>): Observable<HttpHeaders> => {\n return forkJoin({\n // @ts-ignore\n token: resolve(options, config.TOKEN),\n // @ts-ignore\n username: resolve(options, config.USERNAME),\n // @ts-ignore\n password: resolve(options, config.PASSWORD),\n // @ts-ignore\n additionalHeaders: resolve(options, config.HEADERS),\n }).pipe(\n map(({ token, username, password, additionalHeaders }) => {\n const headers = Object.entries({\n Accept: 'application/json',\n ...additionalHeaders,\n ...options.headers,\n })\n .filter(([, value]) => value !== undefined && value !== null)\n .reduce((headers, [key, value]) => ({\n ...headers,\n [key]: String(value),\n }), {} as Record<string, string>);\n\n if (isStringWithValue(token)) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n if (isStringWithValue(username) && isStringWithValue(password)) {\n const credentials = base64(`${username}:${password}`);\n headers['Authorization'] = `Basic ${credentials}`;\n }\n\n if (options.body !== undefined) {\n if (options.mediaType) {\n headers['Content-Type'] = options.mediaType;\n } else if (isBlob(options.body)) {\n headers['Content-Type'] = options.body.type || 'application/octet-stream';\n } else if (isString(options.body)) {\n headers['Content-Type'] = 'text/plain';\n } else if (!isFormData(options.body)) {\n headers['Content-Type'] = 'application/json';\n }\n }\n\n return new HttpHeaders(headers);\n }),\n );\n};"; 5 + }, 6 + useData: true, 7 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/angular/getRequestBody.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return "export const getRequestBody = (options: ApiRequestOptions): unknown => {\n if (options.body) {\n if (options.mediaType?.includes('application/json') || options.mediaType?.includes('+json')) {\n return JSON.stringify(options.body);\n } else if (isString(options.body) || isBlob(options.body) || isFormData(options.body)) {\n return options.body;\n } else {\n return JSON.stringify(options.body);\n }\n }\n return undefined;\n};"; 5 + }, 6 + useData: true, 7 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/angular/getResponseBody.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return 'export const getResponseBody = <T>(response: HttpResponse<T>): T | undefined => {\n if (response.status !== 204 && response.body !== null) {\n return response.body;\n }\n return undefined;\n};'; 5 + }, 6 + useData: true, 7 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/angular/getResponseHeader.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return 'export const getResponseHeader = <T>(response: HttpResponse<T>, responseHeader?: string): string | undefined => {\n if (responseHeader) {\n const value = response.headers.get(responseHeader);\n if (isString(value)) {\n return value;\n }\n }\n return undefined;\n};'; 5 + }, 6 + useData: true, 7 + };
+230
packages/openapi-ts/src/legacy/handlebars/compiled/core/angular/request.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + var stack1, 5 + lookupProperty = 6 + container.lookupProperty || 7 + function (parent, propertyName) { 8 + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { 9 + return parent[propertyName]; 10 + } 11 + return undefined; 12 + }; 13 + 14 + return ( 15 + "import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport type { HttpResponse, HttpErrorResponse } from '@angular/common/http';\nimport { forkJoin, of, throwError } from 'rxjs';\nimport { catchError, map, switchMap } from 'rxjs/operators';\nimport type { Observable } from 'rxjs';\n\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport type { OpenAPIConfig } from './OpenAPI';\n\n" + 16 + ((stack1 = container.invokePartial( 17 + lookupProperty(partials, 'functions/isString'), 18 + depth0, 19 + { 20 + name: 'functions/isString', 21 + data: data, 22 + helpers: helpers, 23 + partials: partials, 24 + decorators: container.decorators, 25 + }, 26 + )) != null 27 + ? stack1 28 + : '') + 29 + '\n\n' + 30 + ((stack1 = container.invokePartial( 31 + lookupProperty(partials, 'functions/isStringWithValue'), 32 + depth0, 33 + { 34 + name: 'functions/isStringWithValue', 35 + data: data, 36 + helpers: helpers, 37 + partials: partials, 38 + decorators: container.decorators, 39 + }, 40 + )) != null 41 + ? stack1 42 + : '') + 43 + '\n\n' + 44 + ((stack1 = container.invokePartial( 45 + lookupProperty(partials, 'functions/isBlob'), 46 + depth0, 47 + { 48 + name: 'functions/isBlob', 49 + data: data, 50 + helpers: helpers, 51 + partials: partials, 52 + decorators: container.decorators, 53 + }, 54 + )) != null 55 + ? stack1 56 + : '') + 57 + '\n\n' + 58 + ((stack1 = container.invokePartial( 59 + lookupProperty(partials, 'functions/isFormData'), 60 + depth0, 61 + { 62 + name: 'functions/isFormData', 63 + data: data, 64 + helpers: helpers, 65 + partials: partials, 66 + decorators: container.decorators, 67 + }, 68 + )) != null 69 + ? stack1 70 + : '') + 71 + '\n\n' + 72 + ((stack1 = container.invokePartial( 73 + lookupProperty(partials, 'functions/base64'), 74 + depth0, 75 + { 76 + name: 'functions/base64', 77 + data: data, 78 + helpers: helpers, 79 + partials: partials, 80 + decorators: container.decorators, 81 + }, 82 + )) != null 83 + ? stack1 84 + : '') + 85 + '\n\n' + 86 + ((stack1 = container.invokePartial( 87 + lookupProperty(partials, 'functions/getQueryString'), 88 + depth0, 89 + { 90 + name: 'functions/getQueryString', 91 + data: data, 92 + helpers: helpers, 93 + partials: partials, 94 + decorators: container.decorators, 95 + }, 96 + )) != null 97 + ? stack1 98 + : '') + 99 + '\n\n' + 100 + ((stack1 = container.invokePartial( 101 + lookupProperty(partials, 'functions/getUrl'), 102 + depth0, 103 + { 104 + name: 'functions/getUrl', 105 + data: data, 106 + helpers: helpers, 107 + partials: partials, 108 + decorators: container.decorators, 109 + }, 110 + )) != null 111 + ? stack1 112 + : '') + 113 + '\n\n' + 114 + ((stack1 = container.invokePartial( 115 + lookupProperty(partials, 'functions/getFormData'), 116 + depth0, 117 + { 118 + name: 'functions/getFormData', 119 + data: data, 120 + helpers: helpers, 121 + partials: partials, 122 + decorators: container.decorators, 123 + }, 124 + )) != null 125 + ? stack1 126 + : '') + 127 + '\n\n' + 128 + ((stack1 = container.invokePartial( 129 + lookupProperty(partials, 'functions/resolve'), 130 + depth0, 131 + { 132 + name: 'functions/resolve', 133 + data: data, 134 + helpers: helpers, 135 + partials: partials, 136 + decorators: container.decorators, 137 + }, 138 + )) != null 139 + ? stack1 140 + : '') + 141 + '\n\n' + 142 + ((stack1 = container.invokePartial( 143 + lookupProperty(partials, 'angular/getHeaders'), 144 + depth0, 145 + { 146 + name: 'angular/getHeaders', 147 + data: data, 148 + helpers: helpers, 149 + partials: partials, 150 + decorators: container.decorators, 151 + }, 152 + )) != null 153 + ? stack1 154 + : '') + 155 + '\n\n' + 156 + ((stack1 = container.invokePartial( 157 + lookupProperty(partials, 'angular/getRequestBody'), 158 + depth0, 159 + { 160 + name: 'angular/getRequestBody', 161 + data: data, 162 + helpers: helpers, 163 + partials: partials, 164 + decorators: container.decorators, 165 + }, 166 + )) != null 167 + ? stack1 168 + : '') + 169 + '\n\n' + 170 + ((stack1 = container.invokePartial( 171 + lookupProperty(partials, 'angular/sendRequest'), 172 + depth0, 173 + { 174 + name: 'angular/sendRequest', 175 + data: data, 176 + helpers: helpers, 177 + partials: partials, 178 + decorators: container.decorators, 179 + }, 180 + )) != null 181 + ? stack1 182 + : '') + 183 + '\n\n' + 184 + ((stack1 = container.invokePartial( 185 + lookupProperty(partials, 'angular/getResponseHeader'), 186 + depth0, 187 + { 188 + name: 'angular/getResponseHeader', 189 + data: data, 190 + helpers: helpers, 191 + partials: partials, 192 + decorators: container.decorators, 193 + }, 194 + )) != null 195 + ? stack1 196 + : '') + 197 + '\n\n' + 198 + ((stack1 = container.invokePartial( 199 + lookupProperty(partials, 'angular/getResponseBody'), 200 + depth0, 201 + { 202 + name: 'angular/getResponseBody', 203 + data: data, 204 + helpers: helpers, 205 + partials: partials, 206 + decorators: container.decorators, 207 + }, 208 + )) != null 209 + ? stack1 210 + : '') + 211 + '\n\n' + 212 + ((stack1 = container.invokePartial( 213 + lookupProperty(partials, 'functions/catchErrorCodes'), 214 + depth0, 215 + { 216 + name: 'functions/catchErrorCodes', 217 + data: data, 218 + helpers: helpers, 219 + partials: partials, 220 + decorators: container.decorators, 221 + }, 222 + )) != null 223 + ? stack1 224 + : '') + 225 + '\n\n/**\n * Request method\n * @param config The OpenAPI configuration object\n * @param http The Angular HTTP client\n * @param options The request options from the service\n * @returns Observable<T>\n * @throws ApiError\n */\nexport const request = <T>(config: OpenAPIConfig, http: HttpClient, options: ApiRequestOptions<T>): Observable<T> => {\n const url = getUrl(config, options);\n const formData = getFormData(options);\n const body = getRequestBody(options);\n\n return getHeaders(config, options).pipe(\n switchMap(headers => {\n return sendRequest<T>(config, options, http, url, body, formData, headers);\n }),\n switchMap(async response => {\n for (const fn of config.interceptors.response._fns) {\n response = await fn(response);\n }\n const responseBody = getResponseBody(response);\n const responseHeader = getResponseHeader(response, options.responseHeader);\n\n let transformedBody = responseBody;\n if (options.responseTransformer && response.ok) {\n transformedBody = await options.responseTransformer(responseBody)\n }\n\n return {\n url,\n ok: response.ok,\n status: response.status,\n statusText: response.statusText,\n body: responseHeader ?? transformedBody,\n } as ApiResult;\n }),\n catchError((error: HttpErrorResponse) => {\n if (!error.status) {\n return throwError(() => error);\n }\n return of({\n url,\n ok: error.ok,\n status: error.status,\n statusText: error.statusText,\n body: error.error ?? error.statusText,\n } as ApiResult);\n }),\n map(result => {\n catchErrorCodes(options, result);\n return result.body as T;\n }),\n catchError((error: ApiError) => {\n return throwError(() => error);\n }),\n );\n};' 226 + ); 227 + }, 228 + usePartial: true, 229 + useData: true, 230 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/angular/sendRequest.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return "export const sendRequest = <T>(\n config: OpenAPIConfig,\n options: ApiRequestOptions<T>,\n http: HttpClient,\n url: string,\n body: unknown,\n formData: FormData | undefined,\n headers: HttpHeaders\n): Observable<HttpResponse<T>> => {\n return http.request<T>(options.method, url, {\n headers,\n body: body ?? formData,\n withCredentials: config.WITH_CREDENTIALS,\n observe: 'response',\n });\n};"; 5 + }, 6 + useData: true, 7 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/axios/getHeaders.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return "export const getHeaders = async <T>(config: OpenAPIConfig, options: ApiRequestOptions<T>): Promise<Record<string, string>> => {\n const [token, username, password, additionalHeaders] = await Promise.all([\n // @ts-ignore\n resolve(options, config.TOKEN),\n // @ts-ignore\n resolve(options, config.USERNAME),\n // @ts-ignore\n resolve(options, config.PASSWORD),\n // @ts-ignore\n resolve(options, config.HEADERS),\n ]);\n\n const headers = Object.entries({\n Accept: 'application/json',\n ...additionalHeaders,\n ...options.headers,\n })\n .filter(([, value]) => value !== undefined && value !== null)\n .reduce((headers, [key, value]) => ({\n ...headers,\n [key]: String(value),\n }), {} as Record<string, string>);\n\n if (isStringWithValue(token)) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n if (isStringWithValue(username) && isStringWithValue(password)) {\n const credentials = base64(`${username}:${password}`);\n headers['Authorization'] = `Basic ${credentials}`;\n }\n\n if (options.body !== undefined) {\n if (options.mediaType) {\n headers['Content-Type'] = options.mediaType;\n } else if (isBlob(options.body)) {\n headers['Content-Type'] = options.body.type || 'application/octet-stream';\n } else if (isString(options.body)) {\n headers['Content-Type'] = 'text/plain';\n } else if (!isFormData(options.body)) {\n headers['Content-Type'] = 'application/json';\n }\n } else if (options.formData !== undefined) {\n if (options.mediaType) {\n headers['Content-Type'] = options.mediaType;\n }\n }\n\n return headers;\n};"; 5 + }, 6 + useData: true, 7 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/axios/getRequestBody.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return 'export const getRequestBody = (options: ApiRequestOptions): unknown => {\n if (options.body) {\n return options.body;\n }\n return undefined;\n};'; 5 + }, 6 + useData: true, 7 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/axios/getResponseBody.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return 'export const getResponseBody = (response: AxiosResponse<unknown>): unknown => {\n if (response.status !== 204) {\n return response.data;\n }\n return undefined;\n};'; 5 + }, 6 + useData: true, 7 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/axios/getResponseHeader.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return 'export const getResponseHeader = (response: AxiosResponse<unknown>, responseHeader?: string): string | undefined => {\n if (responseHeader) {\n const content = response.headers[responseHeader];\n if (isString(content)) {\n return content;\n }\n }\n return undefined;\n};'; 5 + }, 6 + useData: true, 7 + };
+332
packages/openapi-ts/src/legacy/handlebars/compiled/core/axios/request.js
···
··· 1 + export default { 2 + 1: function (container, depth0, helpers, partials, data) { 3 + return 'ApiResult<T>'; 4 + }, 5 + 3: function (container, depth0, helpers, partials, data) { 6 + return 'T'; 7 + }, 8 + 5: function (container, depth0, helpers, partials, data) { 9 + return 'result.body'; 10 + }, 11 + 7: function (container, depth0, helpers, partials, data) { 12 + return 'result'; 13 + }, 14 + compiler: [8, '>= 4.3.0'], 15 + main: function (container, depth0, helpers, partials, data) { 16 + var stack1, 17 + alias1 = depth0 != null ? depth0 : container.nullContext || {}, 18 + lookupProperty = 19 + container.lookupProperty || 20 + function (parent, propertyName) { 21 + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { 22 + return parent[propertyName]; 23 + } 24 + return undefined; 25 + }; 26 + 27 + return ( 28 + "import axios from 'axios';\nimport type { AxiosError, AxiosRequestConfig, AxiosResponse, AxiosInstance } from 'axios';\n\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { CancelablePromise } from './CancelablePromise';\nimport type { OnCancel } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\n\n" + 29 + ((stack1 = container.invokePartial( 30 + lookupProperty(partials, 'functions/isString'), 31 + depth0, 32 + { 33 + name: 'functions/isString', 34 + data: data, 35 + helpers: helpers, 36 + partials: partials, 37 + decorators: container.decorators, 38 + }, 39 + )) != null 40 + ? stack1 41 + : '') + 42 + '\n\n' + 43 + ((stack1 = container.invokePartial( 44 + lookupProperty(partials, 'functions/isStringWithValue'), 45 + depth0, 46 + { 47 + name: 'functions/isStringWithValue', 48 + data: data, 49 + helpers: helpers, 50 + partials: partials, 51 + decorators: container.decorators, 52 + }, 53 + )) != null 54 + ? stack1 55 + : '') + 56 + '\n\n' + 57 + ((stack1 = container.invokePartial( 58 + lookupProperty(partials, 'functions/isBlob'), 59 + depth0, 60 + { 61 + name: 'functions/isBlob', 62 + data: data, 63 + helpers: helpers, 64 + partials: partials, 65 + decorators: container.decorators, 66 + }, 67 + )) != null 68 + ? stack1 69 + : '') + 70 + '\n\n' + 71 + ((stack1 = container.invokePartial( 72 + lookupProperty(partials, 'functions/isFormData'), 73 + depth0, 74 + { 75 + name: 'functions/isFormData', 76 + data: data, 77 + helpers: helpers, 78 + partials: partials, 79 + decorators: container.decorators, 80 + }, 81 + )) != null 82 + ? stack1 83 + : '') + 84 + '\n\n' + 85 + ((stack1 = container.invokePartial( 86 + lookupProperty(partials, 'functions/isSuccess'), 87 + depth0, 88 + { 89 + name: 'functions/isSuccess', 90 + data: data, 91 + helpers: helpers, 92 + partials: partials, 93 + decorators: container.decorators, 94 + }, 95 + )) != null 96 + ? stack1 97 + : '') + 98 + '\n\n' + 99 + ((stack1 = container.invokePartial( 100 + lookupProperty(partials, 'functions/base64'), 101 + depth0, 102 + { 103 + name: 'functions/base64', 104 + data: data, 105 + helpers: helpers, 106 + partials: partials, 107 + decorators: container.decorators, 108 + }, 109 + )) != null 110 + ? stack1 111 + : '') + 112 + '\n\n' + 113 + ((stack1 = container.invokePartial( 114 + lookupProperty(partials, 'functions/getQueryString'), 115 + depth0, 116 + { 117 + name: 'functions/getQueryString', 118 + data: data, 119 + helpers: helpers, 120 + partials: partials, 121 + decorators: container.decorators, 122 + }, 123 + )) != null 124 + ? stack1 125 + : '') + 126 + '\n\n' + 127 + ((stack1 = container.invokePartial( 128 + lookupProperty(partials, 'functions/getUrl'), 129 + depth0, 130 + { 131 + name: 'functions/getUrl', 132 + data: data, 133 + helpers: helpers, 134 + partials: partials, 135 + decorators: container.decorators, 136 + }, 137 + )) != null 138 + ? stack1 139 + : '') + 140 + '\n\n' + 141 + ((stack1 = container.invokePartial( 142 + lookupProperty(partials, 'functions/getFormData'), 143 + depth0, 144 + { 145 + name: 'functions/getFormData', 146 + data: data, 147 + helpers: helpers, 148 + partials: partials, 149 + decorators: container.decorators, 150 + }, 151 + )) != null 152 + ? stack1 153 + : '') + 154 + '\n\n' + 155 + ((stack1 = container.invokePartial( 156 + lookupProperty(partials, 'functions/resolve'), 157 + depth0, 158 + { 159 + name: 'functions/resolve', 160 + data: data, 161 + helpers: helpers, 162 + partials: partials, 163 + decorators: container.decorators, 164 + }, 165 + )) != null 166 + ? stack1 167 + : '') + 168 + '\n\n' + 169 + ((stack1 = container.invokePartial( 170 + lookupProperty(partials, 'axios/getHeaders'), 171 + depth0, 172 + { 173 + name: 'axios/getHeaders', 174 + data: data, 175 + helpers: helpers, 176 + partials: partials, 177 + decorators: container.decorators, 178 + }, 179 + )) != null 180 + ? stack1 181 + : '') + 182 + '\n\n' + 183 + ((stack1 = container.invokePartial( 184 + lookupProperty(partials, 'axios/getRequestBody'), 185 + depth0, 186 + { 187 + name: 'axios/getRequestBody', 188 + data: data, 189 + helpers: helpers, 190 + partials: partials, 191 + decorators: container.decorators, 192 + }, 193 + )) != null 194 + ? stack1 195 + : '') + 196 + '\n\n' + 197 + ((stack1 = container.invokePartial( 198 + lookupProperty(partials, 'axios/sendRequest'), 199 + depth0, 200 + { 201 + name: 'axios/sendRequest', 202 + data: data, 203 + helpers: helpers, 204 + partials: partials, 205 + decorators: container.decorators, 206 + }, 207 + )) != null 208 + ? stack1 209 + : '') + 210 + '\n\n' + 211 + ((stack1 = container.invokePartial( 212 + lookupProperty(partials, 'axios/getResponseHeader'), 213 + depth0, 214 + { 215 + name: 'axios/getResponseHeader', 216 + data: data, 217 + helpers: helpers, 218 + partials: partials, 219 + decorators: container.decorators, 220 + }, 221 + )) != null 222 + ? stack1 223 + : '') + 224 + '\n\n' + 225 + ((stack1 = container.invokePartial( 226 + lookupProperty(partials, 'axios/getResponseBody'), 227 + depth0, 228 + { 229 + name: 'axios/getResponseBody', 230 + data: data, 231 + helpers: helpers, 232 + partials: partials, 233 + decorators: container.decorators, 234 + }, 235 + )) != null 236 + ? stack1 237 + : '') + 238 + '\n\n' + 239 + ((stack1 = container.invokePartial( 240 + lookupProperty(partials, 'functions/catchErrorCodes'), 241 + depth0, 242 + { 243 + name: 'functions/catchErrorCodes', 244 + data: data, 245 + helpers: helpers, 246 + partials: partials, 247 + decorators: container.decorators, 248 + }, 249 + )) != null 250 + ? stack1 251 + : '') + 252 + '\n\n/**\n * Request method\n * @param config The OpenAPI configuration object\n * @param options The request options from the service\n * @param axiosClient The axios client instance to use\n * @returns CancelablePromise<' + 253 + ((stack1 = lookupProperty(helpers, 'equals').call( 254 + alias1, 255 + lookupProperty( 256 + lookupProperty( 257 + lookupProperty(lookupProperty(data, 'root'), '$config'), 258 + 'services', 259 + ), 260 + 'response', 261 + ), 262 + 'response', 263 + { 264 + name: 'equals', 265 + hash: {}, 266 + fn: container.program(1, data, 0), 267 + inverse: container.program(3, data, 0), 268 + data: data, 269 + loc: { 270 + start: { line: 64, column: 30 }, 271 + end: { line: 64, column: 116 }, 272 + }, 273 + }, 274 + )) != null 275 + ? stack1 276 + : '') + 277 + '>\n * @throws ApiError\n */\nexport const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions<T>, axiosClient: AxiosInstance = axios): CancelablePromise<' + 278 + ((stack1 = lookupProperty(helpers, 'equals').call( 279 + alias1, 280 + lookupProperty( 281 + lookupProperty( 282 + lookupProperty(lookupProperty(data, 'root'), '$config'), 283 + 'services', 284 + ), 285 + 'response', 286 + ), 287 + 'response', 288 + { 289 + name: 'equals', 290 + hash: {}, 291 + fn: container.program(1, data, 0), 292 + inverse: container.program(3, data, 0), 293 + data: data, 294 + loc: { 295 + start: { line: 67, column: 136 }, 296 + end: { line: 67, column: 222 }, 297 + }, 298 + }, 299 + )) != null 300 + ? stack1 301 + : '') + 302 + '> => {\n return new CancelablePromise(async (resolve, reject, onCancel) => {\n try {\n const url = getUrl(config, options);\n const formData = getFormData(options);\n const body = getRequestBody(options);\n const headers = await getHeaders(config, options);\n\n if (!onCancel.isCancelled) {\n let response = await sendRequest<T>(config, options, url, body, formData, headers, onCancel, axiosClient);\n\n for (const fn of config.interceptors.response._fns) {\n response = await fn(response);\n }\n\n const responseBody = getResponseBody(response);\n const responseHeader = getResponseHeader(response, options.responseHeader);\n\n let transformedBody = responseBody;\n if (options.responseTransformer && isSuccess(response.status)) {\n transformedBody = await options.responseTransformer(responseBody)\n }\n\n const result: ApiResult = {\n url,\n ok: isSuccess(response.status),\n status: response.status,\n statusText: response.statusText,\n body: responseHeader ?? transformedBody,\n };\n\n catchErrorCodes(options, result);\n\n resolve(' + 303 + ((stack1 = lookupProperty(helpers, 'equals').call( 304 + alias1, 305 + lookupProperty( 306 + lookupProperty( 307 + lookupProperty(lookupProperty(data, 'root'), '$config'), 308 + 'services', 309 + ), 310 + 'response', 311 + ), 312 + 'body', 313 + { 314 + name: 'equals', 315 + hash: {}, 316 + fn: container.program(5, data, 0), 317 + inverse: container.program(7, data, 0), 318 + data: data, 319 + loc: { 320 + start: { line: 100, column: 12 }, 321 + end: { line: 100, column: 98 }, 322 + }, 323 + }, 324 + )) != null 325 + ? stack1 326 + : '') + 327 + ');\n }\n } catch (error) {\n reject(error);\n }\n });\n};' 328 + ); 329 + }, 330 + usePartial: true, 331 + useData: true, 332 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/axios/sendRequest.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return 'export const sendRequest = async <T>(\n config: OpenAPIConfig,\n options: ApiRequestOptions<T>,\n url: string,\n body: unknown,\n formData: FormData | undefined,\n headers: Record<string, string>,\n onCancel: OnCancel,\n axiosClient: AxiosInstance\n): Promise<AxiosResponse<T>> => {\n const controller = new AbortController();\n\n let requestConfig: AxiosRequestConfig = {\n data: body ?? formData,\n headers,\n method: options.method,\n signal: controller.signal,\n url,\n withCredentials: config.WITH_CREDENTIALS,\n };\n\n onCancel(() => controller.abort());\n\n for (const fn of config.interceptors.request._fns) {\n requestConfig = await fn(requestConfig);\n }\n\n try {\n return await axiosClient.request(requestConfig);\n } catch (error) {\n const axiosError = error as AxiosError<T>;\n if (axiosError.response) {\n return axiosError.response;\n }\n throw error;\n }\n};'; 5 + }, 6 + useData: true, 7 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/fetch/getHeaders.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return "export const getHeaders = async <T>(config: OpenAPIConfig, options: ApiRequestOptions<T>): Promise<Headers> => {\n const [token, username, password, additionalHeaders] = await Promise.all([\n // @ts-ignore\n resolve(options, config.TOKEN),\n // @ts-ignore\n resolve(options, config.USERNAME),\n // @ts-ignore\n resolve(options, config.PASSWORD),\n // @ts-ignore\n resolve(options, config.HEADERS),\n ]);\n\n const headers = Object.entries({\n Accept: 'application/json',\n ...additionalHeaders,\n ...options.headers,\n })\n .filter(([, value]) => value !== undefined && value !== null)\n .reduce((headers, [key, value]) => ({\n ...headers,\n [key]: String(value),\n }), {} as Record<string, string>);\n\n if (isStringWithValue(token)) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n if (isStringWithValue(username) && isStringWithValue(password)) {\n const credentials = base64(`${username}:${password}`);\n headers['Authorization'] = `Basic ${credentials}`;\n }\n\n if (options.body !== undefined) {\n if (options.mediaType) {\n headers['Content-Type'] = options.mediaType;\n } else if (isBlob(options.body)) {\n headers['Content-Type'] = options.body.type || 'application/octet-stream';\n } else if (isString(options.body)) {\n headers['Content-Type'] = 'text/plain';\n } else if (!isFormData(options.body)) {\n headers['Content-Type'] = 'application/json';\n }\n }\n\n return new Headers(headers);\n};"; 5 + }, 6 + useData: true, 7 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/fetch/getRequestBody.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return "export const getRequestBody = (options: ApiRequestOptions): unknown => {\n if (options.body !== undefined) {\n if (options.mediaType?.includes('application/json') || options.mediaType?.includes('+json')) {\n return JSON.stringify(options.body);\n } else if (isString(options.body) || isBlob(options.body) || isFormData(options.body)) {\n return options.body;\n } else {\n return JSON.stringify(options.body);\n }\n }\n return undefined;\n};"; 5 + }, 6 + useData: true, 7 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/fetch/getResponseBody.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return "export const getResponseBody = async (response: Response): Promise<unknown> => {\n if (response.status !== 204) {\n try {\n const contentType = response.headers.get('Content-Type');\n if (contentType) {\n const binaryTypes = ['application/octet-stream', 'application/pdf', 'application/zip', 'audio/', 'image/', 'video/'];\n if (contentType.includes('application/json') || contentType.includes('+json')) {\n return await response.json();\n } else if (binaryTypes.some(type => contentType.includes(type))) {\n return await response.blob();\n } else if (contentType.includes('multipart/form-data')) {\n return await response.formData();\n } else if (contentType.includes('text/')) {\n return await response.text();\n }\n }\n } catch (error) {\n console.error(error);\n }\n }\n return undefined;\n};"; 5 + }, 6 + useData: true, 7 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/fetch/getResponseHeader.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return 'export const getResponseHeader = (response: Response, responseHeader?: string): string | undefined => {\n if (responseHeader) {\n const content = response.headers.get(responseHeader);\n if (isString(content)) {\n return content;\n }\n }\n return undefined;\n};'; 5 + }, 6 + useData: true, 7 + };
+342
packages/openapi-ts/src/legacy/handlebars/compiled/core/fetch/request.js
···
··· 1 + export default { 2 + 1: function (container, depth0, helpers, partials, data) { 3 + return "import fetch, { FormData, Headers } from 'node-fetch';\nimport type { RequestInit, Response } from 'node-fetch';\n\n"; 4 + }, 5 + 3: function (container, depth0, helpers, partials, data) { 6 + return 'ApiResult<T>'; 7 + }, 8 + 5: function (container, depth0, helpers, partials, data) { 9 + return 'T'; 10 + }, 11 + 7: function (container, depth0, helpers, partials, data) { 12 + return 'result.body'; 13 + }, 14 + 9: function (container, depth0, helpers, partials, data) { 15 + return 'result'; 16 + }, 17 + compiler: [8, '>= 4.3.0'], 18 + main: function (container, depth0, helpers, partials, data) { 19 + var stack1, 20 + alias1 = depth0 != null ? depth0 : container.nullContext || {}, 21 + lookupProperty = 22 + container.lookupProperty || 23 + function (parent, propertyName) { 24 + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { 25 + return parent[propertyName]; 26 + } 27 + return undefined; 28 + }; 29 + 30 + return ( 31 + ((stack1 = lookupProperty(helpers, 'equals').call( 32 + alias1, 33 + lookupProperty( 34 + lookupProperty( 35 + lookupProperty(lookupProperty(data, 'root'), '$config'), 36 + 'client', 37 + ), 38 + 'name', 39 + ), 40 + 'legacy/node', 41 + { 42 + name: 'equals', 43 + hash: {}, 44 + fn: container.program(1, data, 0), 45 + inverse: container.noop, 46 + data: data, 47 + loc: { start: { line: 1, column: 0 }, end: { line: 5, column: 11 } }, 48 + }, 49 + )) != null 50 + ? stack1 51 + : '') + 52 + "import { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { CancelablePromise } from './CancelablePromise';\nimport type { OnCancel } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\n\n" + 53 + ((stack1 = container.invokePartial( 54 + lookupProperty(partials, 'functions/isString'), 55 + depth0, 56 + { 57 + name: 'functions/isString', 58 + data: data, 59 + helpers: helpers, 60 + partials: partials, 61 + decorators: container.decorators, 62 + }, 63 + )) != null 64 + ? stack1 65 + : '') + 66 + '\n\n' + 67 + ((stack1 = container.invokePartial( 68 + lookupProperty(partials, 'functions/isStringWithValue'), 69 + depth0, 70 + { 71 + name: 'functions/isStringWithValue', 72 + data: data, 73 + helpers: helpers, 74 + partials: partials, 75 + decorators: container.decorators, 76 + }, 77 + )) != null 78 + ? stack1 79 + : '') + 80 + '\n\n' + 81 + ((stack1 = container.invokePartial( 82 + lookupProperty(partials, 'functions/isBlob'), 83 + depth0, 84 + { 85 + name: 'functions/isBlob', 86 + data: data, 87 + helpers: helpers, 88 + partials: partials, 89 + decorators: container.decorators, 90 + }, 91 + )) != null 92 + ? stack1 93 + : '') + 94 + '\n\n' + 95 + ((stack1 = container.invokePartial( 96 + lookupProperty(partials, 'functions/isFormData'), 97 + depth0, 98 + { 99 + name: 'functions/isFormData', 100 + data: data, 101 + helpers: helpers, 102 + partials: partials, 103 + decorators: container.decorators, 104 + }, 105 + )) != null 106 + ? stack1 107 + : '') + 108 + '\n\n' + 109 + ((stack1 = container.invokePartial( 110 + lookupProperty(partials, 'functions/base64'), 111 + depth0, 112 + { 113 + name: 'functions/base64', 114 + data: data, 115 + helpers: helpers, 116 + partials: partials, 117 + decorators: container.decorators, 118 + }, 119 + )) != null 120 + ? stack1 121 + : '') + 122 + '\n\n' + 123 + ((stack1 = container.invokePartial( 124 + lookupProperty(partials, 'functions/getQueryString'), 125 + depth0, 126 + { 127 + name: 'functions/getQueryString', 128 + data: data, 129 + helpers: helpers, 130 + partials: partials, 131 + decorators: container.decorators, 132 + }, 133 + )) != null 134 + ? stack1 135 + : '') + 136 + '\n\n' + 137 + ((stack1 = container.invokePartial( 138 + lookupProperty(partials, 'functions/getUrl'), 139 + depth0, 140 + { 141 + name: 'functions/getUrl', 142 + data: data, 143 + helpers: helpers, 144 + partials: partials, 145 + decorators: container.decorators, 146 + }, 147 + )) != null 148 + ? stack1 149 + : '') + 150 + '\n\n' + 151 + ((stack1 = container.invokePartial( 152 + lookupProperty(partials, 'functions/getFormData'), 153 + depth0, 154 + { 155 + name: 'functions/getFormData', 156 + data: data, 157 + helpers: helpers, 158 + partials: partials, 159 + decorators: container.decorators, 160 + }, 161 + )) != null 162 + ? stack1 163 + : '') + 164 + '\n\n' + 165 + ((stack1 = container.invokePartial( 166 + lookupProperty(partials, 'functions/resolve'), 167 + depth0, 168 + { 169 + name: 'functions/resolve', 170 + data: data, 171 + helpers: helpers, 172 + partials: partials, 173 + decorators: container.decorators, 174 + }, 175 + )) != null 176 + ? stack1 177 + : '') + 178 + '\n\n' + 179 + ((stack1 = container.invokePartial( 180 + lookupProperty(partials, 'fetch/getHeaders'), 181 + depth0, 182 + { 183 + name: 'fetch/getHeaders', 184 + data: data, 185 + helpers: helpers, 186 + partials: partials, 187 + decorators: container.decorators, 188 + }, 189 + )) != null 190 + ? stack1 191 + : '') + 192 + '\n\n' + 193 + ((stack1 = container.invokePartial( 194 + lookupProperty(partials, 'fetch/getRequestBody'), 195 + depth0, 196 + { 197 + name: 'fetch/getRequestBody', 198 + data: data, 199 + helpers: helpers, 200 + partials: partials, 201 + decorators: container.decorators, 202 + }, 203 + )) != null 204 + ? stack1 205 + : '') + 206 + '\n\n' + 207 + ((stack1 = container.invokePartial( 208 + lookupProperty(partials, 'fetch/sendRequest'), 209 + depth0, 210 + { 211 + name: 'fetch/sendRequest', 212 + data: data, 213 + helpers: helpers, 214 + partials: partials, 215 + decorators: container.decorators, 216 + }, 217 + )) != null 218 + ? stack1 219 + : '') + 220 + '\n\n' + 221 + ((stack1 = container.invokePartial( 222 + lookupProperty(partials, 'fetch/getResponseHeader'), 223 + depth0, 224 + { 225 + name: 'fetch/getResponseHeader', 226 + data: data, 227 + helpers: helpers, 228 + partials: partials, 229 + decorators: container.decorators, 230 + }, 231 + )) != null 232 + ? stack1 233 + : '') + 234 + '\n\n' + 235 + ((stack1 = container.invokePartial( 236 + lookupProperty(partials, 'fetch/getResponseBody'), 237 + depth0, 238 + { 239 + name: 'fetch/getResponseBody', 240 + data: data, 241 + helpers: helpers, 242 + partials: partials, 243 + decorators: container.decorators, 244 + }, 245 + )) != null 246 + ? stack1 247 + : '') + 248 + '\n\n' + 249 + ((stack1 = container.invokePartial( 250 + lookupProperty(partials, 'functions/catchErrorCodes'), 251 + depth0, 252 + { 253 + name: 'functions/catchErrorCodes', 254 + data: data, 255 + helpers: helpers, 256 + partials: partials, 257 + decorators: container.decorators, 258 + }, 259 + )) != null 260 + ? stack1 261 + : '') + 262 + '\n\n/**\n * Request method\n * @param config The OpenAPI configuration object\n * @param options The request options from the service\n * @returns CancelablePromise<' + 263 + ((stack1 = lookupProperty(helpers, 'equals').call( 264 + alias1, 265 + lookupProperty( 266 + lookupProperty( 267 + lookupProperty(lookupProperty(data, 'root'), '$config'), 268 + 'services', 269 + ), 270 + 'response', 271 + ), 272 + 'response', 273 + { 274 + name: 'equals', 275 + hash: {}, 276 + fn: container.program(3, data, 0), 277 + inverse: container.program(5, data, 0), 278 + data: data, 279 + loc: { 280 + start: { line: 62, column: 30 }, 281 + end: { line: 62, column: 116 }, 282 + }, 283 + }, 284 + )) != null 285 + ? stack1 286 + : '') + 287 + '>\n * @throws ApiError\n */\nexport const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions<T>): CancelablePromise<' + 288 + ((stack1 = lookupProperty(helpers, 'equals').call( 289 + alias1, 290 + lookupProperty( 291 + lookupProperty( 292 + lookupProperty(lookupProperty(data, 'root'), '$config'), 293 + 'services', 294 + ), 295 + 'response', 296 + ), 297 + 'response', 298 + { 299 + name: 'equals', 300 + hash: {}, 301 + fn: container.program(3, data, 0), 302 + inverse: container.program(5, data, 0), 303 + data: data, 304 + loc: { 305 + start: { line: 65, column: 100 }, 306 + end: { line: 65, column: 186 }, 307 + }, 308 + }, 309 + )) != null 310 + ? stack1 311 + : '') + 312 + '> => {\n return new CancelablePromise(async (resolve, reject, onCancel) => {\n try {\n const url = getUrl(config, options);\n const formData = getFormData(options);\n const body = getRequestBody(options);\n const headers = await getHeaders(config, options);\n\n if (!onCancel.isCancelled) {\n let response = await sendRequest(config, options, url, body, formData, headers, onCancel);\n\n for (const fn of config.interceptors.response._fns) {\n response = await fn(response);\n }\n\n const responseBody = await getResponseBody(response);\n const responseHeader = getResponseHeader(response, options.responseHeader);\n\n let transformedBody = responseBody;\n if (options.responseTransformer && response.ok) {\n transformedBody = await options.responseTransformer(responseBody)\n }\n\n const result: ApiResult = {\n url,\n ok: response.ok,\n status: response.status,\n statusText: response.statusText,\n body: responseHeader ?? transformedBody,\n };\n\n catchErrorCodes(options, result);\n\n resolve(' + 313 + ((stack1 = lookupProperty(helpers, 'equals').call( 314 + alias1, 315 + lookupProperty( 316 + lookupProperty( 317 + lookupProperty(lookupProperty(data, 'root'), '$config'), 318 + 'services', 319 + ), 320 + 'response', 321 + ), 322 + 'body', 323 + { 324 + name: 'equals', 325 + hash: {}, 326 + fn: container.program(7, data, 0), 327 + inverse: container.program(9, data, 0), 328 + data: data, 329 + loc: { 330 + start: { line: 98, column: 12 }, 331 + end: { line: 98, column: 98 }, 332 + }, 333 + }, 334 + )) != null 335 + ? stack1 336 + : '') + 337 + ');\n }\n } catch (error) {\n reject(error);\n }\n });\n};' 338 + ); 339 + }, 340 + usePartial: true, 341 + useData: true, 342 + };
+47
packages/openapi-ts/src/legacy/handlebars/compiled/core/fetch/sendRequest.js
···
··· 1 + export default { 2 + 1: function (container, depth0, helpers, partials, data) { 3 + return ' if (config.WITH_CREDENTIALS) {\n request.credentials = config.CREDENTIALS;\n }\n'; 4 + }, 5 + compiler: [8, '>= 4.3.0'], 6 + main: function (container, depth0, helpers, partials, data) { 7 + var stack1, 8 + lookupProperty = 9 + container.lookupProperty || 10 + function (parent, propertyName) { 11 + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { 12 + return parent[propertyName]; 13 + } 14 + return undefined; 15 + }; 16 + 17 + return ( 18 + 'export const sendRequest = async (\n config: OpenAPIConfig,\n options: ApiRequestOptions,\n url: string,\n body: any,\n formData: FormData | undefined,\n headers: Headers,\n onCancel: OnCancel\n): Promise<Response> => {\n const controller = new AbortController();\n\n let request: RequestInit = {\n headers,\n body: body ?? formData,\n method: options.method,\n signal: controller.signal,\n };\n\n' + 19 + ((stack1 = lookupProperty(helpers, 'equals').call( 20 + depth0 != null ? depth0 : container.nullContext || {}, 21 + lookupProperty( 22 + lookupProperty( 23 + lookupProperty(lookupProperty(data, 'root'), '$config'), 24 + 'client', 25 + ), 26 + 'name', 27 + ), 28 + 'legacy/fetch', 29 + { 30 + name: 'equals', 31 + hash: {}, 32 + fn: container.program(1, data, 0), 33 + inverse: container.noop, 34 + data: data, 35 + loc: { 36 + start: { line: 19, column: 1 }, 37 + end: { line: 23, column: 12 }, 38 + }, 39 + }, 40 + )) != null 41 + ? stack1 42 + : '') + 43 + '\n for (const fn of config.interceptors.request._fns) {\n request = await fn(request);\n }\n\n onCancel(() => controller.abort());\n\n return await fetch(url, request);\n};' 44 + ); 45 + }, 46 + useData: true, 47 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/functions/base64.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return "export const base64 = (str: string): string => {\n try {\n return btoa(str);\n } catch (err) {\n // @ts-ignore\n return Buffer.from(str).toString('base64');\n }\n};"; 5 + }, 6 + useData: true, 7 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/functions/catchErrorCodes.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return "export const catchErrorCodes = (options: ApiRequestOptions, result: ApiResult): void => {\n const errors: Record<number, string> = {\n 400: 'Bad Request',\n 401: 'Unauthorized',\n 402: 'Payment Required',\n 403: 'Forbidden',\n 404: 'Not Found',\n 405: 'Method Not Allowed',\n 406: 'Not Acceptable',\n 407: 'Proxy Authentication Required',\n 408: 'Request Timeout',\n 409: 'Conflict',\n 410: 'Gone',\n 411: 'Length Required',\n 412: 'Precondition Failed',\n 413: 'Payload Too Large',\n 414: 'URI Too Long',\n 415: 'Unsupported Media Type',\n 416: 'Range Not Satisfiable',\n 417: 'Expectation Failed',\n 418: 'Im a teapot',\n 421: 'Misdirected Request',\n 422: 'Unprocessable Content',\n 423: 'Locked',\n 424: 'Failed Dependency',\n 425: 'Too Early',\n 426: 'Upgrade Required',\n 428: 'Precondition Required',\n 429: 'Too Many Requests',\n 431: 'Request Header Fields Too Large',\n 451: 'Unavailable For Legal Reasons',\n 500: 'Internal Server Error',\n 501: 'Not Implemented',\n 502: 'Bad Gateway',\n 503: 'Service Unavailable',\n 504: 'Gateway Timeout',\n 505: 'HTTP Version Not Supported',\n 506: 'Variant Also Negotiates',\n 507: 'Insufficient Storage',\n 508: 'Loop Detected',\n 510: 'Not Extended',\n 511: 'Network Authentication Required',\n ...options.errors,\n }\n\n const error = errors[result.status];\n if (error) {\n throw new ApiError(options, result, error);\n }\n\n if (!result.ok) {\n const errorStatus = result.status ?? 'unknown';\n const errorStatusText = result.statusText ?? 'unknown';\n const errorBody = (() => {\n try {\n return JSON.stringify(result.body, null, 2);\n } catch (e) {\n return undefined;\n }\n })();\n\n throw new ApiError(options, result,\n `Generic Error: status: ${errorStatus}; status text: ${errorStatusText}; body: ${errorBody}`\n );\n }\n};"; 5 + }, 6 + useData: true, 7 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/functions/getFormData.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return 'export const getFormData = (options: ApiRequestOptions): FormData | undefined => {\n if (options.formData) {\n const formData = new FormData();\n\n const process = (key: string, value: unknown) => {\n if (isString(value) || isBlob(value)) {\n formData.append(key, value);\n } else {\n formData.append(key, JSON.stringify(value));\n }\n };\n\n Object.entries(options.formData)\n .filter(([, value]) => value !== undefined && value !== null)\n .forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach(v => process(key, v));\n } else {\n process(key, value);\n }\n });\n\n return formData;\n }\n return undefined;\n};'; 5 + }, 6 + useData: true, 7 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/functions/getQueryString.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return "export const getQueryString = (params: Record<string, unknown>): string => {\n const qs: string[] = [];\n\n const append = (key: string, value: unknown) => {\n qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);\n };\n\n const encodePair = (key: string, value: unknown) => {\n if (value === undefined || value === null) {\n return;\n }\n\n if (value instanceof Date) {\n append(key, value.toISOString());\n } else if (Array.isArray(value)) {\n value.forEach(v => encodePair(key, v));\n } else if (typeof value === 'object') {\n Object.entries(value).forEach(([k, v]) => encodePair(`${key}[${k}]`, v));\n } else {\n append(key, value);\n }\n };\n\n Object.entries(params).forEach(([key, value]) => encodePair(key, value));\n\n return qs.length ? `?${qs.join('&')}` : '';\n};"; 5 + }, 6 + useData: true, 7 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/functions/getUrl.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return "const getUrl = (config: OpenAPIConfig, options: ApiRequestOptions): string => {\n const encoder = config.ENCODE_PATH || encodeURI;\n\n const path = options.url\n .replace('{api-version}', config.VERSION)\n .replace(/{(.*?)}/g, (substring: string, group: string) => {\n if (options.path?.hasOwnProperty(group)) {\n return encoder(String(options.path[group]));\n }\n return substring;\n });\n\n const url = config.BASE + path;\n return options.query ? url + getQueryString(options.query) : url;\n};"; 5 + }, 6 + useData: true, 7 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/functions/isBlob.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return 'export const isBlob = (value: any): value is Blob => {\n return value instanceof Blob;\n};'; 5 + }, 6 + useData: true, 7 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/functions/isFormData.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return 'export const isFormData = (value: unknown): value is FormData => {\n return value instanceof FormData;\n};'; 5 + }, 6 + useData: true, 7 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/functions/isString.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return "export const isString = (value: unknown): value is string => {\n return typeof value === 'string';\n};"; 5 + }, 6 + useData: true, 7 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/functions/isStringWithValue.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return "export const isStringWithValue = (value: unknown): value is string => {\n return isString(value) && value !== '';\n};"; 5 + }, 6 + useData: true, 7 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/functions/isSuccess.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return 'export const isSuccess = (status: number): boolean => {\n return status >= 200 && status < 300;\n};'; 5 + }, 6 + useData: true, 7 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/functions/resolve.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return "type Resolver<T> = (options: ApiRequestOptions<T>) => Promise<T>;\n\nexport const resolve = async <T>(options: ApiRequestOptions<T>, resolver?: T | Resolver<T>): Promise<T | undefined> => {\n if (typeof resolver === 'function') {\n return (resolver as Resolver<T>)(options);\n }\n return resolver;\n};"; 5 + }, 6 + useData: true, 7 + };
+225
packages/openapi-ts/src/legacy/handlebars/compiled/core/request.js
···
··· 1 + export default { 2 + 1: function (container, depth0, helpers, partials, data) { 3 + var stack1, 4 + lookupProperty = 5 + container.lookupProperty || 6 + function (parent, propertyName) { 7 + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { 8 + return parent[propertyName]; 9 + } 10 + return undefined; 11 + }; 12 + 13 + return (stack1 = container.invokePartial( 14 + lookupProperty(partials, 'angular/request'), 15 + depth0, 16 + { 17 + name: 'angular/request', 18 + data: data, 19 + helpers: helpers, 20 + partials: partials, 21 + decorators: container.decorators, 22 + }, 23 + )) != null 24 + ? stack1 25 + : ''; 26 + }, 27 + 3: function (container, depth0, helpers, partials, data) { 28 + var stack1, 29 + lookupProperty = 30 + container.lookupProperty || 31 + function (parent, propertyName) { 32 + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { 33 + return parent[propertyName]; 34 + } 35 + return undefined; 36 + }; 37 + 38 + return (stack1 = container.invokePartial( 39 + lookupProperty(partials, 'axios/request'), 40 + depth0, 41 + { 42 + name: 'axios/request', 43 + data: data, 44 + helpers: helpers, 45 + partials: partials, 46 + decorators: container.decorators, 47 + }, 48 + )) != null 49 + ? stack1 50 + : ''; 51 + }, 52 + 5: function (container, depth0, helpers, partials, data) { 53 + var stack1, 54 + lookupProperty = 55 + container.lookupProperty || 56 + function (parent, propertyName) { 57 + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { 58 + return parent[propertyName]; 59 + } 60 + return undefined; 61 + }; 62 + 63 + return (stack1 = container.invokePartial( 64 + lookupProperty(partials, 'fetch/request'), 65 + depth0, 66 + { 67 + name: 'fetch/request', 68 + data: data, 69 + helpers: helpers, 70 + partials: partials, 71 + decorators: container.decorators, 72 + }, 73 + )) != null 74 + ? stack1 75 + : ''; 76 + }, 77 + 7: function (container, depth0, helpers, partials, data) { 78 + var stack1, 79 + lookupProperty = 80 + container.lookupProperty || 81 + function (parent, propertyName) { 82 + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { 83 + return parent[propertyName]; 84 + } 85 + return undefined; 86 + }; 87 + 88 + return (stack1 = container.invokePartial( 89 + lookupProperty(partials, 'xhr/request'), 90 + depth0, 91 + { 92 + name: 'xhr/request', 93 + data: data, 94 + helpers: helpers, 95 + partials: partials, 96 + decorators: container.decorators, 97 + }, 98 + )) != null 99 + ? stack1 100 + : ''; 101 + }, 102 + compiler: [8, '>= 4.3.0'], 103 + main: function (container, depth0, helpers, partials, data) { 104 + var stack1, 105 + alias1 = depth0 != null ? depth0 : container.nullContext || {}, 106 + lookupProperty = 107 + container.lookupProperty || 108 + function (parent, propertyName) { 109 + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { 110 + return parent[propertyName]; 111 + } 112 + return undefined; 113 + }; 114 + 115 + return ( 116 + ((stack1 = lookupProperty(helpers, 'equals').call( 117 + alias1, 118 + lookupProperty( 119 + lookupProperty( 120 + lookupProperty(lookupProperty(data, 'root'), '$config'), 121 + 'client', 122 + ), 123 + 'name', 124 + ), 125 + 'legacy/angular', 126 + { 127 + name: 'equals', 128 + hash: {}, 129 + fn: container.program(1, data, 0), 130 + inverse: container.noop, 131 + data: data, 132 + loc: { start: { line: 1, column: 0 }, end: { line: 1, column: 87 } }, 133 + }, 134 + )) != null 135 + ? stack1 136 + : '') + 137 + ((stack1 = lookupProperty(helpers, 'equals').call( 138 + alias1, 139 + lookupProperty( 140 + lookupProperty( 141 + lookupProperty(lookupProperty(data, 'root'), '$config'), 142 + 'client', 143 + ), 144 + 'name', 145 + ), 146 + 'legacy/axios', 147 + { 148 + name: 'equals', 149 + hash: {}, 150 + fn: container.program(3, data, 0), 151 + inverse: container.noop, 152 + data: data, 153 + loc: { start: { line: 2, column: 0 }, end: { line: 2, column: 83 } }, 154 + }, 155 + )) != null 156 + ? stack1 157 + : '') + 158 + ((stack1 = lookupProperty(helpers, 'equals').call( 159 + alias1, 160 + lookupProperty( 161 + lookupProperty( 162 + lookupProperty(lookupProperty(data, 'root'), '$config'), 163 + 'client', 164 + ), 165 + 'name', 166 + ), 167 + 'legacy/fetch', 168 + { 169 + name: 'equals', 170 + hash: {}, 171 + fn: container.program(5, data, 0), 172 + inverse: container.noop, 173 + data: data, 174 + loc: { start: { line: 3, column: 0 }, end: { line: 3, column: 83 } }, 175 + }, 176 + )) != null 177 + ? stack1 178 + : '') + 179 + ((stack1 = lookupProperty(helpers, 'equals').call( 180 + alias1, 181 + lookupProperty( 182 + lookupProperty( 183 + lookupProperty(lookupProperty(data, 'root'), '$config'), 184 + 'client', 185 + ), 186 + 'name', 187 + ), 188 + 'legacy/node', 189 + { 190 + name: 'equals', 191 + hash: {}, 192 + fn: container.program(5, data, 0), 193 + inverse: container.noop, 194 + data: data, 195 + loc: { start: { line: 4, column: 0 }, end: { line: 4, column: 82 } }, 196 + }, 197 + )) != null 198 + ? stack1 199 + : '') + 200 + ((stack1 = lookupProperty(helpers, 'equals').call( 201 + alias1, 202 + lookupProperty( 203 + lookupProperty( 204 + lookupProperty(lookupProperty(data, 'root'), '$config'), 205 + 'client', 206 + ), 207 + 'name', 208 + ), 209 + 'legacy/xhr', 210 + { 211 + name: 'equals', 212 + hash: {}, 213 + fn: container.program(7, data, 0), 214 + inverse: container.noop, 215 + data: data, 216 + loc: { start: { line: 5, column: 0 }, end: { line: 5, column: 79 } }, 217 + }, 218 + )) != null 219 + ? stack1 220 + : '') 221 + ); 222 + }, 223 + usePartial: true, 224 + useData: true, 225 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/xhr/getHeaders.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return "export const getHeaders = async <T>(config: OpenAPIConfig, options: ApiRequestOptions<T>): Promise<Headers> => {\n const [token, username, password, additionalHeaders] = await Promise.all([\n // @ts-ignore\n resolve(options, config.TOKEN),\n // @ts-ignore\n resolve(options, config.USERNAME),\n // @ts-ignore\n resolve(options, config.PASSWORD),\n // @ts-ignore\n resolve(options, config.HEADERS),\n ]);\n\n const headers = Object.entries({\n Accept: 'application/json',\n ...additionalHeaders,\n ...options.headers,\n })\n .filter(([, value]) => value !== undefined && value !== null)\n .reduce((headers, [key, value]) => ({\n ...headers,\n [key]: String(value),\n }), {} as Record<string, string>);\n\n if (isStringWithValue(token)) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n if (isStringWithValue(username) && isStringWithValue(password)) {\n const credentials = base64(`${username}:${password}`);\n headers['Authorization'] = `Basic ${credentials}`;\n }\n\n if (options.body !== undefined) {\n if (options.mediaType) {\n headers['Content-Type'] = options.mediaType;\n } else if (isBlob(options.body)) {\n headers['Content-Type'] = options.body.type || 'application/octet-stream';\n } else if (isString(options.body)) {\n headers['Content-Type'] = 'text/plain';\n } else if (!isFormData(options.body)) {\n headers['Content-Type'] = 'application/json';\n }\n }\n\n return new Headers(headers);\n};"; 5 + }, 6 + useData: true, 7 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/xhr/getRequestBody.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return "export const getRequestBody = (options: ApiRequestOptions): unknown => {\n if (options.body !== undefined) {\n if (options.mediaType?.includes('application/json') || options.mediaType?.includes('+json')) {\n return JSON.stringify(options.body);\n } else if (isString(options.body) || isBlob(options.body) || isFormData(options.body)) {\n return options.body;\n } else {\n return JSON.stringify(options.body);\n }\n }\n return undefined;\n};"; 5 + }, 6 + useData: true, 7 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/xhr/getResponseBody.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return "export const getResponseBody = (xhr: XMLHttpRequest): unknown => {\n if (xhr.status !== 204) {\n try {\n const contentType = xhr.getResponseHeader('Content-Type');\n if (contentType) {\n if (contentType.includes('application/json') || contentType.includes('+json')) {\n return JSON.parse(xhr.responseText);\n } else {\n return xhr.responseText;\n }\n }\n } catch (error) {\n console.error(error);\n }\n }\n return undefined;\n};"; 5 + }, 6 + useData: true, 7 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/xhr/getResponseHeader.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return 'export const getResponseHeader = (xhr: XMLHttpRequest, responseHeader?: string): string | undefined => {\n if (responseHeader) {\n const content = xhr.getResponseHeader(responseHeader);\n if (isString(content)) {\n return content;\n }\n }\n return undefined;\n};'; 5 + }, 6 + useData: true, 7 + };
+332
packages/openapi-ts/src/legacy/handlebars/compiled/core/xhr/request.js
···
··· 1 + export default { 2 + 1: function (container, depth0, helpers, partials, data) { 3 + return 'ApiResult<T>'; 4 + }, 5 + 3: function (container, depth0, helpers, partials, data) { 6 + return 'T'; 7 + }, 8 + 5: function (container, depth0, helpers, partials, data) { 9 + return 'result.body'; 10 + }, 11 + 7: function (container, depth0, helpers, partials, data) { 12 + return 'result'; 13 + }, 14 + compiler: [8, '>= 4.3.0'], 15 + main: function (container, depth0, helpers, partials, data) { 16 + var stack1, 17 + alias1 = depth0 != null ? depth0 : container.nullContext || {}, 18 + lookupProperty = 19 + container.lookupProperty || 20 + function (parent, propertyName) { 21 + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { 22 + return parent[propertyName]; 23 + } 24 + return undefined; 25 + }; 26 + 27 + return ( 28 + "import { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { CancelablePromise } from './CancelablePromise';\nimport type { OnCancel } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\n\n" + 29 + ((stack1 = container.invokePartial( 30 + lookupProperty(partials, 'functions/isString'), 31 + depth0, 32 + { 33 + name: 'functions/isString', 34 + data: data, 35 + helpers: helpers, 36 + partials: partials, 37 + decorators: container.decorators, 38 + }, 39 + )) != null 40 + ? stack1 41 + : '') + 42 + '\n\n' + 43 + ((stack1 = container.invokePartial( 44 + lookupProperty(partials, 'functions/isStringWithValue'), 45 + depth0, 46 + { 47 + name: 'functions/isStringWithValue', 48 + data: data, 49 + helpers: helpers, 50 + partials: partials, 51 + decorators: container.decorators, 52 + }, 53 + )) != null 54 + ? stack1 55 + : '') + 56 + '\n\n' + 57 + ((stack1 = container.invokePartial( 58 + lookupProperty(partials, 'functions/isBlob'), 59 + depth0, 60 + { 61 + name: 'functions/isBlob', 62 + data: data, 63 + helpers: helpers, 64 + partials: partials, 65 + decorators: container.decorators, 66 + }, 67 + )) != null 68 + ? stack1 69 + : '') + 70 + '\n\n' + 71 + ((stack1 = container.invokePartial( 72 + lookupProperty(partials, 'functions/isFormData'), 73 + depth0, 74 + { 75 + name: 'functions/isFormData', 76 + data: data, 77 + helpers: helpers, 78 + partials: partials, 79 + decorators: container.decorators, 80 + }, 81 + )) != null 82 + ? stack1 83 + : '') + 84 + '\n\n' + 85 + ((stack1 = container.invokePartial( 86 + lookupProperty(partials, 'functions/isSuccess'), 87 + depth0, 88 + { 89 + name: 'functions/isSuccess', 90 + data: data, 91 + helpers: helpers, 92 + partials: partials, 93 + decorators: container.decorators, 94 + }, 95 + )) != null 96 + ? stack1 97 + : '') + 98 + '\n\n' + 99 + ((stack1 = container.invokePartial( 100 + lookupProperty(partials, 'functions/base64'), 101 + depth0, 102 + { 103 + name: 'functions/base64', 104 + data: data, 105 + helpers: helpers, 106 + partials: partials, 107 + decorators: container.decorators, 108 + }, 109 + )) != null 110 + ? stack1 111 + : '') + 112 + '\n\n' + 113 + ((stack1 = container.invokePartial( 114 + lookupProperty(partials, 'functions/getQueryString'), 115 + depth0, 116 + { 117 + name: 'functions/getQueryString', 118 + data: data, 119 + helpers: helpers, 120 + partials: partials, 121 + decorators: container.decorators, 122 + }, 123 + )) != null 124 + ? stack1 125 + : '') + 126 + '\n\n' + 127 + ((stack1 = container.invokePartial( 128 + lookupProperty(partials, 'functions/getUrl'), 129 + depth0, 130 + { 131 + name: 'functions/getUrl', 132 + data: data, 133 + helpers: helpers, 134 + partials: partials, 135 + decorators: container.decorators, 136 + }, 137 + )) != null 138 + ? stack1 139 + : '') + 140 + '\n\n' + 141 + ((stack1 = container.invokePartial( 142 + lookupProperty(partials, 'functions/getFormData'), 143 + depth0, 144 + { 145 + name: 'functions/getFormData', 146 + data: data, 147 + helpers: helpers, 148 + partials: partials, 149 + decorators: container.decorators, 150 + }, 151 + )) != null 152 + ? stack1 153 + : '') + 154 + '\n\n' + 155 + ((stack1 = container.invokePartial( 156 + lookupProperty(partials, 'functions/resolve'), 157 + depth0, 158 + { 159 + name: 'functions/resolve', 160 + data: data, 161 + helpers: helpers, 162 + partials: partials, 163 + decorators: container.decorators, 164 + }, 165 + )) != null 166 + ? stack1 167 + : '') + 168 + '\n\n' + 169 + ((stack1 = container.invokePartial( 170 + lookupProperty(partials, 'fetch/getHeaders'), 171 + depth0, 172 + { 173 + name: 'fetch/getHeaders', 174 + data: data, 175 + helpers: helpers, 176 + partials: partials, 177 + decorators: container.decorators, 178 + }, 179 + )) != null 180 + ? stack1 181 + : '') + 182 + '\n\n' + 183 + ((stack1 = container.invokePartial( 184 + lookupProperty(partials, 'xhr/getRequestBody'), 185 + depth0, 186 + { 187 + name: 'xhr/getRequestBody', 188 + data: data, 189 + helpers: helpers, 190 + partials: partials, 191 + decorators: container.decorators, 192 + }, 193 + )) != null 194 + ? stack1 195 + : '') + 196 + '\n\n' + 197 + ((stack1 = container.invokePartial( 198 + lookupProperty(partials, 'xhr/sendRequest'), 199 + depth0, 200 + { 201 + name: 'xhr/sendRequest', 202 + data: data, 203 + helpers: helpers, 204 + partials: partials, 205 + decorators: container.decorators, 206 + }, 207 + )) != null 208 + ? stack1 209 + : '') + 210 + '\n\n' + 211 + ((stack1 = container.invokePartial( 212 + lookupProperty(partials, 'xhr/getResponseHeader'), 213 + depth0, 214 + { 215 + name: 'xhr/getResponseHeader', 216 + data: data, 217 + helpers: helpers, 218 + partials: partials, 219 + decorators: container.decorators, 220 + }, 221 + )) != null 222 + ? stack1 223 + : '') + 224 + '\n\n' + 225 + ((stack1 = container.invokePartial( 226 + lookupProperty(partials, 'xhr/getResponseBody'), 227 + depth0, 228 + { 229 + name: 'xhr/getResponseBody', 230 + data: data, 231 + helpers: helpers, 232 + partials: partials, 233 + decorators: container.decorators, 234 + }, 235 + )) != null 236 + ? stack1 237 + : '') + 238 + '\n\n' + 239 + ((stack1 = container.invokePartial( 240 + lookupProperty(partials, 'functions/catchErrorCodes'), 241 + depth0, 242 + { 243 + name: 'functions/catchErrorCodes', 244 + data: data, 245 + helpers: helpers, 246 + partials: partials, 247 + decorators: container.decorators, 248 + }, 249 + )) != null 250 + ? stack1 251 + : '') + 252 + '\n\n/**\n * Request method\n * @param config The OpenAPI configuration object\n * @param options The request options from the service\n * @returns CancelablePromise<' + 253 + ((stack1 = lookupProperty(helpers, 'equals').call( 254 + alias1, 255 + lookupProperty( 256 + lookupProperty( 257 + lookupProperty(lookupProperty(data, 'root'), '$config'), 258 + 'services', 259 + ), 260 + 'response', 261 + ), 262 + 'response', 263 + { 264 + name: 'equals', 265 + hash: {}, 266 + fn: container.program(1, data, 0), 267 + inverse: container.program(3, data, 0), 268 + data: data, 269 + loc: { 270 + start: { line: 60, column: 30 }, 271 + end: { line: 60, column: 116 }, 272 + }, 273 + }, 274 + )) != null 275 + ? stack1 276 + : '') + 277 + '>\n * @throws ApiError\n */\nexport const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions<T>): CancelablePromise<' + 278 + ((stack1 = lookupProperty(helpers, 'equals').call( 279 + alias1, 280 + lookupProperty( 281 + lookupProperty( 282 + lookupProperty(lookupProperty(data, 'root'), '$config'), 283 + 'services', 284 + ), 285 + 'response', 286 + ), 287 + 'response', 288 + { 289 + name: 'equals', 290 + hash: {}, 291 + fn: container.program(1, data, 0), 292 + inverse: container.program(3, data, 0), 293 + data: data, 294 + loc: { 295 + start: { line: 63, column: 100 }, 296 + end: { line: 63, column: 186 }, 297 + }, 298 + }, 299 + )) != null 300 + ? stack1 301 + : '') + 302 + '> => {\n return new CancelablePromise(async (resolve, reject, onCancel) => {\n try {\n const url = getUrl(config, options);\n const formData = getFormData(options);\n const body = getRequestBody(options);\n const headers = await getHeaders(config, options);\n\n if (!onCancel.isCancelled) {\n let response = await sendRequest(config, options, url, body, formData, headers, onCancel);\n\n for (const fn of config.interceptors.response._fns) {\n response = await fn(response);\n }\n\n const responseBody = getResponseBody(response);\n const responseHeader = getResponseHeader(response, options.responseHeader);\n\n let transformedBody = responseBody;\n if (options.responseTransformer && isSuccess(response.status)) {\n transformedBody = await options.responseTransformer(responseBody)\n }\n\n const result: ApiResult = {\n url,\n ok: isSuccess(response.status),\n status: response.status,\n statusText: response.statusText,\n body: responseHeader ?? transformedBody,\n };\n\n catchErrorCodes(options, result);\n\n resolve(' + 303 + ((stack1 = lookupProperty(helpers, 'equals').call( 304 + alias1, 305 + lookupProperty( 306 + lookupProperty( 307 + lookupProperty(lookupProperty(data, 'root'), '$config'), 308 + 'services', 309 + ), 310 + 'response', 311 + ), 312 + 'body', 313 + { 314 + name: 'equals', 315 + hash: {}, 316 + fn: container.program(5, data, 0), 317 + inverse: container.program(7, data, 0), 318 + data: data, 319 + loc: { 320 + start: { line: 96, column: 12 }, 321 + end: { line: 96, column: 98 }, 322 + }, 323 + }, 324 + )) != null 325 + ? stack1 326 + : '') + 327 + ');\n }\n } catch (error) {\n reject(error);\n }\n });\n};' 328 + ); 329 + }, 330 + usePartial: true, 331 + useData: true, 332 + };
+7
packages/openapi-ts/src/legacy/handlebars/compiled/core/xhr/sendRequest.js
···
··· 1 + export default { 2 + compiler: [8, '>= 4.3.0'], 3 + main: function (container, depth0, helpers, partials, data) { 4 + return "export const sendRequest = async (\n config: OpenAPIConfig,\n options: ApiRequestOptions,\n url: string,\n body: any,\n formData: FormData | undefined,\n headers: Headers,\n onCancel: OnCancel\n): Promise<XMLHttpRequest> => {\n let xhr = new XMLHttpRequest();\n xhr.open(options.method, url, true);\n xhr.withCredentials = config.WITH_CREDENTIALS;\n\n headers.forEach((value, key) => {\n xhr.setRequestHeader(key, value);\n });\n\n return new Promise<XMLHttpRequest>(async (resolve, reject) => {\n xhr.onload = () => resolve(xhr);\n xhr.onabort = () => reject(new Error('Request aborted'));\n xhr.onerror = () => reject(new Error('Network error'));\n\n for (const fn of config.interceptors.request._fns) {\n xhr = await fn(xhr);\n }\n\n xhr.send(body ?? formData);\n\n onCancel(() => xhr.abort());\n });\n};"; 5 + }, 6 + useData: true, 7 + };
+79
packages/openapi-ts/src/legacy/handlebars/handlebars.cjs
···
··· 1 + const Handlebars = require('handlebars'); 2 + const { 3 + readFileSync, 4 + readdirSync, 5 + statSync, 6 + existsSync, 7 + mkdirSync, 8 + writeFileSync, 9 + rmdirSync, 10 + } = require('node:fs'); 11 + const path = require('node:path'); 12 + 13 + const getFilesRecursively = (folderPath) => { 14 + let fileList = []; 15 + 16 + const files = readdirSync(folderPath); 17 + 18 + files.forEach((file) => { 19 + const fullPath = path.join(folderPath, file); 20 + 21 + if (statSync(fullPath).isDirectory()) { 22 + fileList = fileList.concat(getFilesRecursively(fullPath)); 23 + } else { 24 + fileList.push(fullPath); 25 + } 26 + }); 27 + 28 + return fileList; 29 + }; 30 + 31 + const templatePaths = getFilesRecursively( 32 + path.resolve('src', 'legacy', 'handlebars', 'templates'), 33 + ); 34 + 35 + const compiledDirPath = path.resolve('src', 'legacy', 'handlebars', 'compiled'); 36 + 37 + if (existsSync(compiledDirPath)) { 38 + rmdirSync(compiledDirPath, { 39 + recursive: true, 40 + }); 41 + } 42 + 43 + templatePaths.forEach((templatePath) => { 44 + const template = readFileSync(templatePath, 'utf8').toString().trim(); 45 + 46 + const compiled = Handlebars.precompile(template, { 47 + knownHelpers: { 48 + camelCase: true, 49 + equals: true, 50 + ifdef: true, 51 + notEquals: true, 52 + transformServiceName: true, 53 + }, 54 + knownHelpersOnly: true, 55 + noEscape: true, 56 + preventIndent: true, 57 + strict: true, 58 + }); 59 + 60 + const parts = templatePath.split(path.sep); 61 + const fileName = parts[parts.length - 1]; 62 + const fileNameParts = fileName.split('.'); 63 + const fileNameBase = fileNameParts 64 + .slice(0, fileNameParts.length - 1) 65 + .join('.'); 66 + const compiledPath = path.resolve( 67 + compiledDirPath, 68 + ...parts.slice(parts.lastIndexOf('templates') + 1, parts.length - 1), 69 + `${fileNameBase}.js`, 70 + ); 71 + 72 + const compiledDir = path.dirname(compiledPath); 73 + 74 + if (!existsSync(compiledDir)) { 75 + mkdirSync(compiledDir, { recursive: true }); 76 + } 77 + 78 + writeFileSync(compiledPath, `export default ${compiled};`); 79 + });
-4
packages/openapi-ts/src/node/index.ts
··· 1 - export { createClient, defineConfig } from '../'; 2 - export type { Plugins } from '../plugins'; 3 - export type { Operation } from '../types/client'; 4 - export type { UserConfig } from '../types/config';
···
-9
packages/openapi-ts/src/node/tsconfig.json
··· 1 - { 2 - "compilerOptions": { 3 - "lib": ["ESNext", "DOM"], 4 - "stripInternal": true 5 - }, 6 - "exclude": ["../**/__tests__"], 7 - "extends": "../../tsconfig.base.json", 8 - "include": ["../", "../client/interfaces"] 9 - }
···
packages/openapi-ts/src/templates/client.hbs packages/openapi-ts/src/legacy/handlebars/templates/client.hbs
packages/openapi-ts/src/templates/core/ApiError.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/ApiError.hbs
packages/openapi-ts/src/templates/core/ApiRequestOptions.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/ApiRequestOptions.hbs
packages/openapi-ts/src/templates/core/ApiResult.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/ApiResult.hbs
packages/openapi-ts/src/templates/core/BaseHttpRequest.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/BaseHttpRequest.hbs
packages/openapi-ts/src/templates/core/CancelablePromise.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/CancelablePromise.hbs
packages/openapi-ts/src/templates/core/HttpRequest.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/HttpRequest.hbs
packages/openapi-ts/src/templates/core/OpenAPI.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/OpenAPI.hbs
packages/openapi-ts/src/templates/core/angular/getHeaders.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/angular/getHeaders.hbs
packages/openapi-ts/src/templates/core/angular/getRequestBody.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/angular/getRequestBody.hbs
packages/openapi-ts/src/templates/core/angular/getResponseBody.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/angular/getResponseBody.hbs
packages/openapi-ts/src/templates/core/angular/getResponseHeader.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/angular/getResponseHeader.hbs
packages/openapi-ts/src/templates/core/angular/request.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/angular/request.hbs
packages/openapi-ts/src/templates/core/angular/sendRequest.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/angular/sendRequest.hbs
packages/openapi-ts/src/templates/core/axios/getHeaders.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/axios/getHeaders.hbs
packages/openapi-ts/src/templates/core/axios/getRequestBody.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/axios/getRequestBody.hbs
packages/openapi-ts/src/templates/core/axios/getResponseBody.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/axios/getResponseBody.hbs
packages/openapi-ts/src/templates/core/axios/getResponseHeader.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/axios/getResponseHeader.hbs
packages/openapi-ts/src/templates/core/axios/request.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/axios/request.hbs
packages/openapi-ts/src/templates/core/axios/sendRequest.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/axios/sendRequest.hbs
packages/openapi-ts/src/templates/core/fetch/getHeaders.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/fetch/getHeaders.hbs
packages/openapi-ts/src/templates/core/fetch/getRequestBody.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/fetch/getRequestBody.hbs
packages/openapi-ts/src/templates/core/fetch/getResponseBody.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/fetch/getResponseBody.hbs
packages/openapi-ts/src/templates/core/fetch/getResponseHeader.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/fetch/getResponseHeader.hbs
packages/openapi-ts/src/templates/core/fetch/request.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/fetch/request.hbs
packages/openapi-ts/src/templates/core/fetch/sendRequest.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/fetch/sendRequest.hbs
packages/openapi-ts/src/templates/core/functions/base64.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/functions/base64.hbs
packages/openapi-ts/src/templates/core/functions/catchErrorCodes.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/functions/catchErrorCodes.hbs
packages/openapi-ts/src/templates/core/functions/getFormData.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/functions/getFormData.hbs
packages/openapi-ts/src/templates/core/functions/getQueryString.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/functions/getQueryString.hbs
packages/openapi-ts/src/templates/core/functions/getUrl.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/functions/getUrl.hbs
packages/openapi-ts/src/templates/core/functions/isBlob.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/functions/isBlob.hbs
packages/openapi-ts/src/templates/core/functions/isFormData.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/functions/isFormData.hbs
packages/openapi-ts/src/templates/core/functions/isString.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/functions/isString.hbs
packages/openapi-ts/src/templates/core/functions/isStringWithValue.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/functions/isStringWithValue.hbs
packages/openapi-ts/src/templates/core/functions/isSuccess.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/functions/isSuccess.hbs
packages/openapi-ts/src/templates/core/functions/resolve.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/functions/resolve.hbs
packages/openapi-ts/src/templates/core/request.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/request.hbs
packages/openapi-ts/src/templates/core/xhr/getHeaders.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/xhr/getHeaders.hbs
packages/openapi-ts/src/templates/core/xhr/getRequestBody.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/xhr/getRequestBody.hbs
packages/openapi-ts/src/templates/core/xhr/getResponseBody.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/xhr/getResponseBody.hbs
packages/openapi-ts/src/templates/core/xhr/getResponseHeader.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/xhr/getResponseHeader.hbs
packages/openapi-ts/src/templates/core/xhr/request.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/xhr/request.hbs
packages/openapi-ts/src/templates/core/xhr/sendRequest.hbs packages/openapi-ts/src/legacy/handlebars/templates/core/xhr/sendRequest.hbs
+1
packages/openapi-ts/src/types/config.ts
··· 26 */ 27 client?: 28 | Client 29 | { 30 /** 31 * Bundle the client module? Set this to true if you're using a standalone
··· 26 */ 27 client?: 28 | Client 29 + | false 30 | { 31 /** 32 * Bundle the client module? Set this to true if you're using a standalone
-16
packages/openapi-ts/src/types/hbs.d.ts
··· 1 - /** 2 - * We precompile the handlebar templates during the build process, 3 - * however in the source code we want to reference these templates 4 - * by importing the hbs files directly. Of course this is not allowed 5 - * by Typescript, so we need to provide some declaration for these 6 - * types. 7 - * @see: build.js for more information 8 - */ 9 - declare module '*.hbs' { 10 - const template: { 11 - compiler: [number, string]; 12 - main: () => void; 13 - useData: true; 14 - }; 15 - export default template; 16 - }
···
+89 -45
packages/openapi-ts/src/utils/handlebars.ts
··· 1 import Handlebars from 'handlebars/runtime'; 2 3 - import templateClient from '../templates/client.hbs'; 4 - import angularGetHeaders from '../templates/core/angular/getHeaders.hbs'; 5 - import angularGetRequestBody from '../templates/core/angular/getRequestBody.hbs'; 6 - import angularGetResponseBody from '../templates/core/angular/getResponseBody.hbs'; 7 - import angularGetResponseHeader from '../templates/core/angular/getResponseHeader.hbs'; 8 - import angularRequest from '../templates/core/angular/request.hbs'; 9 - import angularSendRequest from '../templates/core/angular/sendRequest.hbs'; 10 - import templateCoreApiError from '../templates/core/ApiError.hbs'; 11 - import templateCoreApiRequestOptions from '../templates/core/ApiRequestOptions.hbs'; 12 - import templateCoreApiResult from '../templates/core/ApiResult.hbs'; 13 - import axiosGetHeaders from '../templates/core/axios/getHeaders.hbs'; 14 - import axiosGetRequestBody from '../templates/core/axios/getRequestBody.hbs'; 15 - import axiosGetResponseBody from '../templates/core/axios/getResponseBody.hbs'; 16 - import axiosGetResponseHeader from '../templates/core/axios/getResponseHeader.hbs'; 17 - import axiosRequest from '../templates/core/axios/request.hbs'; 18 - import axiosSendRequest from '../templates/core/axios/sendRequest.hbs'; 19 - import templateCoreBaseHttpRequest from '../templates/core/BaseHttpRequest.hbs'; 20 - import templateCancelablePromise from '../templates/core/CancelablePromise.hbs'; 21 - import fetchGetHeaders from '../templates/core/fetch/getHeaders.hbs'; 22 - import fetchGetRequestBody from '../templates/core/fetch/getRequestBody.hbs'; 23 - import fetchGetResponseBody from '../templates/core/fetch/getResponseBody.hbs'; 24 - import fetchGetResponseHeader from '../templates/core/fetch/getResponseHeader.hbs'; 25 - import fetchRequest from '../templates/core/fetch/request.hbs'; 26 - import fetchSendRequest from '../templates/core/fetch/sendRequest.hbs'; 27 - import functionBase64 from '../templates/core/functions/base64.hbs'; 28 - import functionCatchErrorCodes from '../templates/core/functions/catchErrorCodes.hbs'; 29 - import functionGetFormData from '../templates/core/functions/getFormData.hbs'; 30 - import functionGetQueryString from '../templates/core/functions/getQueryString.hbs'; 31 - import functionGetUrl from '../templates/core/functions/getUrl.hbs'; 32 - import functionIsBlob from '../templates/core/functions/isBlob.hbs'; 33 - import functionIsFormData from '../templates/core/functions/isFormData.hbs'; 34 - import functionIsString from '../templates/core/functions/isString.hbs'; 35 - import functionIsStringWithValue from '../templates/core/functions/isStringWithValue.hbs'; 36 - import functionIsSuccess from '../templates/core/functions/isSuccess.hbs'; 37 - import functionResolve from '../templates/core/functions/resolve.hbs'; 38 - import templateCoreHttpRequest from '../templates/core/HttpRequest.hbs'; 39 - import templateCoreSettings from '../templates/core/OpenAPI.hbs'; 40 - import templateCoreRequest from '../templates/core/request.hbs'; 41 - import xhrGetHeaders from '../templates/core/xhr/getHeaders.hbs'; 42 - import xhrGetRequestBody from '../templates/core/xhr/getRequestBody.hbs'; 43 - import xhrGetResponseBody from '../templates/core/xhr/getResponseBody.hbs'; 44 - import xhrGetResponseHeader from '../templates/core/xhr/getResponseHeader.hbs'; 45 - import xhrRequest from '../templates/core/xhr/request.hbs'; 46 - import xhrSendRequest from '../templates/core/xhr/sendRequest.hbs'; 47 import { camelCase } from './camelCase'; 48 import { transformServiceName } from './transform'; 49 ··· 128 }, 129 }; 130 131 - // Generic functions used in 'request' file @see src/templates/core/request.hbs for more info 132 Handlebars.registerPartial( 133 'functions/base64', 134 Handlebars.template(functionBase64),
··· 1 import Handlebars from 'handlebars/runtime'; 2 3 + // @ts-ignore 4 + import templateClient from '../legacy/handlebars/compiled/client.js'; 5 + // @ts-ignore 6 + import angularGetHeaders from '../legacy/handlebars/compiled/core/angular/getHeaders.js'; 7 + // @ts-ignore 8 + import angularGetRequestBody from '../legacy/handlebars/compiled/core/angular/getRequestBody.js'; 9 + // @ts-ignore 10 + import angularGetResponseBody from '../legacy/handlebars/compiled/core/angular/getResponseBody.js'; 11 + // @ts-ignore 12 + import angularGetResponseHeader from '../legacy/handlebars/compiled/core/angular/getResponseHeader.js'; 13 + // @ts-ignore 14 + import angularRequest from '../legacy/handlebars/compiled/core/angular/request.js'; 15 + // @ts-ignore 16 + import angularSendRequest from '../legacy/handlebars/compiled/core/angular/sendRequest.js'; 17 + // @ts-ignore 18 + import templateCoreApiError from '../legacy/handlebars/compiled/core/ApiError.js'; 19 + // @ts-ignore 20 + import templateCoreApiRequestOptions from '../legacy/handlebars/compiled/core/ApiRequestOptions.js'; 21 + // @ts-ignore 22 + import templateCoreApiResult from '../legacy/handlebars/compiled/core/ApiResult.js'; 23 + // @ts-ignore 24 + import axiosGetHeaders from '../legacy/handlebars/compiled/core/axios/getHeaders.js'; 25 + // @ts-ignore 26 + import axiosGetRequestBody from '../legacy/handlebars/compiled/core/axios/getRequestBody.js'; 27 + // @ts-ignore 28 + import axiosGetResponseBody from '../legacy/handlebars/compiled/core/axios/getResponseBody.js'; 29 + // @ts-ignore 30 + import axiosGetResponseHeader from '../legacy/handlebars/compiled/core/axios/getResponseHeader.js'; 31 + // @ts-ignore 32 + import axiosRequest from '../legacy/handlebars/compiled/core/axios/request.js'; 33 + // @ts-ignore 34 + import axiosSendRequest from '../legacy/handlebars/compiled/core/axios/sendRequest.js'; 35 + // @ts-ignore 36 + import templateCoreBaseHttpRequest from '../legacy/handlebars/compiled/core/BaseHttpRequest.js'; 37 + // @ts-ignore 38 + import templateCancelablePromise from '../legacy/handlebars/compiled/core/CancelablePromise.js'; 39 + // @ts-ignore 40 + import fetchGetHeaders from '../legacy/handlebars/compiled/core/fetch/getHeaders.js'; 41 + // @ts-ignore 42 + import fetchGetRequestBody from '../legacy/handlebars/compiled/core/fetch/getRequestBody.js'; 43 + // @ts-ignore 44 + import fetchGetResponseBody from '../legacy/handlebars/compiled/core/fetch/getResponseBody.js'; 45 + // @ts-ignore 46 + import fetchGetResponseHeader from '../legacy/handlebars/compiled/core/fetch/getResponseHeader.js'; 47 + // @ts-ignore 48 + import fetchRequest from '../legacy/handlebars/compiled/core/fetch/request.js'; 49 + // @ts-ignore 50 + import fetchSendRequest from '../legacy/handlebars/compiled/core/fetch/sendRequest.js'; 51 + // @ts-ignore 52 + import functionBase64 from '../legacy/handlebars/compiled/core/functions/base64.js'; 53 + // @ts-ignore 54 + import functionCatchErrorCodes from '../legacy/handlebars/compiled/core/functions/catchErrorCodes.js'; 55 + // @ts-ignore 56 + import functionGetFormData from '../legacy/handlebars/compiled/core/functions/getFormData.js'; 57 + // @ts-ignore 58 + import functionGetQueryString from '../legacy/handlebars/compiled/core/functions/getQueryString.js'; 59 + // @ts-ignore 60 + import functionGetUrl from '../legacy/handlebars/compiled/core/functions/getUrl.js'; 61 + // @ts-ignore 62 + import functionIsBlob from '../legacy/handlebars/compiled/core/functions/isBlob.js'; 63 + // @ts-ignore 64 + import functionIsFormData from '../legacy/handlebars/compiled/core/functions/isFormData.js'; 65 + // @ts-ignore 66 + import functionIsString from '../legacy/handlebars/compiled/core/functions/isString.js'; 67 + // @ts-ignore 68 + import functionIsStringWithValue from '../legacy/handlebars/compiled/core/functions/isStringWithValue.js'; 69 + // @ts-ignore 70 + import functionIsSuccess from '../legacy/handlebars/compiled/core/functions/isSuccess.js'; 71 + // @ts-ignore 72 + import functionResolve from '../legacy/handlebars/compiled/core/functions/resolve.js'; 73 + // @ts-ignore 74 + import templateCoreHttpRequest from '../legacy/handlebars/compiled/core/HttpRequest.js'; 75 + // @ts-ignore 76 + import templateCoreSettings from '../legacy/handlebars/compiled/core/OpenAPI.js'; 77 + // @ts-ignore 78 + import templateCoreRequest from '../legacy/handlebars/compiled/core/request.js'; 79 + // @ts-ignore 80 + import xhrGetHeaders from '../legacy/handlebars/compiled/core/xhr/getHeaders.js'; 81 + // @ts-ignore 82 + import xhrGetRequestBody from '../legacy/handlebars/compiled/core/xhr/getRequestBody.js'; 83 + // @ts-ignore 84 + import xhrGetResponseBody from '../legacy/handlebars/compiled/core/xhr/getResponseBody.js'; 85 + // @ts-ignore 86 + import xhrGetResponseHeader from '../legacy/handlebars/compiled/core/xhr/getResponseHeader.js'; 87 + // @ts-ignore 88 + import xhrRequest from '../legacy/handlebars/compiled/core/xhr/request.js'; 89 + // @ts-ignore 90 + import xhrSendRequest from '../legacy/handlebars/compiled/core/xhr/sendRequest.js'; 91 import { camelCase } from './camelCase'; 92 import { transformServiceName } from './transform'; 93 ··· 172 }, 173 }; 174 175 + // Generic functions used in 'request' file @see src/legacy/handlebars/templates/core/request.hbs for more info 176 Handlebars.registerPartial( 177 'functions/base64', 178 Handlebars.template(functionBase64),
+35 -11
packages/openapi-ts/src/utils/performance.ts
··· 5 const idStart = (id: string) => `${id}-start`; 6 7 export const Performance = { 8 - clear: () => { 9 performance.clearMarks(); 10 performance.clearMeasures(); 11 }, 12 - end: (id: string) => { 13 - performance.mark(idEnd(id)); 14 - }, 15 - getEntriesByName: (id: string) => performance.getEntriesByName(idLength(id)), 16 - measure: (id: string) => { 17 - performance.measure(idLength(id), idStart(id), idEnd(id)); 18 - }, 19 - start: (id: string) => { 20 - performance.mark(idStart(id)); 21 - }, 22 };
··· 5 const idStart = (id: string) => `${id}-start`; 6 7 export const Performance = { 8 + clear: (): void => { 9 performance.clearMarks(); 10 performance.clearMeasures(); 11 }, 12 + end: (id: string): PerformanceMark => performance.mark(idEnd(id)), 13 + getEntriesByName: (id: string): PerformanceEntryList => 14 + performance.getEntriesByName(idLength(id)), 15 + measure: (id: string): PerformanceMeasure => 16 + performance.measure(idLength(id), idStart(id), idEnd(id)), 17 + start: (id: string): PerformanceMark => performance.mark(idStart(id)), 18 }; 19 + 20 + export class PerformanceReport { 21 + totalMeasure: PerformanceMeasure; 22 + 23 + constructor({ totalMark }: { totalMark: string }) { 24 + this.totalMeasure = Performance.measure(totalMark); 25 + } 26 + 27 + public report({ marks }: { marks: ReadonlyArray<string> }) { 28 + const totalDuration = Math.ceil(this.totalMeasure.duration * 100) / 100; 29 + const totalName = this.totalMeasure.name; 30 + console.warn( 31 + `${totalName.substring(0, totalName.length - idLength('').length)}: ${totalDuration.toFixed(2)}ms`, 32 + ); 33 + 34 + marks.forEach((mark) => { 35 + const markMeasure = Performance.measure(mark); 36 + const markDuration = Math.ceil(markMeasure.duration * 100) / 100; 37 + const percentage = 38 + Math.ceil( 39 + (markMeasure.duration / this.totalMeasure.duration) * 100 * 100, 40 + ) / 100; 41 + console.warn( 42 + `${mark}: ${markDuration.toFixed(2)}ms (${percentage.toFixed(2)}%)`, 43 + ); 44 + }); 45 + } 46 + }
-15
packages/openapi-ts/test/__snapshots__/test/generated/v3-hey-api-client-axios-bundle/client.ts.snap
··· 1 - export { createClient } from './core/'; 2 - export type { 3 - Client, 4 - Config, 5 - Options, 6 - RequestOptions, 7 - RequestOptionsBase, 8 - RequestResult, 9 - } from './core/types'; 10 - export { 11 - createConfig, 12 - formDataBodySerializer, 13 - jsonBodySerializer, 14 - urlSearchParamsBodySerializer, 15 - } from './core/utils';
···
+8
packages/openapi-ts/test/__snapshots__/test/generated/v3-hey-api-client-axios-bundle/core/index.ts.snap packages/openapi-ts/test/__snapshots__/test/generated/v3-hey-api-client-axios-bundle/client/index.ts.snap
··· 84 setConfig, 85 } as Client; 86 };
··· 84 setConfig, 85 } as Client; 86 }; 87 + 88 + export type { Config, Options } from './types'; 89 + export { 90 + createConfig, 91 + formDataBodySerializer, 92 + jsonBodySerializer, 93 + urlSearchParamsBodySerializer, 94 + } from './utils';
packages/openapi-ts/test/__snapshots__/test/generated/v3-hey-api-client-axios-bundle/core/types.ts.snap packages/openapi-ts/test/__snapshots__/test/generated/v3-hey-api-client-axios-bundle/client/types.ts.snap
packages/openapi-ts/test/__snapshots__/test/generated/v3-hey-api-client-axios-bundle/core/utils.ts.snap packages/openapi-ts/test/__snapshots__/test/generated/v3-hey-api-client-axios-bundle/client/utils.ts.snap
-15
packages/openapi-ts/test/__snapshots__/test/generated/v3-hey-api-client-axios-bundle_transform/client.ts.snap
··· 1 - export { createClient } from './core/'; 2 - export type { 3 - Client, 4 - Config, 5 - Options, 6 - RequestOptions, 7 - RequestOptionsBase, 8 - RequestResult, 9 - } from './core/types'; 10 - export { 11 - createConfig, 12 - formDataBodySerializer, 13 - jsonBodySerializer, 14 - urlSearchParamsBodySerializer, 15 - } from './core/utils';
···
+8
packages/openapi-ts/test/__snapshots__/test/generated/v3-hey-api-client-axios-bundle_transform/core/index.ts.snap packages/openapi-ts/test/__snapshots__/test/generated/v3-hey-api-client-axios-bundle_transform/client/index.ts.snap
··· 84 setConfig, 85 } as Client; 86 };
··· 84 setConfig, 85 } as Client; 86 }; 87 + 88 + export type { Config, Options } from './types'; 89 + export { 90 + createConfig, 91 + formDataBodySerializer, 92 + jsonBodySerializer, 93 + urlSearchParamsBodySerializer, 94 + } from './utils';
packages/openapi-ts/test/__snapshots__/test/generated/v3-hey-api-client-axios-bundle_transform/core/types.ts.snap packages/openapi-ts/test/__snapshots__/test/generated/v3-hey-api-client-axios-bundle_transform/client/types.ts.snap
packages/openapi-ts/test/__snapshots__/test/generated/v3-hey-api-client-axios-bundle_transform/core/utils.ts.snap packages/openapi-ts/test/__snapshots__/test/generated/v3-hey-api-client-axios-bundle_transform/client/utils.ts.snap
-19
packages/openapi-ts/test/__snapshots__/test/generated/v3-hey-api-client-fetch-bundle/client.ts.snap
··· 1 - export { createClient } from './core/'; 2 - export type { 3 - Client, 4 - Config, 5 - Options, 6 - RequestOptions, 7 - RequestOptionsBase, 8 - RequestResult, 9 - } from './core/types'; 10 - export { 11 - type BodySerializer, 12 - createConfig, 13 - formDataBodySerializer, 14 - jsonBodySerializer, 15 - type Middleware, 16 - type QuerySerializer, 17 - type QuerySerializerOptions, 18 - urlSearchParamsBodySerializer, 19 - } from './core/utils';
···
+8
packages/openapi-ts/test/__snapshots__/test/generated/v3-hey-api-client-fetch-bundle/core/index.ts.snap packages/openapi-ts/test/__snapshots__/test/generated/v3-hey-api-client-fetch-bundle/client/index.ts.snap
··· 144 trace: (options) => request({ ...options, method: 'TRACE' }), 145 }; 146 };
··· 144 trace: (options) => request({ ...options, method: 'TRACE' }), 145 }; 146 }; 147 + 148 + export type { Config, Options } from './types'; 149 + export { 150 + createConfig, 151 + formDataBodySerializer, 152 + jsonBodySerializer, 153 + urlSearchParamsBodySerializer, 154 + } from './utils';
packages/openapi-ts/test/__snapshots__/test/generated/v3-hey-api-client-fetch-bundle/core/types.ts.snap packages/openapi-ts/test/__snapshots__/test/generated/v3-hey-api-client-fetch-bundle/client/types.ts.snap
packages/openapi-ts/test/__snapshots__/test/generated/v3-hey-api-client-fetch-bundle/core/utils.ts.snap packages/openapi-ts/test/__snapshots__/test/generated/v3-hey-api-client-fetch-bundle/client/utils.ts.snap
-19
packages/openapi-ts/test/__snapshots__/test/generated/v3-hey-api-client-fetch-bundle_transform/client.ts.snap
··· 1 - export { createClient } from './core/'; 2 - export type { 3 - Client, 4 - Config, 5 - Options, 6 - RequestOptions, 7 - RequestOptionsBase, 8 - RequestResult, 9 - } from './core/types'; 10 - export { 11 - type BodySerializer, 12 - createConfig, 13 - formDataBodySerializer, 14 - jsonBodySerializer, 15 - type Middleware, 16 - type QuerySerializer, 17 - type QuerySerializerOptions, 18 - urlSearchParamsBodySerializer, 19 - } from './core/utils';
···
+8
packages/openapi-ts/test/__snapshots__/test/generated/v3-hey-api-client-fetch-bundle_transform/core/index.ts.snap packages/openapi-ts/test/__snapshots__/test/generated/v3-hey-api-client-fetch-bundle_transform/client/index.ts.snap
··· 144 trace: (options) => request({ ...options, method: 'TRACE' }), 145 }; 146 };
··· 144 trace: (options) => request({ ...options, method: 'TRACE' }), 145 }; 146 }; 147 + 148 + export type { Config, Options } from './types'; 149 + export { 150 + createConfig, 151 + formDataBodySerializer, 152 + jsonBodySerializer, 153 + urlSearchParamsBodySerializer, 154 + } from './utils';
packages/openapi-ts/test/__snapshots__/test/generated/v3-hey-api-client-fetch-bundle_transform/core/types.ts.snap packages/openapi-ts/test/__snapshots__/test/generated/v3-hey-api-client-fetch-bundle_transform/client/types.ts.snap
packages/openapi-ts/test/__snapshots__/test/generated/v3-hey-api-client-fetch-bundle_transform/core/utils.ts.snap packages/openapi-ts/test/__snapshots__/test/generated/v3-hey-api-client-fetch-bundle_transform/client/utils.ts.snap
+5 -3
packages/openapi-ts/test/bin.spec.ts
··· 14 '--dry-run', 15 'true', 16 ]); 17 - expect(result.stdout.toString()).toContain('Done!'); 18 expect(result.stderr.toString()).toContain('Duplicate operationId'); 19 }); 20 ··· 119 '--dry-run', 120 'true', 121 ]); 122 - expect(result.stdout.toString()).toContain('Done!'); 123 expect(result.stderr.toString()).toContain('Duplicate operationId'); 124 }); 125 ··· 139 '--dry-run', 140 'true', 141 ]); 142 - expect(result.stdout.toString()).toContain('Done!'); 143 expect(result.stderr.toString()).toContain('Duplicate operationId'); 144 }); 145 ··· 187 './test/spec/v3.json', 188 '--output', 189 './test/generated/bin', 190 '--dry-run', 191 'true', 192 ]);
··· 14 '--dry-run', 15 'true', 16 ]); 17 + expect(result.stdout.toString()).toContain('Creating Fetch client'); 18 expect(result.stderr.toString()).toContain('Duplicate operationId'); 19 }); 20 ··· 119 '--dry-run', 120 'true', 121 ]); 122 + expect(result.stdout.toString()).toContain('Creating Fetch client'); 123 expect(result.stderr.toString()).toContain('Duplicate operationId'); 124 }); 125 ··· 139 '--dry-run', 140 'true', 141 ]); 142 + expect(result.stdout.toString()).toContain('Creating Fetch client'); 143 expect(result.stderr.toString()).toContain('Duplicate operationId'); 144 }); 145 ··· 187 './test/spec/v3.json', 188 '--output', 189 './test/generated/bin', 190 + '--client', 191 + 'invalid/client', 192 '--dry-run', 193 'true', 194 ]);
+1 -1
packages/openapi-ts/test/e2e/scripts/generateClient.ts
··· 4 export const generateClient = async ( 5 dir: string, 6 version: string, 7 - client: Config['client'], 8 useOptions: boolean = false, 9 name?: string 10 ) => {
··· 4 export const generateClient = async ( 5 dir: string, 6 version: string, 7 + client: Config['client']['name'], 8 useOptions: boolean = false, 9 name?: string 10 ) => {
+3
packages/openapi-ts/test/index.spec.ts
··· 38 }, 39 ])('$description', async ({ name, config }) => { 40 const output = toOutputPath(name); 41 await createClient({ 42 ...config, 43 input: V2_SPEC_PATH, ··· 429 '$description', 430 async ({ name, config }) => { 431 const output = toOutputPath(name); 432 await createClient({ 433 ...config, 434 input: V3_SPEC_PATH, ··· 446 async ({ name, config }) => { 447 const output = toOutputPath(name + '_transform'); 448 449 await createClient({ 450 ...config, 451 input: V3_TRANSFORMS_SPEC_PATH,
··· 38 }, 39 ])('$description', async ({ name, config }) => { 40 const output = toOutputPath(name); 41 + // @ts-ignore 42 await createClient({ 43 ...config, 44 input: V2_SPEC_PATH, ··· 430 '$description', 431 async ({ name, config }) => { 432 const output = toOutputPath(name); 433 + // @ts-ignore 434 await createClient({ 435 ...config, 436 input: V3_SPEC_PATH, ··· 448 async ({ name, config }) => { 449 const output = toOutputPath(name + '_transform'); 450 451 + // @ts-ignore 452 await createClient({ 453 ...config, 454 input: V3_TRANSFORMS_SPEC_PATH,
+3 -3
packages/openapi-ts/test/sample.cjs
··· 1 const path = require('node:path'); 2 3 const main = async () => { 4 - /** @type {import('../src/node').UserConfig} */ 5 const config = { 6 client: { 7 // bundle: true, ··· 38 // name: '^Parameters', 39 }, 40 types: { 41 - dates: 'types+transform', 42 // enums: 'javascript', 43 // export: false, 44 // include: ··· 50 }; 51 52 const { createClient } = await import( 53 - path.resolve(process.cwd(), 'dist/node/index.cjs') 54 ); 55 await createClient(config); 56 };
··· 1 const path = require('node:path'); 2 3 const main = async () => { 4 + /** @type {import('../src').UserConfig} */ 5 const config = { 6 client: { 7 // bundle: true, ··· 38 // name: '^Parameters', 39 }, 40 types: { 41 + // dates: 'types+transform', 42 // enums: 'javascript', 43 // export: false, 44 // include: ··· 50 }; 51 52 const { createClient } = await import( 53 + path.resolve(process.cwd(), 'dist', 'index.cjs') 54 ); 55 await createClient(config); 56 };
-11
packages/openapi-ts/tsconfig.check.json
··· 1 - { 2 - "compilerOptions": { 3 - "exactOptionalPropertyTypes": true, 4 - "module": "NodeNext", 5 - "moduleResolution": "NodeNext", 6 - "noEmit": true, 7 - "strict": true, 8 - "target": "ES2020" 9 - }, 10 - "include": ["dist/**/*", "types/**/*"] 11 - }
···
+1 -3
packages/openapi-ts/tsconfig.json
··· 5 "esModuleInterop": true, 6 "resolveJsonModule": true 7 }, 8 - "exclude": ["node_modules", "**/__mocks__"], 9 - "files": ["./src/types/hbs.d.ts"], 10 - "include": ["./src/**/*.ts", "rollup.config.ts", "rollup.dts.config.ts"] 11 }
··· 5 "esModuleInterop": true, 6 "resolveJsonModule": true 7 }, 8 + "exclude": ["test/custom/request.ts", "test/e2e/**", "test/generated/**"] 9 }
+12
packages/openapi-ts/tsup.config.ts
···
··· 1 + import { defineConfig } from 'tsup'; 2 + 3 + export default defineConfig((options) => ({ 4 + clean: true, 5 + dts: true, 6 + entry: ['src/index.ts'], 7 + format: ['cjs', 'esm'], 8 + minify: !options.watch, 9 + shims: false, 10 + sourcemap: true, 11 + treeshake: true, 12 + }));
+1 -3
packages/openapi-ts/vitest.config.e2e.ts
··· 2 3 import { defineConfig } from 'vitest/config'; 4 5 - import { handlebarsPlugin } from './rollup.config'; 6 - 7 export default defineConfig({ 8 - plugins: [handlebarsPlugin()], 9 test: { 10 // Dont run tests in parallel. This is to ensure the test server can start up. 11 // And that the port was not previously taken.
··· 2 3 import { defineConfig } from 'vitest/config'; 4 5 export default defineConfig({ 6 + plugins: [], 7 test: { 8 // Dont run tests in parallel. This is to ensure the test server can start up. 9 // And that the port was not previously taken.
+1 -3
packages/openapi-ts/vitest.config.unit.ts
··· 2 3 import { configDefaults, defineConfig } from 'vitest/config'; 4 5 - import { handlebarsPlugin } from './rollup.config'; 6 - 7 export default defineConfig({ 8 - plugins: [handlebarsPlugin()], 9 test: { 10 coverage: { 11 exclude: ['bin', 'dist', 'src/**/*.d.ts'],
··· 2 3 import { configDefaults, defineConfig } from 'vitest/config'; 4 5 export default defineConfig({ 6 + plugins: [], 7 test: { 8 coverage: { 9 exclude: ['bin', 'dist', 'src/**/*.d.ts'],
+841 -200
pnpm-lock.yaml
··· 8 9 .: 10 devDependencies: 11 '@changesets/changelog-github': 12 specifier: 0.5.0 13 version: 0.5.0(encoding@0.1.13) 14 '@changesets/cli': 15 specifier: 2.27.7 16 version: 2.27.7 17 - '@rollup/plugin-commonjs': 18 - specifier: 26.0.1 19 - version: 26.0.1(rollup@4.18.0) 20 - '@rollup/plugin-terser': 21 - specifier: 0.4.4 22 - version: 0.4.4(rollup@4.18.0) 23 - '@rollup/plugin-typescript': 24 - specifier: 11.1.6 25 - version: 11.1.6(rollup@4.18.0)(tslib@2.6.3)(typescript@5.5.3) 26 '@types/node': 27 specifier: 20.14.10 28 version: 20.14.10 ··· 62 prettier: 63 specifier: 3.3.2 64 version: 3.3.2 65 - rimraf: 66 - specifier: 5.0.8 67 - version: 5.0.8 68 - rollup: 69 - specifier: 4.18.0 70 - version: 4.18.0 71 - rollup-plugin-dts: 72 - specifier: 6.1.1 73 - version: 6.1.1(rollup@4.18.0)(typescript@5.5.3) 74 typescript: 75 specifier: 5.5.3 76 version: 5.5.3 ··· 526 '@hey-api/client-fetch': 527 specifier: workspace:* 528 version: link:../client-fetch 529 - '@rollup/plugin-json': 530 - specifier: 6.1.0 531 - version: 6.1.0(rollup@4.22.0) 532 - '@rollup/plugin-node-resolve': 533 - specifier: 15.2.3 534 - version: 15.2.3(rollup@4.22.0) 535 '@tanstack/react-query': 536 specifier: 5.56.2 537 version: 5.56.2(react@18.3.1) ··· 661 '@ampproject/remapping@2.3.0': 662 resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} 663 engines: {node: '>=6.0.0'} 664 665 '@angular-devkit/architect@0.1703.7': 666 resolution: {integrity: sha512-SwXbdsZqEE3JtvujCLChAii+FA20d1931VDjDYffrGWdQEViTBAr4NKtDr/kOv8KkgiL3fhGibPnRNUHTeAMtg==} ··· 814 resolution: {integrity: sha512-pRrmXMCwnmrkS3MLgAIW5dXRzeTv6GLjkjb4HmxNnvAKXN1Nfzp4KmGADBQvlVUcqi+a5D+hfGDLLnd5NnYxog==} 815 engines: {node: '>= 16'} 816 817 '@babel/code-frame@7.24.7': 818 resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} 819 engines: {node: '>=6.9.0'} ··· 1564 '@changesets/write@0.3.1': 1565 resolution: {integrity: sha512-SyGtMXzH3qFqlHKcvFY2eX+6b0NGiFcNav8AFsYwy5l8hejOeoeTDemu5Yjmke2V5jpzY+pBvM0vCCQ3gdZpfw==} 1566 1567 '@cspotcode/source-map-support@0.8.1': 1568 resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} 1569 engines: {node: '>=12'} ··· 1613 cpu: [ppc64] 1614 os: [aix] 1615 1616 '@esbuild/android-arm64@0.19.12': 1617 resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} 1618 engines: {node: '>=12'} ··· 1631 cpu: [arm64] 1632 os: [android] 1633 1634 '@esbuild/android-arm@0.19.12': 1635 resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} 1636 engines: {node: '>=12'} ··· 1649 cpu: [arm] 1650 os: [android] 1651 1652 '@esbuild/android-x64@0.19.12': 1653 resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} 1654 engines: {node: '>=12'} ··· 1667 cpu: [x64] 1668 os: [android] 1669 1670 '@esbuild/darwin-arm64@0.19.12': 1671 resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} 1672 engines: {node: '>=12'} ··· 1685 cpu: [arm64] 1686 os: [darwin] 1687 1688 '@esbuild/darwin-x64@0.19.12': 1689 resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} 1690 engines: {node: '>=12'} ··· 1703 cpu: [x64] 1704 os: [darwin] 1705 1706 '@esbuild/freebsd-arm64@0.19.12': 1707 resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} 1708 engines: {node: '>=12'} ··· 1721 cpu: [arm64] 1722 os: [freebsd] 1723 1724 '@esbuild/freebsd-x64@0.19.12': 1725 resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} 1726 engines: {node: '>=12'} ··· 1739 cpu: [x64] 1740 os: [freebsd] 1741 1742 '@esbuild/linux-arm64@0.19.12': 1743 resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} 1744 engines: {node: '>=12'} ··· 1757 cpu: [arm64] 1758 os: [linux] 1759 1760 '@esbuild/linux-arm@0.19.12': 1761 resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} 1762 engines: {node: '>=12'} ··· 1775 cpu: [arm] 1776 os: [linux] 1777 1778 '@esbuild/linux-ia32@0.19.12': 1779 resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} 1780 engines: {node: '>=12'} ··· 1793 cpu: [ia32] 1794 os: [linux] 1795 1796 '@esbuild/linux-loong64@0.19.12': 1797 resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} 1798 engines: {node: '>=12'} ··· 1811 cpu: [loong64] 1812 os: [linux] 1813 1814 '@esbuild/linux-mips64el@0.19.12': 1815 resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} 1816 engines: {node: '>=12'} ··· 1829 cpu: [mips64el] 1830 os: [linux] 1831 1832 '@esbuild/linux-ppc64@0.19.12': 1833 resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} 1834 engines: {node: '>=12'} ··· 1847 cpu: [ppc64] 1848 os: [linux] 1849 1850 '@esbuild/linux-riscv64@0.19.12': 1851 resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} 1852 engines: {node: '>=12'} ··· 1865 cpu: [riscv64] 1866 os: [linux] 1867 1868 '@esbuild/linux-s390x@0.19.12': 1869 resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} 1870 engines: {node: '>=12'} ··· 1883 cpu: [s390x] 1884 os: [linux] 1885 1886 '@esbuild/linux-x64@0.19.12': 1887 resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} 1888 engines: {node: '>=12'} ··· 1901 cpu: [x64] 1902 os: [linux] 1903 1904 '@esbuild/netbsd-x64@0.19.12': 1905 resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} 1906 engines: {node: '>=12'} ··· 1919 cpu: [x64] 1920 os: [netbsd] 1921 1922 '@esbuild/openbsd-x64@0.19.12': 1923 resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} 1924 engines: {node: '>=12'} ··· 1937 cpu: [x64] 1938 os: [openbsd] 1939 1940 '@esbuild/sunos-x64@0.19.12': 1941 resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} 1942 engines: {node: '>=12'} ··· 1955 cpu: [x64] 1956 os: [sunos] 1957 1958 '@esbuild/win32-arm64@0.19.12': 1959 resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} 1960 engines: {node: '>=12'} ··· 1973 cpu: [arm64] 1974 os: [win32] 1975 1976 '@esbuild/win32-ia32@0.19.12': 1977 resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} 1978 engines: {node: '>=12'} ··· 1991 cpu: [ia32] 1992 os: [win32] 1993 1994 '@esbuild/win32-x64@0.19.12': 1995 resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} 1996 engines: {node: '>=12'} ··· 2006 '@esbuild/win32-x64@0.21.5': 2007 resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} 2008 engines: {node: '>=12'} 2009 cpu: [x64] 2010 os: [win32] 2011 ··· 2132 2133 '@manypkg/get-packages@1.1.3': 2134 resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} 2135 2136 '@neoconfetti/svelte@2.0.0': 2137 resolution: {integrity: sha512-n/Uu7/XmHc8w0uBci0QWBjgbRzLhfWsH8yPJ5pMaseIvzSwabXvB30nb3JjzEYNBp9uGt4eCeY7LUmxAjnJV8A==} ··· 2801 '@types/react-dom': 2802 optional: true 2803 2804 - '@rollup/plugin-commonjs@26.0.1': 2805 - resolution: {integrity: sha512-UnsKoZK6/aGIH6AdkptXhNvhaqftcjq3zZdT+LY5Ftms6JR06nADcDsYp5hTU9E2lbJUEOhdlY5J4DNTneM+jQ==} 2806 - engines: {node: '>=16.0.0 || 14 >= 14.17'} 2807 - peerDependencies: 2808 - rollup: ^2.68.0||^3.0.0||^4.0.0 2809 - peerDependenciesMeta: 2810 - rollup: 2811 - optional: true 2812 - 2813 - '@rollup/plugin-json@6.1.0': 2814 - resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} 2815 - engines: {node: '>=14.0.0'} 2816 - peerDependencies: 2817 - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 2818 - peerDependenciesMeta: 2819 - rollup: 2820 - optional: true 2821 - 2822 - '@rollup/plugin-node-resolve@15.2.3': 2823 - resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} 2824 - engines: {node: '>=14.0.0'} 2825 - peerDependencies: 2826 - rollup: ^2.78.0||^3.0.0||^4.0.0 2827 - peerDependenciesMeta: 2828 - rollup: 2829 - optional: true 2830 - 2831 - '@rollup/plugin-terser@0.4.4': 2832 - resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} 2833 - engines: {node: '>=14.0.0'} 2834 - peerDependencies: 2835 - rollup: ^2.0.0||^3.0.0||^4.0.0 2836 - peerDependenciesMeta: 2837 - rollup: 2838 - optional: true 2839 - 2840 - '@rollup/plugin-typescript@11.1.6': 2841 - resolution: {integrity: sha512-R92yOmIACgYdJ7dJ97p4K69I8gg6IEHt8M7dUBxN3W6nrO8uUxX5ixl0yU/N3aZTi8WhPuICvOHXQvF6FaykAA==} 2842 - engines: {node: '>=14.0.0'} 2843 - peerDependencies: 2844 - rollup: ^2.14.0||^3.0.0||^4.0.0 2845 - tslib: '*' 2846 - typescript: '>=3.7.0' 2847 - peerDependenciesMeta: 2848 - rollup: 2849 - optional: true 2850 - tslib: 2851 - optional: true 2852 - 2853 '@rollup/pluginutils@5.1.0': 2854 resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} 2855 engines: {node: '>=14.0.0'} ··· 3022 '@rushstack/eslint-patch@1.10.4': 3023 resolution: {integrity: sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==} 3024 3025 '@schematics/angular@17.3.7': 3026 resolution: {integrity: sha512-HaJroKaberriP4wFefTTSVFrtU9GMvnG3I6ELbOteOyKMH7o2V91FXGJDJ5KnIiLRlBmC30G3r+9Ybc/rtAYkw==} 3027 engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} ··· 3058 3059 '@sinclair/typebox@0.27.8': 3060 resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} 3061 3062 '@stackblitz/sdk@1.11.0': 3063 resolution: {integrity: sha512-DFQGANNkEZRzFk1/rDP6TcFdM82ycHE+zfl9C/M/jXlH68jiqHWHFMQURLELoD8koxvu/eW5uhg94NSAZlYrUQ==} ··· 3166 resolution: {integrity: sha512-92F7/SFyufn4DXsha9+QfKnN03JGqtMFMXgSHbZOo8JG59WkTni7UzAouNQDf7AuP9OAMxVOPQcqG3sB7w+kkg==} 3167 engines: {node: ^16.14.0 || >=18.0.0} 3168 3169 '@types/babel__core@7.20.5': 3170 resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} 3171 ··· 3267 3268 '@types/react@18.3.3': 3269 resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} 3270 - 3271 - '@types/resolve@1.20.2': 3272 - resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} 3273 3274 '@types/retry@0.12.0': 3275 resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} ··· 3804 resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} 3805 engines: {node: '>=8'} 3806 3807 ajv-formats@2.1.1: 3808 resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} 3809 peerDependencies: ··· 3812 ajv: 3813 optional: true 3814 3815 ajv-keywords@3.5.2: 3816 resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} 3817 peerDependencies: ··· 3828 ajv@8.12.0: 3829 resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} 3830 3831 ajv@8.16.0: 3832 resolution: {integrity: sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==} 3833 ··· 3845 ansi-escapes@6.2.1: 3846 resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==} 3847 engines: {node: '>=14.16'} 3848 3849 ansi-html-community@0.0.8: 3850 resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} ··· 4067 buffer@5.7.1: 4068 resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} 4069 4070 - builtin-modules@3.3.0: 4071 - resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} 4072 - engines: {node: '>=6'} 4073 - 4074 bundle-name@4.1.0: 4075 resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} 4076 engines: {node: '>=18'} 4077 4078 bytes@3.0.0: 4079 resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} ··· 4145 resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} 4146 engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 4147 4148 chardet@0.7.0: 4149 resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} 4150 ··· 4179 citty@0.1.6: 4180 resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} 4181 4182 classnames@2.3.2: 4183 resolution: {integrity: sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==} 4184 ··· 4194 resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} 4195 engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 4196 4197 cli-spinners@2.9.2: 4198 resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} 4199 engines: {node: '>=6'} 4200 4201 cli-truncate@4.0.0: 4202 resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} 4203 engines: {node: '>=18'} ··· 4205 cli-width@4.1.0: 4206 resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} 4207 engines: {node: '>= 12'} 4208 4209 cliui@8.0.1: 4210 resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} ··· 4258 4259 common-path-prefix@3.0.0: 4260 resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} 4261 - 4262 - commondir@1.0.1: 4263 - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} 4264 4265 compressible@2.0.18: 4266 resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} ··· 4591 emoji-regex@9.2.2: 4592 resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 4593 4594 emojis-list@3.0.0: 4595 resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} 4596 engines: {node: '>= 4'} ··· 4625 resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} 4626 engines: {node: '>=6'} 4627 4628 err-code@2.0.3: 4629 resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} 4630 ··· 4670 esbuild@0.21.5: 4671 resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} 4672 engines: {node: '>=12'} 4673 hasBin: true 4674 4675 escalade@3.1.2: ··· 4917 4918 fd-slicer@1.1.0: 4919 resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} 4920 4921 fetch-blob@3.2.0: 4922 resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} 4923 engines: {node: ^12.20 || >= 14.13} 4924 4925 figures@3.2.0: 4926 resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} 4927 engines: {node: '>=8'} ··· 5182 resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} 5183 hasBin: true 5184 5185 hookable@5.5.3: 5186 resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} 5187 ··· 5300 resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 5301 engines: {node: '>=6'} 5302 5303 import-meta-resolve@4.1.0: 5304 resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} 5305 ··· 5354 resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 5355 engines: {node: '>=8'} 5356 5357 - is-builtin-module@3.2.1: 5358 - resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} 5359 - engines: {node: '>=6'} 5360 - 5361 is-core-module@2.14.0: 5362 resolution: {integrity: sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==} 5363 engines: {node: '>= 0.4'} ··· 5404 is-lambda@1.0.1: 5405 resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} 5406 5407 - is-module@1.0.0: 5408 - resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} 5409 - 5410 is-number@7.0.0: 5411 resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 5412 engines: {node: '>=0.12.0'} ··· 5425 5426 is-potential-custom-element-name@1.0.1: 5427 resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} 5428 - 5429 - is-reference@1.2.1: 5430 - resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} 5431 5432 is-reference@3.0.2: 5433 resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} ··· 5512 jiti@1.21.6: 5513 resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} 5514 hasBin: true 5515 5516 js-beautify@1.15.1: 5517 resolution: {integrity: sha512-ESjNzSlt/sWE8sciZH8kBF8BPlwXPwhR6pWKAw8bw4Bwj+iZcnKW6ONWUutJ7eObuBZQpiIb8S7OYspWrKt7rA==} ··· 5668 resolution: {integrity: sha512-Lllokma2mtoniUOS94CcOErHWAug5iu7HOmDrvWgpw8jyQH2fomgB+7lZS4HWZxytUuQwkGOwe49FvwVaA85Xw==} 5669 engines: {node: '>=18.0.0'} 5670 5671 load-yaml-file@0.2.0: 5672 resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} 5673 engines: {node: '>=6'} ··· 5709 lodash.merge@4.6.2: 5710 resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 5711 5712 lodash.startcase@4.4.0: 5713 resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} 5714 ··· 5736 lru-cache@10.4.0: 5737 resolution: {integrity: sha512-bfJaPTuEiTYBu+ulDaeQ0F+uLmlfFkMgXj4cbwfuMSjgObGMzb55FMMbDvbRU0fAHZ4sLGkz2mKwcMg8Dvm8Ww==} 5738 engines: {node: '>=18'} 5739 5740 lru-cache@4.1.5: 5741 resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} ··· 5782 mark.js@8.11.1: 5783 resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} 5784 5785 mdn-data@2.0.30: 5786 resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} 5787 ··· 5849 minimalistic-assert@1.0.1: 5850 resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} 5851 5852 minimatch@3.1.2: 5853 resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 5854 ··· 5988 node-domexception@1.0.0: 5989 resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} 5990 engines: {node: '>=10.5.0'} 5991 5992 node-fetch-native@1.6.4: 5993 resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} ··· 6232 parse5-html-rewriting-stream@7.0.0: 6233 resolution: {integrity: sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg==} 6234 6235 parse5-sax-parser@7.0.0: 6236 resolution: {integrity: sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg==} 6237 6238 parse5@7.1.2: 6239 resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} ··· 6309 resolution: {integrity: sha512-xUXwsxNjwTQ8K3GnT4pCJm+xq3RUPQbmkYJTP5aFIfNIvbcc/4MUxgBaaRSZJ6yGJZiGSyYlM6MzwTsRk8SYCg==} 6310 engines: {node: '>=12'} 6311 6312 pidtree@0.6.0: 6313 resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} 6314 engines: {node: '>=0.10'} ··· 6389 postcss: 6390 optional: true 6391 ts-node: 6392 optional: true 6393 6394 postcss-loader@8.1.1: ··· 6772 deprecated: Rimraf versions prior to v4 are no longer supported 6773 hasBin: true 6774 6775 - rimraf@5.0.8: 6776 - resolution: {integrity: sha512-XSh0V2/yNhDEi8HwdIefD8MLgs4LQXPag/nEJWs3YUc3Upn+UHa1GyIkEg9xSSNt7HnkO5FjTvmcRzgf+8UZuw==} 6777 - engines: {node: '>=18'} 6778 - hasBin: true 6779 - 6780 - rollup-plugin-dts@6.1.1: 6781 - resolution: {integrity: sha512-aSHRcJ6KG2IHIioYlvAOcEq6U99sVtqDDKVhnwt70rW6tsz3tv5OSjEiWcgzfsHdLyGXZ/3b/7b/+Za3Y6r1XA==} 6782 - engines: {node: '>=16'} 6783 - peerDependencies: 6784 - rollup: ^3.29.4 || ^4 6785 - typescript: ^4.5 || ^5.0 6786 - 6787 rollup@4.18.0: 6788 resolution: {integrity: sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==} 6789 engines: {node: '>=18.0.0', npm: '>=8.0.0'} ··· 6892 resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 6893 hasBin: true 6894 6895 semver@7.6.0: 6896 resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} 6897 engines: {node: '>=10'} ··· 6988 resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} 6989 engines: {node: '>= 10'} 6990 6991 slash@3.0.0: 6992 resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 6993 engines: {node: '>=8'} ··· 7007 smart-buffer@4.2.0: 7008 resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} 7009 engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} 7010 - 7011 - smob@1.5.0: 7012 - resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==} 7013 7014 sockjs@0.3.24: 7015 resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} ··· 7048 7049 source-map@0.7.4: 7050 resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} 7051 engines: {node: '>= 8'} 7052 7053 spawndamnit@2.0.0: ··· 7177 resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} 7178 engines: {node: '>=10'} 7179 7180 supports-preserve-symlinks-flag@1.0.0: 7181 resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 7182 engines: {node: '>= 0.4'} ··· 7343 tinybench@2.8.0: 7344 resolution: {integrity: sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==} 7345 7346 tinypool@0.8.4: 7347 resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} 7348 engines: {node: '>=14.0.0'} ··· 7386 tr46@0.0.3: 7387 resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} 7388 7389 tr46@5.0.0: 7390 resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==} 7391 engines: {node: '>=18'} ··· 7426 tslib@2.6.3: 7427 resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} 7428 7429 tsutils@3.21.0: 7430 resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} 7431 engines: {node: '>= 6'} ··· 7478 typescript: 7479 optional: true 7480 7481 typescript@5.5.3: 7482 resolution: {integrity: sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==} 7483 engines: {node: '>=14.17'} 7484 hasBin: true 7485 ··· 7503 7504 unicode-canonical-property-names-ecmascript@2.0.0: 7505 resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} 7506 engines: {node: '>=4'} 7507 7508 unicode-match-property-ecmascript@2.0.0: ··· 7843 webidl-conversions@3.0.1: 7844 resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} 7845 7846 webidl-conversions@7.0.0: 7847 resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} 7848 engines: {node: '>=12'} ··· 7926 whatwg-url@5.0.0: 7927 resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} 7928 7929 which-pm@2.2.0: 7930 resolution: {integrity: sha512-MOiaDbA5ZZgUjkeMWM5EkJp4loW5ZRoa5bc3/aeMox/PJelMhE6t7S/mLuiY43DBupyxH+S0U1bTui9kWUlmsw==} 7931 engines: {node: '>=8.15'} ··· 8028 engines: {node: '>= 14'} 8029 hasBin: true 8030 8031 yargs-parser@21.1.1: 8032 resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} 8033 engines: {node: '>=12'} 8034 8035 yargs@17.7.2: 8036 resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} ··· 8170 '@jridgewell/gen-mapping': 0.3.5 8171 '@jridgewell/trace-mapping': 0.3.25 8172 8173 '@angular-devkit/architect@0.1703.7(chokidar@3.6.0)': 8174 dependencies: 8175 '@angular-devkit/core': 17.3.7(chokidar@3.6.0) ··· 8181 dependencies: 8182 '@ampproject/remapping': 2.3.0 8183 '@angular-devkit/architect': 0.1703.7(chokidar@3.6.0) 8184 - '@angular-devkit/build-webpack': 0.1703.7(chokidar@3.6.0)(webpack-dev-server@4.15.1(webpack@5.90.3))(webpack@5.90.3(esbuild@0.20.1)) 8185 '@angular-devkit/core': 17.3.7(chokidar@3.6.0) 8186 '@angular/compiler-cli': 17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.5.3) 8187 '@babel/core': 7.24.0 ··· 8241 watchpack: 2.4.0 8242 webpack: 5.90.3(esbuild@0.20.1) 8243 webpack-dev-middleware: 6.1.2(webpack@5.90.3(esbuild@0.20.1)) 8244 - webpack-dev-server: 4.15.1(webpack@5.90.3) 8245 webpack-merge: 5.10.0 8246 webpack-subresource-integrity: 5.1.0(webpack@5.90.3(esbuild@0.20.1)) 8247 optionalDependencies: ··· 8266 - utf-8-validate 8267 - webpack-cli 8268 8269 - '@angular-devkit/build-webpack@0.1703.7(chokidar@3.6.0)(webpack-dev-server@4.15.1(webpack@5.90.3))(webpack@5.90.3(esbuild@0.20.1))': 8270 dependencies: 8271 '@angular-devkit/architect': 0.1703.7(chokidar@3.6.0) 8272 rxjs: 7.8.1 8273 webpack: 5.90.3(esbuild@0.20.1) 8274 - webpack-dev-server: 4.15.1(webpack@5.90.3) 8275 transitivePeerDependencies: 8276 - chokidar 8277 ··· 8398 '@jsdevtools/ono': 7.1.3 8399 '@types/json-schema': 7.0.15 8400 js-yaml: 4.1.0 8401 8402 '@babel/code-frame@7.24.7': 8403 dependencies: ··· 9564 human-id: 1.0.2 9565 prettier: 2.8.8 9566 9567 '@cspotcode/source-map-support@0.8.1': 9568 dependencies: 9569 '@jridgewell/trace-mapping': 0.3.9 ··· 9606 '@esbuild/aix-ppc64@0.21.5': 9607 optional: true 9608 9609 '@esbuild/android-arm64@0.19.12': 9610 optional: true 9611 ··· 9615 '@esbuild/android-arm64@0.21.5': 9616 optional: true 9617 9618 '@esbuild/android-arm@0.19.12': 9619 optional: true 9620 ··· 9622 optional: true 9623 9624 '@esbuild/android-arm@0.21.5': 9625 optional: true 9626 9627 '@esbuild/android-x64@0.19.12': ··· 9633 '@esbuild/android-x64@0.21.5': 9634 optional: true 9635 9636 '@esbuild/darwin-arm64@0.19.12': 9637 optional: true 9638 ··· 9640 optional: true 9641 9642 '@esbuild/darwin-arm64@0.21.5': 9643 optional: true 9644 9645 '@esbuild/darwin-x64@0.19.12': ··· 9651 '@esbuild/darwin-x64@0.21.5': 9652 optional: true 9653 9654 '@esbuild/freebsd-arm64@0.19.12': 9655 optional: true 9656 ··· 9660 '@esbuild/freebsd-arm64@0.21.5': 9661 optional: true 9662 9663 '@esbuild/freebsd-x64@0.19.12': 9664 optional: true 9665 ··· 9669 '@esbuild/freebsd-x64@0.21.5': 9670 optional: true 9671 9672 '@esbuild/linux-arm64@0.19.12': 9673 optional: true 9674 ··· 9678 '@esbuild/linux-arm64@0.21.5': 9679 optional: true 9680 9681 '@esbuild/linux-arm@0.19.12': 9682 optional: true 9683 ··· 9687 '@esbuild/linux-arm@0.21.5': 9688 optional: true 9689 9690 '@esbuild/linux-ia32@0.19.12': 9691 optional: true 9692 ··· 9696 '@esbuild/linux-ia32@0.21.5': 9697 optional: true 9698 9699 '@esbuild/linux-loong64@0.19.12': 9700 optional: true 9701 ··· 9705 '@esbuild/linux-loong64@0.21.5': 9706 optional: true 9707 9708 '@esbuild/linux-mips64el@0.19.12': 9709 optional: true 9710 ··· 9714 '@esbuild/linux-mips64el@0.21.5': 9715 optional: true 9716 9717 '@esbuild/linux-ppc64@0.19.12': 9718 optional: true 9719 ··· 9721 optional: true 9722 9723 '@esbuild/linux-ppc64@0.21.5': 9724 optional: true 9725 9726 '@esbuild/linux-riscv64@0.19.12': ··· 9732 '@esbuild/linux-riscv64@0.21.5': 9733 optional: true 9734 9735 '@esbuild/linux-s390x@0.19.12': 9736 optional: true 9737 ··· 9741 '@esbuild/linux-s390x@0.21.5': 9742 optional: true 9743 9744 '@esbuild/linux-x64@0.19.12': 9745 optional: true 9746 ··· 9750 '@esbuild/linux-x64@0.21.5': 9751 optional: true 9752 9753 '@esbuild/netbsd-x64@0.19.12': 9754 optional: true 9755 ··· 9757 optional: true 9758 9759 '@esbuild/netbsd-x64@0.21.5': 9760 optional: true 9761 9762 '@esbuild/openbsd-x64@0.19.12': ··· 9768 '@esbuild/openbsd-x64@0.21.5': 9769 optional: true 9770 9771 '@esbuild/sunos-x64@0.19.12': 9772 optional: true 9773 ··· 9777 '@esbuild/sunos-x64@0.21.5': 9778 optional: true 9779 9780 '@esbuild/win32-arm64@0.19.12': 9781 optional: true 9782 ··· 9786 '@esbuild/win32-arm64@0.21.5': 9787 optional: true 9788 9789 '@esbuild/win32-ia32@0.19.12': 9790 optional: true 9791 ··· 9793 optional: true 9794 9795 '@esbuild/win32-ia32@0.21.5': 9796 optional: true 9797 9798 '@esbuild/win32-x64@0.19.12': ··· 9802 optional: true 9803 9804 '@esbuild/win32-x64@0.21.5': 9805 optional: true 9806 9807 '@eslint-community/eslint-utils@4.4.0(eslint@9.0.0)': ··· 9953 globby: 11.1.0 9954 read-yaml-file: 1.1.0 9955 9956 '@neoconfetti/svelte@2.0.0': {} 9957 9958 '@ngtools/webpack@17.3.7(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.5.3))(typescript@5.5.3)(webpack@5.90.3(esbuild@0.20.1))': ··· 10707 '@types/react': 18.3.3 10708 '@types/react-dom': 18.3.0 10709 10710 - '@rollup/plugin-commonjs@26.0.1(rollup@4.18.0)': 10711 - dependencies: 10712 - '@rollup/pluginutils': 5.1.0(rollup@4.18.0) 10713 - commondir: 1.0.1 10714 - estree-walker: 2.0.2 10715 - glob: 10.4.3 10716 - is-reference: 1.2.1 10717 - magic-string: 0.30.10 10718 - optionalDependencies: 10719 - rollup: 4.18.0 10720 - 10721 - '@rollup/plugin-json@6.1.0(rollup@4.22.0)': 10722 - dependencies: 10723 - '@rollup/pluginutils': 5.1.0(rollup@4.22.0) 10724 - optionalDependencies: 10725 - rollup: 4.22.0 10726 - 10727 - '@rollup/plugin-node-resolve@15.2.3(rollup@4.22.0)': 10728 - dependencies: 10729 - '@rollup/pluginutils': 5.1.0(rollup@4.22.0) 10730 - '@types/resolve': 1.20.2 10731 - deepmerge: 4.3.1 10732 - is-builtin-module: 3.2.1 10733 - is-module: 1.0.0 10734 - resolve: 1.22.8 10735 - optionalDependencies: 10736 - rollup: 4.22.0 10737 - 10738 - '@rollup/plugin-terser@0.4.4(rollup@4.18.0)': 10739 - dependencies: 10740 - serialize-javascript: 6.0.2 10741 - smob: 1.5.0 10742 - terser: 5.31.1 10743 - optionalDependencies: 10744 - rollup: 4.18.0 10745 - 10746 - '@rollup/plugin-typescript@11.1.6(rollup@4.18.0)(tslib@2.6.3)(typescript@5.5.3)': 10747 - dependencies: 10748 - '@rollup/pluginutils': 5.1.0(rollup@4.18.0) 10749 - resolve: 1.22.8 10750 - typescript: 5.5.3 10751 - optionalDependencies: 10752 - rollup: 4.18.0 10753 - tslib: 2.6.3 10754 - 10755 - '@rollup/pluginutils@5.1.0(rollup@4.18.0)': 10756 - dependencies: 10757 - '@types/estree': 1.0.5 10758 - estree-walker: 2.0.2 10759 - picomatch: 2.3.1 10760 - optionalDependencies: 10761 - rollup: 4.18.0 10762 - 10763 '@rollup/pluginutils@5.1.0(rollup@4.22.0)': 10764 dependencies: 10765 '@types/estree': 1.0.5 ··· 10866 10867 '@rushstack/eslint-patch@1.10.4': {} 10868 10869 '@schematics/angular@17.3.7(chokidar@3.6.0)': 10870 dependencies: 10871 '@angular-devkit/core': 17.3.7(chokidar@3.6.0) ··· 10916 10917 '@sinclair/typebox@0.27.8': {} 10918 10919 '@stackblitz/sdk@1.11.0': {} 10920 10921 '@sveltejs/adapter-auto@3.0.0(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.0.0(svelte@4.2.19)(vite@5.4.6(@types/node@20.14.10)(less@4.2.0)(sass@1.71.1)(terser@5.31.1)))(svelte@4.2.19)(vite@5.4.6(@types/node@20.14.10)(less@4.2.0)(sass@1.71.1)(terser@5.31.1)))': ··· 11027 dependencies: 11028 '@tufjs/canonical-json': 2.0.0 11029 minimatch: 9.0.5 11030 11031 '@types/babel__core@7.20.5': 11032 dependencies: ··· 11158 dependencies: 11159 '@types/prop-types': 15.7.12 11160 csstype: 3.1.3 11161 - 11162 - '@types/resolve@1.20.2': {} 11163 11164 '@types/retry@0.12.0': {} 11165 ··· 11918 clean-stack: 2.2.0 11919 indent-string: 4.0.0 11920 11921 ajv-formats@2.1.1(ajv@8.12.0): 11922 optionalDependencies: 11923 ajv: 8.12.0 ··· 11926 optionalDependencies: 11927 ajv: 8.16.0 11928 11929 ajv-keywords@3.5.2(ajv@6.12.6): 11930 dependencies: 11931 ajv: 6.12.6 ··· 11949 require-from-string: 2.0.2 11950 uri-js: 4.4.1 11951 11952 ajv@8.16.0: 11953 dependencies: 11954 fast-deep-equal: 3.1.3 ··· 11981 type-fest: 0.21.3 11982 11983 ansi-escapes@6.2.1: {} 11984 11985 ansi-html-community@0.0.8: {} 11986 ··· 12231 base64-js: 1.5.1 12232 ieee754: 1.2.1 12233 12234 - builtin-modules@3.3.0: {} 12235 - 12236 bundle-name@4.1.0: 12237 dependencies: 12238 run-applescript: 7.0.0 12239 12240 bytes@3.0.0: {} 12241 ··· 12326 12327 chalk@5.3.0: {} 12328 12329 chardet@0.7.0: {} 12330 12331 check-error@1.0.3: ··· 12363 dependencies: 12364 consola: 3.2.3 12365 12366 classnames@2.3.2: {} 12367 12368 clean-stack@2.2.0: {} ··· 12375 dependencies: 12376 restore-cursor: 4.0.0 12377 12378 cli-spinners@2.9.2: {} 12379 12380 cli-truncate@4.0.0: 12381 dependencies: ··· 12383 string-width: 7.1.0 12384 12385 cli-width@4.1.0: {} 12386 12387 cliui@8.0.1: 12388 dependencies: ··· 12433 commander@4.1.1: {} 12434 12435 common-path-prefix@3.0.0: {} 12436 - 12437 - commondir@1.0.1: {} 12438 12439 compressible@2.0.18: 12440 dependencies: ··· 12725 12726 emoji-regex@9.2.2: {} 12727 12728 emojis-list@3.0.0: {} 12729 12730 encodeurl@1.0.2: {} ··· 12753 entities@4.5.0: {} 12754 12755 env-paths@2.2.1: {} 12756 12757 err-code@2.0.3: {} 12758 ··· 12858 '@esbuild/win32-ia32': 0.21.5 12859 '@esbuild/win32-x64': 0.21.5 12860 12861 escalade@3.1.2: {} 12862 12863 escape-html@1.0.3: {} ··· 13234 dependencies: 13235 pend: 1.2.0 13236 13237 fetch-blob@3.2.0: 13238 dependencies: 13239 node-domexception: 1.0.0 13240 web-streams-polyfill: 3.3.3 13241 13242 figures@3.2.0: 13243 dependencies: ··· 13505 13506 he@1.2.0: {} 13507 13508 hookable@5.5.3: {} 13509 13510 hosted-git-info@7.0.2: ··· 13628 parent-module: 1.0.1 13629 resolve-from: 4.0.0 13630 13631 import-meta-resolve@4.1.0: {} 13632 13633 imurmurhash@0.1.4: {} ··· 13684 dependencies: 13685 binary-extensions: 2.3.0 13686 13687 - is-builtin-module@3.2.1: 13688 - dependencies: 13689 - builtin-modules: 3.3.0 13690 - 13691 is-core-module@2.14.0: 13692 dependencies: 13693 hasown: 2.0.2 ··· 13718 13719 is-lambda@1.0.1: {} 13720 13721 - is-module@1.0.0: {} 13722 - 13723 is-number@7.0.0: {} 13724 13725 is-path-inside@3.0.3: {} ··· 13732 13733 is-potential-custom-element-name@1.0.1: {} 13734 13735 - is-reference@1.2.1: 13736 - dependencies: 13737 - '@types/estree': 1.0.5 13738 - 13739 is-reference@3.0.2: 13740 dependencies: 13741 '@types/estree': 1.0.5 ··· 13816 supports-color: 8.1.1 13817 13818 jiti@1.21.6: {} 13819 13820 js-beautify@1.15.1: 13821 dependencies: ··· 13988 rfdc: 1.4.1 13989 wrap-ansi: 9.0.0 13990 13991 load-yaml-file@0.2.0: 13992 dependencies: 13993 graceful-fs: 4.2.11 ··· 14028 14029 lodash.merge@4.6.2: {} 14030 14031 lodash.startcase@4.4.0: {} 14032 14033 lodash@4.17.21: {} ··· 14059 14060 lru-cache@10.4.0: {} 14061 14062 lru-cache@4.1.5: 14063 dependencies: 14064 pseudomap: 1.0.2 ··· 14123 14124 mark.js@8.11.1: {} 14125 14126 mdn-data@2.0.30: {} 14127 14128 media-typer@0.3.0: {} ··· 14167 webpack: 5.90.3(esbuild@0.20.1) 14168 14169 minimalistic-assert@1.0.1: {} 14170 14171 minimatch@3.1.2: 14172 dependencies: ··· 14295 14296 node-domexception@1.0.0: {} 14297 14298 node-fetch-native@1.6.4: {} 14299 14300 node-fetch@2.7.0(encoding@0.1.13): ··· 14595 parse5: 7.1.2 14596 parse5-sax-parser: 7.0.0 14597 14598 parse5-sax-parser@7.0.0: 14599 dependencies: 14600 parse5: 7.1.2 14601 14602 parse5@7.1.2: 14603 dependencies: ··· 14649 picomatch@2.3.1: {} 14650 14651 picomatch@4.0.1: {} 14652 14653 pidtree@0.6.0: {} 14654 ··· 14726 postcss: 8.4.39 14727 ts-node: 10.9.2(@types/node@20.14.5)(typescript@5.5.3) 14728 14729 postcss-loader@8.1.1(postcss@8.4.35)(typescript@5.5.3)(webpack@5.90.3(esbuild@0.20.1)): 14730 dependencies: 14731 cosmiconfig: 9.0.0(typescript@5.5.3) ··· 15107 dependencies: 15108 glob: 7.2.3 15109 15110 - rimraf@5.0.8: 15111 - dependencies: 15112 - glob: 10.4.3 15113 - 15114 - rollup-plugin-dts@6.1.1(rollup@4.18.0)(typescript@5.5.3): 15115 - dependencies: 15116 - magic-string: 0.30.10 15117 - rollup: 4.18.0 15118 - typescript: 5.5.3 15119 - optionalDependencies: 15120 - '@babel/code-frame': 7.24.7 15121 - 15122 rollup@4.18.0: 15123 dependencies: 15124 '@types/estree': 1.0.5 ··· 15247 15248 semver@6.3.1: {} 15249 15250 semver@7.6.0: 15251 dependencies: 15252 lru-cache: 6.0.0 ··· 15370 mrmime: 2.0.0 15371 totalist: 3.0.1 15372 15373 slash@3.0.0: {} 15374 15375 slash@4.0.0: {} ··· 15385 is-fullwidth-code-point: 5.0.0 15386 15387 smart-buffer@4.2.0: {} 15388 - 15389 - smob@1.5.0: {} 15390 15391 sockjs@0.3.24: 15392 dependencies: ··· 15437 15438 source-map@0.7.4: {} 15439 15440 spawndamnit@2.0.0: 15441 dependencies: 15442 cross-spawn: 5.1.0 ··· 15580 supports-color@8.1.1: 15581 dependencies: 15582 has-flag: 4.0.0 15583 15584 supports-preserve-symlinks-flag@1.0.0: {} 15585 ··· 15774 15775 term-size@2.2.1: {} 15776 15777 - terser-webpack-plugin@5.3.10(esbuild@0.20.1)(webpack@5.90.3): 15778 dependencies: 15779 '@jridgewell/trace-mapping': 0.3.25 15780 jest-worker: 27.5.1 ··· 15798 acorn: 8.12.0 15799 commander: 2.20.3 15800 source-map-support: 0.5.21 15801 15802 test-exclude@6.0.0: 15803 dependencies: ··· 15830 15831 tinybench@2.8.0: {} 15832 15833 tinypool@0.8.4: {} 15834 15835 tinypool@1.0.0: {} ··· 15861 15862 tr46@0.0.3: {} 15863 15864 tr46@5.0.0: 15865 dependencies: 15866 punycode: 2.3.1 ··· 15916 15917 tslib@2.6.3: {} 15918 15919 tsutils@3.21.0(typescript@5.5.3): 15920 dependencies: 15921 tslib: 1.14.1 ··· 15968 - eslint 15969 - supports-color 15970 15971 typescript@5.5.3: {} 15972 15973 ufo@1.5.3: {} 15974 ··· 15985 undici@6.11.1: {} 15986 15987 unicode-canonical-property-names-ecmascript@2.0.0: {} 15988 15989 unicode-match-property-ecmascript@2.0.0: 15990 dependencies: ··· 16440 16441 webidl-conversions@3.0.1: {} 16442 16443 webidl-conversions@7.0.0: {} 16444 16445 - webpack-dev-middleware@5.3.4(webpack@5.90.3): 16446 dependencies: 16447 colorette: 2.0.20 16448 memfs: 3.5.3 ··· 16461 optionalDependencies: 16462 webpack: 5.90.3(esbuild@0.20.1) 16463 16464 - webpack-dev-server@4.15.1(webpack@5.90.3): 16465 dependencies: 16466 '@types/bonjour': 3.5.13 16467 '@types/connect-history-api-fallback': 1.5.4 ··· 16491 serve-index: 1.9.1 16492 sockjs: 0.3.24 16493 spdy: 4.0.2 16494 - webpack-dev-middleware: 5.3.4(webpack@5.90.3) 16495 ws: 8.17.1 16496 optionalDependencies: 16497 webpack: 5.90.3(esbuild@0.20.1) ··· 16537 neo-async: 2.6.2 16538 schema-utils: 3.3.0 16539 tapable: 2.2.1 16540 - terser-webpack-plugin: 5.3.10(esbuild@0.20.1)(webpack@5.90.3) 16541 watchpack: 2.4.0 16542 webpack-sources: 3.2.3 16543 transitivePeerDependencies: ··· 16569 tr46: 0.0.3 16570 webidl-conversions: 3.0.1 16571 16572 which-pm@2.2.0: 16573 dependencies: 16574 load-yaml-file: 0.2.0 ··· 16648 16649 yaml@2.4.5: {} 16650 16651 yargs-parser@21.1.1: {} 16652 16653 yargs@17.7.2: 16654 dependencies:
··· 8 9 .: 10 devDependencies: 11 + '@arethetypeswrong/cli': 12 + specifier: 0.16.4 13 + version: 0.16.4 14 '@changesets/changelog-github': 15 specifier: 0.5.0 16 version: 0.5.0(encoding@0.1.13) 17 '@changesets/cli': 18 specifier: 2.27.7 19 version: 2.27.7 20 '@types/node': 21 specifier: 20.14.10 22 version: 20.14.10 ··· 56 prettier: 57 specifier: 3.3.2 58 version: 3.3.2 59 + tsup: 60 + specifier: 8.3.0 61 + version: 8.3.0(@microsoft/api-extractor@7.47.9(@types/node@20.14.10))(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.4.5) 62 typescript: 63 specifier: 5.5.3 64 version: 5.5.3 ··· 514 '@hey-api/client-fetch': 515 specifier: workspace:* 516 version: link:../client-fetch 517 '@tanstack/react-query': 518 specifier: 5.56.2 519 version: 5.56.2(react@18.3.1) ··· 643 '@ampproject/remapping@2.3.0': 644 resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} 645 engines: {node: '>=6.0.0'} 646 + 647 + '@andrewbranch/untar.js@1.0.3': 648 + resolution: {integrity: sha512-Jh15/qVmrLGhkKJBdXlK1+9tY4lZruYjsgkDFj08ZmDiWVBLJcqkok7Z0/R0In+i1rScBpJlSvrTS2Lm41Pbnw==} 649 650 '@angular-devkit/architect@0.1703.7': 651 resolution: {integrity: sha512-SwXbdsZqEE3JtvujCLChAii+FA20d1931VDjDYffrGWdQEViTBAr4NKtDr/kOv8KkgiL3fhGibPnRNUHTeAMtg==} ··· 799 resolution: {integrity: sha512-pRrmXMCwnmrkS3MLgAIW5dXRzeTv6GLjkjb4HmxNnvAKXN1Nfzp4KmGADBQvlVUcqi+a5D+hfGDLLnd5NnYxog==} 800 engines: {node: '>= 16'} 801 802 + '@arethetypeswrong/cli@0.16.4': 803 + resolution: {integrity: sha512-qMmdVlJon5FtA+ahn0c1oAVNxiq4xW5lqFiTZ21XHIeVwAVIQ+uRz4UEivqRMsjVV1grzRgJSKqaOrq1MvlVyQ==} 804 + engines: {node: '>=18'} 805 + hasBin: true 806 + 807 + '@arethetypeswrong/core@0.16.4': 808 + resolution: {integrity: sha512-RI3HXgSuKTfcBf1hSEg1P9/cOvmI0flsMm6/QL3L3wju4AlHDqd55JFPfXs4pzgEAgy5L9pul4/HPPz99x2GvA==} 809 + engines: {node: '>=18'} 810 + 811 '@babel/code-frame@7.24.7': 812 resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} 813 engines: {node: '>=6.9.0'} ··· 1558 '@changesets/write@0.3.1': 1559 resolution: {integrity: sha512-SyGtMXzH3qFqlHKcvFY2eX+6b0NGiFcNav8AFsYwy5l8hejOeoeTDemu5Yjmke2V5jpzY+pBvM0vCCQ3gdZpfw==} 1560 1561 + '@colors/colors@1.5.0': 1562 + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} 1563 + engines: {node: '>=0.1.90'} 1564 + 1565 '@cspotcode/source-map-support@0.8.1': 1566 resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} 1567 engines: {node: '>=12'} ··· 1611 cpu: [ppc64] 1612 os: [aix] 1613 1614 + '@esbuild/aix-ppc64@0.23.1': 1615 + resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} 1616 + engines: {node: '>=18'} 1617 + cpu: [ppc64] 1618 + os: [aix] 1619 + 1620 '@esbuild/android-arm64@0.19.12': 1621 resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} 1622 engines: {node: '>=12'} ··· 1635 cpu: [arm64] 1636 os: [android] 1637 1638 + '@esbuild/android-arm64@0.23.1': 1639 + resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==} 1640 + engines: {node: '>=18'} 1641 + cpu: [arm64] 1642 + os: [android] 1643 + 1644 '@esbuild/android-arm@0.19.12': 1645 resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} 1646 engines: {node: '>=12'} ··· 1659 cpu: [arm] 1660 os: [android] 1661 1662 + '@esbuild/android-arm@0.23.1': 1663 + resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==} 1664 + engines: {node: '>=18'} 1665 + cpu: [arm] 1666 + os: [android] 1667 + 1668 '@esbuild/android-x64@0.19.12': 1669 resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} 1670 engines: {node: '>=12'} ··· 1683 cpu: [x64] 1684 os: [android] 1685 1686 + '@esbuild/android-x64@0.23.1': 1687 + resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==} 1688 + engines: {node: '>=18'} 1689 + cpu: [x64] 1690 + os: [android] 1691 + 1692 '@esbuild/darwin-arm64@0.19.12': 1693 resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} 1694 engines: {node: '>=12'} ··· 1707 cpu: [arm64] 1708 os: [darwin] 1709 1710 + '@esbuild/darwin-arm64@0.23.1': 1711 + resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==} 1712 + engines: {node: '>=18'} 1713 + cpu: [arm64] 1714 + os: [darwin] 1715 + 1716 '@esbuild/darwin-x64@0.19.12': 1717 resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} 1718 engines: {node: '>=12'} ··· 1731 cpu: [x64] 1732 os: [darwin] 1733 1734 + '@esbuild/darwin-x64@0.23.1': 1735 + resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} 1736 + engines: {node: '>=18'} 1737 + cpu: [x64] 1738 + os: [darwin] 1739 + 1740 '@esbuild/freebsd-arm64@0.19.12': 1741 resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} 1742 engines: {node: '>=12'} ··· 1755 cpu: [arm64] 1756 os: [freebsd] 1757 1758 + '@esbuild/freebsd-arm64@0.23.1': 1759 + resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==} 1760 + engines: {node: '>=18'} 1761 + cpu: [arm64] 1762 + os: [freebsd] 1763 + 1764 '@esbuild/freebsd-x64@0.19.12': 1765 resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} 1766 engines: {node: '>=12'} ··· 1779 cpu: [x64] 1780 os: [freebsd] 1781 1782 + '@esbuild/freebsd-x64@0.23.1': 1783 + resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==} 1784 + engines: {node: '>=18'} 1785 + cpu: [x64] 1786 + os: [freebsd] 1787 + 1788 '@esbuild/linux-arm64@0.19.12': 1789 resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} 1790 engines: {node: '>=12'} ··· 1803 cpu: [arm64] 1804 os: [linux] 1805 1806 + '@esbuild/linux-arm64@0.23.1': 1807 + resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==} 1808 + engines: {node: '>=18'} 1809 + cpu: [arm64] 1810 + os: [linux] 1811 + 1812 '@esbuild/linux-arm@0.19.12': 1813 resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} 1814 engines: {node: '>=12'} ··· 1827 cpu: [arm] 1828 os: [linux] 1829 1830 + '@esbuild/linux-arm@0.23.1': 1831 + resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} 1832 + engines: {node: '>=18'} 1833 + cpu: [arm] 1834 + os: [linux] 1835 + 1836 '@esbuild/linux-ia32@0.19.12': 1837 resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} 1838 engines: {node: '>=12'} ··· 1851 cpu: [ia32] 1852 os: [linux] 1853 1854 + '@esbuild/linux-ia32@0.23.1': 1855 + resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==} 1856 + engines: {node: '>=18'} 1857 + cpu: [ia32] 1858 + os: [linux] 1859 + 1860 '@esbuild/linux-loong64@0.19.12': 1861 resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} 1862 engines: {node: '>=12'} ··· 1875 cpu: [loong64] 1876 os: [linux] 1877 1878 + '@esbuild/linux-loong64@0.23.1': 1879 + resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==} 1880 + engines: {node: '>=18'} 1881 + cpu: [loong64] 1882 + os: [linux] 1883 + 1884 '@esbuild/linux-mips64el@0.19.12': 1885 resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} 1886 engines: {node: '>=12'} ··· 1899 cpu: [mips64el] 1900 os: [linux] 1901 1902 + '@esbuild/linux-mips64el@0.23.1': 1903 + resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==} 1904 + engines: {node: '>=18'} 1905 + cpu: [mips64el] 1906 + os: [linux] 1907 + 1908 '@esbuild/linux-ppc64@0.19.12': 1909 resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} 1910 engines: {node: '>=12'} ··· 1923 cpu: [ppc64] 1924 os: [linux] 1925 1926 + '@esbuild/linux-ppc64@0.23.1': 1927 + resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} 1928 + engines: {node: '>=18'} 1929 + cpu: [ppc64] 1930 + os: [linux] 1931 + 1932 '@esbuild/linux-riscv64@0.19.12': 1933 resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} 1934 engines: {node: '>=12'} ··· 1947 cpu: [riscv64] 1948 os: [linux] 1949 1950 + '@esbuild/linux-riscv64@0.23.1': 1951 + resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==} 1952 + engines: {node: '>=18'} 1953 + cpu: [riscv64] 1954 + os: [linux] 1955 + 1956 '@esbuild/linux-s390x@0.19.12': 1957 resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} 1958 engines: {node: '>=12'} ··· 1971 cpu: [s390x] 1972 os: [linux] 1973 1974 + '@esbuild/linux-s390x@0.23.1': 1975 + resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==} 1976 + engines: {node: '>=18'} 1977 + cpu: [s390x] 1978 + os: [linux] 1979 + 1980 '@esbuild/linux-x64@0.19.12': 1981 resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} 1982 engines: {node: '>=12'} ··· 1995 cpu: [x64] 1996 os: [linux] 1997 1998 + '@esbuild/linux-x64@0.23.1': 1999 + resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==} 2000 + engines: {node: '>=18'} 2001 + cpu: [x64] 2002 + os: [linux] 2003 + 2004 '@esbuild/netbsd-x64@0.19.12': 2005 resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} 2006 engines: {node: '>=12'} ··· 2019 cpu: [x64] 2020 os: [netbsd] 2021 2022 + '@esbuild/netbsd-x64@0.23.1': 2023 + resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==} 2024 + engines: {node: '>=18'} 2025 + cpu: [x64] 2026 + os: [netbsd] 2027 + 2028 + '@esbuild/openbsd-arm64@0.23.1': 2029 + resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==} 2030 + engines: {node: '>=18'} 2031 + cpu: [arm64] 2032 + os: [openbsd] 2033 + 2034 '@esbuild/openbsd-x64@0.19.12': 2035 resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} 2036 engines: {node: '>=12'} ··· 2049 cpu: [x64] 2050 os: [openbsd] 2051 2052 + '@esbuild/openbsd-x64@0.23.1': 2053 + resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} 2054 + engines: {node: '>=18'} 2055 + cpu: [x64] 2056 + os: [openbsd] 2057 + 2058 '@esbuild/sunos-x64@0.19.12': 2059 resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} 2060 engines: {node: '>=12'} ··· 2073 cpu: [x64] 2074 os: [sunos] 2075 2076 + '@esbuild/sunos-x64@0.23.1': 2077 + resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==} 2078 + engines: {node: '>=18'} 2079 + cpu: [x64] 2080 + os: [sunos] 2081 + 2082 '@esbuild/win32-arm64@0.19.12': 2083 resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} 2084 engines: {node: '>=12'} ··· 2097 cpu: [arm64] 2098 os: [win32] 2099 2100 + '@esbuild/win32-arm64@0.23.1': 2101 + resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} 2102 + engines: {node: '>=18'} 2103 + cpu: [arm64] 2104 + os: [win32] 2105 + 2106 '@esbuild/win32-ia32@0.19.12': 2107 resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} 2108 engines: {node: '>=12'} ··· 2121 cpu: [ia32] 2122 os: [win32] 2123 2124 + '@esbuild/win32-ia32@0.23.1': 2125 + resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==} 2126 + engines: {node: '>=18'} 2127 + cpu: [ia32] 2128 + os: [win32] 2129 + 2130 '@esbuild/win32-x64@0.19.12': 2131 resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} 2132 engines: {node: '>=12'} ··· 2142 '@esbuild/win32-x64@0.21.5': 2143 resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} 2144 engines: {node: '>=12'} 2145 + cpu: [x64] 2146 + os: [win32] 2147 + 2148 + '@esbuild/win32-x64@0.23.1': 2149 + resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} 2150 + engines: {node: '>=18'} 2151 cpu: [x64] 2152 os: [win32] 2153 ··· 2274 2275 '@manypkg/get-packages@1.1.3': 2276 resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} 2277 + 2278 + '@microsoft/api-extractor-model@7.29.8': 2279 + resolution: {integrity: sha512-t3Z/xcO6TRbMcnKGVMs4uMzv/gd5j0NhMiJIGjD4cJMeFJ1Hf8wnLSx37vxlRlL0GWlGJhnFgxvnaL6JlS+73g==} 2280 + 2281 + '@microsoft/api-extractor@7.47.9': 2282 + resolution: {integrity: sha512-TTq30M1rikVsO5wZVToQT/dGyJY7UXJmjiRtkHPLb74Prx3Etw8+bX7Bv7iLuby6ysb7fuu1NFWqma+csym8Jw==} 2283 + hasBin: true 2284 + 2285 + '@microsoft/tsdoc-config@0.17.0': 2286 + resolution: {integrity: sha512-v/EYRXnCAIHxOHW+Plb6OWuUoMotxTN0GLatnpOb1xq0KuTNw/WI3pamJx/UbsoJP5k9MCw1QxvvhPcF9pH3Zg==} 2287 + 2288 + '@microsoft/tsdoc@0.15.0': 2289 + resolution: {integrity: sha512-HZpPoABogPvjeJOdzCOSJsXeL/SMCBgBZMVC3X3d7YYp2gf31MfxhUoYUNwf1ERPJOnQc0wkFn9trqI6ZEdZuA==} 2290 2291 '@neoconfetti/svelte@2.0.0': 2292 resolution: {integrity: sha512-n/Uu7/XmHc8w0uBci0QWBjgbRzLhfWsH8yPJ5pMaseIvzSwabXvB30nb3JjzEYNBp9uGt4eCeY7LUmxAjnJV8A==} ··· 2956 '@types/react-dom': 2957 optional: true 2958 2959 '@rollup/pluginutils@5.1.0': 2960 resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} 2961 engines: {node: '>=14.0.0'} ··· 3128 '@rushstack/eslint-patch@1.10.4': 3129 resolution: {integrity: sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==} 3130 3131 + '@rushstack/node-core-library@5.9.0': 3132 + resolution: {integrity: sha512-MMsshEWkTbXqxqFxD4gcIUWQOCeBChlGczdZbHfqmNZQFLHB3yWxDFSMHFUdu2/OB9NUk7Awn5qRL+rws4HQNg==} 3133 + peerDependencies: 3134 + '@types/node': '*' 3135 + peerDependenciesMeta: 3136 + '@types/node': 3137 + optional: true 3138 + 3139 + '@rushstack/rig-package@0.5.3': 3140 + resolution: {integrity: sha512-olzSSjYrvCNxUFZowevC3uz8gvKr3WTpHQ7BkpjtRpA3wK+T0ybep/SRUMfr195gBzJm5gaXw0ZMgjIyHqJUow==} 3141 + 3142 + '@rushstack/terminal@0.14.2': 3143 + resolution: {integrity: sha512-2fC1wqu1VCExKC0/L+0noVcFQEXEnoBOtCIex1TOjBzEDWcw8KzJjjj7aTP6mLxepG0XIyn9OufeFb6SFsa+sg==} 3144 + peerDependencies: 3145 + '@types/node': '*' 3146 + peerDependenciesMeta: 3147 + '@types/node': 3148 + optional: true 3149 + 3150 + '@rushstack/ts-command-line@4.22.8': 3151 + resolution: {integrity: sha512-XbFjOoV7qZHJnSuFUHv0pKaFA4ixyCuki+xMjsMfDwfvQjs5MYG0IK5COal3tRnG7KCDe2l/G+9LrzYE/RJhgg==} 3152 + 3153 '@schematics/angular@17.3.7': 3154 resolution: {integrity: sha512-HaJroKaberriP4wFefTTSVFrtU9GMvnG3I6ELbOteOyKMH7o2V91FXGJDJ5KnIiLRlBmC30G3r+9Ybc/rtAYkw==} 3155 engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} ··· 3186 3187 '@sinclair/typebox@0.27.8': 3188 resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} 3189 + 3190 + '@sindresorhus/is@4.6.0': 3191 + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} 3192 + engines: {node: '>=10'} 3193 3194 '@stackblitz/sdk@1.11.0': 3195 resolution: {integrity: sha512-DFQGANNkEZRzFk1/rDP6TcFdM82ycHE+zfl9C/M/jXlH68jiqHWHFMQURLELoD8koxvu/eW5uhg94NSAZlYrUQ==} ··· 3298 resolution: {integrity: sha512-92F7/SFyufn4DXsha9+QfKnN03JGqtMFMXgSHbZOo8JG59WkTni7UzAouNQDf7AuP9OAMxVOPQcqG3sB7w+kkg==} 3299 engines: {node: ^16.14.0 || >=18.0.0} 3300 3301 + '@types/argparse@1.0.38': 3302 + resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} 3303 + 3304 '@types/babel__core@7.20.5': 3305 resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} 3306 ··· 3402 3403 '@types/react@18.3.3': 3404 resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} 3405 3406 '@types/retry@0.12.0': 3407 resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} ··· 3936 resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} 3937 engines: {node: '>=8'} 3938 3939 + ajv-draft-04@1.0.0: 3940 + resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==} 3941 + peerDependencies: 3942 + ajv: ^8.5.0 3943 + peerDependenciesMeta: 3944 + ajv: 3945 + optional: true 3946 + 3947 ajv-formats@2.1.1: 3948 resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} 3949 peerDependencies: ··· 3952 ajv: 3953 optional: true 3954 3955 + ajv-formats@3.0.1: 3956 + resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} 3957 + peerDependencies: 3958 + ajv: ^8.0.0 3959 + peerDependenciesMeta: 3960 + ajv: 3961 + optional: true 3962 + 3963 ajv-keywords@3.5.2: 3964 resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} 3965 peerDependencies: ··· 3976 ajv@8.12.0: 3977 resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} 3978 3979 + ajv@8.13.0: 3980 + resolution: {integrity: sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==} 3981 + 3982 ajv@8.16.0: 3983 resolution: {integrity: sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==} 3984 ··· 3996 ansi-escapes@6.2.1: 3997 resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==} 3998 engines: {node: '>=14.16'} 3999 + 4000 + ansi-escapes@7.0.0: 4001 + resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} 4002 + engines: {node: '>=18'} 4003 4004 ansi-html-community@0.0.8: 4005 resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} ··· 4222 buffer@5.7.1: 4223 resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} 4224 4225 bundle-name@4.1.0: 4226 resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} 4227 engines: {node: '>=18'} 4228 + 4229 + bundle-require@5.0.0: 4230 + resolution: {integrity: sha512-GuziW3fSSmopcx4KRymQEJVbZUfqlCqcq7dvs6TYwKRZiegK/2buMxQTPs6MGlNv50wms1699qYO54R8XfRX4w==} 4231 + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 4232 + peerDependencies: 4233 + esbuild: '>=0.18' 4234 4235 bytes@3.0.0: 4236 resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} ··· 4302 resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} 4303 engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 4304 4305 + char-regex@1.0.2: 4306 + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} 4307 + engines: {node: '>=10'} 4308 + 4309 chardet@0.7.0: 4310 resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} 4311 ··· 4340 citty@0.1.6: 4341 resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} 4342 4343 + cjs-module-lexer@1.4.1: 4344 + resolution: {integrity: sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==} 4345 + 4346 classnames@2.3.2: 4347 resolution: {integrity: sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==} 4348 ··· 4358 resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} 4359 engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 4360 4361 + cli-highlight@2.1.11: 4362 + resolution: {integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==} 4363 + engines: {node: '>=8.0.0', npm: '>=5.0.0'} 4364 + hasBin: true 4365 + 4366 cli-spinners@2.9.2: 4367 resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} 4368 engines: {node: '>=6'} 4369 4370 + cli-table3@0.6.5: 4371 + resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} 4372 + engines: {node: 10.* || >= 12.*} 4373 + 4374 cli-truncate@4.0.0: 4375 resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} 4376 engines: {node: '>=18'} ··· 4378 cli-width@4.1.0: 4379 resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} 4380 engines: {node: '>= 12'} 4381 + 4382 + cliui@7.0.4: 4383 + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} 4384 4385 cliui@8.0.1: 4386 resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} ··· 4434 4435 common-path-prefix@3.0.0: 4436 resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} 4437 4438 compressible@2.0.18: 4439 resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} ··· 4764 emoji-regex@9.2.2: 4765 resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 4766 4767 + emojilib@2.4.0: 4768 + resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} 4769 + 4770 emojis-list@3.0.0: 4771 resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} 4772 engines: {node: '>= 4'} ··· 4801 resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} 4802 engines: {node: '>=6'} 4803 4804 + environment@1.1.0: 4805 + resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} 4806 + engines: {node: '>=18'} 4807 + 4808 err-code@2.0.3: 4809 resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} 4810 ··· 4850 esbuild@0.21.5: 4851 resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} 4852 engines: {node: '>=12'} 4853 + hasBin: true 4854 + 4855 + esbuild@0.23.1: 4856 + resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} 4857 + engines: {node: '>=18'} 4858 hasBin: true 4859 4860 escalade@3.1.2: ··· 5102 5103 fd-slicer@1.1.0: 5104 resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} 5105 + 5106 + fdir@6.3.0: 5107 + resolution: {integrity: sha512-QOnuT+BOtivR77wYvCWHfGt9s4Pz1VIMbD463vegT5MLqNXy8rYFT/lPVEqf/bhYeT6qmqrNHhsX+rWwe3rOCQ==} 5108 + peerDependencies: 5109 + picomatch: ^3 || ^4 5110 + peerDependenciesMeta: 5111 + picomatch: 5112 + optional: true 5113 5114 fetch-blob@3.2.0: 5115 resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} 5116 engines: {node: ^12.20 || >= 14.13} 5117 5118 + fflate@0.8.2: 5119 + resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} 5120 + 5121 figures@3.2.0: 5122 resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} 5123 engines: {node: '>=8'} ··· 5378 resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} 5379 hasBin: true 5380 5381 + highlight.js@10.7.3: 5382 + resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} 5383 + 5384 hookable@5.5.3: 5385 resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} 5386 ··· 5499 resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 5500 engines: {node: '>=6'} 5501 5502 + import-lazy@4.0.0: 5503 + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} 5504 + engines: {node: '>=8'} 5505 + 5506 import-meta-resolve@4.1.0: 5507 resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} 5508 ··· 5557 resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 5558 engines: {node: '>=8'} 5559 5560 is-core-module@2.14.0: 5561 resolution: {integrity: sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==} 5562 engines: {node: '>= 0.4'} ··· 5603 is-lambda@1.0.1: 5604 resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} 5605 5606 is-number@7.0.0: 5607 resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 5608 engines: {node: '>=0.12.0'} ··· 5621 5622 is-potential-custom-element-name@1.0.1: 5623 resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} 5624 5625 is-reference@3.0.2: 5626 resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} ··· 5705 jiti@1.21.6: 5706 resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} 5707 hasBin: true 5708 + 5709 + jju@1.4.0: 5710 + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} 5711 + 5712 + joycon@3.1.1: 5713 + resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} 5714 + engines: {node: '>=10'} 5715 5716 js-beautify@1.15.1: 5717 resolution: {integrity: sha512-ESjNzSlt/sWE8sciZH8kBF8BPlwXPwhR6pWKAw8bw4Bwj+iZcnKW6ONWUutJ7eObuBZQpiIb8S7OYspWrKt7rA==} ··· 5868 resolution: {integrity: sha512-Lllokma2mtoniUOS94CcOErHWAug5iu7HOmDrvWgpw8jyQH2fomgB+7lZS4HWZxytUuQwkGOwe49FvwVaA85Xw==} 5869 engines: {node: '>=18.0.0'} 5870 5871 + load-tsconfig@0.2.5: 5872 + resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} 5873 + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 5874 + 5875 load-yaml-file@0.2.0: 5876 resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} 5877 engines: {node: '>=6'} ··· 5913 lodash.merge@4.6.2: 5914 resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 5915 5916 + lodash.sortby@4.7.0: 5917 + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} 5918 + 5919 lodash.startcase@4.4.0: 5920 resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} 5921 ··· 5943 lru-cache@10.4.0: 5944 resolution: {integrity: sha512-bfJaPTuEiTYBu+ulDaeQ0F+uLmlfFkMgXj4cbwfuMSjgObGMzb55FMMbDvbRU0fAHZ4sLGkz2mKwcMg8Dvm8Ww==} 5945 engines: {node: '>=18'} 5946 + 5947 + lru-cache@10.4.3: 5948 + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} 5949 5950 lru-cache@4.1.5: 5951 resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} ··· 5992 mark.js@8.11.1: 5993 resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} 5994 5995 + marked-terminal@7.1.0: 5996 + resolution: {integrity: sha512-+pvwa14KZL74MVXjYdPR3nSInhGhNvPce/3mqLVZT2oUvt654sL1XImFuLZ1pkA866IYZ3ikDTOFUIC7XzpZZg==} 5997 + engines: {node: '>=16.0.0'} 5998 + peerDependencies: 5999 + marked: '>=1 <14' 6000 + 6001 + marked@9.1.6: 6002 + resolution: {integrity: sha512-jcByLnIFkd5gSXZmjNvS1TlmRhCXZjIzHYlaGkPlLIekG55JDR2Z4va9tZwCiP+/RDERiNhMOFu01xd6O5ct1Q==} 6003 + engines: {node: '>= 16'} 6004 + hasBin: true 6005 + 6006 mdn-data@2.0.30: 6007 resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} 6008 ··· 6070 minimalistic-assert@1.0.1: 6071 resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} 6072 6073 + minimatch@3.0.8: 6074 + resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==} 6075 + 6076 minimatch@3.1.2: 6077 resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 6078 ··· 6212 node-domexception@1.0.0: 6213 resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} 6214 engines: {node: '>=10.5.0'} 6215 + 6216 + node-emoji@2.1.3: 6217 + resolution: {integrity: sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==} 6218 + engines: {node: '>=18'} 6219 6220 node-fetch-native@1.6.4: 6221 resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} ··· 6460 parse5-html-rewriting-stream@7.0.0: 6461 resolution: {integrity: sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg==} 6462 6463 + parse5-htmlparser2-tree-adapter@6.0.1: 6464 + resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} 6465 + 6466 parse5-sax-parser@7.0.0: 6467 resolution: {integrity: sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg==} 6468 + 6469 + parse5@5.1.1: 6470 + resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} 6471 + 6472 + parse5@6.0.1: 6473 + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} 6474 6475 parse5@7.1.2: 6476 resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} ··· 6546 resolution: {integrity: sha512-xUXwsxNjwTQ8K3GnT4pCJm+xq3RUPQbmkYJTP5aFIfNIvbcc/4MUxgBaaRSZJ6yGJZiGSyYlM6MzwTsRk8SYCg==} 6547 engines: {node: '>=12'} 6548 6549 + picomatch@4.0.2: 6550 + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} 6551 + engines: {node: '>=12'} 6552 + 6553 pidtree@0.6.0: 6554 resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} 6555 engines: {node: '>=0.10'} ··· 6630 postcss: 6631 optional: true 6632 ts-node: 6633 + optional: true 6634 + 6635 + postcss-load-config@6.0.1: 6636 + resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} 6637 + engines: {node: '>= 18'} 6638 + peerDependencies: 6639 + jiti: '>=1.21.0' 6640 + postcss: '>=8.0.9' 6641 + tsx: ^4.8.1 6642 + yaml: ^2.4.2 6643 + peerDependenciesMeta: 6644 + jiti: 6645 + optional: true 6646 + postcss: 6647 + optional: true 6648 + tsx: 6649 + optional: true 6650 + yaml: 6651 optional: true 6652 6653 postcss-loader@8.1.1: ··· 7031 deprecated: Rimraf versions prior to v4 are no longer supported 7032 hasBin: true 7033 7034 rollup@4.18.0: 7035 resolution: {integrity: sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==} 7036 engines: {node: '>=18.0.0', npm: '>=8.0.0'} ··· 7139 resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 7140 hasBin: true 7141 7142 + semver@7.5.4: 7143 + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} 7144 + engines: {node: '>=10'} 7145 + hasBin: true 7146 + 7147 semver@7.6.0: 7148 resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} 7149 engines: {node: '>=10'} ··· 7240 resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} 7241 engines: {node: '>= 10'} 7242 7243 + skin-tone@2.0.0: 7244 + resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} 7245 + engines: {node: '>=8'} 7246 + 7247 slash@3.0.0: 7248 resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 7249 engines: {node: '>=8'} ··· 7263 smart-buffer@4.2.0: 7264 resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} 7265 engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} 7266 7267 sockjs@0.3.24: 7268 resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} ··· 7301 7302 source-map@0.7.4: 7303 resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} 7304 + engines: {node: '>= 8'} 7305 + 7306 + source-map@0.8.0-beta.0: 7307 + resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} 7308 engines: {node: '>= 8'} 7309 7310 spawndamnit@2.0.0: ··· 7434 resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} 7435 engines: {node: '>=10'} 7436 7437 + supports-hyperlinks@3.1.0: 7438 + resolution: {integrity: sha512-2rn0BZ+/f7puLOHZm1HOJfwBggfaHXUpPUSSG/SWM4TWp5KCfmNYwnC3hruy2rZlMnmWZ+QAGpZfchu3f3695A==} 7439 + engines: {node: '>=14.18'} 7440 + 7441 supports-preserve-symlinks-flag@1.0.0: 7442 resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 7443 engines: {node: '>= 0.4'} ··· 7604 tinybench@2.8.0: 7605 resolution: {integrity: sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==} 7606 7607 + tinyglobby@0.2.6: 7608 + resolution: {integrity: sha512-NbBoFBpqfcgd1tCiO8Lkfdk+xrA7mlLR9zgvZcZWQQwU63XAfUePyd6wZBaU93Hqw347lHnwFzttAkemHzzz4g==} 7609 + engines: {node: '>=12.0.0'} 7610 + 7611 tinypool@0.8.4: 7612 resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} 7613 engines: {node: '>=14.0.0'} ··· 7651 tr46@0.0.3: 7652 resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} 7653 7654 + tr46@1.0.1: 7655 + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} 7656 + 7657 tr46@5.0.0: 7658 resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==} 7659 engines: {node: '>=18'} ··· 7694 tslib@2.6.3: 7695 resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} 7696 7697 + tsup@8.3.0: 7698 + resolution: {integrity: sha512-ALscEeyS03IomcuNdFdc0YWGVIkwH1Ws7nfTbAPuoILvEV2hpGQAY72LIOjglGo4ShWpZfpBqP/jpQVCzqYQag==} 7699 + engines: {node: '>=18'} 7700 + hasBin: true 7701 + peerDependencies: 7702 + '@microsoft/api-extractor': ^7.36.0 7703 + '@swc/core': ^1 7704 + postcss: ^8.4.12 7705 + typescript: '>=4.5.0' 7706 + peerDependenciesMeta: 7707 + '@microsoft/api-extractor': 7708 + optional: true 7709 + '@swc/core': 7710 + optional: true 7711 + postcss: 7712 + optional: true 7713 + typescript: 7714 + optional: true 7715 + 7716 tsutils@3.21.0: 7717 resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} 7718 engines: {node: '>= 6'} ··· 7765 typescript: 7766 optional: true 7767 7768 + typescript@5.4.2: 7769 + resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} 7770 + engines: {node: '>=14.17'} 7771 + hasBin: true 7772 + 7773 typescript@5.5.3: 7774 resolution: {integrity: sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==} 7775 + engines: {node: '>=14.17'} 7776 + hasBin: true 7777 + 7778 + typescript@5.6.1-rc: 7779 + resolution: {integrity: sha512-E3b2+1zEFu84jB0YQi9BORDjz9+jGbwwy1Zi3G0LUNw7a7cePUrHMRNy8aPh53nXpkFGVHSxIZo5vKTfYaFiBQ==} 7780 engines: {node: '>=14.17'} 7781 hasBin: true 7782 ··· 7800 7801 unicode-canonical-property-names-ecmascript@2.0.0: 7802 resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} 7803 + engines: {node: '>=4'} 7804 + 7805 + unicode-emoji-modifier-base@1.0.0: 7806 + resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} 7807 engines: {node: '>=4'} 7808 7809 unicode-match-property-ecmascript@2.0.0: ··· 8144 webidl-conversions@3.0.1: 8145 resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} 8146 8147 + webidl-conversions@4.0.2: 8148 + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} 8149 + 8150 webidl-conversions@7.0.0: 8151 resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} 8152 engines: {node: '>=12'} ··· 8230 whatwg-url@5.0.0: 8231 resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} 8232 8233 + whatwg-url@7.1.0: 8234 + resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} 8235 + 8236 which-pm@2.2.0: 8237 resolution: {integrity: sha512-MOiaDbA5ZZgUjkeMWM5EkJp4loW5ZRoa5bc3/aeMox/PJelMhE6t7S/mLuiY43DBupyxH+S0U1bTui9kWUlmsw==} 8238 engines: {node: '>=8.15'} ··· 8335 engines: {node: '>= 14'} 8336 hasBin: true 8337 8338 + yargs-parser@20.2.9: 8339 + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} 8340 + engines: {node: '>=10'} 8341 + 8342 yargs-parser@21.1.1: 8343 resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} 8344 engines: {node: '>=12'} 8345 + 8346 + yargs@16.2.0: 8347 + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} 8348 + engines: {node: '>=10'} 8349 8350 yargs@17.7.2: 8351 resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} ··· 8485 '@jridgewell/gen-mapping': 0.3.5 8486 '@jridgewell/trace-mapping': 0.3.25 8487 8488 + '@andrewbranch/untar.js@1.0.3': {} 8489 + 8490 '@angular-devkit/architect@0.1703.7(chokidar@3.6.0)': 8491 dependencies: 8492 '@angular-devkit/core': 17.3.7(chokidar@3.6.0) ··· 8498 dependencies: 8499 '@ampproject/remapping': 2.3.0 8500 '@angular-devkit/architect': 0.1703.7(chokidar@3.6.0) 8501 + '@angular-devkit/build-webpack': 0.1703.7(chokidar@3.6.0)(webpack-dev-server@4.15.1(webpack@5.90.3(esbuild@0.23.1)))(webpack@5.90.3(esbuild@0.20.1)) 8502 '@angular-devkit/core': 17.3.7(chokidar@3.6.0) 8503 '@angular/compiler-cli': 17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.5.3) 8504 '@babel/core': 7.24.0 ··· 8558 watchpack: 2.4.0 8559 webpack: 5.90.3(esbuild@0.20.1) 8560 webpack-dev-middleware: 6.1.2(webpack@5.90.3(esbuild@0.20.1)) 8561 + webpack-dev-server: 4.15.1(webpack@5.90.3(esbuild@0.23.1)) 8562 webpack-merge: 5.10.0 8563 webpack-subresource-integrity: 5.1.0(webpack@5.90.3(esbuild@0.20.1)) 8564 optionalDependencies: ··· 8583 - utf-8-validate 8584 - webpack-cli 8585 8586 + '@angular-devkit/build-webpack@0.1703.7(chokidar@3.6.0)(webpack-dev-server@4.15.1(webpack@5.90.3(esbuild@0.23.1)))(webpack@5.90.3(esbuild@0.20.1))': 8587 dependencies: 8588 '@angular-devkit/architect': 0.1703.7(chokidar@3.6.0) 8589 rxjs: 7.8.1 8590 webpack: 5.90.3(esbuild@0.20.1) 8591 + webpack-dev-server: 4.15.1(webpack@5.90.3(esbuild@0.23.1)) 8592 transitivePeerDependencies: 8593 - chokidar 8594 ··· 8715 '@jsdevtools/ono': 7.1.3 8716 '@types/json-schema': 7.0.15 8717 js-yaml: 4.1.0 8718 + 8719 + '@arethetypeswrong/cli@0.16.4': 8720 + dependencies: 8721 + '@arethetypeswrong/core': 0.16.4 8722 + chalk: 4.1.2 8723 + cli-table3: 0.6.5 8724 + commander: 10.0.1 8725 + marked: 9.1.6 8726 + marked-terminal: 7.1.0(marked@9.1.6) 8727 + semver: 7.6.2 8728 + 8729 + '@arethetypeswrong/core@0.16.4': 8730 + dependencies: 8731 + '@andrewbranch/untar.js': 1.0.3 8732 + cjs-module-lexer: 1.4.1 8733 + fflate: 0.8.2 8734 + lru-cache: 10.4.3 8735 + semver: 7.6.2 8736 + typescript: 5.6.1-rc 8737 + validate-npm-package-name: 5.0.1 8738 8739 '@babel/code-frame@7.24.7': 8740 dependencies: ··· 9901 human-id: 1.0.2 9902 prettier: 2.8.8 9903 9904 + '@colors/colors@1.5.0': 9905 + optional: true 9906 + 9907 '@cspotcode/source-map-support@0.8.1': 9908 dependencies: 9909 '@jridgewell/trace-mapping': 0.3.9 ··· 9946 '@esbuild/aix-ppc64@0.21.5': 9947 optional: true 9948 9949 + '@esbuild/aix-ppc64@0.23.1': 9950 + optional: true 9951 + 9952 '@esbuild/android-arm64@0.19.12': 9953 optional: true 9954 ··· 9958 '@esbuild/android-arm64@0.21.5': 9959 optional: true 9960 9961 + '@esbuild/android-arm64@0.23.1': 9962 + optional: true 9963 + 9964 '@esbuild/android-arm@0.19.12': 9965 optional: true 9966 ··· 9968 optional: true 9969 9970 '@esbuild/android-arm@0.21.5': 9971 + optional: true 9972 + 9973 + '@esbuild/android-arm@0.23.1': 9974 optional: true 9975 9976 '@esbuild/android-x64@0.19.12': ··· 9982 '@esbuild/android-x64@0.21.5': 9983 optional: true 9984 9985 + '@esbuild/android-x64@0.23.1': 9986 + optional: true 9987 + 9988 '@esbuild/darwin-arm64@0.19.12': 9989 optional: true 9990 ··· 9992 optional: true 9993 9994 '@esbuild/darwin-arm64@0.21.5': 9995 + optional: true 9996 + 9997 + '@esbuild/darwin-arm64@0.23.1': 9998 optional: true 9999 10000 '@esbuild/darwin-x64@0.19.12': ··· 10006 '@esbuild/darwin-x64@0.21.5': 10007 optional: true 10008 10009 + '@esbuild/darwin-x64@0.23.1': 10010 + optional: true 10011 + 10012 '@esbuild/freebsd-arm64@0.19.12': 10013 optional: true 10014 ··· 10018 '@esbuild/freebsd-arm64@0.21.5': 10019 optional: true 10020 10021 + '@esbuild/freebsd-arm64@0.23.1': 10022 + optional: true 10023 + 10024 '@esbuild/freebsd-x64@0.19.12': 10025 optional: true 10026 ··· 10030 '@esbuild/freebsd-x64@0.21.5': 10031 optional: true 10032 10033 + '@esbuild/freebsd-x64@0.23.1': 10034 + optional: true 10035 + 10036 '@esbuild/linux-arm64@0.19.12': 10037 optional: true 10038 ··· 10042 '@esbuild/linux-arm64@0.21.5': 10043 optional: true 10044 10045 + '@esbuild/linux-arm64@0.23.1': 10046 + optional: true 10047 + 10048 '@esbuild/linux-arm@0.19.12': 10049 optional: true 10050 ··· 10054 '@esbuild/linux-arm@0.21.5': 10055 optional: true 10056 10057 + '@esbuild/linux-arm@0.23.1': 10058 + optional: true 10059 + 10060 '@esbuild/linux-ia32@0.19.12': 10061 optional: true 10062 ··· 10066 '@esbuild/linux-ia32@0.21.5': 10067 optional: true 10068 10069 + '@esbuild/linux-ia32@0.23.1': 10070 + optional: true 10071 + 10072 '@esbuild/linux-loong64@0.19.12': 10073 optional: true 10074 ··· 10078 '@esbuild/linux-loong64@0.21.5': 10079 optional: true 10080 10081 + '@esbuild/linux-loong64@0.23.1': 10082 + optional: true 10083 + 10084 '@esbuild/linux-mips64el@0.19.12': 10085 optional: true 10086 ··· 10090 '@esbuild/linux-mips64el@0.21.5': 10091 optional: true 10092 10093 + '@esbuild/linux-mips64el@0.23.1': 10094 + optional: true 10095 + 10096 '@esbuild/linux-ppc64@0.19.12': 10097 optional: true 10098 ··· 10100 optional: true 10101 10102 '@esbuild/linux-ppc64@0.21.5': 10103 + optional: true 10104 + 10105 + '@esbuild/linux-ppc64@0.23.1': 10106 optional: true 10107 10108 '@esbuild/linux-riscv64@0.19.12': ··· 10114 '@esbuild/linux-riscv64@0.21.5': 10115 optional: true 10116 10117 + '@esbuild/linux-riscv64@0.23.1': 10118 + optional: true 10119 + 10120 '@esbuild/linux-s390x@0.19.12': 10121 optional: true 10122 ··· 10126 '@esbuild/linux-s390x@0.21.5': 10127 optional: true 10128 10129 + '@esbuild/linux-s390x@0.23.1': 10130 + optional: true 10131 + 10132 '@esbuild/linux-x64@0.19.12': 10133 optional: true 10134 ··· 10138 '@esbuild/linux-x64@0.21.5': 10139 optional: true 10140 10141 + '@esbuild/linux-x64@0.23.1': 10142 + optional: true 10143 + 10144 '@esbuild/netbsd-x64@0.19.12': 10145 optional: true 10146 ··· 10148 optional: true 10149 10150 '@esbuild/netbsd-x64@0.21.5': 10151 + optional: true 10152 + 10153 + '@esbuild/netbsd-x64@0.23.1': 10154 + optional: true 10155 + 10156 + '@esbuild/openbsd-arm64@0.23.1': 10157 optional: true 10158 10159 '@esbuild/openbsd-x64@0.19.12': ··· 10165 '@esbuild/openbsd-x64@0.21.5': 10166 optional: true 10167 10168 + '@esbuild/openbsd-x64@0.23.1': 10169 + optional: true 10170 + 10171 '@esbuild/sunos-x64@0.19.12': 10172 optional: true 10173 ··· 10177 '@esbuild/sunos-x64@0.21.5': 10178 optional: true 10179 10180 + '@esbuild/sunos-x64@0.23.1': 10181 + optional: true 10182 + 10183 '@esbuild/win32-arm64@0.19.12': 10184 optional: true 10185 ··· 10189 '@esbuild/win32-arm64@0.21.5': 10190 optional: true 10191 10192 + '@esbuild/win32-arm64@0.23.1': 10193 + optional: true 10194 + 10195 '@esbuild/win32-ia32@0.19.12': 10196 optional: true 10197 ··· 10199 optional: true 10200 10201 '@esbuild/win32-ia32@0.21.5': 10202 + optional: true 10203 + 10204 + '@esbuild/win32-ia32@0.23.1': 10205 optional: true 10206 10207 '@esbuild/win32-x64@0.19.12': ··· 10211 optional: true 10212 10213 '@esbuild/win32-x64@0.21.5': 10214 + optional: true 10215 + 10216 + '@esbuild/win32-x64@0.23.1': 10217 optional: true 10218 10219 '@eslint-community/eslint-utils@4.4.0(eslint@9.0.0)': ··· 10365 globby: 11.1.0 10366 read-yaml-file: 1.1.0 10367 10368 + '@microsoft/api-extractor-model@7.29.8(@types/node@20.14.10)': 10369 + dependencies: 10370 + '@microsoft/tsdoc': 0.15.0 10371 + '@microsoft/tsdoc-config': 0.17.0 10372 + '@rushstack/node-core-library': 5.9.0(@types/node@20.14.10) 10373 + transitivePeerDependencies: 10374 + - '@types/node' 10375 + optional: true 10376 + 10377 + '@microsoft/api-extractor@7.47.9(@types/node@20.14.10)': 10378 + dependencies: 10379 + '@microsoft/api-extractor-model': 7.29.8(@types/node@20.14.10) 10380 + '@microsoft/tsdoc': 0.15.0 10381 + '@microsoft/tsdoc-config': 0.17.0 10382 + '@rushstack/node-core-library': 5.9.0(@types/node@20.14.10) 10383 + '@rushstack/rig-package': 0.5.3 10384 + '@rushstack/terminal': 0.14.2(@types/node@20.14.10) 10385 + '@rushstack/ts-command-line': 4.22.8(@types/node@20.14.10) 10386 + lodash: 4.17.21 10387 + minimatch: 3.0.8 10388 + resolve: 1.22.8 10389 + semver: 7.5.4 10390 + source-map: 0.6.1 10391 + typescript: 5.4.2 10392 + transitivePeerDependencies: 10393 + - '@types/node' 10394 + optional: true 10395 + 10396 + '@microsoft/tsdoc-config@0.17.0': 10397 + dependencies: 10398 + '@microsoft/tsdoc': 0.15.0 10399 + ajv: 8.12.0 10400 + jju: 1.4.0 10401 + resolve: 1.22.8 10402 + optional: true 10403 + 10404 + '@microsoft/tsdoc@0.15.0': 10405 + optional: true 10406 + 10407 '@neoconfetti/svelte@2.0.0': {} 10408 10409 '@ngtools/webpack@17.3.7(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.5.3))(typescript@5.5.3)(webpack@5.90.3(esbuild@0.20.1))': ··· 11158 '@types/react': 18.3.3 11159 '@types/react-dom': 18.3.0 11160 11161 '@rollup/pluginutils@5.1.0(rollup@4.22.0)': 11162 dependencies: 11163 '@types/estree': 1.0.5 ··· 11264 11265 '@rushstack/eslint-patch@1.10.4': {} 11266 11267 + '@rushstack/node-core-library@5.9.0(@types/node@20.14.10)': 11268 + dependencies: 11269 + ajv: 8.13.0 11270 + ajv-draft-04: 1.0.0(ajv@8.13.0) 11271 + ajv-formats: 3.0.1(ajv@8.13.0) 11272 + fs-extra: 7.0.1 11273 + import-lazy: 4.0.0 11274 + jju: 1.4.0 11275 + resolve: 1.22.8 11276 + semver: 7.5.4 11277 + optionalDependencies: 11278 + '@types/node': 20.14.10 11279 + optional: true 11280 + 11281 + '@rushstack/rig-package@0.5.3': 11282 + dependencies: 11283 + resolve: 1.22.8 11284 + strip-json-comments: 3.1.1 11285 + optional: true 11286 + 11287 + '@rushstack/terminal@0.14.2(@types/node@20.14.10)': 11288 + dependencies: 11289 + '@rushstack/node-core-library': 5.9.0(@types/node@20.14.10) 11290 + supports-color: 8.1.1 11291 + optionalDependencies: 11292 + '@types/node': 20.14.10 11293 + optional: true 11294 + 11295 + '@rushstack/ts-command-line@4.22.8(@types/node@20.14.10)': 11296 + dependencies: 11297 + '@rushstack/terminal': 0.14.2(@types/node@20.14.10) 11298 + '@types/argparse': 1.0.38 11299 + argparse: 1.0.10 11300 + string-argv: 0.3.2 11301 + transitivePeerDependencies: 11302 + - '@types/node' 11303 + optional: true 11304 + 11305 '@schematics/angular@17.3.7(chokidar@3.6.0)': 11306 dependencies: 11307 '@angular-devkit/core': 17.3.7(chokidar@3.6.0) ··· 11352 11353 '@sinclair/typebox@0.27.8': {} 11354 11355 + '@sindresorhus/is@4.6.0': {} 11356 + 11357 '@stackblitz/sdk@1.11.0': {} 11358 11359 '@sveltejs/adapter-auto@3.0.0(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.0.0(svelte@4.2.19)(vite@5.4.6(@types/node@20.14.10)(less@4.2.0)(sass@1.71.1)(terser@5.31.1)))(svelte@4.2.19)(vite@5.4.6(@types/node@20.14.10)(less@4.2.0)(sass@1.71.1)(terser@5.31.1)))': ··· 11465 dependencies: 11466 '@tufjs/canonical-json': 2.0.0 11467 minimatch: 9.0.5 11468 + 11469 + '@types/argparse@1.0.38': 11470 + optional: true 11471 11472 '@types/babel__core@7.20.5': 11473 dependencies: ··· 11599 dependencies: 11600 '@types/prop-types': 15.7.12 11601 csstype: 3.1.3 11602 11603 '@types/retry@0.12.0': {} 11604 ··· 12357 clean-stack: 2.2.0 12358 indent-string: 4.0.0 12359 12360 + ajv-draft-04@1.0.0(ajv@8.13.0): 12361 + optionalDependencies: 12362 + ajv: 8.13.0 12363 + optional: true 12364 + 12365 ajv-formats@2.1.1(ajv@8.12.0): 12366 optionalDependencies: 12367 ajv: 8.12.0 ··· 12370 optionalDependencies: 12371 ajv: 8.16.0 12372 12373 + ajv-formats@3.0.1(ajv@8.13.0): 12374 + optionalDependencies: 12375 + ajv: 8.13.0 12376 + optional: true 12377 + 12378 ajv-keywords@3.5.2(ajv@6.12.6): 12379 dependencies: 12380 ajv: 6.12.6 ··· 12398 require-from-string: 2.0.2 12399 uri-js: 4.4.1 12400 12401 + ajv@8.13.0: 12402 + dependencies: 12403 + fast-deep-equal: 3.1.3 12404 + json-schema-traverse: 1.0.0 12405 + require-from-string: 2.0.2 12406 + uri-js: 4.4.1 12407 + optional: true 12408 + 12409 ajv@8.16.0: 12410 dependencies: 12411 fast-deep-equal: 3.1.3 ··· 12438 type-fest: 0.21.3 12439 12440 ansi-escapes@6.2.1: {} 12441 + 12442 + ansi-escapes@7.0.0: 12443 + dependencies: 12444 + environment: 1.1.0 12445 12446 ansi-html-community@0.0.8: {} 12447 ··· 12692 base64-js: 1.5.1 12693 ieee754: 1.2.1 12694 12695 bundle-name@4.1.0: 12696 dependencies: 12697 run-applescript: 7.0.0 12698 + 12699 + bundle-require@5.0.0(esbuild@0.23.1): 12700 + dependencies: 12701 + esbuild: 0.23.1 12702 + load-tsconfig: 0.2.5 12703 12704 bytes@3.0.0: {} 12705 ··· 12790 12791 chalk@5.3.0: {} 12792 12793 + char-regex@1.0.2: {} 12794 + 12795 chardet@0.7.0: {} 12796 12797 check-error@1.0.3: ··· 12829 dependencies: 12830 consola: 3.2.3 12831 12832 + cjs-module-lexer@1.4.1: {} 12833 + 12834 classnames@2.3.2: {} 12835 12836 clean-stack@2.2.0: {} ··· 12843 dependencies: 12844 restore-cursor: 4.0.0 12845 12846 + cli-highlight@2.1.11: 12847 + dependencies: 12848 + chalk: 4.1.2 12849 + highlight.js: 10.7.3 12850 + mz: 2.7.0 12851 + parse5: 5.1.1 12852 + parse5-htmlparser2-tree-adapter: 6.0.1 12853 + yargs: 16.2.0 12854 + 12855 cli-spinners@2.9.2: {} 12856 + 12857 + cli-table3@0.6.5: 12858 + dependencies: 12859 + string-width: 4.2.3 12860 + optionalDependencies: 12861 + '@colors/colors': 1.5.0 12862 12863 cli-truncate@4.0.0: 12864 dependencies: ··· 12866 string-width: 7.1.0 12867 12868 cli-width@4.1.0: {} 12869 + 12870 + cliui@7.0.4: 12871 + dependencies: 12872 + string-width: 4.2.3 12873 + strip-ansi: 6.0.1 12874 + wrap-ansi: 7.0.0 12875 12876 cliui@8.0.1: 12877 dependencies: ··· 12922 commander@4.1.1: {} 12923 12924 common-path-prefix@3.0.0: {} 12925 12926 compressible@2.0.18: 12927 dependencies: ··· 13212 13213 emoji-regex@9.2.2: {} 13214 13215 + emojilib@2.4.0: {} 13216 + 13217 emojis-list@3.0.0: {} 13218 13219 encodeurl@1.0.2: {} ··· 13242 entities@4.5.0: {} 13243 13244 env-paths@2.2.1: {} 13245 + 13246 + environment@1.1.0: {} 13247 13248 err-code@2.0.3: {} 13249 ··· 13349 '@esbuild/win32-ia32': 0.21.5 13350 '@esbuild/win32-x64': 0.21.5 13351 13352 + esbuild@0.23.1: 13353 + optionalDependencies: 13354 + '@esbuild/aix-ppc64': 0.23.1 13355 + '@esbuild/android-arm': 0.23.1 13356 + '@esbuild/android-arm64': 0.23.1 13357 + '@esbuild/android-x64': 0.23.1 13358 + '@esbuild/darwin-arm64': 0.23.1 13359 + '@esbuild/darwin-x64': 0.23.1 13360 + '@esbuild/freebsd-arm64': 0.23.1 13361 + '@esbuild/freebsd-x64': 0.23.1 13362 + '@esbuild/linux-arm': 0.23.1 13363 + '@esbuild/linux-arm64': 0.23.1 13364 + '@esbuild/linux-ia32': 0.23.1 13365 + '@esbuild/linux-loong64': 0.23.1 13366 + '@esbuild/linux-mips64el': 0.23.1 13367 + '@esbuild/linux-ppc64': 0.23.1 13368 + '@esbuild/linux-riscv64': 0.23.1 13369 + '@esbuild/linux-s390x': 0.23.1 13370 + '@esbuild/linux-x64': 0.23.1 13371 + '@esbuild/netbsd-x64': 0.23.1 13372 + '@esbuild/openbsd-arm64': 0.23.1 13373 + '@esbuild/openbsd-x64': 0.23.1 13374 + '@esbuild/sunos-x64': 0.23.1 13375 + '@esbuild/win32-arm64': 0.23.1 13376 + '@esbuild/win32-ia32': 0.23.1 13377 + '@esbuild/win32-x64': 0.23.1 13378 + 13379 escalade@3.1.2: {} 13380 13381 escape-html@1.0.3: {} ··· 13752 dependencies: 13753 pend: 1.2.0 13754 13755 + fdir@6.3.0(picomatch@4.0.2): 13756 + optionalDependencies: 13757 + picomatch: 4.0.2 13758 + 13759 fetch-blob@3.2.0: 13760 dependencies: 13761 node-domexception: 1.0.0 13762 web-streams-polyfill: 3.3.3 13763 + 13764 + fflate@0.8.2: {} 13765 13766 figures@3.2.0: 13767 dependencies: ··· 14029 14030 he@1.2.0: {} 14031 14032 + highlight.js@10.7.3: {} 14033 + 14034 hookable@5.5.3: {} 14035 14036 hosted-git-info@7.0.2: ··· 14154 parent-module: 1.0.1 14155 resolve-from: 4.0.0 14156 14157 + import-lazy@4.0.0: 14158 + optional: true 14159 + 14160 import-meta-resolve@4.1.0: {} 14161 14162 imurmurhash@0.1.4: {} ··· 14213 dependencies: 14214 binary-extensions: 2.3.0 14215 14216 is-core-module@2.14.0: 14217 dependencies: 14218 hasown: 2.0.2 ··· 14243 14244 is-lambda@1.0.1: {} 14245 14246 is-number@7.0.0: {} 14247 14248 is-path-inside@3.0.3: {} ··· 14255 14256 is-potential-custom-element-name@1.0.1: {} 14257 14258 is-reference@3.0.2: 14259 dependencies: 14260 '@types/estree': 1.0.5 ··· 14335 supports-color: 8.1.1 14336 14337 jiti@1.21.6: {} 14338 + 14339 + jju@1.4.0: 14340 + optional: true 14341 + 14342 + joycon@3.1.1: {} 14343 14344 js-beautify@1.15.1: 14345 dependencies: ··· 14512 rfdc: 1.4.1 14513 wrap-ansi: 9.0.0 14514 14515 + load-tsconfig@0.2.5: {} 14516 + 14517 load-yaml-file@0.2.0: 14518 dependencies: 14519 graceful-fs: 4.2.11 ··· 14554 14555 lodash.merge@4.6.2: {} 14556 14557 + lodash.sortby@4.7.0: {} 14558 + 14559 lodash.startcase@4.4.0: {} 14560 14561 lodash@4.17.21: {} ··· 14587 14588 lru-cache@10.4.0: {} 14589 14590 + lru-cache@10.4.3: {} 14591 + 14592 lru-cache@4.1.5: 14593 dependencies: 14594 pseudomap: 1.0.2 ··· 14653 14654 mark.js@8.11.1: {} 14655 14656 + marked-terminal@7.1.0(marked@9.1.6): 14657 + dependencies: 14658 + ansi-escapes: 7.0.0 14659 + chalk: 5.3.0 14660 + cli-highlight: 2.1.11 14661 + cli-table3: 0.6.5 14662 + marked: 9.1.6 14663 + node-emoji: 2.1.3 14664 + supports-hyperlinks: 3.1.0 14665 + 14666 + marked@9.1.6: {} 14667 + 14668 mdn-data@2.0.30: {} 14669 14670 media-typer@0.3.0: {} ··· 14709 webpack: 5.90.3(esbuild@0.20.1) 14710 14711 minimalistic-assert@1.0.1: {} 14712 + 14713 + minimatch@3.0.8: 14714 + dependencies: 14715 + brace-expansion: 1.1.11 14716 + optional: true 14717 14718 minimatch@3.1.2: 14719 dependencies: ··· 14842 14843 node-domexception@1.0.0: {} 14844 14845 + node-emoji@2.1.3: 14846 + dependencies: 14847 + '@sindresorhus/is': 4.6.0 14848 + char-regex: 1.0.2 14849 + emojilib: 2.4.0 14850 + skin-tone: 2.0.0 14851 + 14852 node-fetch-native@1.6.4: {} 14853 14854 node-fetch@2.7.0(encoding@0.1.13): ··· 15149 parse5: 7.1.2 15150 parse5-sax-parser: 7.0.0 15151 15152 + parse5-htmlparser2-tree-adapter@6.0.1: 15153 + dependencies: 15154 + parse5: 6.0.1 15155 + 15156 parse5-sax-parser@7.0.0: 15157 dependencies: 15158 parse5: 7.1.2 15159 + 15160 + parse5@5.1.1: {} 15161 + 15162 + parse5@6.0.1: {} 15163 15164 parse5@7.1.2: 15165 dependencies: ··· 15211 picomatch@2.3.1: {} 15212 15213 picomatch@4.0.1: {} 15214 + 15215 + picomatch@4.0.2: {} 15216 15217 pidtree@0.6.0: {} 15218 ··· 15290 postcss: 8.4.39 15291 ts-node: 10.9.2(@types/node@20.14.5)(typescript@5.5.3) 15292 15293 + postcss-load-config@6.0.1(jiti@1.21.6)(postcss@8.4.45)(yaml@2.4.5): 15294 + dependencies: 15295 + lilconfig: 3.1.2 15296 + optionalDependencies: 15297 + jiti: 1.21.6 15298 + postcss: 8.4.45 15299 + yaml: 2.4.5 15300 + 15301 postcss-loader@8.1.1(postcss@8.4.35)(typescript@5.5.3)(webpack@5.90.3(esbuild@0.20.1)): 15302 dependencies: 15303 cosmiconfig: 9.0.0(typescript@5.5.3) ··· 15679 dependencies: 15680 glob: 7.2.3 15681 15682 rollup@4.18.0: 15683 dependencies: 15684 '@types/estree': 1.0.5 ··· 15807 15808 semver@6.3.1: {} 15809 15810 + semver@7.5.4: 15811 + dependencies: 15812 + lru-cache: 6.0.0 15813 + optional: true 15814 + 15815 semver@7.6.0: 15816 dependencies: 15817 lru-cache: 6.0.0 ··· 15935 mrmime: 2.0.0 15936 totalist: 3.0.1 15937 15938 + skin-tone@2.0.0: 15939 + dependencies: 15940 + unicode-emoji-modifier-base: 1.0.0 15941 + 15942 slash@3.0.0: {} 15943 15944 slash@4.0.0: {} ··· 15954 is-fullwidth-code-point: 5.0.0 15955 15956 smart-buffer@4.2.0: {} 15957 15958 sockjs@0.3.24: 15959 dependencies: ··· 16004 16005 source-map@0.7.4: {} 16006 16007 + source-map@0.8.0-beta.0: 16008 + dependencies: 16009 + whatwg-url: 7.1.0 16010 + 16011 spawndamnit@2.0.0: 16012 dependencies: 16013 cross-spawn: 5.1.0 ··· 16151 supports-color@8.1.1: 16152 dependencies: 16153 has-flag: 4.0.0 16154 + 16155 + supports-hyperlinks@3.1.0: 16156 + dependencies: 16157 + has-flag: 4.0.0 16158 + supports-color: 7.2.0 16159 16160 supports-preserve-symlinks-flag@1.0.0: {} 16161 ··· 16350 16351 term-size@2.2.1: {} 16352 16353 + terser-webpack-plugin@5.3.10(esbuild@0.20.1)(webpack@5.90.3(esbuild@0.23.1)): 16354 dependencies: 16355 '@jridgewell/trace-mapping': 0.3.25 16356 jest-worker: 27.5.1 ··· 16374 acorn: 8.12.0 16375 commander: 2.20.3 16376 source-map-support: 0.5.21 16377 + optional: true 16378 16379 test-exclude@6.0.0: 16380 dependencies: ··· 16407 16408 tinybench@2.8.0: {} 16409 16410 + tinyglobby@0.2.6: 16411 + dependencies: 16412 + fdir: 6.3.0(picomatch@4.0.2) 16413 + picomatch: 4.0.2 16414 + 16415 tinypool@0.8.4: {} 16416 16417 tinypool@1.0.0: {} ··· 16443 16444 tr46@0.0.3: {} 16445 16446 + tr46@1.0.1: 16447 + dependencies: 16448 + punycode: 2.3.1 16449 + 16450 tr46@5.0.0: 16451 dependencies: 16452 punycode: 2.3.1 ··· 16502 16503 tslib@2.6.3: {} 16504 16505 + tsup@8.3.0(@microsoft/api-extractor@7.47.9(@types/node@20.14.10))(jiti@1.21.6)(postcss@8.4.45)(typescript@5.5.3)(yaml@2.4.5): 16506 + dependencies: 16507 + bundle-require: 5.0.0(esbuild@0.23.1) 16508 + cac: 6.7.14 16509 + chokidar: 3.6.0 16510 + consola: 3.2.3 16511 + debug: 4.3.5 16512 + esbuild: 0.23.1 16513 + execa: 5.1.1 16514 + joycon: 3.1.1 16515 + picocolors: 1.0.1 16516 + postcss-load-config: 6.0.1(jiti@1.21.6)(postcss@8.4.45)(yaml@2.4.5) 16517 + resolve-from: 5.0.0 16518 + rollup: 4.22.0 16519 + source-map: 0.8.0-beta.0 16520 + sucrase: 3.35.0 16521 + tinyglobby: 0.2.6 16522 + tree-kill: 1.2.2 16523 + optionalDependencies: 16524 + '@microsoft/api-extractor': 7.47.9(@types/node@20.14.10) 16525 + postcss: 8.4.45 16526 + typescript: 5.5.3 16527 + transitivePeerDependencies: 16528 + - jiti 16529 + - supports-color 16530 + - tsx 16531 + - yaml 16532 + 16533 tsutils@3.21.0(typescript@5.5.3): 16534 dependencies: 16535 tslib: 1.14.1 ··· 16582 - eslint 16583 - supports-color 16584 16585 + typescript@5.4.2: 16586 + optional: true 16587 + 16588 typescript@5.5.3: {} 16589 + 16590 + typescript@5.6.1-rc: {} 16591 16592 ufo@1.5.3: {} 16593 ··· 16604 undici@6.11.1: {} 16605 16606 unicode-canonical-property-names-ecmascript@2.0.0: {} 16607 + 16608 + unicode-emoji-modifier-base@1.0.0: {} 16609 16610 unicode-match-property-ecmascript@2.0.0: 16611 dependencies: ··· 17061 17062 webidl-conversions@3.0.1: {} 17063 17064 + webidl-conversions@4.0.2: {} 17065 + 17066 webidl-conversions@7.0.0: {} 17067 17068 + webpack-dev-middleware@5.3.4(webpack@5.90.3(esbuild@0.23.1)): 17069 dependencies: 17070 colorette: 2.0.20 17071 memfs: 3.5.3 ··· 17084 optionalDependencies: 17085 webpack: 5.90.3(esbuild@0.20.1) 17086 17087 + webpack-dev-server@4.15.1(webpack@5.90.3(esbuild@0.23.1)): 17088 dependencies: 17089 '@types/bonjour': 3.5.13 17090 '@types/connect-history-api-fallback': 1.5.4 ··· 17114 serve-index: 1.9.1 17115 sockjs: 0.3.24 17116 spdy: 4.0.2 17117 + webpack-dev-middleware: 5.3.4(webpack@5.90.3(esbuild@0.23.1)) 17118 ws: 8.17.1 17119 optionalDependencies: 17120 webpack: 5.90.3(esbuild@0.20.1) ··· 17160 neo-async: 2.6.2 17161 schema-utils: 3.3.0 17162 tapable: 2.2.1 17163 + terser-webpack-plugin: 5.3.10(esbuild@0.20.1)(webpack@5.90.3(esbuild@0.23.1)) 17164 watchpack: 2.4.0 17165 webpack-sources: 3.2.3 17166 transitivePeerDependencies: ··· 17192 tr46: 0.0.3 17193 webidl-conversions: 3.0.1 17194 17195 + whatwg-url@7.1.0: 17196 + dependencies: 17197 + lodash.sortby: 4.7.0 17198 + tr46: 1.0.1 17199 + webidl-conversions: 4.0.2 17200 + 17201 which-pm@2.2.0: 17202 dependencies: 17203 load-yaml-file: 0.2.0 ··· 17277 17278 yaml@2.4.5: {} 17279 17280 + yargs-parser@20.2.9: {} 17281 + 17282 yargs-parser@21.1.1: {} 17283 + 17284 + yargs@16.2.0: 17285 + dependencies: 17286 + cliui: 7.0.4 17287 + escalade: 3.1.2 17288 + get-caller-file: 2.0.5 17289 + require-directory: 2.1.1 17290 + string-width: 4.2.3 17291 + y18n: 5.0.8 17292 + yargs-parser: 20.2.9 17293 17294 yargs@17.7.2: 17295 dependencies: