@tyndall/core 0.0.1 → 0.0.3

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/config.d.ts CHANGED
@@ -5,8 +5,8 @@ export type JsxRuntime = "classic" | "automatic";
5
5
  export type Engine = "bun" | "node";
6
6
  export type Bundler = "bun" | "esbuild" | "swc";
7
7
  export type TranspileStrategy = "typescript-native" | "tsc";
8
- export type LintTool = "biome" | "eslint";
9
- export type FormatTool = "biome" | "eslint" | "prettier";
8
+ export type LintTool = "oxc" | "biome" | "eslint";
9
+ export type FormatTool = "oxc" | "biome" | "eslint" | "prettier";
10
10
  export type RuntimeAdapter = "node" | "express" | "fastify";
11
11
  export type LegacyPolyfills = "auto" | string[];
12
12
  export type LegacyChunking = "auto" | "safe";
@@ -59,6 +59,7 @@ export interface HyperConfig {
59
59
  navigation?: NavigationMode;
60
60
  clientRender?: ClientRenderMode;
61
61
  ssrClientRouting?: boolean;
62
+ scrollRestoration?: boolean;
62
63
  };
63
64
  cache?: {
64
65
  enabled?: boolean;
@@ -146,6 +147,7 @@ export interface ResolvedConfig {
146
147
  navigation: NavigationMode;
147
148
  clientRender: ClientRenderMode;
148
149
  ssrClientRouting: boolean;
150
+ scrollRestoration: boolean;
149
151
  };
150
152
  cache: {
151
153
  enabled: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -22,8 +22,8 @@ const defaultConfig = {
22
22
  build: {
23
23
  version: "",
24
24
  },
25
- lint: { tool: "biome" },
26
- format: { tool: "biome" },
25
+ lint: { tool: "oxc" },
26
+ format: { tool: "oxc" },
27
27
  plugins: [],
28
28
  ssrAdapters: ["node"],
29
29
  revalidateDefault: false,
@@ -45,6 +45,7 @@ const defaultConfig = {
45
45
  navigation: "url",
46
46
  clientRender: "payload",
47
47
  ssrClientRouting: false,
48
+ scrollRestoration: true,
48
49
  },
49
50
  cache: {
50
51
  enabled: true,
@@ -261,7 +262,7 @@ const resolveConfig = (rawConfig) => {
261
262
  }
262
263
  const lint = rawConfig.lint;
263
264
  if ("tool" in lint) {
264
- resolved.lint.tool = ensureEnum(lint.tool, ["biome", "eslint"], "lint.tool");
265
+ resolved.lint.tool = ensureEnum(lint.tool, ["oxc", "biome", "eslint"], "lint.tool");
265
266
  }
266
267
  resolved.lint = { ...resolved.lint, ...lint };
267
268
  }
@@ -271,7 +272,7 @@ const resolveConfig = (rawConfig) => {
271
272
  }
272
273
  const format = rawConfig.format;
273
274
  if ("tool" in format) {
274
- resolved.format.tool = ensureEnum(format.tool, ["biome", "eslint", "prettier"], "format.tool");
275
+ resolved.format.tool = ensureEnum(format.tool, ["oxc", "biome", "eslint", "prettier"], "format.tool");
275
276
  }
276
277
  resolved.format = { ...resolved.format, ...format };
277
278
  }
@@ -348,6 +349,7 @@ const resolveConfig = (rawConfig) => {
348
349
  "navigation",
349
350
  "clientRender",
350
351
  "ssrClientRouting",
352
+ "scrollRestoration",
351
353
  ]), "routing.");
352
354
  if ("nestedLayouts" in routing) {
353
355
  resolved.routing.nestedLayouts = ensureBoolean(routing.nestedLayouts, "routing.nestedLayouts");
@@ -367,6 +369,9 @@ const resolveConfig = (rawConfig) => {
367
369
  if ("ssrClientRouting" in routing) {
368
370
  resolved.routing.ssrClientRouting = ensureBoolean(routing.ssrClientRouting, "routing.ssrClientRouting");
369
371
  }
372
+ if ("scrollRestoration" in routing) {
373
+ resolved.routing.scrollRestoration = ensureBoolean(routing.scrollRestoration, "routing.scrollRestoration");
374
+ }
370
375
  }
371
376
  if ("cache" in rawConfig) {
372
377
  if (!isRecord(rawConfig.cache)) {
package/dist/index.d.ts CHANGED
@@ -4,7 +4,9 @@ export { resolveUIAdapter } from "./ui-adapter.js";
4
4
  export type { HmrIntegration, HmrOverlayHandler, HmrRefreshBoundary, UIAdapter, EntrySpec, UIAdapterEntryContext, UIAdapterFactory, UIAdapterRegistry, UIAdapterRenderContext, UIAdapterRenderResult, UIAdapterRenderStreamResult, UIAdapterStream, UIAdapterStreamTarget, } from "./ui-adapter.js";
5
5
  export { resolveHmrIntegration } from "./ui-adapter.js";
6
6
  export { manifestSchema, validateManifest } from "./manifest.js";
7
- export type { Manifest, RouteEntry, RouteType, ChunkInfo } from "./manifest.js";
7
+ export type { Manifest, RouteEntry, RouteType, ChunkInfo, SpecialEntry, SpecialEntries, } from "./manifest.js";
8
+ export { SPECIAL_ROUTE_IDS, resolveSpecialRouteKey } from "./special-routes.js";
9
+ export type { SpecialRouteFiles, SpecialRouteKey } from "./special-routes.js";
8
10
  export { HyperError, formatHyperError, isHyperError } from "./errors.js";
9
11
  export type { HyperErrorCode, HyperErrorDetails } from "./errors.js";
10
12
  export { mergeHeadDescriptors } from "./head.js";
@@ -20,14 +22,17 @@ export type { ProgramSandboxPolicy, ProgramSandboxPolicyInput } from "./program-
20
22
  export { serializeProps } from "./props.js";
21
23
  export { CLIENT_ROUTER_BOOTSTRAP_PATH, renderClientRouterBootstrap, } from "./client-router-bootstrap.js";
22
24
  export type { ClientRouterBootstrapOptions, LinkInterceptionMode, } from "./client-router-bootstrap.js";
23
- export { resolvePageModule, validateStaticPropsResult, validateStaticPathsResult, validateServerPropsResult, runGetStaticProps, runGetStaticPaths, runGetServerProps, } from "./page-api.js";
24
- export type { RouteParams, PageContextBase, StaticPropsContext, StaticPropsResult, StaticPathEntry, StaticPathsResult, ServerPropsContext, ServerPropsResult, HeadDescriptor, PageComponent, GetStaticProps, GetStaticPaths, GetServerProps, Head, PageModule, } from "./page-api.js";
25
+ export { resolvePageModule, validateStaticPropsResult, validateStaticPathsResult, validateServerPropsResult, validateRouteDataResult, runGetStaticProps, runGetStaticPaths, runGetServerProps, runGetRouteData, runInitServer, } from "./page-api.js";
26
+ export type { RouteParams, PageContextBase, StaticPropsContext, StaticPropsResult, StaticPathEntry, StaticPathsResult, ServerPropsContext, ServerPropsResult, RedirectDescriptor, ErrorDescriptor, RouteDataContext, RouteDataResult, HeadDescriptor, PageComponent, GetStaticProps, GetStaticPaths, GetServerProps, GetRouteData, InitServerHook, Head, PageModule, } from "./page-api.js";
25
27
  export { matchRoute } from "./router.js";
26
28
  export type { RouteGraph, RouteRecord, RouteSegment, MatchResult, RoutePolicy } from "./router.js";
27
- export { collectRouteLayouts, composeLayouts } from "./layouts.js";
29
+ export { collectRouteLayouts, composeLayouts, resolveLayoutRouteId } from "./layouts.js";
28
30
  export type { LayoutNode, LayoutResolution } from "./layouts.js";
29
31
  export { createRouteGraph } from "./route-graph.js";
30
32
  export type { RouteGraphOptions } from "./route-graph.js";
33
+ export { parseRouteSegment, segmentsToRouteId } from "./route-utils.js";
34
+ export { ROUTE_DATA_SCRIPT_ID, ROUTE_DATA_INIT_KEY, ROUTE_DATA_ERROR_KEY, routeDataKeyForLayout, routeDataKeyForPage, } from "./route-data.js";
35
+ export type { RouteDataMap } from "./route-data.js";
31
36
  export { runConfigResolvedHooks, runRoutesResolvedHooks, runBeforeBundleHooks, runAfterBundleHooks, runBeforeRenderHooks, runAfterRenderHooks, collectDevMiddlewares, collectRuntimeMiddlewares, } from "./plugin.js";
32
37
  export type { BundleContext, BundleResult, RenderContext, PluginHooks, HyperPlugin, Middleware, MiddlewareNext, } from "./plugin.js";
33
38
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,YAAY,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACV,WAAW,EACX,UAAU,EACV,MAAM,EACN,OAAO,EACP,iBAAiB,EACjB,QAAQ,EACR,UAAU,EACV,cAAc,EACd,eAAe,EACf,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,MAAM,GACP,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,EAC3B,eAAe,EACf,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjE,YAAY,EACV,QAAQ,EACR,UAAU,EACV,SAAS,EACT,SAAS,EACT,YAAY,EACZ,cAAc,GACf,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAChF,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE9E,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACzE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErE,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EACL,wBAAwB,EACxB,8BAA8B,EAC9B,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpE,YAAY,EACV,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,8BAA8B,EAC9B,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACvF,YAAY,EACV,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,QAAQ,EACR,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,8BAA8B,EAC9B,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAE5F,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EACL,4BAA4B,EAC5B,2BAA2B,GAC5B,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,4BAA4B,EAC5B,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,aAAa,EACb,cAAc,EACd,cAAc,EACd,cAAc,EACd,YAAY,EACZ,cAAc,EACd,IAAI,EACJ,UAAU,GACX,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEnG,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzF,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAExE,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,aAAa,EACb,YAAY,EACZ,aAAa,EACb,WAAW,EACX,WAAW,EACX,UAAU,EACV,cAAc,GACf,MAAM,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -2,6 +2,7 @@ export { loadConfig } from "./config.js";
2
2
  export { resolveUIAdapter } from "./ui-adapter.js";
3
3
  export { resolveHmrIntegration } from "./ui-adapter.js";
4
4
  export { manifestSchema, validateManifest } from "./manifest.js";
5
+ export { SPECIAL_ROUTE_IDS, resolveSpecialRouteKey } from "./special-routes.js";
5
6
  export { HyperError, formatHyperError, isHyperError } from "./errors.js";
6
7
  export { mergeHeadDescriptors } from "./head.js";
7
8
  export { evaluateRenderPolicy } from "./render-policy.js";
@@ -11,8 +12,10 @@ export { dynamicManifestSchema, validateDynamicManifest } from "./dynamic-manife
11
12
  export { DEFAULT_PROGRAM_SANDBOX_POLICY, buildProgramSandboxContext, resolveProgramSandboxPolicy, validateProgramIntegrity, } from "./program-sandbox.js";
12
13
  export { serializeProps } from "./props.js";
13
14
  export { CLIENT_ROUTER_BOOTSTRAP_PATH, renderClientRouterBootstrap, } from "./client-router-bootstrap.js";
14
- export { resolvePageModule, validateStaticPropsResult, validateStaticPathsResult, validateServerPropsResult, runGetStaticProps, runGetStaticPaths, runGetServerProps, } from "./page-api.js";
15
+ export { resolvePageModule, validateStaticPropsResult, validateStaticPathsResult, validateServerPropsResult, validateRouteDataResult, runGetStaticProps, runGetStaticPaths, runGetServerProps, runGetRouteData, runInitServer, } from "./page-api.js";
15
16
  export { matchRoute } from "./router.js";
16
- export { collectRouteLayouts, composeLayouts } from "./layouts.js";
17
+ export { collectRouteLayouts, composeLayouts, resolveLayoutRouteId } from "./layouts.js";
17
18
  export { createRouteGraph } from "./route-graph.js";
19
+ export { parseRouteSegment, segmentsToRouteId } from "./route-utils.js";
20
+ export { ROUTE_DATA_SCRIPT_ID, ROUTE_DATA_INIT_KEY, ROUTE_DATA_ERROR_KEY, routeDataKeyForLayout, routeDataKeyForPage, } from "./route-data.js";
18
21
  export { runConfigResolvedHooks, runRoutesResolvedHooks, runBeforeBundleHooks, runAfterBundleHooks, runBeforeRenderHooks, runAfterRenderHooks, collectDevMiddlewares, collectRuntimeMiddlewares, } from "./plugin.js";
package/dist/layouts.d.ts CHANGED
@@ -11,4 +11,5 @@ export interface LayoutResolution {
11
11
  }
12
12
  export declare const collectRouteLayouts: (routeFilePath: string, routesDir: string, extensions?: string[]) => LayoutResolution;
13
13
  export declare const composeLayouts: (layoutFiles: string[], pageFilePath: string) => LayoutNode;
14
+ export declare const resolveLayoutRouteId: (layoutFilePath: string, routesDir: string) => string;
14
15
  //# sourceMappingURL=layouts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"layouts.d.ts","sourceRoot":"","sources":["../src/layouts.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAmBD,eAAO,MAAM,mBAAmB,GAC9B,eAAe,MAAM,EACrB,WAAW,MAAM,EACjB,aAAY,MAAM,EAAsB,KACvC,gBA4BF,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,aAAa,MAAM,EAAE,EAAE,cAAc,MAAM,KAAG,UAS5E,CAAC"}
1
+ {"version":3,"file":"layouts.d.ts","sourceRoot":"","sources":["../src/layouts.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAmBD,eAAO,MAAM,mBAAmB,GAC9B,eAAe,MAAM,EACrB,WAAW,MAAM,EACjB,aAAY,MAAM,EAAsB,KACvC,gBA4BF,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,aAAa,MAAM,EAAE,EAAE,cAAc,MAAM,KAAG,UAS5E,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,gBAAgB,MAAM,EAAE,WAAW,MAAM,KAAG,MAchF,CAAC"}
package/dist/layouts.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { statSync } from "node:fs";
2
2
  import { join, relative, sep } from "node:path";
3
3
  import { HyperError } from "./errors.js";
4
+ import { parseRouteSegment, segmentsToRouteId } from "./route-utils.js";
4
5
  const defaultExtensions = [".tsx", ".ts", ".jsx", ".js"];
5
6
  const findLayoutFile = (dir, extensions) => {
6
7
  for (const ext of extensions) {
@@ -49,3 +50,18 @@ export const composeLayouts = (layoutFiles, pageFilePath) => {
49
50
  .reverse()
50
51
  .reduce((child, layoutFile) => ({ type: "layout", filePath: layoutFile, child }), { type: "page", filePath: pageFilePath });
51
52
  };
53
+ export const resolveLayoutRouteId = (layoutFilePath, routesDir) => {
54
+ const relativePath = relative(routesDir, layoutFilePath);
55
+ if (!relativePath || relativePath.startsWith("..") || relativePath.includes(`..${sep}`)) {
56
+ throw new HyperError("ROUTE_INVALID", "Layout file is outside of routesDir.", {
57
+ layoutFilePath,
58
+ routesDir,
59
+ });
60
+ }
61
+ const parts = relativePath.split(sep);
62
+ parts.pop();
63
+ const segments = parts
64
+ .map((part) => parseRouteSegment(part))
65
+ .filter((segment) => Boolean(segment));
66
+ return segmentsToRouteId(segments);
67
+ };
@@ -4,6 +4,17 @@ export interface RouteEntry {
4
4
  html?: string;
5
5
  clientEntry: string;
6
6
  serverEntry?: string;
7
+ styles?: string[];
8
+ }
9
+ export interface SpecialEntry {
10
+ clientEntry: string;
11
+ serverEntry?: string;
12
+ html?: string;
13
+ styles?: string[];
14
+ }
15
+ export interface SpecialEntries {
16
+ notFound?: SpecialEntry;
17
+ error?: SpecialEntry;
7
18
  }
8
19
  export interface ChunkInfo {
9
20
  file: string;
@@ -15,6 +26,7 @@ export interface Manifest {
15
26
  routes: Record<string, RouteEntry>;
16
27
  chunks: Record<string, ChunkInfo>;
17
28
  assets?: Record<string, string>;
29
+ special?: SpecialEntries;
18
30
  }
19
31
  export declare const manifestSchema: {
20
32
  readonly $schema: "http://json-schema.org/draft-07/schema#";
@@ -47,6 +59,12 @@ export declare const manifestSchema: {
47
59
  readonly serverEntry: {
48
60
  readonly type: "string";
49
61
  };
62
+ readonly styles: {
63
+ readonly type: "array";
64
+ readonly items: {
65
+ readonly type: "string";
66
+ };
67
+ };
50
68
  };
51
69
  };
52
70
  };
@@ -75,6 +93,56 @@ export declare const manifestSchema: {
75
93
  readonly type: "string";
76
94
  };
77
95
  };
96
+ readonly special: {
97
+ readonly type: "object";
98
+ readonly additionalProperties: false;
99
+ readonly properties: {
100
+ readonly notFound: {
101
+ readonly type: "object";
102
+ readonly required: readonly ["clientEntry"];
103
+ readonly additionalProperties: false;
104
+ readonly properties: {
105
+ readonly clientEntry: {
106
+ readonly type: "string";
107
+ };
108
+ readonly serverEntry: {
109
+ readonly type: "string";
110
+ };
111
+ readonly html: {
112
+ readonly type: "string";
113
+ };
114
+ readonly styles: {
115
+ readonly type: "array";
116
+ readonly items: {
117
+ readonly type: "string";
118
+ };
119
+ };
120
+ };
121
+ };
122
+ readonly error: {
123
+ readonly type: "object";
124
+ readonly required: readonly ["clientEntry"];
125
+ readonly additionalProperties: false;
126
+ readonly properties: {
127
+ readonly clientEntry: {
128
+ readonly type: "string";
129
+ };
130
+ readonly serverEntry: {
131
+ readonly type: "string";
132
+ };
133
+ readonly html: {
134
+ readonly type: "string";
135
+ };
136
+ readonly styles: {
137
+ readonly type: "array";
138
+ readonly items: {
139
+ readonly type: "string";
140
+ };
141
+ };
142
+ };
143
+ };
144
+ };
145
+ };
78
146
  };
79
147
  };
80
148
  export declare const validateManifest: (input: unknown) => Manifest;
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;AAE1D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCjB,CAAC;AAsGX,eAAO,MAAM,gBAAgB,GAAI,OAAO,OAAO,KAAG,QAuDjD,CAAC"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;AAE1D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoEjB,CAAC;AA6GX,eAAO,MAAM,gBAAgB,GAAI,OAAO,OAAO,KAAG,QAoGjD,CAAC"}
package/dist/manifest.js CHANGED
@@ -18,6 +18,7 @@ export const manifestSchema = {
18
18
  html: { type: "string" },
19
19
  clientEntry: { type: "string" },
20
20
  serverEntry: { type: "string" },
21
+ styles: { type: "array", items: { type: "string" } },
21
22
  },
22
23
  },
23
24
  },
@@ -37,6 +38,34 @@ export const manifestSchema = {
37
38
  type: "object",
38
39
  additionalProperties: { type: "string" },
39
40
  },
41
+ special: {
42
+ type: "object",
43
+ additionalProperties: false,
44
+ properties: {
45
+ notFound: {
46
+ type: "object",
47
+ required: ["clientEntry"],
48
+ additionalProperties: false,
49
+ properties: {
50
+ clientEntry: { type: "string" },
51
+ serverEntry: { type: "string" },
52
+ html: { type: "string" },
53
+ styles: { type: "array", items: { type: "string" } },
54
+ },
55
+ },
56
+ error: {
57
+ type: "object",
58
+ required: ["clientEntry"],
59
+ additionalProperties: false,
60
+ properties: {
61
+ clientEntry: { type: "string" },
62
+ serverEntry: { type: "string" },
63
+ html: { type: "string" },
64
+ styles: { type: "array", items: { type: "string" } },
65
+ },
66
+ },
67
+ },
68
+ },
40
69
  },
41
70
  };
42
71
  const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
@@ -66,7 +95,7 @@ const ensureRouteEntry = (value, path) => {
66
95
  throw new HyperError("MANIFEST_INVALID", `Invalid manifest value at ${path}: expected object`, { path, expected: "object" });
67
96
  }
68
97
  // Critical: enforce exact route entry keys so build/runtime stay in sync.
69
- assertKnownKeys(value, new Set(["type", "html", "clientEntry", "serverEntry"]), `${path}.`);
98
+ assertKnownKeys(value, new Set(["type", "html", "clientEntry", "serverEntry", "styles"]), `${path}.`);
70
99
  const type = ensureString(value.type, `${path}.type`);
71
100
  if (type !== "static" && type !== "dynamic" && type !== "catchAll") {
72
101
  throw new HyperError("MANIFEST_INVALID", `Invalid manifest value at ${path}.type: ${type}`, { path: `${path}.type`, expected: "static | dynamic | catchAll" });
@@ -84,6 +113,9 @@ const ensureRouteEntry = (value, path) => {
84
113
  if ("serverEntry" in value) {
85
114
  entry.serverEntry = ensureString(value.serverEntry, `${path}.serverEntry`);
86
115
  }
116
+ if ("styles" in value) {
117
+ entry.styles = ensureStringArray(value.styles, `${path}.styles`);
118
+ }
87
119
  return entry;
88
120
  };
89
121
  const ensureChunkInfo = (value, path) => {
@@ -106,7 +138,7 @@ export const validateManifest = (input) => {
106
138
  });
107
139
  }
108
140
  // Critical: fail on unknown top-level keys to avoid mismatch with schema consumers.
109
- assertKnownKeys(input, new Set(["version", "basePath", "routes", "chunks", "assets"]), "");
141
+ assertKnownKeys(input, new Set(["version", "basePath", "routes", "chunks", "assets", "special"]), "");
110
142
  const manifest = {
111
143
  version: ensureString(input.version, "version"),
112
144
  basePath: ensureString(input.basePath, "basePath"),
@@ -135,5 +167,37 @@ export const validateManifest = (input) => {
135
167
  }
136
168
  manifest.assets = assets;
137
169
  }
170
+ if ("special" in input) {
171
+ if (!isRecord(input.special)) {
172
+ throw new HyperError("MANIFEST_INVALID", "Invalid manifest value at special: expected object", { path: "special", expected: "object" });
173
+ }
174
+ const special = {};
175
+ const parseSpecialEntry = (value, path) => {
176
+ if (!isRecord(value)) {
177
+ throw new HyperError("MANIFEST_INVALID", `Invalid manifest value at ${path}: expected object`, { path, expected: "object" });
178
+ }
179
+ assertKnownKeys(value, new Set(["clientEntry", "serverEntry", "html", "styles"]), `${path}.`);
180
+ const entry = {
181
+ clientEntry: ensureString(value.clientEntry, `${path}.clientEntry`),
182
+ };
183
+ if ("serverEntry" in value) {
184
+ entry.serverEntry = ensureString(value.serverEntry, `${path}.serverEntry`);
185
+ }
186
+ if ("html" in value) {
187
+ entry.html = ensureString(value.html, `${path}.html`);
188
+ }
189
+ if ("styles" in value) {
190
+ entry.styles = ensureStringArray(value.styles, `${path}.styles`);
191
+ }
192
+ return entry;
193
+ };
194
+ if ("notFound" in input.special) {
195
+ special.notFound = parseSpecialEntry(input.special.notFound, "special.notFound");
196
+ }
197
+ if ("error" in input.special) {
198
+ special.error = parseSpecialEntry(input.special.error, "special.error");
199
+ }
200
+ manifest.special = special;
201
+ }
138
202
  return manifest;
139
203
  };
@@ -22,12 +22,33 @@ export interface StaticPathsResult {
22
22
  export interface ServerPropsContext extends PageContextBase {
23
23
  request?: unknown;
24
24
  response?: unknown;
25
+ init?: unknown;
26
+ routeData?: Record<string, unknown>;
25
27
  }
26
28
  export interface ServerPropsResult<Props = Record<string, unknown>> {
27
29
  props: Props;
28
30
  headers?: Record<string, string>;
29
31
  status?: number;
30
32
  }
33
+ export interface RedirectDescriptor {
34
+ destination: string;
35
+ status?: number;
36
+ replace?: boolean;
37
+ }
38
+ export interface ErrorDescriptor {
39
+ status?: number;
40
+ message?: string;
41
+ }
42
+ export interface RouteDataContext extends ServerPropsContext {
43
+ parentData?: unknown;
44
+ }
45
+ export interface RouteDataResult<Data = unknown> {
46
+ data?: Data;
47
+ headers?: Record<string, string>;
48
+ status?: number;
49
+ redirect?: string | RedirectDescriptor;
50
+ error?: string | ErrorDescriptor;
51
+ }
31
52
  export interface HeadDescriptor {
32
53
  title?: string;
33
54
  meta?: Array<Record<string, string>>;
@@ -38,19 +59,25 @@ export type PageComponent<Props = Record<string, unknown>> = (props: Props) => u
38
59
  export type GetStaticProps<Props = Record<string, unknown>> = (ctx: StaticPropsContext) => Promise<StaticPropsResult<Props>> | StaticPropsResult<Props>;
39
60
  export type GetStaticPaths = () => Promise<StaticPathsResult> | StaticPathsResult;
40
61
  export type GetServerProps<Props = Record<string, unknown>> = (ctx: ServerPropsContext) => Promise<ServerPropsResult<Props>> | ServerPropsResult<Props>;
62
+ export type GetRouteData<Data = unknown> = (ctx: RouteDataContext) => Promise<RouteDataResult<Data>> | RouteDataResult<Data>;
63
+ export type InitServerHook<Data = unknown> = (ctx: ServerPropsContext) => Promise<RouteDataResult<Data>> | RouteDataResult<Data>;
41
64
  export type Head<Props = Record<string, unknown>> = (props: Props) => HeadDescriptor;
42
65
  export interface PageModule<Props = Record<string, unknown>> {
43
66
  default: PageComponent<Props>;
44
67
  getStaticProps?: GetStaticProps<Props>;
45
68
  getStaticPaths?: GetStaticPaths;
46
69
  getServerProps?: GetServerProps<Props>;
70
+ getRouteData?: GetRouteData;
47
71
  head?: Head<Props>;
48
72
  }
49
73
  export declare const resolvePageModule: <Props = Record<string, unknown>>(module: unknown) => PageModule<Props>;
50
74
  export declare const validateStaticPropsResult: <Props = Record<string, unknown>>(result: unknown) => StaticPropsResult<Props>;
51
75
  export declare const validateStaticPathsResult: (result: unknown) => StaticPathsResult;
52
76
  export declare const validateServerPropsResult: <Props = Record<string, unknown>>(result: unknown) => ServerPropsResult<Props>;
77
+ export declare const validateRouteDataResult: <Data = unknown>(result: unknown, path?: string) => RouteDataResult<Data>;
53
78
  export declare const runGetStaticProps: <Props = Record<string, unknown>>(hook: GetStaticProps<Props>, ctx: StaticPropsContext) => Promise<StaticPropsResult<Props>>;
54
79
  export declare const runGetStaticPaths: (hook: GetStaticPaths) => Promise<StaticPathsResult>;
55
80
  export declare const runGetServerProps: <Props = Record<string, unknown>>(hook: GetServerProps<Props>, ctx: ServerPropsContext) => Promise<ServerPropsResult<Props>>;
81
+ export declare const runGetRouteData: <Data = unknown>(hook: GetRouteData<Data>, ctx: RouteDataContext) => Promise<RouteDataResult<Data>>;
82
+ export declare const runInitServer: <Data = unknown>(hook: InitServerHook<Data>, ctx: ServerPropsContext) => Promise<RouteDataResult<Data>>;
56
83
  //# sourceMappingURL=page-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"page-api.d.ts","sourceRoot":"","sources":["../src/page-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page-api.d.ts","sourceRoot":"","sources":["../src/page-api.ts"],"names":[],"mappings":"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"}
package/dist/page-api.js CHANGED
@@ -26,6 +26,9 @@ export const resolvePageModule = (module) => {
26
26
  if (!page.getServerProps && "getServerSideProps" in module) {
27
27
  page.getServerProps = ensureFunction(module.getServerSideProps, "getServerSideProps");
28
28
  }
29
+ if ("getRouteData" in module) {
30
+ page.getRouteData = ensureFunction(module.getRouteData, "getRouteData");
31
+ }
29
32
  if ("head" in module) {
30
33
  page.head = ensureFunction(module.head, "head");
31
34
  }
@@ -85,6 +88,62 @@ export const validateServerPropsResult = (result) => {
85
88
  }
86
89
  return record;
87
90
  };
91
+ const ensureRedirectDescriptor = (value, path) => {
92
+ if (typeof value === "string") {
93
+ return { destination: value };
94
+ }
95
+ if (!isRecord(value)) {
96
+ throw new HyperError("PAGE_API_INVALID", "Invalid route data redirect: expected string or object", { path, expected: "string | { destination, status?, replace? }" });
97
+ }
98
+ if (typeof value.destination !== "string") {
99
+ throw new HyperError("PAGE_API_INVALID", "Invalid route data redirect: destination must be string", { path: `${path}.destination` });
100
+ }
101
+ if (value.status !== undefined && typeof value.status !== "number") {
102
+ throw new HyperError("PAGE_API_INVALID", "Invalid route data redirect: status must be number", { path: `${path}.status` });
103
+ }
104
+ if (value.replace !== undefined && typeof value.replace !== "boolean") {
105
+ throw new HyperError("PAGE_API_INVALID", "Invalid route data redirect: replace must be boolean", { path: `${path}.replace` });
106
+ }
107
+ return {
108
+ destination: value.destination,
109
+ status: value.status,
110
+ replace: value.replace,
111
+ };
112
+ };
113
+ const ensureErrorDescriptor = (value, path) => {
114
+ if (typeof value === "string") {
115
+ return { message: value };
116
+ }
117
+ if (!isRecord(value)) {
118
+ throw new HyperError("PAGE_API_INVALID", "Invalid route data error: expected string or object", { path, expected: "string | { status?, message? }" });
119
+ }
120
+ if (value.status !== undefined && typeof value.status !== "number") {
121
+ throw new HyperError("PAGE_API_INVALID", "Invalid route data error: status must be number", { path: `${path}.status` });
122
+ }
123
+ if (value.message !== undefined && typeof value.message !== "string") {
124
+ throw new HyperError("PAGE_API_INVALID", "Invalid route data error: message must be string", { path: `${path}.message` });
125
+ }
126
+ return {
127
+ status: value.status,
128
+ message: value.message,
129
+ };
130
+ };
131
+ export const validateRouteDataResult = (result, path = "getRouteData") => {
132
+ const record = ensureRecord(result, path);
133
+ if (record.status !== undefined && typeof record.status !== "number") {
134
+ throw new HyperError("PAGE_API_INVALID", "Invalid route data result: status must be number", { path: `${path}.status` });
135
+ }
136
+ if (record.headers !== undefined && !isRecord(record.headers)) {
137
+ throw new HyperError("PAGE_API_INVALID", "Invalid route data result: headers must be object", { path: `${path}.headers` });
138
+ }
139
+ if (record.redirect !== undefined) {
140
+ ensureRedirectDescriptor(record.redirect, `${path}.redirect`);
141
+ }
142
+ if (record.error !== undefined) {
143
+ ensureErrorDescriptor(record.error, `${path}.error`);
144
+ }
145
+ return record;
146
+ };
88
147
  export const runGetStaticProps = async (hook, ctx) => {
89
148
  const result = await hook(ctx);
90
149
  // Important: validate return shape to keep build/runtime behavior consistent.
@@ -98,3 +157,11 @@ export const runGetServerProps = async (hook, ctx) => {
98
157
  const result = await hook(ctx);
99
158
  return validateServerPropsResult(result);
100
159
  };
160
+ export const runGetRouteData = async (hook, ctx) => {
161
+ const result = await hook(ctx);
162
+ return validateRouteDataResult(result, "getRouteData");
163
+ };
164
+ export const runInitServer = async (hook, ctx) => {
165
+ const result = await hook(ctx);
166
+ return validateRouteDataResult(result, "initServer");
167
+ };
package/dist/plugin.d.ts CHANGED
@@ -3,6 +3,16 @@ import type { RouteGraph } from "./router.js";
3
3
  export type MiddlewareNext = (error?: unknown) => void;
4
4
  export type Middleware = (req: unknown, res: unknown, next: MiddlewareNext) => void | Promise<void>;
5
5
  export interface BundleContext {
6
+ phase?: "build" | "dev";
7
+ entryId?: string;
8
+ entryPath?: string;
9
+ target?: "browser" | "node";
10
+ format?: "esm" | "cjs" | "iife";
11
+ syntaxTarget?: "modern" | "es5";
12
+ bundler?: "bun" | "esbuild";
13
+ bundleType?: "client" | "server";
14
+ bundlerPlugins?: unknown[];
15
+ addBundlerPlugin?: (plugin: unknown) => void;
6
16
  [key: string]: unknown;
7
17
  }
8
18
  export interface BundleResult {
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export type RouteDataMap = Record<string, unknown>;
2
+ export declare const ROUTE_DATA_SCRIPT_ID = "__HYPER_ROUTE_DATA__";
3
+ export declare const ROUTE_DATA_INIT_KEY = "init:server";
4
+ export declare const ROUTE_DATA_ERROR_KEY = "error:boundary";
5
+ export declare const routeDataKeyForPage: (routeId: string) => string;
6
+ export declare const routeDataKeyForLayout: (routeId: string) => string;
7
+ //# sourceMappingURL=route-data.d.ts.map