@kubb/core 5.0.0-beta.11 → 5.0.0-beta.110

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/LICENSE +17 -10
  2. package/README.md +20 -123
  3. package/dist/index.cjs +2430 -1184
  4. package/dist/index.cjs.map +1 -1
  5. package/dist/index.d.ts +136 -140
  6. package/dist/index.js +2419 -1173
  7. package/dist/index.js.map +1 -1
  8. package/dist/mocks.cjs +86 -32
  9. package/dist/mocks.cjs.map +1 -1
  10. package/dist/mocks.d.ts +37 -14
  11. package/dist/mocks.js +88 -36
  12. package/dist/mocks.js.map +1 -1
  13. package/dist/types-Ba5Mo-G8.d.ts +3016 -0
  14. package/dist/usingCtx-BdYw7ICK.cjs +954 -0
  15. package/dist/usingCtx-BdYw7ICK.cjs.map +1 -0
  16. package/dist/usingCtx-njZUKKsY.js +822 -0
  17. package/dist/usingCtx-njZUKKsY.js.map +1 -0
  18. package/package.json +7 -28
  19. package/dist/PluginDriver-C1OsqGBJ.cjs +0 -1086
  20. package/dist/PluginDriver-C1OsqGBJ.cjs.map +0 -1
  21. package/dist/PluginDriver-CGypdXHg.js +0 -989
  22. package/dist/PluginDriver-CGypdXHg.js.map +0 -1
  23. package/dist/createKubb-BSfMDBwR.d.ts +0 -2176
  24. package/src/FileManager.ts +0 -123
  25. package/src/FileProcessor.ts +0 -91
  26. package/src/PluginDriver.ts +0 -466
  27. package/src/constants.ts +0 -39
  28. package/src/createAdapter.ts +0 -108
  29. package/src/createKubb.ts +0 -1380
  30. package/src/createRenderer.ts +0 -57
  31. package/src/createStorage.ts +0 -70
  32. package/src/defineGenerator.ts +0 -175
  33. package/src/defineLogger.ts +0 -58
  34. package/src/defineMiddleware.ts +0 -62
  35. package/src/defineParser.ts +0 -44
  36. package/src/definePlugin.ts +0 -379
  37. package/src/defineResolver.ts +0 -654
  38. package/src/devtools.ts +0 -66
  39. package/src/index.ts +0 -20
  40. package/src/mocks.ts +0 -177
  41. package/src/storages/fsStorage.ts +0 -89
  42. package/src/storages/memoryStorage.ts +0 -55
  43. package/src/types.ts +0 -42
  44. /package/dist/{chunk--u3MIqq1.js → rolldown-runtime-C0LytTxp.js} +0 -0
package/dist/index.d.ts CHANGED
@@ -1,142 +1,135 @@
1
- import { t as __name } from "./chunk--u3MIqq1.js";
2
- import { $ as ResolverPathParams, A as isInputPath, B as KubbPluginSetupContext, C as KubbPluginsEndContext, Ct as AsyncEventEmitter, D as PossibleConfig, E as KubbWarnContext, F as FileManager, G as Plugin, H as NormalizedPlugin, I as Exclude, J as ResolveBannerContext, K as PluginFactoryOptions, L as Group, M as GeneratorContext, N as defineGenerator, O as UserConfig, P as PluginDriver, Q as ResolverFileParams, R as Include, S as KubbLifecycleStartContext, St as logLevel, T as KubbVersionNewContext, U as Output, V as KubbPluginStartContext, W as Override, X as Resolver, Y as ResolveOptionsContext, Z as ResolverContext, _ as KubbGenerationSummaryContext, _t as createRenderer, a as InputPath, at as LoggerOptions, b as KubbHooks, bt as AdapterSource, c as KubbBuildStartContext, ct as FileProcessor, d as KubbErrorContext, dt as defineParser, et as defineResolver, f as KubbFileProcessingUpdateContext, ft as DevtoolsOptions, g as KubbGenerationStartContext, gt as RendererFactory, h as KubbGenerationEndContext, ht as Renderer, i as InputData, it as LoggerContext, j as Generator, k as createKubb, l as KubbConfigEndContext, lt as FileProcessorEvents, m as KubbFilesProcessingStartContext, mt as createStorage, n as CLIOptions, nt as defineMiddleware, o as Kubb, ot as UserLogger, p as KubbFilesProcessingEndContext, pt as Storage, q as definePlugin, r as Config, rt as Logger, s as KubbBuildEndContext, st as defineLogger, t as BuildOutput, tt as Middleware, u as KubbDebugContext, ut as Parser, v as KubbHookEndContext, vt as Adapter, w as KubbSuccessContext, x as KubbInfoContext, xt as createAdapter, y as KubbHookStartContext, yt as AdapterFactoryOptions, z as KubbPluginEndContext } from "./createKubb-BSfMDBwR.js";
3
- import * as ast from "@kubb/ast";
4
-
5
- //#region ../../internals/utils/src/urlPath.d.ts
6
- type URLObject = {
7
- /**
8
- * The resolved URL string (Express-style or template literal, depending on context).
9
- */
10
- url: string;
11
- /**
12
- * Extracted path parameters as a key-value map, or `undefined` when the path has none.
13
- */
14
- params?: Record<string, string>;
15
- };
16
- type ObjectOptions = {
17
- /**
18
- * Controls whether the `url` is rendered as an Express path or a template literal.
19
- * @default 'path'
20
- */
21
- type?: 'path' | 'template';
22
- /**
23
- * Optional transform applied to each extracted parameter name.
24
- */
25
- replacer?: (pathParam: string) => string;
26
- /**
27
- * When `true`, the result is serialized to a string expression instead of a plain object.
28
- */
29
- stringify?: boolean;
1
+ import { t as __name } from "./rolldown-runtime-C0LytTxp.js";
2
+ import { $ as PluginFactoryOptions, A as Kubb, At as DiagnosticDoc, B as Exclude, Bt as Hookable, C as KubbWarnContext, Ct as Reporter, D as CreateKubbOptions, Dt as createReporter, E as UserConfig, Et as UserReporter, F as NodeCache, Ft as PerformanceDiagnostic, G as KubbPluginSetupContext, H as Group, Ht as AdapterFactoryOptions, I as KubbDriver, It as ProblemCode, J as Output, K as KubbPluginStartContext, L as FileManagerHooks, Lt as ProblemDiagnostic, M as Generator, Mt as DiagnosticLocation, N as GeneratorContext, Nt as DiagnosticSeverity, O as GenerateOptions, Ot as logLevel, P as defineGenerator, Pt as Diagnostics, Q as Plugin, R as Parser, Rt as SerializedDiagnostic, S as KubbSuccessContext, St as GenerationResult, T as PostGenerateCommand, Tt as ReporterName, U as Include, Ut as AdapterSource, V as Filter, Vt as Adapter, W as KubbPluginEndContext, Wt as createAdapter, X as OutputOptions, Y as OutputMode, Z as Override, _ as KubbHookStartContext, _t as Renderer, a as KubbBuildEndContext, at as ResolveBannerFile, b as KubbLifecycleStartContext, bt as Storage, c as KubbErrorContext, ct as ResolveOptionsContext, d as KubbFilesProcessingStartContext, dt as ResolverDefault, et as PluginName, f as KubbFilesProcessingUpdateContext, ft as ResolverFile, g as KubbHookLineContext, gt as ResolverPathParams, h as KubbHookEndContext, ht as ResolverPatch, i as Input, it as ResolveBannerContext, j as createKubb, jt as DiagnosticKind, k as GenerateResult, kt as Diagnostic, l as KubbFileProcessingUpdate, lt as ResolvePathOptions, m as KubbGenerationStartContext, mt as ResolverFilePathParams, n as CLIOptions, nt as definePlugin, o as KubbBuildStartContext, ot as ResolveFileOptions, p as KubbGenerationEndContext, pt as ResolverFileParams, q as NormalizedPlugin, r as Config, rt as BannerMeta, s as KubbDiagnosticContext, st as ResolveImportsOptions, t as BuildOutput, tt as ResolvePluginOptions, u as KubbFilesProcessingEndContext, ut as Resolver, v as KubbHooks, vt as RendererFactory, w as PossibleConfig, wt as ReporterContext, x as KubbPluginsEndContext, xt as createStorage, y as KubbInfoContext, yt as createRenderer, z as defineParser, zt as UpdateDiagnostic } from "./types-Ba5Mo-G8.js";
3
+ //#region src/applyConfigDefaults.d.ts
4
+ type ApplyConfigDefaultsOptions<TOutput> = {
5
+ defaultAdapter: Adapter;
6
+ barrelPlugin: Plugin;
7
+ barrelPluginName: string;
8
+ /** Output fields to fill in when the user's config leaves them unset. */
9
+ defaultOutput: Partial<TOutput>;
30
10
  };
31
11
  /**
32
- * Supported identifier casing strategies for path parameters.
12
+ * Fills in the config defaults shared by `defineConfig` and the unplugin factory: the fallback
13
+ * adapter, `defaultOutput`'s fields, and appending the barrel plugin when it's not already
14
+ * registered. Both entry points construct their own adapter, barrel plugin, and output defaults
15
+ * (`barrel` is a `@kubb/plugin-barrel` extension field core doesn't know about) and pass them in,
16
+ * so `@kubb/core` doesn't need to depend on `@kubb/adapter-oas` or `@kubb/plugin-barrel`.
33
17
  */
34
- type PathCasing = 'camelcase';
35
- type Options = {
36
- /**
37
- * Casing strategy applied to path parameter names.
38
- * @default undefined (original identifier preserved)
39
- */
40
- casing?: PathCasing;
18
+ declare function applyConfigDefaults<TOutput extends Config['output'] = Config['output']>(config: {
19
+ adapter?: Adapter;
20
+ output: TOutput;
21
+ plugins?: Array<Plugin>;
22
+ }, { defaultAdapter, barrelPlugin, barrelPluginName, defaultOutput }: ApplyConfigDefaultsOptions<TOutput>): {
23
+ adapter: Adapter;
24
+ output: TOutput;
25
+ plugins: Array<Plugin>;
41
26
  };
27
+ //#endregion
28
+ //#region src/reporters/cliReporter.d.ts
29
+ /**
30
+ * The default `cli` reporter. Renders the {@link Report} for each config as it finishes, independent
31
+ * of the live logger view. Suppressed at `silent`. The `verbose` level adds the per-plugin timings.
32
+ */
33
+ declare const cliReporter: Reporter;
34
+ //#endregion
35
+ //#region src/reporters/fileReporter.d.ts
42
36
  /**
43
- * Parses and transforms an OpenAPI/Swagger path string into various URL formats.
37
+ * The `file` reporter. Writes a config's {@link Report} to `.kubb/kubb-<name>-<timestamp>.log` as a
38
+ * plain-text document: a `# <name> — <timestamp>` header, a `## Summary` with the same counts the
39
+ * cli and json reporters expose, a `## Problems` section in the miette block format, and a
40
+ * `## Timings` section. Selected with `--reporter file` (or `reporters: ['file']`).
44
41
  *
45
- * @example
46
- * const p = new URLPath('/pet/{petId}')
47
- * p.URL // '/pet/:petId'
48
- * p.template // '`/pet/${petId}`'
42
+ * @note It captures the collected diagnostics once a config finishes, not the live
43
+ * `kubb:info`/`kubb:plugin` hook stream. Color is stripped so the file stays plain text even when
44
+ * the run is attached to a TTY.
45
+ */
46
+ declare const fileReporter: Reporter;
47
+ //#endregion
48
+ //#region src/reporters/jsonReporter.d.ts
49
+ /**
50
+ * The `json` reporter. `report` returns one config's {@link Report}, which {@link createReporter}
51
+ * buffers, and `drain` writes them as a single pretty-printed JSON array on `kubb:lifecycle:end`.
52
+ * Buffering keeps a multi-config run one valid JSON document on stdout instead of concatenated
53
+ * objects that would break `jq .`. The terminal reporter is suppressed while `json` is active so
54
+ * stdout stays valid JSON.
55
+ */
56
+ declare const jsonReporter: Reporter;
57
+ //#endregion
58
+ //#region src/createResolver.d.ts
59
+ /**
60
+ * The plugin-specific resolver fields handed to `createResolver`. `name` and `file` fall
61
+ * back to the built-ins when omitted. Every method reaches sibling helpers through `this`,
62
+ * which `ThisType` types as the full resolver.
63
+ */
64
+ type ResolverOptions<T extends PluginFactoryOptions> = Omit<T['resolver'], keyof Resolver> & {
65
+ pluginName: T['name'];
66
+ name?: T['resolver']['name'];
67
+ file?: ResolverFile;
68
+ } & ThisType<T['resolver']>;
69
+ /**
70
+ * Defines a plugin resolver, the object that decides what every generated symbol and file
71
+ * path is called. Override the top-level `name` and `file` to set the plugin's conventions,
72
+ * and add your own naming helpers, top-level (`typeName`, …) or grouped in namespaces
73
+ * (`query`, `schema`, …). Every method reaches sibling helpers and the built-in machinery
74
+ * through `this.name`, `this.file`, and `this.default`.
75
+ *
76
+ * @example Custom identifier casing
77
+ * ```ts
78
+ * export const resolverTs = createResolver<PluginTs>({
79
+ * pluginName: 'plugin-ts',
80
+ * name(name) {
81
+ * return ensureValidVarName(pascalCase(name))
82
+ * },
83
+ * })
84
+ * ```
85
+ *
86
+ * @example Rename generated files with `file.baseName`
87
+ * ```ts
88
+ * export const resolverFaker = createResolver<PluginFaker>({
89
+ * pluginName: 'plugin-faker',
90
+ * name(name) {
91
+ * return camelCase(name, { prefix: 'create' })
92
+ * },
93
+ * file: {
94
+ * baseName({ name, extname }) {
95
+ * return `${camelCase(name, { prefix: 'create' })}${extname}`
96
+ * },
97
+ * },
98
+ * })
99
+ * ```
100
+ *
101
+ * @example Own the full path with `file.path`
102
+ * ```ts
103
+ * export const resolverFaker = createResolver<PluginFaker>({
104
+ * pluginName: 'plugin-faker',
105
+ * file: {
106
+ * path({ baseName, output }) {
107
+ * return `${output.path}/mocks/${baseName}`
108
+ * },
109
+ * },
110
+ * })
111
+ * ```
112
+ */
113
+ declare function createResolver<T extends PluginFactoryOptions>(options: ResolverOptions<T>): T['resolver'];
114
+ //#endregion
115
+ //#region src/input.d.ts
116
+ /**
117
+ * What an `input` value points at, once Kubb has looked at it.
118
+ *
119
+ * - `file` is a local file path, absolute or relative to the config file.
120
+ * - `url` is a remote document to fetch.
121
+ * - `inline` is OpenAPI content held in the string itself (JSON or YAML).
122
+ * - `object` is an already-parsed spec.
123
+ */
124
+ type InputKind = 'file' | 'url' | 'inline' | 'object';
125
+ /**
126
+ * Classifies an `input` value so callers branch on it once instead of repeating the checks.
127
+ *
128
+ * A non-string is a parsed spec (`object`). A string is `inline` when it holds OpenAPI content,
129
+ * meaning it starts with `{` or `[`, spans multiple lines, or opens with a YAML `openapi:` or
130
+ * `swagger:` key. Otherwise a string is a `url` when it parses as one, or a `file` path.
49
131
  */
50
- declare class URLPath {
51
- #private;
52
- /**
53
- * The raw OpenAPI/Swagger path string, e.g. `/pet/{petId}`.
54
- */
55
- path: string;
56
- constructor(path: string, options?: Options);
57
- /** Converts the OpenAPI path to Express-style colon syntax, e.g. `/pet/{petId}` → `/pet/:petId`.
58
- *
59
- * @example
60
- * ```ts
61
- * new URLPath('/pet/{petId}').URL // '/pet/:petId'
62
- * ```
63
- */
64
- get URL(): string;
65
- /** Returns `true` when `path` is a fully-qualified URL (e.g. starts with `https://`).
66
- *
67
- * @example
68
- * ```ts
69
- * new URLPath('https://petstore.swagger.io/v2/pet').isURL // true
70
- * new URLPath('/pet/{petId}').isURL // false
71
- * ```
72
- */
73
- get isURL(): boolean;
74
- /**
75
- * Converts the OpenAPI path to a TypeScript template literal string.
76
- *
77
- * @example
78
- * new URLPath('/pet/{petId}').template // '`/pet/${petId}`'
79
- * new URLPath('/account/monetary-accountID').template // '`/account/${monetaryAccountId}`'
80
- */
81
- get template(): string;
82
- /** Returns the path and its extracted params as a structured `URLObject`, or as a stringified expression when `stringify` is set.
83
- *
84
- * @example
85
- * ```ts
86
- * new URLPath('/pet/{petId}').object
87
- * // { url: '/pet/:petId', params: { petId: 'petId' } }
88
- * ```
89
- */
90
- get object(): URLObject | string;
91
- /** Returns a map of path parameter names, or `undefined` when the path has no parameters.
92
- *
93
- * @example
94
- * ```ts
95
- * new URLPath('/pet/{petId}').params // { petId: 'petId' }
96
- * new URLPath('/pet').params // undefined
97
- * ```
98
- */
99
- get params(): Record<string, string> | undefined;
100
- toObject({
101
- type,
102
- replacer,
103
- stringify
104
- }?: ObjectOptions): URLObject | string;
105
- /**
106
- * Converts the OpenAPI path to a TypeScript template literal string.
107
- * An optional `replacer` can transform each extracted parameter name before interpolation.
108
- *
109
- * @example
110
- * new URLPath('/pet/{petId}').toTemplateString() // '`/pet/${petId}`'
111
- */
112
- toTemplateString({
113
- prefix,
114
- replacer
115
- }?: {
116
- prefix?: string;
117
- replacer?: (pathParam: string) => string;
118
- }): string;
119
- /**
120
- * Extracts all `{param}` segments from the path and returns them as a key-value map.
121
- * An optional `replacer` transforms each parameter name in both key and value positions.
122
- * Returns `undefined` when no path parameters are found.
123
- *
124
- * @example
125
- * ```ts
126
- * new URLPath('/pet/{petId}/tag/{tagId}').getParams()
127
- * // { petId: 'petId', tagId: 'tagId' }
128
- * ```
129
- */
130
- getParams(replacer?: (pathParam: string) => string): Record<string, string> | undefined;
131
- /** Converts the OpenAPI path to Express-style colon syntax.
132
- *
133
- * @example
134
- * ```ts
135
- * new URLPath('/pet/{petId}').toURLPath() // '/pet/:petId'
136
- * ```
137
- */
138
- toURLPath(): string;
139
- }
132
+ declare function getInputKind(input: NonNullable<Input>): InputKind;
140
133
  //#endregion
141
134
  //#region src/storages/fsStorage.d.ts
142
135
  /**
@@ -146,11 +139,14 @@ declare class URLPath {
146
139
  * Keys are resolved against `process.cwd()`, so root-relative paths such as
147
140
  * `src/gen/api/getPets.ts` are written to the correct location without extra configuration.
148
141
  *
149
- * Internally uses the `write` utility from `@internals/utils`, which:
150
- * - trims leading/trailing whitespace before writing
151
- * - skips the write when file content is already identical (deduplication)
152
- * - creates missing parent directories automatically
153
- * - supports Bun's native file API when running under Bun
142
+ * Writes are deduplicated and directory-safe:
143
+ * - leading and trailing whitespace is trimmed before writing
144
+ * - the write is skipped when the file already holds that content, ignoring any trailing newline
145
+ * a formatter left behind
146
+ * - missing parent directories are created automatically
147
+ * - Bun's native file API is used when running under Bun
148
+ * - concurrent `writeItem` calls are capped at {@link WRITE_CONCURRENCY} in flight, so a caller
149
+ * can fire every file's write without pacing itself
154
150
  *
155
151
  * @example
156
152
  * ```ts
@@ -158,7 +154,7 @@ declare class URLPath {
158
154
  * import { defineConfig } from 'kubb'
159
155
  *
160
156
  * export default defineConfig({
161
- * input: { path: './petStore.yaml' },
157
+ * input: './petStore.yaml',
162
158
  * output: { path: './src/gen' },
163
159
  * storage: fsStorage(),
164
160
  * })
@@ -180,7 +176,7 @@ declare const fsStorage: (options?: Record<string, never> | undefined) => Storag
180
176
  * import { defineConfig } from 'kubb'
181
177
  *
182
178
  * export default defineConfig({
183
- * input: { path: './petStore.yaml' },
179
+ * input: './petStore.yaml',
184
180
  * output: { path: './src/gen' },
185
181
  * storage: memoryStorage(),
186
182
  * })
@@ -188,5 +184,5 @@ declare const fsStorage: (options?: Record<string, never> | undefined) => Storag
188
184
  */
189
185
  declare const memoryStorage: (options?: Record<string, never> | undefined) => Storage;
190
186
  //#endregion
191
- export { Adapter, AdapterFactoryOptions, AdapterSource, AsyncEventEmitter, BuildOutput, CLIOptions, Config, DevtoolsOptions, Exclude, FileManager, FileProcessor, FileProcessorEvents, Generator, GeneratorContext, Group, Include, InputData, InputPath, Kubb, KubbBuildEndContext, KubbBuildStartContext, KubbConfigEndContext, KubbDebugContext, KubbErrorContext, KubbFileProcessingUpdateContext, KubbFilesProcessingEndContext, KubbFilesProcessingStartContext, KubbGenerationEndContext, KubbGenerationStartContext, KubbGenerationSummaryContext, KubbHookEndContext, KubbHookStartContext, KubbHooks, KubbInfoContext, KubbLifecycleStartContext, KubbPluginEndContext, KubbPluginSetupContext, KubbPluginStartContext, KubbPluginsEndContext, KubbSuccessContext, KubbVersionNewContext, KubbWarnContext, Logger, LoggerContext, LoggerOptions, Middleware, NormalizedPlugin, Output, Override, Parser, Plugin, PluginDriver, PluginFactoryOptions, PossibleConfig, Renderer, RendererFactory, ResolveBannerContext, ResolveOptionsContext, Resolver, ResolverContext, ResolverFileParams, ResolverPathParams, Storage, URLPath, UserConfig, UserLogger, ast, createAdapter, createKubb, createRenderer, createStorage, defineGenerator, defineLogger, defineMiddleware, defineParser, definePlugin, defineResolver, fsStorage, isInputPath, logLevel, memoryStorage };
187
+ export { type Adapter, type AdapterFactoryOptions, type AdapterSource, type BannerMeta, BuildOutput, CLIOptions, Config, type CreateKubbOptions, type Diagnostic, type DiagnosticDoc, type DiagnosticKind, type DiagnosticLocation, type DiagnosticSeverity, Diagnostics, type Exclude, type FileManagerHooks, type Filter, type GenerateOptions, type GenerateResult, type GenerationResult, type Generator, type GeneratorContext, type Group, Hookable, type Include, Input, type InputKind, type Kubb, KubbBuildEndContext, KubbBuildStartContext, KubbDiagnosticContext, KubbDriver, KubbErrorContext, KubbFileProcessingUpdate, KubbFilesProcessingEndContext, KubbFilesProcessingStartContext, KubbFilesProcessingUpdateContext, KubbGenerationEndContext, KubbGenerationStartContext, KubbHookEndContext, KubbHookLineContext, KubbHookStartContext, KubbHooks, KubbInfoContext, KubbLifecycleStartContext, type KubbPluginEndContext, type KubbPluginSetupContext, type KubbPluginStartContext, KubbPluginsEndContext, KubbSuccessContext, KubbWarnContext, type NodeCache, type NormalizedPlugin, type Output, type OutputMode, type OutputOptions, type Override, type Parser, type PerformanceDiagnostic, type Plugin, type PluginFactoryOptions, type PluginName, PossibleConfig, PostGenerateCommand, type ProblemCode, type ProblemDiagnostic, type Renderer, type RendererFactory, type Reporter, type ReporterContext, type ReporterName, type ResolveBannerContext, type ResolveBannerFile, type ResolveFileOptions, type ResolveImportsOptions, type ResolveOptionsContext, type ResolvePathOptions, type ResolvePluginOptions, Resolver, type ResolverDefault, type ResolverFile, type ResolverFileParams, type ResolverFilePathParams, type ResolverPatch, type ResolverPathParams, type SerializedDiagnostic, type Storage, type UpdateDiagnostic, UserConfig, type UserReporter, applyConfigDefaults, cliReporter, createAdapter, createKubb, createRenderer, createReporter, createResolver, createStorage, defineGenerator, defineParser, definePlugin, fileReporter, fsStorage, getInputKind, jsonReporter, logLevel, memoryStorage };
192
188
  //# sourceMappingURL=index.d.ts.map