@pyreon/zero 0.12.2 → 0.12.4

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 (145) hide show
  1. package/lib/actions.js +97 -0
  2. package/lib/actions.js.map +1 -0
  3. package/lib/ai.js +503 -0
  4. package/lib/ai.js.map +1 -0
  5. package/lib/api-routes.js +137 -0
  6. package/lib/api-routes.js.map +1 -0
  7. package/lib/compression.js +80 -0
  8. package/lib/compression.js.map +1 -0
  9. package/lib/cors.js +57 -0
  10. package/lib/cors.js.map +1 -0
  11. package/lib/csp.js +119 -0
  12. package/lib/csp.js.map +1 -0
  13. package/lib/env.js +217 -0
  14. package/lib/env.js.map +1 -0
  15. package/lib/favicon.js +424 -0
  16. package/lib/favicon.js.map +1 -0
  17. package/lib/i18n-routing.js +167 -0
  18. package/lib/i18n-routing.js.map +1 -0
  19. package/lib/index.js +340 -4015
  20. package/lib/index.js.map +1 -1
  21. package/lib/link.js +5 -0
  22. package/lib/link.js.map +1 -1
  23. package/lib/logger.js +78 -0
  24. package/lib/logger.js.map +1 -0
  25. package/lib/meta.js +310 -0
  26. package/lib/meta.js.map +1 -0
  27. package/lib/middleware.js +53 -0
  28. package/lib/middleware.js.map +1 -0
  29. package/lib/og-image.js +233 -0
  30. package/lib/og-image.js.map +1 -0
  31. package/lib/rate-limit.js +76 -0
  32. package/lib/rate-limit.js.map +1 -0
  33. package/lib/server.js +1534 -0
  34. package/lib/server.js.map +1 -0
  35. package/lib/testing.js +179 -0
  36. package/lib/testing.js.map +1 -0
  37. package/lib/theme.js +11 -2
  38. package/lib/theme.js.map +1 -1
  39. package/lib/types/actions.d.ts +27 -24
  40. package/lib/types/actions.d.ts.map +1 -1
  41. package/lib/types/ai.d.ts +76 -95
  42. package/lib/types/ai.d.ts.map +1 -1
  43. package/lib/types/api-routes.d.ts +37 -33
  44. package/lib/types/api-routes.d.ts.map +1 -1
  45. package/lib/types/cache.d.ts +26 -22
  46. package/lib/types/cache.d.ts.map +1 -1
  47. package/lib/types/client.d.ts +13 -9
  48. package/lib/types/client.d.ts.map +1 -1
  49. package/lib/types/compression.d.ts +14 -10
  50. package/lib/types/compression.d.ts.map +1 -1
  51. package/lib/types/config.d.ts +39 -4
  52. package/lib/types/config.d.ts.map +1 -1
  53. package/lib/types/cors.d.ts +20 -16
  54. package/lib/types/cors.d.ts.map +1 -1
  55. package/lib/types/csp.d.ts +42 -61
  56. package/lib/types/csp.d.ts.map +1 -1
  57. package/lib/types/env.d.ts +26 -26
  58. package/lib/types/env.d.ts.map +1 -1
  59. package/lib/types/favicon.d.ts +58 -54
  60. package/lib/types/favicon.d.ts.map +1 -1
  61. package/lib/types/font.d.ts +68 -65
  62. package/lib/types/font.d.ts.map +1 -1
  63. package/lib/types/i18n-routing.d.ts +43 -37
  64. package/lib/types/i18n-routing.d.ts.map +1 -1
  65. package/lib/types/image-plugin.d.ts +49 -45
  66. package/lib/types/image-plugin.d.ts.map +1 -1
  67. package/lib/types/image.d.ts +47 -36
  68. package/lib/types/image.d.ts.map +1 -1
  69. package/lib/types/index.d.ts +594 -56
  70. package/lib/types/index.d.ts.map +1 -1
  71. package/lib/types/link.d.ts +61 -56
  72. package/lib/types/link.d.ts.map +1 -1
  73. package/lib/types/logger.d.ts +37 -48
  74. package/lib/types/logger.d.ts.map +1 -1
  75. package/lib/types/meta.d.ts +145 -105
  76. package/lib/types/meta.d.ts.map +1 -1
  77. package/lib/types/middleware.d.ts +8 -4
  78. package/lib/types/middleware.d.ts.map +1 -1
  79. package/lib/types/og-image.d.ts +63 -59
  80. package/lib/types/og-image.d.ts.map +1 -1
  81. package/lib/types/rate-limit.d.ts +20 -16
  82. package/lib/types/rate-limit.d.ts.map +1 -1
  83. package/lib/types/script.d.ts +23 -19
  84. package/lib/types/script.d.ts.map +1 -1
  85. package/lib/types/seo.d.ts +47 -43
  86. package/lib/types/seo.d.ts.map +1 -1
  87. package/lib/types/server.d.ts +455 -0
  88. package/lib/types/server.d.ts.map +1 -0
  89. package/lib/types/testing.d.ts +64 -27
  90. package/lib/types/testing.d.ts.map +1 -1
  91. package/lib/types/theme.d.ts +22 -12
  92. package/lib/types/theme.d.ts.map +1 -1
  93. package/package.json +17 -12
  94. package/src/actions.ts +1 -3
  95. package/src/adapters/bun.ts +2 -0
  96. package/src/adapters/cloudflare.ts +2 -0
  97. package/src/adapters/netlify.ts +2 -0
  98. package/src/adapters/node.ts +2 -0
  99. package/src/adapters/validate.ts +16 -0
  100. package/src/adapters/vercel.ts +2 -0
  101. package/src/compression.ts +19 -3
  102. package/src/entry-server.ts +28 -5
  103. package/src/index.ts +20 -182
  104. package/src/link.tsx +6 -0
  105. package/src/meta.tsx +78 -16
  106. package/src/rate-limit.ts +11 -9
  107. package/src/server.ts +70 -0
  108. package/src/theme.tsx +12 -1
  109. package/src/vite-plugin.ts +5 -1
  110. package/lib/fs-router-Dil4IKZR.js +0 -290
  111. package/lib/fs-router-Dil4IKZR.js.map +0 -1
  112. package/lib/types/adapters/bun.d.ts +0 -6
  113. package/lib/types/adapters/bun.d.ts.map +0 -1
  114. package/lib/types/adapters/cloudflare.d.ts +0 -26
  115. package/lib/types/adapters/cloudflare.d.ts.map +0 -1
  116. package/lib/types/adapters/index.d.ts +0 -13
  117. package/lib/types/adapters/index.d.ts.map +0 -1
  118. package/lib/types/adapters/netlify.d.ts +0 -21
  119. package/lib/types/adapters/netlify.d.ts.map +0 -1
  120. package/lib/types/adapters/node.d.ts +0 -6
  121. package/lib/types/adapters/node.d.ts.map +0 -1
  122. package/lib/types/adapters/static.d.ts +0 -7
  123. package/lib/types/adapters/static.d.ts.map +0 -1
  124. package/lib/types/adapters/vercel.d.ts +0 -21
  125. package/lib/types/adapters/vercel.d.ts.map +0 -1
  126. package/lib/types/app.d.ts +0 -24
  127. package/lib/types/app.d.ts.map +0 -1
  128. package/lib/types/entry-server.d.ts +0 -37
  129. package/lib/types/entry-server.d.ts.map +0 -1
  130. package/lib/types/error-overlay.d.ts +0 -6
  131. package/lib/types/error-overlay.d.ts.map +0 -1
  132. package/lib/types/fs-router.d.ts +0 -47
  133. package/lib/types/fs-router.d.ts.map +0 -1
  134. package/lib/types/isr.d.ts +0 -9
  135. package/lib/types/isr.d.ts.map +0 -1
  136. package/lib/types/not-found.d.ts +0 -7
  137. package/lib/types/not-found.d.ts.map +0 -1
  138. package/lib/types/types.d.ts +0 -111
  139. package/lib/types/types.d.ts.map +0 -1
  140. package/lib/types/utils/use-intersection-observer.d.ts +0 -10
  141. package/lib/types/utils/use-intersection-observer.d.ts.map +0 -1
  142. package/lib/types/utils/with-headers.d.ts +0 -6
  143. package/lib/types/utils/with-headers.d.ts.map +0 -1
  144. package/lib/types/vite-plugin.d.ts +0 -17
  145. package/lib/types/vite-plugin.d.ts.map +0 -1
@@ -1,37 +0,0 @@
1
- import type { ComponentFn } from "@pyreon/core";
2
- import type { RouteRecord } from "@pyreon/router";
3
- import type { Middleware } from "@pyreon/server";
4
- import type { ApiRouteEntry } from "./api-routes";
5
- import type { RouteMiddlewareEntry, ZeroConfig } from "./types";
6
- export interface CreateServerOptions {
7
- /** Route definitions. */
8
- routes: RouteRecord[];
9
- /** Zero config. */
10
- config?: ZeroConfig;
11
- /** Additional middleware. */
12
- middleware?: Middleware[];
13
- /** Per-route middleware from virtual:zero/route-middleware. */
14
- routeMiddleware?: RouteMiddlewareEntry[];
15
- /** API route entries from virtual:zero/api-routes. */
16
- apiRoutes?: ApiRouteEntry[];
17
- /** HTML template override. */
18
- template?: string;
19
- /** Client entry path. */
20
- clientEntry?: string;
21
- /** Component to render when no route matches (from _404.tsx). */
22
- notFoundComponent?: ComponentFn;
23
- }
24
- /** Simple URL pattern matcher supporting :param and :param* segments. */
25
- export declare function matchPattern(pattern: string, path: string): boolean;
26
- /**
27
- * Create the SSR request handler for production.
28
- *
29
- * @example
30
- * import { routes } from "virtual:zero/routes"
31
- * import { routeMiddleware } from "virtual:zero/route-middleware"
32
- * import { createServer } from "@pyreon/zero"
33
- *
34
- * export default createServer({ routes, routeMiddleware, apiRoutes })
35
- */
36
- export declare function createServer(options: CreateServerOptions): (req: Request) => Promise<Response>;
37
- //# sourceMappingURL=entry-server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entry-server.d.ts","sourceRoot":"","sources":["../../src/entry-server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAqB,MAAM,gBAAgB,CAAC;AAEpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAIlD,OAAO,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAIhE,MAAM,WAAW,mBAAmB;IACnC,yBAAyB;IACzB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,mBAAmB;IACnB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,6BAA6B;IAC7B,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC;IAC1B,+DAA+D;IAC/D,eAAe,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACzC,sDAAsD;IACtD,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;IAC5B,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,WAAW,CAAC;CAChC;AAuBD,yEAAyE;AACzE,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAanE;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,uCAwDxD"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Dev-only error overlay for SSR/loader errors.
3
- * Renders a styled HTML page with the error stack trace.
4
- */
5
- export declare function renderErrorOverlay(error: Error): string;
6
- //# sourceMappingURL=error-overlay.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error-overlay.d.ts","sourceRoot":"","sources":["../../src/error-overlay.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CA0FvD"}
@@ -1,47 +0,0 @@
1
- import type { FileRoute, RenderMode } from './types';
2
- /**
3
- * Parse a set of file paths (relative to routes dir) into FileRoute objects.
4
- *
5
- * @param files Array of file paths like ["index.tsx", "users/[id].tsx"]
6
- * @param defaultMode Default rendering mode from config
7
- */
8
- export declare function parseFileRoutes(files: string[], defaultMode?: RenderMode): FileRoute[];
9
- /**
10
- * Convert a file path (without extension) to a URL path pattern.
11
- *
12
- * Examples:
13
- * "index" → "/"
14
- * "about" → "/about"
15
- * "users/index" → "/users"
16
- * "users/[id]" → "/users/:id"
17
- * "blog/[...slug]" → "/blog/:slug*"
18
- * "(auth)/login" → "/login" (group stripped)
19
- * "_layout" → "/" (layout marker)
20
- */
21
- export declare function filePathToUrlPath(filePath: string): string;
22
- /**
23
- * Generate a virtual module that exports a nested route tree.
24
- * Wires up layouts as parent routes with children, loaders, guards,
25
- * error/loading components, middleware, and meta from route module exports.
26
- */
27
- export interface GenerateRouteModuleOptions {
28
- /**
29
- * When true, skip lazy() for route components and use static imports.
30
- * Use for SSG/prerender mode where all routes are rendered at build time
31
- * and code splitting provides no benefit. Avoids Rolldown warnings about
32
- * static + dynamic imports of the same module.
33
- */
34
- staticImports?: boolean;
35
- }
36
- export declare function generateRouteModule(files: string[], routesDir: string, options?: GenerateRouteModuleOptions): string;
37
- /**
38
- * Generate a virtual module that maps URL patterns to their middleware exports.
39
- * Used by the server entry to dispatch per-route middleware.
40
- */
41
- export declare function generateMiddlewareModule(files: string[], routesDir: string): string;
42
- /**
43
- * Scan a directory for route files.
44
- * Returns paths relative to the routes directory.
45
- */
46
- export declare function scanRouteFiles(routesDir: string): Promise<string[]>;
47
- //# sourceMappingURL=fs-router.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fs-router.d.ts","sourceRoot":"","sources":["../../src/fs-router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAgCpD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,WAAW,GAAE,UAAkB,GAAG,SAAS,EAAE,CAK7F;AA0CD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiC1D;AA6ED;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EAAE,EACf,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,0BAA0B,GACnC,MAAM,CA0JR;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAqBnF;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAoBzE"}
@@ -1,9 +0,0 @@
1
- import type { ISRConfig } from './types';
2
- /**
3
- * In-memory ISR cache with stale-while-revalidate semantics.
4
- *
5
- * Wraps an SSR handler and caches responses per URL path.
6
- * Serves stale content immediately while revalidating in the background.
7
- */
8
- export declare function createISRHandler(handler: (req: Request) => Promise<Response>, config: ISRConfig): (req: Request) => Promise<Response>;
9
- //# sourceMappingURL=isr.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isr.d.ts","sourceRoot":"","sources":["../../src/isr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAUxC;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,EAC5C,MAAM,EAAE,SAAS,GAChB,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CA2ErC"}
@@ -1,7 +0,0 @@
1
- import type { ComponentFn } from "@pyreon/core";
2
- /**
3
- * Render a 404 component to a full HTML string.
4
- * If no component is provided, returns a default 404 page.
5
- */
6
- export declare function render404Page(component: ComponentFn | undefined, template?: string): Promise<string>;
7
- //# sourceMappingURL=not-found.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"not-found.d.ts","sourceRoot":"","sources":["../../src/not-found.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAahD;;;GAGG;AACH,wBAAsB,aAAa,CAClC,SAAS,EAAE,WAAW,GAAG,SAAS,EAClC,QAAQ,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAuBjB"}
@@ -1,111 +0,0 @@
1
- import type { ComponentFn } from '@pyreon/core';
2
- import type { NavigationGuard } from '@pyreon/router';
3
- import type { Middleware } from '@pyreon/server';
4
- /** What a route file (e.g. `src/routes/index.tsx`) can export. */
5
- export interface RouteModule {
6
- /** Default export is the page component. */
7
- default?: ComponentFn;
8
- /** Layout wrapper — wraps this route and all children. */
9
- layout?: ComponentFn;
10
- /** Loading component shown while lazy-loading or during Suspense. */
11
- loading?: ComponentFn;
12
- /** Error component shown when the route errors. */
13
- error?: ComponentFn;
14
- /** Server-side data loader. */
15
- loader?: (ctx: LoaderContext) => Promise<unknown>;
16
- /** Per-route middleware. */
17
- middleware?: Middleware | Middleware[];
18
- /** Navigation guard — can redirect or block navigation. */
19
- guard?: NavigationGuard;
20
- /** Route metadata. */
21
- meta?: RouteMeta;
22
- /** Rendering mode override for this route. */
23
- renderMode?: RenderMode;
24
- }
25
- /** Context passed to route loaders. */
26
- export interface LoaderContext {
27
- params: Record<string, string>;
28
- query: Record<string, string>;
29
- signal: AbortSignal;
30
- request: Request;
31
- }
32
- /** Per-route metadata. */
33
- export interface RouteMeta {
34
- title?: string;
35
- description?: string;
36
- [key: string]: unknown;
37
- }
38
- export type RenderMode = 'ssr' | 'ssg' | 'spa' | 'isr';
39
- export interface ISRConfig {
40
- /** Revalidation interval in seconds. */
41
- revalidate: number;
42
- }
43
- export interface ZeroConfig {
44
- /** Default rendering mode. Default: "ssr" */
45
- mode?: RenderMode;
46
- /** Vite config overrides. */
47
- vite?: Record<string, unknown>;
48
- /** SSR options. */
49
- ssr?: {
50
- /** Streaming mode. Default: "string" */
51
- mode?: 'string' | 'stream';
52
- };
53
- /** SSG options — only used when mode is "ssg". */
54
- ssg?: {
55
- /** Paths to prerender (or function returning paths). */
56
- paths?: string[] | (() => string[] | Promise<string[]>);
57
- };
58
- /** ISR config — only used when mode is "isr". */
59
- isr?: ISRConfig;
60
- /** Deploy adapter. Default: "node" */
61
- adapter?: 'node' | 'bun' | 'static' | 'vercel' | 'cloudflare' | 'netlify';
62
- /** Base URL path. Default: "/" */
63
- base?: string;
64
- /** App-level middleware applied to all routes. */
65
- middleware?: Middleware[];
66
- /** Server port for dev/preview. Default: 3000 */
67
- port?: number;
68
- }
69
- /** Internal representation of a file-system route before conversion to RouteRecord. */
70
- export interface FileRoute {
71
- /** File path relative to routes dir (e.g. "users/[id].tsx") */
72
- filePath: string;
73
- /** Parsed URL path pattern (e.g. "/users/:id") */
74
- urlPath: string;
75
- /** Directory path for grouping (e.g. "users" or "" for root) */
76
- dirPath: string;
77
- /** Route segment depth for nesting. */
78
- depth: number;
79
- /** Whether this is a layout file. */
80
- isLayout: boolean;
81
- /** Whether this is an error boundary file. */
82
- isError: boolean;
83
- /** Whether this is a loading fallback file. */
84
- isLoading: boolean;
85
- /** Whether this is a not-found (404) file. */
86
- isNotFound: boolean;
87
- /** Whether this is a catch-all route. */
88
- isCatchAll: boolean;
89
- /** Resolved rendering mode. */
90
- renderMode: RenderMode;
91
- }
92
- /** Entry mapping a URL pattern to its route-level middleware. */
93
- export interface RouteMiddlewareEntry {
94
- pattern: string;
95
- middleware: Middleware | Middleware[];
96
- }
97
- export interface Adapter {
98
- name: string;
99
- /** Build the production server/output for this adapter. */
100
- build(options: AdapterBuildOptions): Promise<void>;
101
- }
102
- export interface AdapterBuildOptions {
103
- /** Path to the built server entry. */
104
- serverEntry: string;
105
- /** Path to the client build output. */
106
- clientOutDir: string;
107
- /** Final output directory. */
108
- outDir: string;
109
- config: ZeroConfig;
110
- }
111
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Observes an element and calls `onIntersect` once it enters the viewport.
3
- * Automatically disconnects after the first intersection.
4
- *
5
- * @param getElement - Getter for the target element (may be undefined before mount).
6
- * @param onIntersect - Callback fired when the element becomes visible.
7
- * @param rootMargin - IntersectionObserver rootMargin. Default: "200px".
8
- */
9
- export declare function useIntersectionObserver(getElement: () => HTMLElement | undefined, onIntersect: () => void, rootMargin?: string): void;
10
- //# sourceMappingURL=use-intersection-observer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-intersection-observer.d.ts","sourceRoot":"","sources":["../../../src/utils/use-intersection-observer.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,WAAW,GAAG,SAAS,EACzC,WAAW,EAAE,MAAM,IAAI,EACvB,UAAU,SAAU,QAsBrB"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Clone a Response with modified headers.
3
- * Avoids repeating the `new Response(body, { status, statusText, headers })` pattern.
4
- */
5
- export declare function withHeaders(response: Response, modify: (headers: Headers) => void): Response;
6
- //# sourceMappingURL=with-headers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"with-headers.d.ts","sourceRoot":"","sources":["../../../src/utils/with-headers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,QAAQ,CAQ5F"}
@@ -1,17 +0,0 @@
1
- import type { Plugin } from 'vite';
2
- import type { ZeroConfig } from "./types";
3
- /**
4
- * Zero Vite plugin — adds file-based routing and zero-config conventions
5
- * on top of @pyreon/vite-plugin.
6
- *
7
- * @example
8
- * // vite.config.ts
9
- * import pyreon from "@pyreon/vite-plugin"
10
- * import zero from "@pyreon/zero"
11
- *
12
- * export default {
13
- * plugins: [pyreon(), zero()],
14
- * }
15
- */
16
- export declare function zeroPlugin(userConfig?: ZeroConfig): Plugin;
17
- //# sourceMappingURL=vite-plugin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vite-plugin.d.ts","sourceRoot":"","sources":["../../src/vite-plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AA4BlC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAW1C;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,UAAU,GAAE,UAAe,GAAG,MAAM,CAuK9D"}