@torpor/build 0.1.34 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/dist/RouteType-g8Ce5gOd.js +107 -0
  3. package/dist/RouteType-g8Ce5gOd.js.map +1 -0
  4. package/dist/Server-CSpY_-Ba.d.ts +78 -0
  5. package/dist/Server-CSpY_-Ba.d.ts.map +1 -0
  6. package/dist/ServerEvent-2-CnAy1W.js +74 -0
  7. package/dist/ServerEvent-2-CnAy1W.js.map +1 -0
  8. package/dist/Site-D4x1l0p5.d.ts +67 -0
  9. package/dist/Site-D4x1l0p5.d.ts.map +1 -0
  10. package/dist/_page-CsdPubw4.js +33 -0
  11. package/dist/_page-CsdPubw4.js.map +1 -0
  12. package/dist/bin/index.d.ts +1 -1
  13. package/dist/bin/index.js +14 -19
  14. package/dist/bin/index.js.map +1 -1
  15. package/dist/connectMiddleware-DbLj0St1.js +252 -0
  16. package/dist/connectMiddleware-DbLj0St1.js.map +1 -0
  17. package/dist/index.d.ts +191 -182
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +109 -145
  20. package/dist/index.js.map +1 -1
  21. package/dist/nav.d.ts +14 -0
  22. package/dist/nav.d.ts.map +1 -0
  23. package/dist/nav.js +184 -0
  24. package/dist/nav.js.map +1 -0
  25. package/dist/pathToRegex-CTgx7hQP.js +11 -0
  26. package/dist/pathToRegex-CTgx7hQP.js.map +1 -0
  27. package/dist/response-D-XpIuMH.js +307 -0
  28. package/dist/response-D-XpIuMH.js.map +1 -0
  29. package/dist/response.d.ts +336 -151
  30. package/dist/response.d.ts.map +1 -0
  31. package/dist/response.js +4 -37
  32. package/dist/run-CNdaKSPR.js +331 -0
  33. package/dist/run-CNdaKSPR.js.map +1 -0
  34. package/dist/run.d.ts +11 -8
  35. package/dist/run.d.ts.map +1 -0
  36. package/dist/run.js +8 -18
  37. package/dist/seeOther-BmehiI4C.js +110 -0
  38. package/dist/seeOther-BmehiI4C.js.map +1 -0
  39. package/dist/server.d.ts +12 -11
  40. package/dist/server.d.ts.map +1 -0
  41. package/dist/server.js +5 -18
  42. package/dist/state.d.ts +14 -10
  43. package/dist/state.d.ts.map +1 -0
  44. package/dist/state.js +3 -7
  45. package/dist/test.d.ts +12 -11
  46. package/dist/test.d.ts.map +1 -0
  47. package/dist/test.js +152 -225
  48. package/dist/test.js.map +1 -1
  49. package/package.json +25 -29
  50. package/src/bin/index.ts +9 -11
  51. package/src/index.ts +3 -0
  52. package/src/nav/load.ts +9 -0
  53. package/src/nav/loadData.ts +121 -0
  54. package/src/nav/navigate.ts +154 -0
  55. package/src/nav/reload.ts +9 -0
  56. package/src/nav.ts +4 -0
  57. package/src/response/badRequest.ts +9 -4
  58. package/src/response/created.ts +10 -3
  59. package/src/response/forbidden.ts +11 -4
  60. package/src/response/found.ts +30 -0
  61. package/src/response/methodNotAllowed.ts +8 -4
  62. package/src/response/movedPermanently.ts +25 -0
  63. package/src/response/notFound.ts +14 -7
  64. package/src/response/notModified.ts +24 -4
  65. package/src/response/ok.ts +19 -10
  66. package/src/response/permanentRedirect.ts +30 -0
  67. package/src/response/seeOther.ts +9 -3
  68. package/src/response/serverError.ts +14 -2
  69. package/src/response/temporaryRedirect.ts +31 -0
  70. package/src/response/unauthorized.ts +11 -4
  71. package/src/response/unprocessable.ts +8 -2
  72. package/src/response.ts +8 -4
  73. package/src/run/prepareTemplate.ts +32 -0
  74. package/src/{site → run}/run.ts +1 -1
  75. package/src/{site → run}/runBuild.ts +2 -2
  76. package/src/{site → run}/runDev.ts +2 -2
  77. package/src/{site → run}/runPreview.ts +12 -2
  78. package/src/run.ts +4 -4
  79. package/src/server/Routerx.ts +3 -3
  80. package/src/server/Server.ts +3 -3
  81. package/src/server/ServerEvent.ts +1 -1
  82. package/src/server/connect/bufferToArrayBuffer.ts +8 -0
  83. package/src/server/connect/connectMiddleware.ts +4 -2
  84. package/src/server/connect/nodeMessageToNodeResponse.ts +2 -2
  85. package/src/server/types/ServerFunction.ts +3 -1
  86. package/src/site/Router.ts +3 -3
  87. package/src/site/clientEntry.ts +40 -273
  88. package/src/site/defaultAdapter.ts +1 -1
  89. package/src/site/serverEntry.ts +86 -50
  90. package/src/state/$page.ts +3 -12
  91. package/src/state/client.ts +6 -0
  92. package/src/state/internal.ts +45 -0
  93. package/src/test/runTest.ts +4 -4
  94. package/src/types/Adapter.ts +2 -4
  95. package/src/types/ClientState.ts +8 -0
  96. package/src/types/InternalState.ts +7 -0
  97. package/src/types/LayoutHandler.ts +2 -4
  98. package/src/types/LayoutPath.ts +10 -0
  99. package/src/types/ManifestRoute.ts +2 -4
  100. package/src/types/PageEndPoint.ts +5 -5
  101. package/src/types/PageLoadEvent.ts +2 -4
  102. package/src/types/PageServerAction.ts +1 -1
  103. package/src/types/PageServerEndPoint.ts +2 -4
  104. package/src/types/PageServerLoad.ts +1 -1
  105. package/src/types/PageState.ts +8 -0
  106. package/src/types/RouteHandler.ts +2 -4
  107. package/src/types/RouteLayoutHandler.ts +2 -4
  108. package/src/types/RouteMatchResult.ts +2 -4
  109. package/src/types/ServerHook.ts +3 -7
  110. package/src/types/ServerLoadEvent.ts +2 -4
  111. package/src/types/ServerRequest.ts +1 -1
  112. package/src/{site → utils}/pathToRegex.ts +1 -1
  113. package/{tsup.config.ts → tsdown.config.ts} +3 -4
  114. package/dist/Server-BC_dixZQ.d.cts +0 -71
  115. package/dist/Server-BC_dixZQ.d.ts +0 -71
  116. package/dist/Site-4tGiw2-I.d.ts +0 -63
  117. package/dist/Site-BXX-S541.d.cts +0 -63
  118. package/dist/bin/index.cjs +0 -755
  119. package/dist/bin/index.cjs.map +0 -1
  120. package/dist/bin/index.d.cts +0 -1
  121. package/dist/chunk-565UOT3F.js +0 -18
  122. package/dist/chunk-565UOT3F.js.map +0 -1
  123. package/dist/chunk-B2UNTYN5.js +0 -68
  124. package/dist/chunk-B2UNTYN5.js.map +0 -1
  125. package/dist/chunk-KKFND4HK.js +0 -85
  126. package/dist/chunk-KKFND4HK.js.map +0 -1
  127. package/dist/chunk-LO7P2LJE.js +0 -278
  128. package/dist/chunk-LO7P2LJE.js.map +0 -1
  129. package/dist/chunk-PTVHEJZ5.js +0 -152
  130. package/dist/chunk-PTVHEJZ5.js.map +0 -1
  131. package/dist/chunk-RHDSM5GS.js +0 -357
  132. package/dist/chunk-RHDSM5GS.js.map +0 -1
  133. package/dist/chunk-SJVHHGVW.js +0 -13
  134. package/dist/chunk-SJVHHGVW.js.map +0 -1
  135. package/dist/chunk-WVXAN4IV.js +0 -50
  136. package/dist/chunk-WVXAN4IV.js.map +0 -1
  137. package/dist/index.cjs +0 -322
  138. package/dist/index.cjs.map +0 -1
  139. package/dist/index.d.cts +0 -199
  140. package/dist/metafile-cjs.json +0 -1
  141. package/dist/metafile-esm.json +0 -1
  142. package/dist/response.cjs +0 -150
  143. package/dist/response.cjs.map +0 -1
  144. package/dist/response.d.cts +0 -166
  145. package/dist/response.js.map +0 -1
  146. package/dist/run.cjs +0 -764
  147. package/dist/run.cjs.map +0 -1
  148. package/dist/run.d.cts +0 -14
  149. package/dist/run.js.map +0 -1
  150. package/dist/server.cjs +0 -390
  151. package/dist/server.cjs.map +0 -1
  152. package/dist/server.d.cts +0 -17
  153. package/dist/server.js.map +0 -1
  154. package/dist/state.cjs +0 -44
  155. package/dist/state.cjs.map +0 -1
  156. package/dist/state.d.cts +0 -11
  157. package/dist/state.js.map +0 -1
  158. package/dist/test.cjs +0 -538
  159. package/dist/test.cjs.map +0 -1
  160. package/dist/test.d.cts +0 -15
  161. package/src/response/moved.ts +0 -16
  162. package/src/response/redirect.ts +0 -17
  163. package/src/site/prepareTemplate.ts +0 -20
  164. package/src/state/Page.ts +0 -8
@@ -9,7 +9,7 @@ import Site from "../site/Site";
9
9
  import $page from "../state/$page.ts";
10
10
  import type PageEndPoint from "../types/PageEndPoint.ts";
11
11
  import type PageServerEndPoint from "../types/PageServerEndPoint.ts";
12
- import RouteHandler from "../types/RouteHandler.ts";
12
+ import type RouteHandler from "../types/RouteHandler.ts";
13
13
  import {
14
14
  HOOK_ROUTE,
15
15
  HOOK_SERVER_ROUTE,
@@ -51,7 +51,7 @@ export default async function runTest(
51
51
  })),
52
52
  );
53
53
 
54
- return await load(router, ev, "%COMPONENT_HTML%");
54
+ return await load(router, ev, "%COMPONENT_BODY%");
55
55
  }
56
56
 
57
57
  // HACK: This is a copy of serverEntry
@@ -231,8 +231,8 @@ async function loadView(
231
231
 
232
232
  let html;
233
233
  try {
234
- html = component($props, undefined, slots);
235
- html = template.replace("%COMPONENT_HTML%", html);
234
+ let { body, head } = component($props, undefined, slots);
235
+ html = template.replace("%COMPONENT_BODY%", body).replace("%COMPONENT_HEAD", head);
236
236
  } catch (error) {
237
237
  // TODO: Show a proper Error component
238
238
  html = '<span style="color: red">Script syntax error</span><p>' + error + "</p>";
@@ -1,10 +1,8 @@
1
1
  import Server from "../server/Server";
2
2
  import Site from "../site/Site";
3
3
 
4
- type Adapter = {
4
+ export default interface Adapter {
5
5
  prebuild?: (site: Site) => Promise<void> | void;
6
6
  postbuild?: (site: Site) => Promise<void> | void;
7
7
  serve: (server: Server, site: Site) => void;
8
- };
9
-
10
- export default Adapter;
8
+ }
@@ -0,0 +1,8 @@
1
+ import Router from "../site/Router";
2
+ import type LayoutPath from "./LayoutPath";
3
+
4
+ export default interface ClientState {
5
+ router: Router;
6
+ layoutStack: LayoutPath[];
7
+ prefetchedData: Record<string, any>;
8
+ }
@@ -0,0 +1,7 @@
1
+ import type ClientState from "./ClientState";
2
+ import type PageState from "./PageState";
3
+
4
+ export default interface InternalState {
5
+ $page: PageState;
6
+ client: ClientState;
7
+ }
@@ -1,7 +1,5 @@
1
- type LayoutHandler = {
1
+ export default interface LayoutHandler {
2
2
  path: string;
3
3
  endPoint: () => Promise<any>;
4
4
  serverEndPoint?: () => Promise<any>;
5
- };
6
-
7
- export default LayoutHandler;
5
+ }
@@ -0,0 +1,10 @@
1
+ // Store the current layout stack, so that we can re-use parts of it as necessary
2
+ export default interface LayoutPath {
3
+ path: string;
4
+ /** Whether to re-use this layout */
5
+ reuse: boolean;
6
+ /** Data loaded from endpoints that should be re-used */
7
+ data: any;
8
+ /** The range of the UI in this layout's slot */
9
+ slotRange: any;
10
+ }
@@ -1,7 +1,5 @@
1
- type ManifestRoute = {
1
+ export default interface ManifestRoute {
2
2
  path: string;
3
3
  type: number;
4
4
  endPoint: () => Promise<any>;
5
- };
6
-
7
- export default ManifestRoute;
5
+ }
@@ -4,7 +4,7 @@ import type PageLoadEvent from "./PageLoadEvent";
4
4
  /**
5
5
  * For +page.
6
6
  */
7
- type PageEndPoint = {
7
+ export default interface PageEndPoint {
8
8
  /**
9
9
  * Builds the route path for the page in a type-safe manner.
10
10
  * TODO: Not sure this is actually the best way to do it...
@@ -13,7 +13,9 @@ type PageEndPoint = {
13
13
  /**
14
14
  * Loads data for the page.
15
15
  */
16
- load?: (event: PageLoadEvent) => Response | Promise<Response | undefined> | Promise<void> | void;
16
+ load?: (
17
+ event: PageLoadEvent,
18
+ ) => Response | undefined | void | Promise<Response | undefined | void>;
17
19
  /**
18
20
  * The component that is displayed for the page.
19
21
  */
@@ -23,9 +25,7 @@ type PageEndPoint = {
23
25
  * The head element data for the page, which may include a <title> and <meta> elements.
24
26
  */
25
27
  head?: HeadElement[] | ((event: PageLoadEvent) => HeadElement[]);
26
- };
27
-
28
- export default PageEndPoint;
28
+ }
29
29
 
30
30
  type HeadElement = TitleElement | MetaElement;
31
31
 
@@ -1,4 +1,4 @@
1
- type PageLoadEvent = {
1
+ export default interface PageLoadEvent {
2
2
  /**
3
3
  * The URL for the server function.
4
4
  */
@@ -11,6 +11,4 @@ type PageLoadEvent = {
11
11
  * Data that is (optionally) loaded from the load function and passed into the page as $props.data.
12
12
  */
13
13
  data: Record<string, any>;
14
- };
15
-
16
- export default PageLoadEvent;
14
+ }
@@ -2,6 +2,6 @@ import type ServerLoadEvent from "./ServerLoadEvent";
2
2
 
3
3
  type PageServerAction = (
4
4
  event: ServerLoadEvent,
5
- ) => Response | Promise<Response | undefined> | Promise<void> | void;
5
+ ) => Response | undefined | void | Promise<Response | undefined | void>;
6
6
 
7
7
  export default PageServerAction;
@@ -4,7 +4,7 @@ import type PageServerLoad from "./PageServerLoad";
4
4
  /**
5
5
  * For +page.server.
6
6
  */
7
- type PageServerEndPoint = {
7
+ export default interface PageServerEndPoint {
8
8
  /**
9
9
  * Loads data from the server for a page.
10
10
  */
@@ -13,6 +13,4 @@ type PageServerEndPoint = {
13
13
  * A map of actions that can be performed on the server for a page, generally from a form submit.
14
14
  */
15
15
  actions?: Record<string, PageServerAction>;
16
- };
17
-
18
- export default PageServerEndPoint;
16
+ }
@@ -2,6 +2,6 @@ import type ServerLoadEvent from "./ServerLoadEvent";
2
2
 
3
3
  type PageServerLoad = (
4
4
  event: ServerLoadEvent,
5
- ) => Response | Promise<Response | undefined> | Promise<void> | void;
5
+ ) => Response | undefined | void | Promise<Response | undefined | void>;
6
6
 
7
7
  export default PageServerLoad;
@@ -0,0 +1,8 @@
1
+ export default interface PageState {
2
+ status: number;
3
+ url: URL;
4
+ form?: Record<string, string>;
5
+ error?: {
6
+ message: string;
7
+ };
8
+ }
@@ -1,6 +1,6 @@
1
1
  import type RouteLayoutHandler from "./RouteLayoutHandler";
2
2
 
3
- type RouteHandler = {
3
+ export default interface RouteHandler {
4
4
  path: string;
5
5
  type: number;
6
6
  endPoint: () => Promise<any>;
@@ -9,6 +9,4 @@ type RouteHandler = {
9
9
  layouts?: RouteLayoutHandler[];
10
10
  serverEndPoint?: () => Promise<any>;
11
11
  serverHook?: () => Promise<any>;
12
- };
13
-
14
- export default RouteHandler;
12
+ }
@@ -1,7 +1,5 @@
1
- type RouteLayoutHandler = {
1
+ export default interface RouteLayoutHandler {
2
2
  path: string;
3
3
  endPoint: () => Promise<any>;
4
4
  serverEndPoint?: () => Promise<any>;
5
- };
6
-
7
- export default RouteLayoutHandler;
5
+ }
@@ -1,9 +1,7 @@
1
1
  import type RouteHandler from "./RouteHandler";
2
2
 
3
- type RouteMatchResult = {
3
+ export default interface RouteMatchResult {
4
4
  handler: RouteHandler;
5
5
  params?: Record<string, string>;
6
6
  query?: Record<string, string>;
7
- };
8
-
9
- export default RouteMatchResult;
7
+ }
@@ -3,13 +3,9 @@ import type ServerLoadEvent from "./ServerLoadEvent";
3
3
  /**
4
4
  * For _hook.server.
5
5
  */
6
- type ServerHook = {
6
+ export default interface ServerHook {
7
7
  /**
8
8
  * Called on each server request.
9
9
  */
10
- handle?: ServerLoad;
11
- };
12
-
13
- export default ServerHook;
14
-
15
- type ServerLoad = (event: ServerLoadEvent) => Promise<void> | void;
10
+ handle?: (event: ServerLoadEvent) => Promise<void> | void;
11
+ }
@@ -1,7 +1,7 @@
1
1
  import CookieHelper from "../server/CookieHelper";
2
2
  import HeaderHelper from "../server/HeaderHelper";
3
3
 
4
- type ServerLoadEvent = {
4
+ export default interface ServerLoadEvent {
5
5
  /**
6
6
  * The URL for the server function.
7
7
  */
@@ -34,6 +34,4 @@ type ServerLoadEvent = {
34
34
  * An optional adapter object, containing adapter-specific functionality.
35
35
  */
36
36
  adapter: Record<PropertyKey, any>;
37
- };
38
-
39
- export default ServerLoadEvent;
37
+ }
@@ -2,6 +2,6 @@ import type ServerLoadEvent from "./ServerLoadEvent";
2
2
 
3
3
  type ServerRequest = (
4
4
  event: ServerLoadEvent,
5
- ) => Response | Promise<Response | undefined> | Promise<void> | void;
5
+ ) => Response | undefined | void | Promise<Response | undefined | void>;
6
6
 
7
7
  export default ServerRequest;
@@ -4,7 +4,7 @@ export default function pathToRegex(path: string): RegExp {
4
4
  .split("/")
5
5
  // Replace `[slug]` with a grouped match so we can pull out params
6
6
  .map((p) => {
7
- return p.replace(/\[([^\/]+?)\]/, "(?<$1>[^\\/]+?)");
7
+ return p.replace(/\[([^/]+?)\]/, "(?<$1>[^\\/]+?)");
8
8
  })
9
9
  .join("\\/")
10
10
  // Replace globs with regex syntax
@@ -1,4 +1,4 @@
1
- import { type Options, defineConfig } from "tsup";
1
+ import { type Options, defineConfig } from "tsdown";
2
2
 
3
3
  type Config =
4
4
  | Options
@@ -8,6 +8,7 @@ type Config =
8
8
  export default defineConfig({
9
9
  entry: [
10
10
  "src/index.ts",
11
+ "src/nav.ts",
11
12
  "src/response.ts",
12
13
  "src/run.ts",
13
14
  "src/server.ts",
@@ -15,10 +16,8 @@ export default defineConfig({
15
16
  "src/test.ts",
16
17
  "src/bin/index.ts",
17
18
  ],
18
- format: ["esm", "cjs"],
19
+ format: "esm",
19
20
  dts: true,
20
- clean: true,
21
- metafile: true,
22
21
  sourcemap: true,
23
22
  // Put this in here to stop issues with bundling Vite from bin/index.ts
24
23
  // I'm not sure if this will cause further issues down the line?
@@ -1,71 +0,0 @@
1
- import { SerializeOptions } from 'cookie';
2
-
3
- declare class CookieHelper {
4
- request: Request;
5
- cookies: Map<string, string>;
6
- constructor(request: Request);
7
- get(name: string): string | undefined;
8
- set(name: string, value: string, options?: SerializeOptions): void;
9
- delete(name: string, options?: SerializeOptions): void;
10
- }
11
-
12
- declare class HeaderHelper {
13
- request: Request;
14
- headers: Map<string, string>;
15
- constructor(request: Request);
16
- get(name: string): string | undefined;
17
- set(name: string, value: string): void;
18
- delete(name: string): void;
19
- }
20
-
21
- declare class ServerEvent {
22
- request: Request;
23
- response?: Response;
24
- params?: Record<string, string>;
25
- adapter: any;
26
- cookies: CookieHelper;
27
- headers: HeaderHelper;
28
- constructor(request: Request, params?: Record<string, string>);
29
- addHeaders(): void;
30
- }
31
-
32
- type MiddlewareFunction = (ev: ServerEvent, next: () => void | Promise<void>) => void | Promise<void>;
33
-
34
- type ServerFunction = (e: ServerEvent) => Response | Promise<Response | undefined> | undefined;
35
-
36
- /**
37
- * A Fetch API Request/Response server.
38
- */
39
- declare class Server {
40
- #private;
41
- routes: RouteHandler[];
42
- middleware: MiddlewareFunction[];
43
- constructor();
44
- /**
45
- * The standard Fetch API method that should work in any runtime (including
46
- * Node with polyfills).
47
- * @returns
48
- */
49
- fetch: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
50
- /**
51
- * Adds a server function at a route path.
52
- * @param path The route path pattern.
53
- * @param fn The function to call when the pattern is matched.
54
- * @returns
55
- */
56
- add(path: string, fn: ServerFunction): Server;
57
- match(path: string): Match | undefined;
58
- use(...fn: MiddlewareFunction[]): Server;
59
- }
60
- declare class RouteHandler {
61
- path: string;
62
- regex: RegExp;
63
- fn: ServerFunction;
64
- constructor(path: string, fn: ServerFunction);
65
- }
66
- type Match = {
67
- fn: ServerFunction;
68
- params?: Record<string, string>;
69
- };
70
-
71
- export { CookieHelper as C, HeaderHelper as H, type MiddlewareFunction as M, Server as S, ServerEvent as a };
@@ -1,71 +0,0 @@
1
- import { SerializeOptions } from 'cookie';
2
-
3
- declare class CookieHelper {
4
- request: Request;
5
- cookies: Map<string, string>;
6
- constructor(request: Request);
7
- get(name: string): string | undefined;
8
- set(name: string, value: string, options?: SerializeOptions): void;
9
- delete(name: string, options?: SerializeOptions): void;
10
- }
11
-
12
- declare class HeaderHelper {
13
- request: Request;
14
- headers: Map<string, string>;
15
- constructor(request: Request);
16
- get(name: string): string | undefined;
17
- set(name: string, value: string): void;
18
- delete(name: string): void;
19
- }
20
-
21
- declare class ServerEvent {
22
- request: Request;
23
- response?: Response;
24
- params?: Record<string, string>;
25
- adapter: any;
26
- cookies: CookieHelper;
27
- headers: HeaderHelper;
28
- constructor(request: Request, params?: Record<string, string>);
29
- addHeaders(): void;
30
- }
31
-
32
- type MiddlewareFunction = (ev: ServerEvent, next: () => void | Promise<void>) => void | Promise<void>;
33
-
34
- type ServerFunction = (e: ServerEvent) => Response | Promise<Response | undefined> | undefined;
35
-
36
- /**
37
- * A Fetch API Request/Response server.
38
- */
39
- declare class Server {
40
- #private;
41
- routes: RouteHandler[];
42
- middleware: MiddlewareFunction[];
43
- constructor();
44
- /**
45
- * The standard Fetch API method that should work in any runtime (including
46
- * Node with polyfills).
47
- * @returns
48
- */
49
- fetch: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
50
- /**
51
- * Adds a server function at a route path.
52
- * @param path The route path pattern.
53
- * @param fn The function to call when the pattern is matched.
54
- * @returns
55
- */
56
- add(path: string, fn: ServerFunction): Server;
57
- match(path: string): Match | undefined;
58
- use(...fn: MiddlewareFunction[]): Server;
59
- }
60
- declare class RouteHandler {
61
- path: string;
62
- regex: RegExp;
63
- fn: ServerFunction;
64
- constructor(path: string, fn: ServerFunction);
65
- }
66
- type Match = {
67
- fn: ServerFunction;
68
- params?: Record<string, string>;
69
- };
70
-
71
- export { CookieHelper as C, HeaderHelper as H, type MiddlewareFunction as M, Server as S, ServerEvent as a };
@@ -1,63 +0,0 @@
1
- import { Plugin, UserConfig } from 'vite';
2
- import { S as Server } from './Server-BC_dixZQ.js';
3
-
4
- type Adapter = {
5
- prebuild?: (site: Site) => Promise<void> | void;
6
- postbuild?: (site: Site) => Promise<void> | void;
7
- serve: (server: Server, site: Site) => void;
8
- };
9
-
10
- declare const PAGE_ROUTE = 0;
11
- declare const PAGE_SERVER_ROUTE = 1;
12
- declare const SERVER_ROUTE = 3;
13
- declare const LAYOUT_ROUTE = 4;
14
- declare const LAYOUT_SERVER_ROUTE = 5;
15
- declare const HOOK_ROUTE = 6;
16
- declare const HOOK_SERVER_ROUTE = 7;
17
- declare const ERROR_ROUTE = 8;
18
- type RouteType = typeof PAGE_ROUTE | typeof PAGE_SERVER_ROUTE | typeof SERVER_ROUTE | typeof LAYOUT_ROUTE | typeof LAYOUT_SERVER_ROUTE | typeof HOOK_ROUTE | typeof HOOK_SERVER_ROUTE | typeof ERROR_ROUTE | -1;
19
-
20
- /**
21
- * The Site class contains the information necessary to setup a @torpor/build
22
- * site, including routes, plugins, and options.
23
- */
24
- declare class Site {
25
- #private;
26
- root: string;
27
- routes: {
28
- path: string;
29
- file: string;
30
- type: RouteType;
31
- }[];
32
- plugins: Plugin[];
33
- adapter: Adapter;
34
- /**
35
- * Extra inputs, as absolute file paths, that will be compiled with the
36
- * output. What you do with them after that is up to you. File paths ending
37
- * with server.ts/js will only be compiled with the server output
38
- */
39
- inputs: string[];
40
- /**
41
- * Vite config options to merge with the standard Torpor build options.
42
- * `plugins` and `build.rollupOptions.input` will be overridden, so you
43
- * should set `Site.plugins` and `Site.inputs` instead. Other options may be
44
- * overridden or incompatible, so experimentation may be required
45
- */
46
- viteConfig?: UserConfig;
47
- constructor();
48
- /**
49
- * Adds a folder of routes, based on the names of the files in the folder
50
- * @param folder The folder containing the routes
51
- */
52
- addRouteFolder(folder: string): Promise<void>;
53
- /**
54
- * Adds a file route, which can have a standard name (e.g. +page.ts) or any
55
- * name if you pass the type
56
- * @param path The route path
57
- * @param file The file
58
- * @param type The file type (if the file name is non-standard)
59
- */
60
- addRouteFile(path: string, file: string, type?: "+page" | "+page.server" | "+server" | "_layout" | "_layout.server" | "_hook" | "_hook.server" | "_error"): void;
61
- }
62
-
63
- export { type Adapter as A, Site as S };
@@ -1,63 +0,0 @@
1
- import { Plugin, UserConfig } from 'vite';
2
- import { S as Server } from './Server-BC_dixZQ.cjs';
3
-
4
- type Adapter = {
5
- prebuild?: (site: Site) => Promise<void> | void;
6
- postbuild?: (site: Site) => Promise<void> | void;
7
- serve: (server: Server, site: Site) => void;
8
- };
9
-
10
- declare const PAGE_ROUTE = 0;
11
- declare const PAGE_SERVER_ROUTE = 1;
12
- declare const SERVER_ROUTE = 3;
13
- declare const LAYOUT_ROUTE = 4;
14
- declare const LAYOUT_SERVER_ROUTE = 5;
15
- declare const HOOK_ROUTE = 6;
16
- declare const HOOK_SERVER_ROUTE = 7;
17
- declare const ERROR_ROUTE = 8;
18
- type RouteType = typeof PAGE_ROUTE | typeof PAGE_SERVER_ROUTE | typeof SERVER_ROUTE | typeof LAYOUT_ROUTE | typeof LAYOUT_SERVER_ROUTE | typeof HOOK_ROUTE | typeof HOOK_SERVER_ROUTE | typeof ERROR_ROUTE | -1;
19
-
20
- /**
21
- * The Site class contains the information necessary to setup a @torpor/build
22
- * site, including routes, plugins, and options.
23
- */
24
- declare class Site {
25
- #private;
26
- root: string;
27
- routes: {
28
- path: string;
29
- file: string;
30
- type: RouteType;
31
- }[];
32
- plugins: Plugin[];
33
- adapter: Adapter;
34
- /**
35
- * Extra inputs, as absolute file paths, that will be compiled with the
36
- * output. What you do with them after that is up to you. File paths ending
37
- * with server.ts/js will only be compiled with the server output
38
- */
39
- inputs: string[];
40
- /**
41
- * Vite config options to merge with the standard Torpor build options.
42
- * `plugins` and `build.rollupOptions.input` will be overridden, so you
43
- * should set `Site.plugins` and `Site.inputs` instead. Other options may be
44
- * overridden or incompatible, so experimentation may be required
45
- */
46
- viteConfig?: UserConfig;
47
- constructor();
48
- /**
49
- * Adds a folder of routes, based on the names of the files in the folder
50
- * @param folder The folder containing the routes
51
- */
52
- addRouteFolder(folder: string): Promise<void>;
53
- /**
54
- * Adds a file route, which can have a standard name (e.g. +page.ts) or any
55
- * name if you pass the type
56
- * @param path The route path
57
- * @param file The file
58
- * @param type The file type (if the file name is non-standard)
59
- */
60
- addRouteFile(path: string, file: string, type?: "+page" | "+page.server" | "+server" | "_layout" | "_layout.server" | "_hook" | "_hook.server" | "_error"): void;
61
- }
62
-
63
- export { type Adapter as A, Site as S };