@vercube/core 0.0.43 → 0.0.45

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.
package/dist/index.d.mts CHANGED
@@ -21,7 +21,7 @@ declare class BasePlugin<T = unknown> {
21
21
  use(app: App, options?: T): void | Promise<void>;
22
22
  }
23
23
  //#endregion
24
- //#region ../../node_modules/.pnpm/rolldown@1.0.0-rc.3/node_modules/rolldown/dist/shared/logging-CE90D8JR.d.mts
24
+ //#region ../../node_modules/.pnpm/rolldown@1.0.0-rc.9/node_modules/rolldown/dist/shared/logging-C6h4g8dA.d.mts
25
25
  //#region src/log/logging.d.ts
26
26
  /** @inline */
27
27
  type LogLevel = "info" | "debug" | "warn";
@@ -71,7 +71,7 @@ interface RolldownError extends RolldownLog {
71
71
  }
72
72
  type LogOrStringHandler = (level: LogLevelWithError, log: RolldownLogWithString) => void; //#endregion
73
73
  //#endregion
74
- //#region ../../node_modules/.pnpm/@oxc-project+types@0.112.0/node_modules/@oxc-project/types/types.d.ts
74
+ //#region ../../node_modules/.pnpm/@oxc-project+types@0.115.0/node_modules/@oxc-project/types/types.d.ts
75
75
  // Auto-generated code, DO NOT EDIT DIRECTLY!
76
76
  // To edit this generated file you have to edit `tasks/ast_tools/src/generators/typescript.rs`.
77
77
  interface Program extends Span {
@@ -1370,7 +1370,7 @@ interface Span {
1370
1370
  type ModuleKind = "script" | "module" | "commonjs";
1371
1371
  type Node = Program | IdentifierName | IdentifierReference | BindingIdentifier | LabelIdentifier | ThisExpression | ArrayExpression | ObjectExpression | ObjectProperty | TemplateLiteral | TaggedTemplateExpression | TemplateElement | ComputedMemberExpression | StaticMemberExpression | PrivateFieldExpression | CallExpression | NewExpression | MetaProperty | SpreadElement | UpdateExpression | UnaryExpression | BinaryExpression | PrivateInExpression | LogicalExpression | ConditionalExpression | AssignmentExpression | ArrayAssignmentTarget | ObjectAssignmentTarget | AssignmentTargetRest | AssignmentTargetWithDefault | AssignmentTargetPropertyIdentifier | AssignmentTargetPropertyProperty | SequenceExpression | Super | AwaitExpression | ChainExpression | ParenthesizedExpression | Directive | Hashbang | BlockStatement | VariableDeclaration | VariableDeclarator | EmptyStatement | ExpressionStatement | IfStatement | DoWhileStatement | WhileStatement | ForStatement | ForInStatement | ForOfStatement | ContinueStatement | BreakStatement | ReturnStatement | WithStatement | SwitchStatement | SwitchCase | LabeledStatement | ThrowStatement | TryStatement | CatchClause | DebuggerStatement | AssignmentPattern | ObjectPattern | BindingProperty | ArrayPattern | BindingRestElement | Function$1 | FunctionBody | ArrowFunctionExpression | YieldExpression | Class | ClassBody | MethodDefinition | PropertyDefinition | PrivateIdentifier | StaticBlock | AccessorProperty | ImportExpression | ImportDeclaration | ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier | ImportAttribute | ExportNamedDeclaration | ExportDefaultDeclaration | ExportAllDeclaration | ExportSpecifier | V8IntrinsicExpression | BooleanLiteral | NullLiteral | NumericLiteral | StringLiteral | BigIntLiteral | RegExpLiteral | JSXElement | JSXOpeningElement | JSXClosingElement | JSXFragment | JSXOpeningFragment | JSXClosingFragment | JSXNamespacedName | JSXMemberExpression | JSXExpressionContainer | JSXEmptyExpression | JSXAttribute | JSXSpreadAttribute | JSXIdentifier | JSXSpreadChild | JSXText | TSThisParameter | TSEnumDeclaration | TSEnumBody | TSEnumMember | TSTypeAnnotation | TSLiteralType | TSConditionalType | TSUnionType | TSIntersectionType | TSParenthesizedType | TSTypeOperator | TSArrayType | TSIndexedAccessType | TSTupleType | TSNamedTupleMember | TSOptionalType | TSRestType | TSAnyKeyword | TSStringKeyword | TSBooleanKeyword | TSNumberKeyword | TSNeverKeyword | TSIntrinsicKeyword | TSUnknownKeyword | TSNullKeyword | TSUndefinedKeyword | TSVoidKeyword | TSSymbolKeyword | TSThisType | TSObjectKeyword | TSBigIntKeyword | TSTypeReference | TSQualifiedName | TSTypeParameterInstantiation | TSTypeParameter | TSTypeParameterDeclaration | TSTypeAliasDeclaration | TSClassImplements | TSInterfaceDeclaration | TSInterfaceBody | TSPropertySignature | TSIndexSignature | TSCallSignatureDeclaration | TSMethodSignature | TSConstructSignatureDeclaration | TSIndexSignatureName | TSInterfaceHeritage | TSTypePredicate | TSModuleDeclaration | TSGlobalDeclaration | TSModuleBlock | TSTypeLiteral | TSInferType | TSTypeQuery | TSImportType | TSImportTypeQualifiedName | TSFunctionType | TSConstructorType | TSMappedType | TSTemplateLiteralType | TSAsExpression | TSSatisfiesExpression | TSTypeAssertion | TSImportEqualsDeclaration | TSExternalModuleReference | TSNonNullExpression | Decorator | TSExportAssignment | TSNamespaceExportDeclaration | TSInstantiationExpression | JSDocNullableType | JSDocNonNullableType | JSDocUnknownType | ParamPattern;
1372
1372
  //#endregion
1373
- //#region ../../node_modules/.pnpm/rolldown@1.0.0-rc.3/node_modules/rolldown/dist/shared/binding-D-XMzSaG.d.mts
1373
+ //#region ../../node_modules/.pnpm/rolldown@1.0.0-rc.9/node_modules/rolldown/dist/shared/binding-BohGL_65.d.mts
1374
1374
  interface CodegenOptions {
1375
1375
  /**
1376
1376
  * Remove whitespace.
@@ -1465,7 +1465,7 @@ interface MangleOptions {
1465
1465
  /**
1466
1466
  * Pass `true` to mangle names declared in the top level scope.
1467
1467
  *
1468
- * @default false
1468
+ * @default true for modules and commonjs, otherwise false
1469
1469
  */
1470
1470
  toplevel?: boolean;
1471
1471
  /**
@@ -1876,20 +1876,6 @@ interface StyledComponentsOptions {
1876
1876
  */
1877
1877
  topLevelImportPaths?: Array<string>;
1878
1878
  }
1879
- /**
1880
- * Transpile a JavaScript or TypeScript into a target ECMAScript version, asynchronously.
1881
- *
1882
- * Note: This function can be slower than `transform` due to the overhead of spawning a thread.
1883
- *
1884
- * @param filename The name of the file being transformed. If this is a
1885
- * relative path, consider setting the {@link TransformOptions#cwd} option.
1886
- * @param sourceText the source code itself
1887
- * @param options The options for the transformation. See {@link
1888
- * TransformOptions} for more information.
1889
- *
1890
- * @returns a promise that resolves to an object containing the transformed code,
1891
- * source maps, and any errors that occurred during parsing or transformation.
1892
- */
1893
1879
  /**
1894
1880
  * Options for transforming a JavaScript or TypeScript file.
1895
1881
  *
@@ -2051,9 +2037,12 @@ declare class BindingDecodedMap {
2051
2037
  */
2052
2038
  get mappings(): Array<Array<Array<number>>>;
2053
2039
  }
2054
- declare class BindingMagicString {
2040
+ declare class BindingMagicString$1 {
2055
2041
  constructor(source: string, options?: BindingMagicStringOptions | undefined | null);
2042
+ get original(): string;
2056
2043
  get filename(): string | null;
2044
+ get offset(): number;
2045
+ set offset(offset: number);
2057
2046
  replace(from: string, to: string): this;
2058
2047
  replaceAll(from: string, to: string): this;
2059
2048
  prepend(content: string): this;
@@ -2091,13 +2080,13 @@ declare class BindingMagicString {
2091
2080
  */
2092
2081
  insert(index: number, content: string): void;
2093
2082
  /** Returns a clone of the MagicString instance. */
2094
- clone(): BindingMagicString;
2083
+ clone(): BindingMagicString$1;
2095
2084
  /** Returns the last character of the generated string, or an empty string if empty. */
2096
2085
  lastChar(): string;
2097
2086
  /** Returns the content after the last newline in the generated string. */
2098
2087
  lastLine(): string;
2099
2088
  /** Returns a clone with content outside the specified range removed. */
2100
- snip(start: number, end: number): BindingMagicString;
2089
+ snip(start: number, end: number): BindingMagicString$1;
2101
2090
  /**
2102
2091
  * Resets the portion of the string from `start` to `end` to its original content.
2103
2092
  * This undoes any modifications made to that range.
@@ -2156,10 +2145,10 @@ declare class BindingSourceMap {
2156
2145
  toUrl(): string;
2157
2146
  }
2158
2147
  /**
2159
- * Minimal wrapper around the core `Bundler` for watcher events.
2160
- * This is returned from watcher event data to allow access to the bundler instance.
2148
+ * Minimal wrapper around a `BundleHandle` for watcher events.
2149
+ * This is returned from watcher event data to allow calling `result.close()`.
2161
2150
  */
2162
- type BindingBuiltinPluginName = 'builtin:esm-external-require' | 'builtin:isolated-declaration' | 'builtin:replace' | 'builtin:vite-alias' | 'builtin:vite-build-import-analysis' | 'builtin:vite-dynamic-import-vars' | 'builtin:vite-import-glob' | 'builtin:vite-json' | 'builtin:vite-load-fallback' | 'builtin:vite-manifest' | 'builtin:vite-module-preload-polyfill' | 'builtin:vite-react-refresh-wrapper' | 'builtin:vite-reporter' | 'builtin:vite-resolve' | 'builtin:vite-transform' | 'builtin:vite-wasm-fallback' | 'builtin:vite-wasm-helper' | 'builtin:vite-web-worker-post';
2151
+ type BindingBuiltinPluginName = 'builtin:bundle-analyzer' | 'builtin:esm-external-require' | 'builtin:isolated-declaration' | 'builtin:replace' | 'builtin:vite-alias' | 'builtin:vite-build-import-analysis' | 'builtin:vite-dynamic-import-vars' | 'builtin:vite-import-glob' | 'builtin:vite-json' | 'builtin:vite-load-fallback' | 'builtin:vite-manifest' | 'builtin:vite-module-preload-polyfill' | 'builtin:vite-react-refresh-wrapper' | 'builtin:vite-reporter' | 'builtin:vite-resolve' | 'builtin:vite-transform' | 'builtin:vite-wasm-fallback' | 'builtin:vite-web-worker-post';
2163
2152
  interface BindingHookResolveIdExtraArgs {
2164
2153
  custom?: number;
2165
2154
  isEntry: boolean;
@@ -2176,6 +2165,7 @@ interface BindingHookResolveIdExtraArgs {
2176
2165
  }
2177
2166
  interface BindingMagicStringOptions {
2178
2167
  filename?: string;
2168
+ offset?: number;
2179
2169
  }
2180
2170
  interface BindingModules {
2181
2171
  values: Array<BindingRenderedModule>;
@@ -2221,6 +2211,7 @@ interface ExternalMemoryStatus {
2221
2211
  freed: boolean;
2222
2212
  reason?: string;
2223
2213
  }
2214
+ /** Error emitted from native side, it only contains kind and message, no stack trace. */
2224
2215
  interface PreRenderedChunk {
2225
2216
  /** The name of this chunk, which is used in naming patterns. */
2226
2217
  name: string;
@@ -2235,11 +2226,12 @@ interface PreRenderedChunk {
2235
2226
  /** Exported variable names from this chunk. */
2236
2227
  exports: Array<string>;
2237
2228
  }
2229
+ /** @hidden This is only expected to be used by Vite */
2238
2230
  interface ViteImportGlobMeta {
2239
2231
  isSubImportsPattern?: boolean;
2240
2232
  } //#endregion
2241
2233
  //#endregion
2242
- //#region ../../node_modules/.pnpm/@rolldown+pluginutils@1.0.0-rc.3/node_modules/@rolldown/pluginutils/dist/filter/composable-filters.d.ts
2234
+ //#region ../../node_modules/.pnpm/@rolldown+pluginutils@1.0.0-rc.9/node_modules/@rolldown/pluginutils/dist/filter/composable-filters.d.ts
2243
2235
  type StringOrRegExp$1 = string | RegExp;
2244
2236
  type PluginModuleType = 'js' | 'jsx' | 'ts' | 'tsx' | 'json' | 'text' | 'base64' | 'dataurl' | 'binary' | 'empty' | (string & {});
2245
2237
  type FilterExpression = And | Or | Not | Id | ImporterId | ModuleType$1 | Code | Query;
@@ -2301,7 +2293,7 @@ declare class Exclude$1 {
2301
2293
  constructor(expr: FilterExpression);
2302
2294
  }
2303
2295
  //#endregion
2304
- //#region ../../node_modules/.pnpm/rolldown@1.0.0-rc.3/node_modules/rolldown/dist/shared/define-config-U4pj0ZDn.d.mts
2296
+ //#region ../../node_modules/.pnpm/rolldown@1.0.0-rc.9/node_modules/rolldown/dist/shared/define-config-cG45vHwf.d.mts
2305
2297
  //#region src/types/misc.d.ts
2306
2298
  /** @inline */
2307
2299
  type SourcemapPathTransformOption = (relativeSourcePath: string, sourcemapPath: string) => string;
@@ -2348,6 +2340,16 @@ interface ModuleInfo extends ModuleOptions {
2348
2340
  * Whether this module is a user- or plugin-defined entry point.
2349
2341
  */
2350
2342
  isEntry: boolean;
2343
+ /**
2344
+ * The detected format of the module, based on both its syntax and module definition
2345
+ * metadata (such as `package.json` `type` and file extensions like `.mjs`/`.cjs`/`.mts`/`.cts`).
2346
+ * - "esm" for ES modules (has `import`/`export` statements or is defined as ESM by module metadata)
2347
+ * - "cjs" for CommonJS modules (uses `module.exports`, `exports`, top-level `return`, or is defined as CommonJS by module metadata)
2348
+ * - "unknown" when the format could not be determined from either syntax or module definition metadata
2349
+ *
2350
+ * @experimental
2351
+ */
2352
+ inputFormat: "es" | "cjs" | "unknown";
2351
2353
  } //#endregion
2352
2354
  //#region src/utils/asset-source.d.ts
2353
2355
  /** @inline */
@@ -2598,6 +2600,20 @@ type CodeSplittingNameFunction = (moduleId: string, ctx: ChunkingContext) => str
2598
2600
  /** @inline */
2599
2601
  type CodeSplittingTestFunction = (id: string) => boolean | undefined | void;
2600
2602
  type MinifyOptions = Omit<MinifyOptions$1, "module" | "sourcemap">;
2603
+ interface CommentsOptions {
2604
+ /**
2605
+ * Comments that contain `@license`, `@preserve` or start with `//!` or `/*!`
2606
+ */
2607
+ legal?: boolean;
2608
+ /**
2609
+ * Comments that contain `@__PURE__`, `@__NO_SIDE_EFFECTS__` or `@vite-ignore`
2610
+ */
2611
+ annotation?: boolean;
2612
+ /**
2613
+ * JSDoc comments
2614
+ */
2615
+ jsdoc?: boolean;
2616
+ }
2601
2617
  /** @inline */
2602
2618
  interface ChunkingContext {
2603
2619
  getModuleInfo(moduleId: string): ModuleInfo | null;
@@ -2645,7 +2661,7 @@ interface OutputOptions {
2645
2661
  * - `'iife'` stands for [Immediately Invoked Function Expression](https://developer.mozilla.org/en-US/docs/Glossary/IIFE).
2646
2662
  * - `'umd'` stands for [Universal Module Definition](https://github.com/umdjs/umd).
2647
2663
  *
2648
- * @default 'esm'
2664
+ * @default 'es'
2649
2665
  *
2650
2666
  *
2651
2667
  */
@@ -2843,18 +2859,6 @@ interface OutputOptions {
2843
2859
  */
2844
2860
  chunkFileNames?: string | ChunkFileNamesFunction;
2845
2861
  /**
2846
- * @default '[name].css'
2847
- * @experimental
2848
- * @hidden not ready for public usage yet
2849
- */
2850
- cssEntryFileNames?: string | ChunkFileNamesFunction;
2851
- /**
2852
- * @default '[name]-[hash].css'
2853
- * @experimental
2854
- * @hidden not ready for public usage yet
2855
- */
2856
- cssChunkFileNames?: string | ChunkFileNamesFunction;
2857
- /**
2858
2862
  * Whether to enable chunk name sanitization (removal of non-URL-safe characters like `\0`, `?` and `*`).
2859
2863
  *
2860
2864
  * Set `false` to disable the sanitization. You can also provide a custom sanitization function.
@@ -2868,11 +2872,11 @@ interface OutputOptions {
2868
2872
  * Rolldown uses Oxc Minifier under the hood. See Oxc's [minification documentation](https://oxc.rs/docs/guide/usage/minifier#features) for more details.
2869
2873
  *
2870
2874
  * - `true`: Enable full minification including code compression and dead code elimination
2871
- * - `false`: Disable minification (default)
2872
- * - `'dce-only'`: Only perform dead code elimination without code compression
2875
+ * - `false`: Disable minification
2876
+ * - `'dce-only'`: Only perform dead code elimination without code compression (default)
2873
2877
  * - `MinifyOptions`: Fine-grained control over minification settings
2874
2878
  *
2875
- * @default false
2879
+ * @default 'dce-only'
2876
2880
  */
2877
2881
  minify?: boolean | "dce-only" | MinifyOptions;
2878
2882
  /**
@@ -3048,6 +3052,8 @@ interface OutputOptions {
3048
3052
  *
3049
3053
  * For deeper understanding, please refer to the in-depth [documentation](https://rolldown.rs/in-depth/manual-code-splitting).
3050
3054
  *
3055
+ *
3056
+ *
3051
3057
  * @example
3052
3058
  * **Basic vendor chunk**
3053
3059
  * ```js
@@ -3089,13 +3095,32 @@ interface OutputOptions {
3089
3095
  groups?: CodeSplittingGroup[];
3090
3096
  };
3091
3097
  /**
3092
- * Control comments in the output.
3098
+ * Controls how legal comments are preserved in the output.
3093
3099
  *
3094
- * - `none`: no comments
3095
- * - `inline`: preserve comments that contain `@license`, `@preserve` or starts with `//!` `/*!`
3100
+ * - `none`: no legal comments
3101
+ * - `inline`: preserve legal comments that contain `@license`, `@preserve` or starts with `//!` `/*!`
3102
+ *
3103
+ * @deprecated Use `comments.legal` instead. When both `legalComments` and `comments.legal` are set, `comments.legal` takes priority.
3096
3104
  */
3097
3105
  legalComments?: "none" | "inline";
3098
3106
  /**
3107
+ * Control which comments are preserved in the output.
3108
+ *
3109
+ * - `true`: Preserve legal, annotation, and JSDoc comments (default)
3110
+ * - `false`: Strip all comments
3111
+ * - Object: Granular control over comment categories
3112
+ *
3113
+ * Note: Regular line and block comments without these markers
3114
+ * are always removed regardless of this option.
3115
+ *
3116
+ * When both `legalComments` and `comments.legal` are set, `comments.legal` takes priority.
3117
+ *
3118
+ *
3119
+ *
3120
+ * @default true
3121
+ */
3122
+ comments?: boolean | CommentsOptions;
3123
+ /**
3099
3124
  * The list of plugins to use only for this output.
3100
3125
  *
3101
3126
  * @see {@linkcode InputOptions.plugins | plugins}
@@ -3183,6 +3208,18 @@ interface OutputOptions {
3183
3208
  * @default false
3184
3209
  */
3185
3210
  strictExecutionOrder?: boolean;
3211
+ /**
3212
+ * Whether to always output `"use strict"` directive in non-ES module outputs.
3213
+ *
3214
+ * - `true` - Always emit `"use strict"` at the top of the output (not applicable for ESM format since ESM is always strict).
3215
+ * - `false` - Never emit `"use strict"` in the output.
3216
+ * - `'auto'` - Respect the `"use strict"` directives from the source code.
3217
+ *
3218
+ * See [In-depth directive guide](https://rolldown.rs/in-depth/directives) for more details.
3219
+ *
3220
+ * @default 'auto'
3221
+ */
3222
+ strict?: boolean | "auto";
3186
3223
  }
3187
3224
  type CodeSplittingGroup = {
3188
3225
  /**
@@ -3317,6 +3354,36 @@ type CodeSplittingGroup = {
3317
3354
  * @default 0
3318
3355
  */
3319
3356
  minModuleSize?: number;
3357
+ /**
3358
+ * When `false` (default), all matching modules are merged into a single chunk.
3359
+ * Every entry that uses any of these modules must load the entire chunk — even
3360
+ * modules it doesn't need.
3361
+ *
3362
+ * When `true`, matching modules are grouped by which entries actually import them.
3363
+ * Modules shared by the same set of entries go into the same chunk, while modules
3364
+ * shared by a different set go into a separate chunk. This way, each entry only
3365
+ * loads the code it actually uses.
3366
+ *
3367
+ * Example: entries A, B, C all match a `"vendor"` group.
3368
+ * - `moduleX` is used by A, B, C
3369
+ * - `moduleY` is used by A, B only
3370
+ *
3371
+ * With `entriesAware: false` → one `vendor.js` chunk with both modules; C loads `moduleY` unnecessarily.
3372
+ * With `entriesAware: true` → `vendor.js` (moduleX, loaded by all) + `vendor2.js` (moduleY, loaded by A and B only).
3373
+ *
3374
+ * @default false
3375
+ */
3376
+ entriesAware?: boolean;
3377
+ /**
3378
+ * Size threshold in bytes for merging small `entriesAware` subgroups into the
3379
+ * closest neighboring subgroup.
3380
+ *
3381
+ * This option only works when {@linkcode CodeSplittingGroup.entriesAware | entriesAware}
3382
+ * is `true`. Set to `0` to disable subgroup merging.
3383
+ *
3384
+ * @default 0
3385
+ */
3386
+ entriesAwareMergeThreshold?: number;
3320
3387
  };
3321
3388
  /**
3322
3389
  * Alias for {@linkcode CodeSplittingGroup}. Use this type for the `codeSplitting.groups` option.
@@ -3370,6 +3437,15 @@ type CodeSplittingOptions = {
3370
3437
  * @deprecated Please use {@linkcode CodeSplittingOptions} instead.
3371
3438
  */
3372
3439
  //#endregion
3440
+ //#region src/binding-magic-string.d.ts
3441
+ interface BindingMagicString extends BindingMagicString$1 {
3442
+ readonly isRolldownMagicString: true;
3443
+ }
3444
+ type BindingMagicStringConstructor = Omit<typeof BindingMagicString$1, "prototype"> & {
3445
+ new (...args: ConstructorParameters<typeof BindingMagicString$1>): BindingMagicString;
3446
+ prototype: BindingMagicString;
3447
+ };
3448
+ declare const BindingMagicString: BindingMagicStringConstructor; //#endregion
3373
3449
  //#region src/log/log-handler.d.ts
3374
3450
  type LoggingFunction = (log: RolldownLog | string | (() => RolldownLog | string)) => void;
3375
3451
  type LoggingFunctionWithPosition = (log: RolldownLog | string | (() => RolldownLog | string), pos?: number | {
@@ -3512,6 +3588,11 @@ interface ChecksOptions {
3512
3588
  * @default true
3513
3589
  * */
3514
3590
  unsupportedTsconfigOption?: boolean;
3591
+ /**
3592
+ * Whether to emit warnings when a module is dynamically imported but also statically imported, making the dynamic import ineffective for code splitting.
3593
+ * @default true
3594
+ * */
3595
+ ineffectiveDynamicImport?: boolean;
3515
3596
  } //#endregion
3516
3597
  //#region src/options/transform-options.d.ts
3517
3598
  interface TransformOptions extends Omit<TransformOptions$1, "sourceType" | "lang" | "cwd" | "sourcemap" | "define" | "inject" | "jsx"> {
@@ -3638,6 +3719,8 @@ interface NormalizedInputOptions {
3638
3719
  shimMissingExports: boolean;
3639
3720
  /** @see {@linkcode InputOptions.context | context} */
3640
3721
  context: string;
3722
+ /** @see {@linkcode InputOptions.plugins | plugins} */
3723
+ plugins: RolldownPlugin[];
3641
3724
  } //#endregion
3642
3725
  //#region src/options/normalized-output-options.d.ts
3643
3726
  type PathsFunction = (id: string) => string;
@@ -3668,10 +3751,6 @@ interface NormalizedOutputOptions {
3668
3751
  sourcemap: boolean | "inline" | "hidden";
3669
3752
  /** @see {@linkcode OutputOptions.sourcemapBaseUrl | sourcemapBaseUrl} */
3670
3753
  sourcemapBaseUrl: string | undefined;
3671
- /** @see {@linkcode OutputOptions.cssEntryFileNames | cssEntryFileNames} */
3672
- cssEntryFileNames: string | ChunkFileNamesFunction;
3673
- /** @see {@linkcode OutputOptions.cssChunkFileNames | cssChunkFileNames} */
3674
- cssChunkFileNames: string | ChunkFileNamesFunction;
3675
3754
  /** @see {@linkcode OutputOptions.codeSplitting | codeSplitting} */
3676
3755
  codeSplitting: boolean;
3677
3756
  /** @deprecated Use `codeSplitting` instead. */
@@ -3710,8 +3789,13 @@ interface NormalizedOutputOptions {
3710
3789
  sourcemapPathTransform: SourcemapPathTransformOption | undefined;
3711
3790
  /** @see {@linkcode OutputOptions.minify | minify} */
3712
3791
  minify: false | MinifyOptions | "dce-only";
3713
- /** @see {@linkcode OutputOptions.legalComments | legalComments} */
3792
+ /**
3793
+ * @deprecated Use `comments.legal` instead.
3794
+ * @see {@linkcode OutputOptions.legalComments | legalComments}
3795
+ */
3714
3796
  legalComments: "none" | "inline";
3797
+ /** @see {@linkcode OutputOptions.comments | comments} */
3798
+ comments: Required<CommentsOptions>;
3715
3799
  /** @see {@linkcode OutputOptions.polyfillRequire | polyfillRequire} */
3716
3800
  polyfillRequire: boolean;
3717
3801
  /** @see {@linkcode OutputOptions.plugins | plugins} */
@@ -4328,7 +4412,7 @@ type TreeshakingOptions = {
4328
4412
  *
4329
4413
  * See [related Oxc documentation](https://oxc.rs/docs/guide/usage/minifier/dead-code-elimination#ignoring-invalid-import-statement-side-effects) for more details.
4330
4414
  *
4331
- * @default true
4415
+ * @default false
4332
4416
  */
4333
4417
  invalidImportSideEffects?: boolean;
4334
4418
  /**
@@ -4388,12 +4472,9 @@ interface ExistingRawSourceMap {
4388
4472
  }
4389
4473
  /** @inline @category Plugin APIs */
4390
4474
  type SourceMapInput = ExistingRawSourceMap | string | null; //#endregion
4391
- //#region src/constants/version.d.ts
4475
+ //#region src/utils/error.d.ts
4392
4476
  /**
4393
- * The version of Rolldown.
4394
- * @example `'1.0.0'`
4395
- *
4396
- * @category Plugin APIs
4477
+ * The error type that is thrown by Rolldown for the whole build.
4397
4478
  */
4398
4479
  //#endregion
4399
4480
  //#region src/builtin-plugin/utils.d.ts
@@ -4650,6 +4731,8 @@ interface FunctionPluginHooks {
4650
4731
  *
4651
4732
  * You can use {@linkcode PluginContext.getModuleInfo | this.getModuleInfo()} to find out the previous values of `meta`, `moduleSideEffects` inside this hook.
4652
4733
  *
4734
+ *
4735
+ *
4653
4736
  * @group Build Hooks
4654
4737
  */
4655
4738
  [DEFINED_HOOK_NAMES.transform]: (this: TransformPluginContext, code: string, id: string, meta: BindingTransformHookExtraArgs & {
@@ -4910,7 +4993,53 @@ type InputOption = string | string[] | Record<string, string>;
4910
4993
  type ExternalOptionFunction = (id: string, parentId: string | undefined, isResolved: boolean) => NullValue<boolean>;
4911
4994
  /** @inline */
4912
4995
  type ExternalOption = StringOrRegExp | StringOrRegExp[] | ExternalOptionFunction;
4913
- type ModuleTypes = Record<string, "js" | "jsx" | "ts" | "tsx" | "json" | "text" | "base64" | "dataurl" | "binary" | "empty" | "css" | "asset">;
4996
+ type ModuleTypes = Record<string, "js" | "jsx" | "ts" | "tsx" | "json" | "text" | "base64" | "dataurl" | "binary" | "empty" | "css" | "asset" | "copy">;
4997
+ interface WatcherFileWatcherOptions {
4998
+ /**
4999
+ * Whether to use polling-based file watching instead of native OS events.
5000
+ *
5001
+ * Polling is useful for environments where native FS events are unreliable,
5002
+ * such as network mounts, Docker volumes, or WSL2.
5003
+ *
5004
+ * @default false
5005
+ */
5006
+ usePolling?: boolean;
5007
+ /**
5008
+ * Interval between each poll in milliseconds.
5009
+ *
5010
+ * This option is only used when {@linkcode usePolling} is `true`.
5011
+ *
5012
+ * @default 100
5013
+ */
5014
+ pollInterval?: number;
5015
+ /**
5016
+ * Whether to compare file contents for poll-based watchers.
5017
+ * When enabled, poll watchers will check file contents to determine if they actually changed.
5018
+ *
5019
+ * This option is only used when {@linkcode usePolling} is `true`.
5020
+ *
5021
+ * @default false
5022
+ */
5023
+ compareContentsForPolling?: boolean;
5024
+ /**
5025
+ * Whether to use debounced event delivery at the filesystem level.
5026
+ * This coalesces rapid filesystem events before they reach the build coordinator.
5027
+ * @default false
5028
+ */
5029
+ useDebounce?: boolean;
5030
+ /**
5031
+ * Debounce delay in milliseconds for fs-level debounced watchers.
5032
+ * Only used when {@linkcode useDebounce} is `true`.
5033
+ * @default 10
5034
+ */
5035
+ debounceDelay?: number;
5036
+ /**
5037
+ * Tick rate in milliseconds for the debouncer's internal polling.
5038
+ * Only used when {@linkcode useDebounce} is `true`.
5039
+ * When undefined, auto-selects 1/4 of debounceDelay.
5040
+ */
5041
+ debounceTickRate?: number;
5042
+ }
4914
5043
  interface WatcherOptions {
4915
5044
  /**
4916
5045
  * Whether to skip the {@linkcode RolldownBuild.write | bundle.write()} step when a rebuild is triggered.
@@ -4936,32 +5065,13 @@ interface WatcherOptions {
4936
5065
  */
4937
5066
  buildDelay?: number;
4938
5067
  /**
4939
- * An optional object of options that will be passed to the [notify](https://github.com/rolldown/notify) file watcher.
5068
+ * File watcher options for configuring how file changes are detected.
4940
5069
  */
4941
- notify?: {
4942
- /**
4943
- * Interval between each re-scan attempt in milliseconds.
4944
- *
4945
- * This option is only used when polling backend is used.
4946
- *
4947
- * @default 30_000
4948
- */
4949
- pollInterval?: number;
4950
- /**
4951
- * Whether to compare file contents when checking for changes.
4952
- *
4953
- * This is especially important for pseudo filesystems like those on Linux
4954
- * under `/sys` and `/proc` which are not obligated to respect any other
4955
- * filesystem norms such as modification timestamps, file sizes, etc. By
4956
- * enabling this feature, performance will be significantly impacted as
4957
- * all files will need to be read and hashed at each interval.
4958
- *
4959
- * This option is only used when polling backend is used.
4960
- *
4961
- * @default false
4962
- */
4963
- compareContents?: boolean;
4964
- };
5070
+ watcher?: WatcherFileWatcherOptions;
5071
+ /**
5072
+ * @deprecated Use {@linkcode watcher} instead.
5073
+ */
5074
+ notify?: WatcherFileWatcherOptions;
4965
5075
  /**
4966
5076
  * Filter to limit the file-watching to certain files.
4967
5077
  *
@@ -5063,7 +5173,7 @@ type OptimizationOptions = {
5063
5173
  * console.log(API_URL);
5064
5174
  * ```
5065
5175
  *
5066
- * @default false
5176
+ * @default { mode: 'smart', pass: 1 }
5067
5177
  */
5068
5178
  inlineConst?: boolean | {
5069
5179
  mode?: "all" | "smart";
@@ -5592,6 +5702,14 @@ interface InputOptions {
5592
5702
  tsconfig?: boolean | string;
5593
5703
  } //#endregion
5594
5704
  //#region src/types/rolldown-options.d.ts
5705
+ interface RolldownOptions extends InputOptions {
5706
+ output?: OutputOptions | OutputOptions[];
5707
+ } //#endregion
5708
+ //#region src/utils/define-config.d.ts
5709
+ /**
5710
+ * Type for `default export` of `rolldown.config.js` file.
5711
+ * @category Config
5712
+ */
5595
5713
  //#endregion
5596
5714
  //#region src/Types/ConfigTypes.d.ts
5597
5715
  /**
@@ -5627,6 +5745,8 @@ declare namespace ConfigTypes {
5627
5745
  entry?: string | string[];
5628
5746
  /**
5629
5747
  * Defines to pass to the build.
5748
+ * @deprecated Use `rolldownConfig.transform.define` instead.
5749
+ * This field is still applied via the base config but will be removed in a future release.
5630
5750
  */
5631
5751
  define?: Record<string, string>;
5632
5752
  /**
@@ -5639,6 +5759,8 @@ declare namespace ConfigTypes {
5639
5759
  dts?: boolean;
5640
5760
  /**
5641
5761
  * Additional plugins to use in the bundler.
5762
+ * @deprecated Use `rolldownConfig.plugins` instead.
5763
+ * This field is still applied via the base config but will be removed in a future release.
5642
5764
  */
5643
5765
  plugins?: RolldownPluginOption[];
5644
5766
  /**
@@ -5658,6 +5780,12 @@ declare namespace ConfigTypes {
5658
5780
  * The bundler to use for the application build.
5659
5781
  */
5660
5782
  bundler?: 'rolldown';
5783
+ /**
5784
+ * Additional options passed directly to the rolldown bundler.
5785
+ * These options are deep-merged with the base config using `defu`, meaning values provided here take precedence over the defaults.
5786
+ * The `input`, `output`, and `onwarn` fields are managed internally and cannot be overridden here.
5787
+ */
5788
+ rolldownConfig?: Omit<RolldownOptions, 'input' | 'output' | 'onwarn'>;
5661
5789
  }
5662
5790
  /**
5663
5791
  * Server configuration options for the application.
package/dist/index.mjs CHANGED
@@ -9,7 +9,6 @@ import { BaseLogger, Logger } from "@vercube/logger";
9
9
  import { ConsoleProvider } from "@vercube/logger/drivers/ConsoleProvider";
10
10
  import { loadConfig, setupDotenv } from "c12";
11
11
  import { defu } from "defu";
12
-
13
12
  //#region src/Services/Config/RuntimeConfig.ts
14
13
  /**
15
14
  * RuntimeConfig class manages the runtime configuration for the Vercube application.
@@ -36,7 +35,6 @@ var RuntimeConfig = class {
36
35
  this.fRuntimeConfig = value;
37
36
  }
38
37
  };
39
-
40
38
  //#endregion
41
39
  //#region src/Errors/HttpError.ts
42
40
  /**
@@ -62,7 +60,6 @@ var HttpError = class HttpError extends Error {
62
60
  this.stack = (/* @__PURE__ */ new Error()).stack;
63
61
  }
64
62
  };
65
-
66
63
  //#endregion
67
64
  //#region src/Errors/Http/NotFoundError.ts
68
65
  /**
@@ -85,7 +82,6 @@ var NotFoundError = class NotFoundError extends HttpError {
85
82
  if (message) this.message = message;
86
83
  }
87
84
  };
88
-
89
85
  //#endregion
90
86
  //#region src/Services/ErrorHandler/ErrorHandlerProvider.ts
91
87
  /**
@@ -96,7 +92,6 @@ var NotFoundError = class NotFoundError extends HttpError {
96
92
  * @class ErrorHandlerProvider
97
93
  */
98
94
  var ErrorHandlerProvider = class {};
99
-
100
95
  //#endregion
101
96
  //#region src/Errors/Http/BadRequestError.ts
102
97
  /**
@@ -120,7 +115,6 @@ var BadRequestError = class BadRequestError extends HttpError {
120
115
  if (errors) this.errors = errors;
121
116
  }
122
117
  };
123
-
124
118
  //#endregion
125
119
  //#region src/Utils/Security.ts
126
120
  /**
@@ -223,7 +217,6 @@ function sanitizeObject(obj) {
223
217
  function safeAssign(target, source) {
224
218
  for (const key of Object.keys(source)) if (isSafeProperty(key) && Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
225
219
  }
226
-
227
220
  //#endregion
228
221
  //#region src/Resolvers/Body.ts
229
222
  /**
@@ -255,7 +248,6 @@ async function resolveRequestBody(event) {
255
248
  throw new BadRequestError("Invalid JSON body");
256
249
  }
257
250
  }
258
-
259
251
  //#endregion
260
252
  //#region src/Resolvers/Headers.ts
261
253
  /**
@@ -275,7 +267,6 @@ function getRequestHeader(header, event) {
275
267
  function getRequestHeaders(event) {
276
268
  return event.request.headers;
277
269
  }
278
-
279
270
  //#endregion
280
271
  //#region src/Resolvers/Query.ts
281
272
  /**
@@ -298,7 +289,6 @@ function resolveQueryParams(event) {
298
289
  for (const [key, value] of url.searchParams) params[key] = value;
299
290
  return params;
300
291
  }
301
-
302
292
  //#endregion
303
293
  //#region src/Resolvers/RouterParam.ts
304
294
  /**
@@ -315,7 +305,6 @@ function resolveQueryParams(event) {
315
305
  function resolveRouterParam(param, event) {
316
306
  return event.params?.[param] ?? null;
317
307
  }
318
-
319
308
  //#endregion
320
309
  //#region src/Services/Metadata/MetadataResolver.ts
321
310
  /**
@@ -390,14 +379,12 @@ var MetadataResolver = class {
390
379
  return (ctx?.__metadata?.__middlewares?.filter((m) => m.target === "__global__" || m.target === propertyName) ?? []).sort((a) => a.target === "__global__" ? -1 : 1);
391
380
  }
392
381
  };
393
-
394
382
  //#endregion
395
383
  //#region src/Services/Middleware/BaseMiddleware.ts
396
384
  /**
397
385
  * BaseMiddleware class that serves as a base for all middleware implementations.
398
386
  */
399
387
  var BaseMiddleware = class {};
400
-
401
388
  //#endregion
402
389
  //#region src/Services/Middleware/GlobalMiddlewareRegistry.ts
403
390
  /**
@@ -435,7 +422,6 @@ var GlobalMiddlewareRegistry = class {
435
422
  });
436
423
  }
437
424
  };
438
-
439
425
  //#endregion
440
426
  //#region src/Services/Router/RequestContext.ts
441
427
  /**
@@ -536,16 +522,14 @@ var RequestContext = class {
536
522
  return new Map(context);
537
523
  }
538
524
  };
539
-
540
525
  //#endregion
541
- //#region \0@oxc-project+runtime@0.110.0/helpers/decorate.js
526
+ //#region \0@oxc-project+runtime@0.115.0/helpers/decorate.js
542
527
  function __decorate(decorators, target, key, desc) {
543
528
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
544
529
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
545
530
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
546
531
  return c > 3 && r && Object.defineProperty(target, key, r), r;
547
532
  }
548
-
549
533
  //#endregion
550
534
  //#region src/Services/Router/RequestHandler.ts
551
535
  /**
@@ -873,15 +857,12 @@ var RequestHandler = class {
873
857
  __decorate([Inject(MetadataResolver)], RequestHandler.prototype, "gMetadataResolver", void 0);
874
858
  __decorate([Inject(Container)], RequestHandler.prototype, "gContainer", void 0);
875
859
  __decorate([Inject(GlobalMiddlewareRegistry)], RequestHandler.prototype, "gGlobalMiddlewareRegistry", void 0);
876
-
877
860
  //#endregion
878
861
  //#region src/Hooks/Router/RouterAfterInitHook.ts
879
862
  var RouterAfterInitHook = class {};
880
-
881
863
  //#endregion
882
864
  //#region src/Hooks/Router/RouterBeforeInitHook.ts
883
865
  var RouterBeforeInitHook = class {};
884
-
885
866
  //#endregion
886
867
  //#region src/Services/Hooks/HooksService.ts
887
868
  /**
@@ -1010,7 +991,6 @@ var HooksService = class {
1010
991
  return instance;
1011
992
  }
1012
993
  };
1013
-
1014
994
  //#endregion
1015
995
  //#region src/Services/Router/Router.ts
1016
996
  /**
@@ -1066,7 +1046,6 @@ var Router = class {
1066
1046
  }
1067
1047
  };
1068
1048
  __decorate([Inject(HooksService)], Router.prototype, "gHooksService", void 0);
1069
-
1070
1049
  //#endregion
1071
1050
  //#region src/Utils/Mine.ts
1072
1051
  const mime = { getType(ext) {
@@ -1083,7 +1062,6 @@ const mime = { getType(ext) {
1083
1062
  ".ico": "image/x-icon"
1084
1063
  }[ext] || null;
1085
1064
  } };
1086
-
1087
1065
  //#endregion
1088
1066
  //#region src/Services/Router/StaticRequestHandler.ts
1089
1067
  /**
@@ -1155,7 +1133,6 @@ var StaticRequestHandler = class {
1155
1133
  return new Response(stream, { headers });
1156
1134
  }
1157
1135
  };
1158
-
1159
1136
  //#endregion
1160
1137
  //#region src/Services/HttpServer/HttpServer.ts
1161
1138
  /**
@@ -1259,7 +1236,7 @@ var HttpServer = class {
1259
1236
  }
1260
1237
  return this.gRequestHandler.handleRequest(request, route);
1261
1238
  } catch (error) {
1262
- return this.gContainer.get(ErrorHandlerProvider).handleError(error);
1239
+ return this.gContainer.get(ErrorHandlerProvider).handleError(error instanceof Error ? error : new Error(String(error)));
1263
1240
  }
1264
1241
  }
1265
1242
  };
@@ -1267,7 +1244,6 @@ __decorate([Inject(Container)], HttpServer.prototype, "gContainer", void 0);
1267
1244
  __decorate([Inject(Router)], HttpServer.prototype, "gRouter", void 0);
1268
1245
  __decorate([Inject(RequestHandler)], HttpServer.prototype, "gRequestHandler", void 0);
1269
1246
  __decorate([Inject(StaticRequestHandler)], HttpServer.prototype, "gStaticRequestHandler", void 0);
1270
-
1271
1247
  //#endregion
1272
1248
  //#region src/Services/Plugins/BasePlugin.ts
1273
1249
  /**
@@ -1285,7 +1261,6 @@ var BasePlugin = class {
1285
1261
  */
1286
1262
  use(app, options) {}
1287
1263
  };
1288
-
1289
1264
  //#endregion
1290
1265
  //#region src/Services/Plugins/PluginsRegistry.ts
1291
1266
  var PluginsRegistry = class {
@@ -1324,7 +1299,6 @@ var PluginsRegistry = class {
1324
1299
  }
1325
1300
  };
1326
1301
  __decorate([Inject(Container)], PluginsRegistry.prototype, "gContainer", void 0);
1327
-
1328
1302
  //#endregion
1329
1303
  //#region src/Common/App.ts
1330
1304
  /**
@@ -1427,7 +1401,6 @@ __decorate([Inject(PluginsRegistry)], App.prototype, "gPluginsRegistry", void 0)
1427
1401
  __decorate([Inject(HttpServer)], App.prototype, "gHttpServer", void 0);
1428
1402
  __decorate([Inject(StaticRequestHandler)], App.prototype, "gStaticRequestHandler", void 0);
1429
1403
  __decorate([Inject(RuntimeConfig)], App.prototype, "gRuntimeConfig", void 0);
1430
-
1431
1404
  //#endregion
1432
1405
  //#region src/Errors/Http/InternalServerError.ts
1433
1406
  /**
@@ -1450,7 +1423,6 @@ var InternalServerError = class InternalServerError extends HttpError {
1450
1423
  if (message) this.message = message;
1451
1424
  }
1452
1425
  };
1453
-
1454
1426
  //#endregion
1455
1427
  //#region src/Services/ErrorHandler/DefaultErrorHandlerProvider.ts
1456
1428
  /**
@@ -1475,7 +1447,6 @@ var DefaultErrorHandlerProvider = class extends ErrorHandlerProvider {
1475
1447
  }
1476
1448
  };
1477
1449
  __decorate([Inject(Logger)], DefaultErrorHandlerProvider.prototype, "gLogger", void 0);
1478
-
1479
1450
  //#endregion
1480
1451
  //#region src/Services/Validation/ValidationProvider.ts
1481
1452
  /**
@@ -1486,7 +1457,6 @@ __decorate([Inject(Logger)], DefaultErrorHandlerProvider.prototype, "gLogger", v
1486
1457
  * @class ValidationProvider
1487
1458
  */
1488
1459
  var ValidationProvider = class {};
1489
-
1490
1460
  //#endregion
1491
1461
  //#region src/Services/Validation/StandardSchemaValidationProvider.ts
1492
1462
  /**
@@ -1506,7 +1476,6 @@ var StandardSchemaValidationProvider = class {
1506
1476
  return schema["~standard"].validate(data);
1507
1477
  }
1508
1478
  };
1509
-
1510
1479
  //#endregion
1511
1480
  //#region src/Common/Container.ts
1512
1481
  /**
@@ -1539,7 +1508,6 @@ function createContainer(config) {
1539
1508
  container.bind(ValidationProvider, StandardSchemaValidationProvider);
1540
1509
  return container;
1541
1510
  }
1542
-
1543
1511
  //#endregion
1544
1512
  //#region src/Config/DefaultConfig.ts
1545
1513
  /**
@@ -1569,7 +1537,6 @@ const defaultConfig = {
1569
1537
  experimental: {},
1570
1538
  runtime: {}
1571
1539
  };
1572
-
1573
1540
  //#endregion
1574
1541
  //#region src/Config/Loader.ts
1575
1542
  /**
@@ -1588,7 +1555,6 @@ async function loadVercubeConfig(overrides) {
1588
1555
  if (config?.config?.c12?.dotenv && typeof config?.config?.c12?.dotenv === "object") await setupDotenv(config.config.c12.dotenv);
1589
1556
  return defu(overrides ?? {}, config?.config ?? {});
1590
1557
  }
1591
-
1592
1558
  //#endregion
1593
1559
  //#region src/Common/CreateApp.ts
1594
1560
  /**
@@ -1607,7 +1573,6 @@ async function createApp({ cfg = {}, setup = void 0 } = {}) {
1607
1573
  initializeContainer(container);
1608
1574
  return app;
1609
1575
  }
1610
-
1611
1576
  //#endregion
1612
1577
  //#region src/Config/Config.ts
1613
1578
  /**
@@ -1618,7 +1583,6 @@ async function createApp({ cfg = {}, setup = void 0 } = {}) {
1618
1583
  function defineConfig(config) {
1619
1584
  return config;
1620
1585
  }
1621
-
1622
1586
  //#endregion
1623
1587
  //#region src/Middleware/ValidationMiddleware.ts
1624
1588
  /**
@@ -1655,7 +1619,6 @@ var ValidationMiddleware = class {
1655
1619
  };
1656
1620
  __decorate([InjectOptional(Logger)], ValidationMiddleware.prototype, "gLogger", void 0);
1657
1621
  __decorate([InjectOptional(ValidationProvider)], ValidationMiddleware.prototype, "gValidationProvider", void 0);
1658
-
1659
1622
  //#endregion
1660
1623
  //#region src/Utils/Utils.ts
1661
1624
  /**
@@ -1703,7 +1666,6 @@ function initializeMetadata(target) {
1703
1666
  if (!target.__metadata.__middlewares) target.__metadata.__middlewares = [];
1704
1667
  return target.__metadata;
1705
1668
  }
1706
-
1707
1669
  //#endregion
1708
1670
  //#region src/Decorators/Http/Body.ts
1709
1671
  /**
@@ -1746,7 +1708,6 @@ var BodyDecorator = class extends BaseDecorator {
1746
1708
  function Body(options) {
1747
1709
  return createDecorator(BodyDecorator, options);
1748
1710
  }
1749
-
1750
1711
  //#endregion
1751
1712
  //#region src/Decorators/Http/Connect.ts
1752
1713
  /**
@@ -1802,7 +1763,6 @@ __decorate([Inject(MetadataResolver)], ConnectDecorator.prototype, "gMetadataRes
1802
1763
  function Connect(path) {
1803
1764
  return createDecorator(ConnectDecorator, { path });
1804
1765
  }
1805
-
1806
1766
  //#endregion
1807
1767
  //#region src/Decorators/Http/Controller.ts
1808
1768
  /**
@@ -1823,7 +1783,6 @@ function Controller(path) {
1823
1783
  };
1824
1784
  };
1825
1785
  }
1826
-
1827
1786
  //#endregion
1828
1787
  //#region src/Decorators/Http/Delete.ts
1829
1788
  /**
@@ -1879,7 +1838,6 @@ __decorate([Inject(MetadataResolver)], DeleteDecorator.prototype, "gMetadataReso
1879
1838
  function Delete(path) {
1880
1839
  return createDecorator(DeleteDecorator, { path });
1881
1840
  }
1882
-
1883
1841
  //#endregion
1884
1842
  //#region src/Decorators/Http/Get.ts
1885
1843
  /**
@@ -1910,9 +1868,9 @@ var GetDecorator = class extends BaseDecorator {
1910
1868
  path: this.options.path,
1911
1869
  propertyName: this.propertyName
1912
1870
  });
1913
- this.gRouter.addRoute({
1871
+ for (const method of ["GET", "HEAD"]) this.gRouter.addRoute({
1914
1872
  path: this.options.path,
1915
- method: "GET",
1873
+ method,
1916
1874
  handler: this.gRequestHandler.prepareHandler({
1917
1875
  instance: this.instance,
1918
1876
  propertyName: this.propertyName
@@ -1935,7 +1893,6 @@ __decorate([Inject(MetadataResolver)], GetDecorator.prototype, "gMetadataResolve
1935
1893
  function Get(path) {
1936
1894
  return createDecorator(GetDecorator, { path });
1937
1895
  }
1938
-
1939
1896
  //#endregion
1940
1897
  //#region src/Decorators/Http/Head.ts
1941
1898
  /**
@@ -1991,7 +1948,6 @@ __decorate([Inject(MetadataResolver)], HeadDecorator.prototype, "gMetadataResolv
1991
1948
  function Head(path) {
1992
1949
  return createDecorator(HeadDecorator, { path });
1993
1950
  }
1994
-
1995
1951
  //#endregion
1996
1952
  //#region src/Decorators/Http/Header.ts
1997
1953
  /**
@@ -2032,7 +1988,6 @@ var HeaderDecorator = class extends BaseDecorator {
2032
1988
  function Header(name) {
2033
1989
  return createDecorator(HeaderDecorator, { name });
2034
1990
  }
2035
-
2036
1991
  //#endregion
2037
1992
  //#region src/Decorators/Http/Headers.ts
2038
1993
  /**
@@ -2070,7 +2025,6 @@ var HeadersDecorator = class extends BaseDecorator {
2070
2025
  function Headers$1() {
2071
2026
  return createDecorator(HeadersDecorator, {});
2072
2027
  }
2073
-
2074
2028
  //#endregion
2075
2029
  //#region src/Decorators/Http/Options.ts
2076
2030
  /**
@@ -2126,7 +2080,6 @@ __decorate([Inject(MetadataResolver)], OptionsDecorator.prototype, "gMetadataRes
2126
2080
  function Options(path) {
2127
2081
  return createDecorator(OptionsDecorator, { path });
2128
2082
  }
2129
-
2130
2083
  //#endregion
2131
2084
  //#region src/Decorators/Http/Param.ts
2132
2085
  /**
@@ -2170,7 +2123,6 @@ __decorate([Inject(MetadataResolver)], ParamDecorator.prototype, "gMetadataResol
2170
2123
  function Param(name) {
2171
2124
  return createDecorator(ParamDecorator, { name });
2172
2125
  }
2173
-
2174
2126
  //#endregion
2175
2127
  //#region src/Decorators/Http/Patch.ts
2176
2128
  /**
@@ -2226,7 +2178,6 @@ __decorate([Inject(MetadataResolver)], PatchDecorator.prototype, "gMetadataResol
2226
2178
  function Patch(path) {
2227
2179
  return createDecorator(PatchDecorator, { path });
2228
2180
  }
2229
-
2230
2181
  //#endregion
2231
2182
  //#region src/Decorators/Http/Post.ts
2232
2183
  /**
@@ -2282,7 +2233,6 @@ __decorate([Inject(RequestHandler)], PostDecorator.prototype, "gRequestHandler",
2282
2233
  function Post(path) {
2283
2234
  return createDecorator(PostDecorator, { path });
2284
2235
  }
2285
-
2286
2236
  //#endregion
2287
2237
  //#region src/Decorators/Http/Put.ts
2288
2238
  /**
@@ -2338,7 +2288,6 @@ __decorate([Inject(MetadataResolver)], PutDecorator.prototype, "gMetadataResolve
2338
2288
  function Put(path) {
2339
2289
  return createDecorator(PutDecorator, { path });
2340
2290
  }
2341
-
2342
2291
  //#endregion
2343
2292
  //#region src/Decorators/Http/QueryParam.ts
2344
2293
  /**
@@ -2386,7 +2335,6 @@ var QueryParamDecorator = class extends BaseDecorator {
2386
2335
  function QueryParam(options) {
2387
2336
  return createDecorator(QueryParamDecorator, options);
2388
2337
  }
2389
-
2390
2338
  //#endregion
2391
2339
  //#region src/Decorators/Http/QueryParams.ts
2392
2340
  /**
@@ -2434,7 +2382,6 @@ var QueryParamsDecorator = class extends BaseDecorator {
2434
2382
  function QueryParams(options) {
2435
2383
  return createDecorator(QueryParamsDecorator, options);
2436
2384
  }
2437
-
2438
2385
  //#endregion
2439
2386
  //#region src/Decorators/Http/Request.ts
2440
2387
  /**
@@ -2472,7 +2419,6 @@ var RequestDecorator = class extends BaseDecorator {
2472
2419
  function Request() {
2473
2420
  return createDecorator(RequestDecorator, {});
2474
2421
  }
2475
-
2476
2422
  //#endregion
2477
2423
  //#region src/Decorators/Http/Response.ts
2478
2424
  /**
@@ -2510,7 +2456,6 @@ var ResponseDecorator = class extends BaseDecorator {
2510
2456
  function Response$1() {
2511
2457
  return createDecorator(ResponseDecorator, {});
2512
2458
  }
2513
-
2514
2459
  //#endregion
2515
2460
  //#region src/Decorators/Http/Trace.ts
2516
2461
  /**
@@ -2566,7 +2511,6 @@ __decorate([Inject(MetadataResolver)], TraceDecorator.prototype, "gMetadataResol
2566
2511
  function Trace(path) {
2567
2512
  return createDecorator(TraceDecorator, { path });
2568
2513
  }
2569
-
2570
2514
  //#endregion
2571
2515
  //#region src/Decorators/Http/SetHeader.ts
2572
2516
  /**
@@ -2600,7 +2544,6 @@ function SetHeader(key, value) {
2600
2544
  value
2601
2545
  });
2602
2546
  }
2603
-
2604
2547
  //#endregion
2605
2548
  //#region src/Types/HttpTypes.ts
2606
2549
  let HTTPStatus = /* @__PURE__ */ function(HTTPStatus) {
@@ -2667,7 +2610,6 @@ let HTTPStatus = /* @__PURE__ */ function(HTTPStatus) {
2667
2610
  HTTPStatus[HTTPStatus["NETWORK_AUTHENTICATION_REQUIRED"] = 511] = "NETWORK_AUTHENTICATION_REQUIRED";
2668
2611
  return HTTPStatus;
2669
2612
  }({});
2670
-
2671
2613
  //#endregion
2672
2614
  //#region src/Decorators/Http/Status.ts
2673
2615
  /**
@@ -2693,7 +2635,6 @@ var StatusDecorator = class extends BaseDecorator {
2693
2635
  function Status(code) {
2694
2636
  return createDecorator(StatusDecorator, { code });
2695
2637
  }
2696
-
2697
2638
  //#endregion
2698
2639
  //#region src/Decorators/Http/Redirect.ts
2699
2640
  var RedirectDecorator = class extends BaseDecorator {
@@ -2725,7 +2666,6 @@ function Redirect(location, code = 301) {
2725
2666
  code
2726
2667
  });
2727
2668
  }
2728
-
2729
2669
  //#endregion
2730
2670
  //#region src/Decorators/Http/Middleware.ts
2731
2671
  /**
@@ -2759,7 +2699,6 @@ function Middleware(middleware, opts) {
2759
2699
  });
2760
2700
  };
2761
2701
  }
2762
-
2763
2702
  //#endregion
2764
2703
  //#region src/Decorators/Http/MultipartFormData.ts
2765
2704
  /**
@@ -2799,7 +2738,6 @@ var MultipartFormDataDecorator = class extends BaseDecorator {
2799
2738
  function MultipartFormData() {
2800
2739
  return createDecorator(MultipartFormDataDecorator, {});
2801
2740
  }
2802
-
2803
2741
  //#endregion
2804
2742
  //#region src/Decorators/Hooks/Listen.ts
2805
2743
  /**
@@ -2833,7 +2771,6 @@ __decorate([Inject(HooksService)], ListenDecorator.prototype, "gHooksService", v
2833
2771
  function Listen(hookType) {
2834
2772
  return createDecorator(ListenDecorator, { hookType });
2835
2773
  }
2836
-
2837
2774
  //#endregion
2838
2775
  //#region src/Errors/Http/ForbiddenError.ts
2839
2776
  /**
@@ -2856,7 +2793,6 @@ var ForbiddenError = class ForbiddenError extends HttpError {
2856
2793
  if (message) this.message = message;
2857
2794
  }
2858
2795
  };
2859
-
2860
2796
  //#endregion
2861
2797
  //#region src/Errors/Http/MethodNotAllowedError.ts
2862
2798
  /**
@@ -2879,7 +2815,6 @@ var MethodNotAllowedError = class MethodNotAllowedError extends HttpError {
2879
2815
  if (message) this.message = message;
2880
2816
  }
2881
2817
  };
2882
-
2883
2818
  //#endregion
2884
2819
  //#region src/Errors/Http/NotAcceptableError.ts
2885
2820
  /**
@@ -2902,7 +2837,6 @@ var NotAcceptableError = class NotAcceptableError extends HttpError {
2902
2837
  if (message) this.message = message;
2903
2838
  }
2904
2839
  };
2905
-
2906
2840
  //#endregion
2907
2841
  //#region src/Errors/Http/UnauthorizedError.ts
2908
2842
  /**
@@ -2925,7 +2859,6 @@ var UnauthorizedError = class UnauthorizedError extends HttpError {
2925
2859
  if (message) this.message = message;
2926
2860
  }
2927
2861
  };
2928
-
2929
2862
  //#endregion
2930
2863
  //#region src/Types/HttpCodes.ts
2931
2864
  /**
@@ -3255,6 +3188,5 @@ let HttpStatusCode = /* @__PURE__ */ function(HttpStatusCode) {
3255
3188
  HttpStatusCode[HttpStatusCode["NETWORK_AUTHENTICATION_REQUIRED"] = 511] = "NETWORK_AUTHENTICATION_REQUIRED";
3256
3189
  return HttpStatusCode;
3257
3190
  }({});
3258
-
3259
3191
  //#endregion
3260
- export { App, BadRequestError, BaseMiddleware, BasePlugin, Body, Connect, Controller, DANGEROUS_PROPERTIES, Delete, ErrorHandlerProvider, FastResponse, ForbiddenError, Get, GlobalMiddlewareRegistry, HTTPStatus, Head, Header, Headers$1 as Headers, HooksService, HttpError, HttpServer, HttpStatusCode, InternalServerError, Listen, MetadataResolver, MethodNotAllowedError, Middleware, MultipartFormData, NotAcceptableError, NotFoundError, Options, Param, Patch, Post, Put, QueryParam, QueryParams, Redirect, Request, RequestContext, Response$1 as Response, Router, RuntimeConfig, SetHeader, StandardSchemaValidationProvider, Status, Trace, UnauthorizedError, ValidationProvider, createApp, createMetadataCtx, createMetadataMethod, defineConfig, initializeMetadata, initializeMetadataMethod, isSafeProperty, loadVercubeConfig, safeAssign, safeJsonParse, sanitizeObject, secureReviver };
3192
+ export { App, BadRequestError, BaseMiddleware, BasePlugin, Body, Connect, Controller, DANGEROUS_PROPERTIES, Delete, ErrorHandlerProvider, FastResponse, ForbiddenError, Get, GlobalMiddlewareRegistry, HTTPStatus, Head, Header, Headers$1 as Headers, HooksService, HttpError, HttpServer, HttpStatusCode, InternalServerError, Listen, MetadataResolver, MethodNotAllowedError, Middleware, MultipartFormData, NotAcceptableError, NotFoundError, Options, Param, Patch, Post, Put, QueryParam, QueryParams, Redirect, Request, RequestContext, Response$1 as Response, Router, RuntimeConfig, SetHeader, StandardSchemaValidationProvider, Status, Trace, UnauthorizedError, ValidationProvider, createApp, createMetadataCtx, createMetadataMethod, defineConfig, initializeMetadata, initializeMetadataMethod, isSafeProperty, loadVercubeConfig, safeAssign, safeJsonParse, sanitizeObject, secureReviver };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vercube/core",
3
- "version": "0.0.43",
3
+ "version": "0.0.45",
4
4
  "description": "Core module for Vercube framework",
5
5
  "repository": {
6
6
  "type": "git",
@@ -23,16 +23,16 @@
23
23
  ],
24
24
  "dependencies": {
25
25
  "@standard-schema/spec": "1.1.0",
26
- "c12": "3.3.3",
26
+ "c12": "4.0.0-beta.4",
27
27
  "defu": "6.1.4",
28
28
  "pathe": "2.0.3",
29
- "rou3": "0.7.12",
30
- "srvx": "0.11.0",
31
- "@vercube/di": "0.0.43",
32
- "@vercube/logger": "0.0.43"
29
+ "rou3": "0.8.1",
30
+ "srvx": "0.11.12",
31
+ "@vercube/di": "0.0.45",
32
+ "@vercube/logger": "0.0.45"
33
33
  },
34
34
  "devDependencies": {
35
- "rolldown": "1.0.0-rc.3",
35
+ "rolldown": "1.0.0-rc.9",
36
36
  "zod": "4.3.6"
37
37
  },
38
38
  "publishConfig": {