@rebask/core 0.2.0 → 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.
- package/dist/__type_probe__.d.ts +2 -0
- package/dist/__type_probe__.d.ts.map +1 -0
- package/dist/__type_probe__.js +4 -0
- package/dist/components/head.d.ts +2 -11
- package/dist/components/head.d.ts.map +1 -1
- package/dist/components/head.js +12 -24
- package/dist/entry.browser.js +2 -2
- package/dist/entry.ssr.d.ts.map +1 -1
- package/dist/entry.ssr.js +12 -7
- package/dist/handlers/rsc/background-render.js +2 -2
- package/dist/handlers/rsc/render-request.js +2 -2
- package/dist/handlers/rsc/render-to-response.js +2 -2
- package/dist/handlers/rsc/state.d.ts.map +1 -1
- package/dist/handlers/rsc/state.js +11 -5
- package/dist/lib/client-route-prediction.d.ts +1 -1
- package/dist/lib/client-route-prediction.d.ts.map +1 -1
- package/dist/lib/client-route-prediction.js +2 -7
- package/dist/lib/head/head-manager.d.ts +9 -0
- package/dist/lib/head/head-manager.d.ts.map +1 -0
- package/dist/lib/head/head-manager.js +98 -0
- package/dist/lib/head/head-script.js +8 -13
- package/dist/lib/image-optimization/image-plugin.d.ts +2 -0
- package/dist/lib/image-optimization/image-plugin.d.ts.map +1 -1
- package/dist/lib/image-optimization/image-plugin.js +10 -3
- package/dist/lib/plugin-names.d.ts +3 -0
- package/dist/lib/plugin-names.d.ts.map +1 -0
- package/dist/lib/plugin-names.js +2 -0
- package/dist/lib/proxy/build-proxy.d.ts +1 -1
- package/dist/lib/proxy/build-proxy.d.ts.map +1 -1
- package/dist/lib/proxy/build-proxy.js +4 -11
- package/dist/lib/proxy/pattern.d.ts +7 -0
- package/dist/lib/proxy/pattern.d.ts.map +1 -0
- package/dist/lib/proxy/pattern.js +18 -0
- package/dist/lib/proxy/types.d.ts +3 -1
- package/dist/lib/proxy/types.d.ts.map +1 -1
- package/dist/lib/route-prediction.d.ts.map +1 -1
- package/dist/lib/router-cache.d.ts +4 -0
- package/dist/lib/router-cache.d.ts.map +1 -1
- package/dist/lib/rsc-request.d.ts.map +1 -1
- package/dist/lib/rsc-request.js +6 -4
- package/dist/lib/server-router/build-entries.d.ts +76 -0
- package/dist/lib/server-router/build-entries.d.ts.map +1 -0
- package/dist/lib/server-router/build-entries.js +74 -0
- package/dist/lib/server-router/get-router.d.ts.map +1 -1
- package/dist/lib/server-router/get-router.js +55 -105
- package/dist/lib/server-router/rou3.d.ts +20 -0
- package/dist/lib/server-router/rou3.d.ts.map +1 -0
- package/dist/lib/server-router/rou3.js +55 -0
- package/dist/lib/server-router/route-entries.d.ts +16 -0
- package/dist/lib/server-router/route-entries.d.ts.map +1 -0
- package/dist/lib/server-router/route-entries.js +67 -0
- package/dist/lib/server-router/types.d.ts +24 -33
- package/dist/lib/server-router/types.d.ts.map +1 -1
- package/dist/lib/server-router/types.js +1 -6
- package/dist/lib/types.d.ts +2 -2
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/plugins/prerender.d.ts +3 -4
- package/dist/plugins/prerender.d.ts.map +1 -1
- package/dist/plugins/prerender.js +31 -0
- package/dist/plugins/proxy.d.ts.map +1 -1
- package/dist/plugins/proxy.js +7 -1
- package/dist/plugins/router/rou3-compiled.d.ts +9 -0
- package/dist/plugins/router/rou3-compiled.d.ts.map +1 -0
- package/dist/plugins/router/rou3-compiled.js +14 -0
- package/dist/plugins/router/rou3-router.d.ts +3 -0
- package/dist/plugins/router/rou3-router.d.ts.map +1 -0
- package/dist/plugins/router/rou3-router.js +16 -0
- package/dist/plugins/router/router-plugin.d.ts +6 -16
- package/dist/plugins/router/router-plugin.d.ts.map +1 -1
- package/dist/plugins/router/router-plugin.js +43 -22
- package/dist/proxy.d.ts +1 -0
- package/dist/proxy.d.ts.map +1 -1
- package/dist/proxy.js +1 -0
- package/dist/request-context.d.ts +0 -2
- package/dist/request-context.d.ts.map +1 -1
- package/dist/request-context.js +0 -4
- package/dist/router.d.ts +1 -1
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +19 -9
- package/dist/server-router.d.ts +3 -3
- package/dist/server-router.d.ts.map +1 -1
- package/dist/server-router.js +2 -2
- package/dist/vite.d.ts +8 -3
- package/dist/vite.d.ts.map +1 -1
- package/dist/vite.js +60 -29
- package/package.json +5 -4
package/dist/vite.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { type Plugin } from "vite";
|
|
2
|
+
import { REBASK_PLUGIN_NAME } from "./lib/plugin-names.js";
|
|
2
3
|
import type { LayoutRoute, Route, RouteHandlerRoute } from "./lib/route-matcher.js";
|
|
3
|
-
|
|
4
|
-
export
|
|
4
|
+
import type { MatcherEntry } from "./lib/server-router/types.js";
|
|
5
|
+
export { REBASK_PLUGIN_NAME };
|
|
5
6
|
type ShellPrerenderBase = {
|
|
6
7
|
filePath: string;
|
|
7
8
|
postponedState: string;
|
|
@@ -58,6 +59,11 @@ export interface RebaskPluginApi {
|
|
|
58
59
|
getLayoutRoutes: () => LayoutRoute[];
|
|
59
60
|
/** Get route handler routes (available after RSC build) */
|
|
60
61
|
getRouteHandlerRoutes: () => RouteHandlerRoute[];
|
|
62
|
+
/**
|
|
63
|
+
* Get the entries used to build a compiled router. Their order matches the entries passed to
|
|
64
|
+
* `createMatcher` at runtime, so compiled indexes resolve correctly. Scans routes on first use.
|
|
65
|
+
*/
|
|
66
|
+
getMatcherEntries: () => Promise<MatcherEntry[]>;
|
|
61
67
|
/** Whether routes with a Markdown representation are also served at `.md` URLs. */
|
|
62
68
|
hasMarkdownUrls: () => boolean;
|
|
63
69
|
/** Get the built RSC entry, which a platform can move out of `dist` (available after config resolution) */
|
|
@@ -138,5 +144,4 @@ export interface RebaskPluginOptions {
|
|
|
138
144
|
shellPrerenderTimeout?: number;
|
|
139
145
|
}
|
|
140
146
|
export declare function rebask(options?: RebaskPluginOptions): Plugin[];
|
|
141
|
-
export {};
|
|
142
147
|
//# sourceMappingURL=vite.d.ts.map
|
package/dist/vite.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"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"}
|
package/dist/vite.js
CHANGED
|
@@ -1,22 +1,28 @@
|
|
|
1
1
|
import { randomBytes } from "node:crypto";
|
|
2
2
|
import { rm, stat } from "node:fs/promises";
|
|
3
|
+
import { createRequire } from "node:module";
|
|
3
4
|
import { isAbsolute, join, relative, resolve } from "node:path";
|
|
4
5
|
import { fileURLToPath } from "node:url";
|
|
5
6
|
import { parse } from "vite";
|
|
6
7
|
import { notifyRscUpdate, setDevServer } from "./lib/dev-server.js";
|
|
7
8
|
import { SCOPED_CACHE_DIR } from "./lib/file-system-cache.js";
|
|
8
9
|
import { headPlugin } from "./lib/head/head-plugin.js";
|
|
10
|
+
import { REBASK_IMAGE_PLUGIN_NAME, } from "./lib/image-optimization/image-plugin.js";
|
|
11
|
+
import { REBASK_PLUGIN_NAME } from "./lib/plugin-names.js";
|
|
12
|
+
import { getPluginApi } from "./lib/plugin-utils.js";
|
|
9
13
|
import { CONFIG_EXTENSIONS, findProjectFile, PAGE_EXTENSIONS, scanAppDirectory, } from "./lib/project-files.js";
|
|
10
14
|
import { assertNoPageRouteHandlerConflicts, buildLayoutRoutes, buildRouteHandlerRoutes, buildRoutes, } from "./lib/route-builder.js";
|
|
15
|
+
import { buildRouteEntries } from "./lib/server-router/route-entries.js";
|
|
11
16
|
import { useCachePlugin } from "./lib/use-cache-plugin.js";
|
|
12
17
|
import { devtoolsPlugin } from "./plugins/devtools.js";
|
|
13
18
|
import { pprPlugin } from "./plugins/ppr.js";
|
|
14
|
-
import { prerenderPlugin } from "./plugins/prerender.js";
|
|
19
|
+
import { prerenderPlugin, routeMetadataPlugin } from "./plugins/prerender.js";
|
|
15
20
|
import { proxyPlugin } from "./plugins/proxy.js";
|
|
16
|
-
import {
|
|
21
|
+
import { defaultRouterPlugin } from "./plugins/router/router-plugin.js";
|
|
17
22
|
import { serverOnlyPlugin } from "./plugins/server-only-plugin.js";
|
|
18
|
-
|
|
19
|
-
|
|
23
|
+
const require = createRequire(import.meta.url);
|
|
24
|
+
const rebaskVersion = require("../package.json").version;
|
|
25
|
+
export { REBASK_PLUGIN_NAME };
|
|
20
26
|
const BROWSER_ENTRY = fileURLToPath(new URL("./entry.browser.js", import.meta.url));
|
|
21
27
|
const APP_CONFIG_MODULE_ID = "\0virtual:rebask/config";
|
|
22
28
|
async function hasUseClientDirective(code, id) {
|
|
@@ -92,9 +98,18 @@ export function rebask(options = {}) {
|
|
|
92
98
|
let routes = [];
|
|
93
99
|
let layoutRoutes = [];
|
|
94
100
|
let routeHandlerRoutes = [];
|
|
101
|
+
let routesScan = null;
|
|
102
|
+
let imageApi;
|
|
95
103
|
const rscClientModules = new Set();
|
|
96
104
|
const shellPrerenders = [];
|
|
97
105
|
const cacheFunctions = new Map();
|
|
106
|
+
const stubHandler = async () => new Response();
|
|
107
|
+
const stubHandlers = {
|
|
108
|
+
page: () => stubHandler,
|
|
109
|
+
markdown: () => stubHandler,
|
|
110
|
+
routeHandler: () => stubHandler,
|
|
111
|
+
layout: () => stubHandler,
|
|
112
|
+
};
|
|
98
113
|
const api = {
|
|
99
114
|
getRoutes: () => routes,
|
|
100
115
|
getLayoutRscRoutes: () => layoutRoutes.map((route) => ({
|
|
@@ -108,6 +123,13 @@ export function rebask(options = {}) {
|
|
|
108
123
|
})),
|
|
109
124
|
getLayoutRoutes: () => layoutRoutes,
|
|
110
125
|
getRouteHandlerRoutes: () => routeHandlerRoutes,
|
|
126
|
+
async getMatcherEntries() {
|
|
127
|
+
await ensureRoutes();
|
|
128
|
+
const imagePattern = imageApi && (await imageApi.hasHandler()) ? imageApi.getImageConfig().path : null;
|
|
129
|
+
const imageEntry = imagePattern ? { pattern: imagePattern, handler: stubHandler } : null;
|
|
130
|
+
const { entries } = buildRouteEntries(routes, routeHandlerRoutes, layoutRoutes, imageEntry, stubHandlers);
|
|
131
|
+
return entries.map(({ methods, pattern }) => ({ methods, pattern }));
|
|
132
|
+
},
|
|
111
133
|
hasMarkdownUrls: () => markdownUrls,
|
|
112
134
|
getRscEntry: () => rscEntry,
|
|
113
135
|
setDeploymentId: (deploymentId) => {
|
|
@@ -121,6 +143,24 @@ export function rebask(options = {}) {
|
|
|
121
143
|
shellPrerenders.push(result);
|
|
122
144
|
},
|
|
123
145
|
};
|
|
146
|
+
async function ensureRoutes() {
|
|
147
|
+
if (!routesScan) {
|
|
148
|
+
routesScan = (async () => {
|
|
149
|
+
const appDir = join(projectRoot, "app");
|
|
150
|
+
await stat(appDir).catch((error) => {
|
|
151
|
+
if (error?.code !== "ENOENT") {
|
|
152
|
+
throw error;
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
const { pages, layouts, routeHandlers, markdownFiles } = await scanAppDirectory(appDir, markdownUrls);
|
|
156
|
+
assertNoPageRouteHandlerConflicts(pages, routeHandlers, markdownFiles);
|
|
157
|
+
routeHandlerRoutes = buildRouteHandlerRoutes(routeHandlers);
|
|
158
|
+
routes = buildRoutes(layouts, pages, markdownFiles);
|
|
159
|
+
layoutRoutes = buildLayoutRoutes(layouts);
|
|
160
|
+
})();
|
|
161
|
+
}
|
|
162
|
+
await routesScan;
|
|
163
|
+
}
|
|
124
164
|
const plugins = [
|
|
125
165
|
{
|
|
126
166
|
name: "rebask:runtime-config",
|
|
@@ -129,6 +169,7 @@ export function rebask(options = {}) {
|
|
|
129
169
|
projectRoot = config.root;
|
|
130
170
|
rscEntry = resolve(config.root, config.environments.rsc.build.outDir, "index.js");
|
|
131
171
|
isBuild = config.command === "build";
|
|
172
|
+
imageApi = getPluginApi(config.plugins, REBASK_IMAGE_PLUGIN_NAME);
|
|
132
173
|
},
|
|
133
174
|
async resolveId(id) {
|
|
134
175
|
if (id === "virtual:rebask/runtime-config") {
|
|
@@ -182,6 +223,7 @@ export function rebask(options = {}) {
|
|
|
182
223
|
async config() {
|
|
183
224
|
return {
|
|
184
225
|
define: {
|
|
226
|
+
__REBASK_VERSION__: JSON.stringify(rebaskVersion),
|
|
185
227
|
__REBASK_FULL_HTML_FOR_BOTS: JSON.stringify(fullHtmlForBots),
|
|
186
228
|
__REBASK_MARKDOWN_URLS: JSON.stringify(markdownUrls),
|
|
187
229
|
__REBASK_DEDUPE_FETCH: JSON.stringify(dedupeFetch),
|
|
@@ -368,24 +410,8 @@ export function rebask(options = {}) {
|
|
|
368
410
|
if (id !== APP_CONFIG_MODULE_ID)
|
|
369
411
|
return;
|
|
370
412
|
// In development the router builds its routes from the app manifest on each request.
|
|
371
|
-
if (this.environment.mode === "build")
|
|
372
|
-
|
|
373
|
-
await stat(appDir).catch((error) => {
|
|
374
|
-
// If app directory doesn't exist, use empty routes
|
|
375
|
-
if (error?.code !== "ENOENT") {
|
|
376
|
-
throw error;
|
|
377
|
-
}
|
|
378
|
-
});
|
|
379
|
-
const { pages, layouts, routeHandlers, markdownFiles } = await scanAppDirectory(appDir, markdownUrls);
|
|
380
|
-
assertNoPageRouteHandlerConflicts(pages, routeHandlers, markdownFiles);
|
|
381
|
-
routeHandlerRoutes = buildRouteHandlerRoutes(routeHandlers);
|
|
382
|
-
// Generate page/layout routes only for the RSC environment
|
|
383
|
-
if (this.environment.name === "rsc") {
|
|
384
|
-
// Store routes in shared state (accessible via plugin API)
|
|
385
|
-
routes = buildRoutes(layouts, pages, markdownFiles);
|
|
386
|
-
layoutRoutes = buildLayoutRoutes(layouts);
|
|
387
|
-
}
|
|
388
|
-
}
|
|
413
|
+
if (this.environment.mode === "build")
|
|
414
|
+
await ensureRoutes();
|
|
389
415
|
return [
|
|
390
416
|
`export const routes = ${JSON.stringify(routes, null, 2)};`,
|
|
391
417
|
`export const layoutRoutes = ${JSON.stringify(layoutRoutes, null, 2)};`,
|
|
@@ -429,21 +455,23 @@ export function rebask(options = {}) {
|
|
|
429
455
|
}
|
|
430
456
|
},
|
|
431
457
|
},
|
|
432
|
-
|
|
458
|
+
defaultRouterPlugin(),
|
|
433
459
|
proxyPlugin(api),
|
|
434
460
|
pprPlugin(),
|
|
435
461
|
serverOnlyPlugin(),
|
|
436
462
|
useCachePlugin(cacheFunctions),
|
|
437
463
|
{
|
|
438
|
-
name: "rebask:
|
|
464
|
+
name: "rebask:build-cache",
|
|
439
465
|
buildApp: {
|
|
440
466
|
order: "pre",
|
|
441
467
|
async handler() {
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
468
|
+
const rebaskDir = join(process.cwd(), "dist", ".rebask");
|
|
469
|
+
// Scoped entries belong to the previous deployment. The manifest is about to be
|
|
470
|
+
// regenerated, and a stale one would make a no-prerender build trust old route data.
|
|
471
|
+
await Promise.all([
|
|
472
|
+
rm(join(rebaskDir, "cache", SCOPED_CACHE_DIR), { recursive: true, force: true }),
|
|
473
|
+
rm(join(rebaskDir, "prerendered-paths.json"), { force: true }),
|
|
474
|
+
]);
|
|
447
475
|
},
|
|
448
476
|
},
|
|
449
477
|
},
|
|
@@ -452,5 +480,8 @@ export function rebask(options = {}) {
|
|
|
452
480
|
const prerenderOptions = typeof prerender === "object" ? prerender : {};
|
|
453
481
|
plugins.push(prerenderPlugin(api, prerenderOptions));
|
|
454
482
|
}
|
|
483
|
+
else {
|
|
484
|
+
plugins.push(routeMetadataPlugin(api));
|
|
485
|
+
}
|
|
455
486
|
return plugins;
|
|
456
487
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rebask/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Vite plugin and runtime for React Server Components",
|
|
5
5
|
"homepage": "https://github.com/lfades/vext#readme",
|
|
6
6
|
"license": "MIT",
|
|
@@ -145,8 +145,8 @@
|
|
|
145
145
|
"dependencies": {
|
|
146
146
|
"@lfades/atom": "^3.0.0",
|
|
147
147
|
"@opentelemetry/api": "~1.9.1",
|
|
148
|
-
"
|
|
149
|
-
"
|
|
148
|
+
"rou3": "^1.0.0",
|
|
149
|
+
"rsc-html-stream": "^0.0.8"
|
|
150
150
|
},
|
|
151
151
|
"devDependencies": {
|
|
152
152
|
"@opentelemetry/context-async-hooks": "^2.12.0",
|
|
@@ -177,6 +177,7 @@
|
|
|
177
177
|
"dev": "tsc -p tsconfig.build.json -w",
|
|
178
178
|
"build": "tsc -p tsconfig.build.json",
|
|
179
179
|
"test:unit": "vitest run",
|
|
180
|
-
"test:dev": "vitest"
|
|
180
|
+
"test:dev": "vitest",
|
|
181
|
+
"publint": "publint"
|
|
181
182
|
}
|
|
182
183
|
}
|