@cmj/juice 0.1.7 → 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/cli/create.d.ts.map +1 -1
- package/dist/cli/create.js +2 -1
- package/dist/cli/create.js.map +1 -1
- package/dist/cli/templates.d.ts +1 -0
- package/dist/cli/templates.d.ts.map +1 -1
- package/dist/cli/templates.js +19 -13
- package/dist/cli/templates.js.map +1 -1
- package/dist/compiler/discover.d.ts +43 -0
- package/dist/compiler/discover.d.ts.map +1 -0
- package/dist/compiler/discover.js +186 -0
- package/dist/compiler/discover.js.map +1 -0
- package/dist/compiler/plugin.d.ts.map +1 -1
- package/dist/compiler/plugin.js +11 -1
- package/dist/compiler/plugin.js.map +1 -1
- package/dist/compiler/types.d.ts +7 -2
- package/dist/compiler/types.d.ts.map +1 -1
- package/dist/runtime/render.d.ts.map +1 -1
- package/dist/runtime/render.js +17 -1
- package/dist/runtime/render.js.map +1 -1
- package/dist/runtime/types.d.ts +5 -0
- package/dist/runtime/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/cli/create.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/cli/create.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/cli/create.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAUlF,qBAAa,gBAAiB,SAAQ,KAAK;IAChC,IAAI,SAAsB;CACpC;AAkBD;;;GAGG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,CA0C1D;AAID,MAAM,WAAW,gBAAgB;IAC/B,+EAA+E;IAC/E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,+CAA+C;IAC/C,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,kCAAkC;IAClC,MAAM,EAAE,YAAY,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,gBAAgB,GACzB,eAAe,CAqCjB"}
|
package/dist/cli/create.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import { mkdirSync, writeFileSync, existsSync } from 'node:fs';
|
|
7
7
|
import { join, resolve } from 'node:path';
|
|
8
8
|
import { createInterface } from 'node:readline';
|
|
9
|
-
import { packageJson, tsconfig, viteConfig, serverEntry, homeRoute, flightManifest, DEPLOY_TARGETS, TARGET_LABELS, } from './templates.js';
|
|
9
|
+
import { packageJson, tsconfig, viteConfig, serverEntry, homeRoute, rootLayout, flightManifest, DEPLOY_TARGETS, TARGET_LABELS, } from './templates.js';
|
|
10
10
|
export { DEPLOY_TARGETS, TARGET_LABELS } from './templates.js';
|
|
11
11
|
// ── Validation ──────────────────────────────────────────────────
|
|
12
12
|
/**
|
|
@@ -95,6 +95,7 @@ export function createApp(name, options) {
|
|
|
95
95
|
['vite.config.ts', viteConfig()],
|
|
96
96
|
['flight-manifest.json', flightManifest()],
|
|
97
97
|
['server.ts', serverEntry(target)],
|
|
98
|
+
['app/routes/layout.tsx', rootLayout()],
|
|
98
99
|
['app/routes/home.tsx', homeRoute()],
|
|
99
100
|
];
|
|
100
101
|
for (const [path, content] of files) {
|
package/dist/cli/create.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/cli/create.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/cli/create.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,8BAA8B;AAC9B,iEAAiE;AACjE,qDAAqD;AACrD,oEAAoE;AAEpE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EACL,WAAW,EACX,QAAQ,EACR,UAAU,EACV,WAAW,EACX,SAAS,EACT,UAAU,EACV,cAAc,EACd,cAAc,EACd,aAAa,GACd,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAqB,MAAM,gBAAgB,CAAC;AAElF,mEAAmE;AAEnE;;;GAGG;AACH,MAAM,UAAU,GAAG,0DAA0D,CAAC;AAE9E,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAChC,IAAI,GAAG,kBAAkB,CAAC;CACpC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,MAAM,IAAI,gBAAgB,CACxB,iEAAiE,CAClE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,gBAAgB,CACxB,yBAAyB,IAAI,MAAM;YACjC,6DAA6D,CAChE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,mEAAmE;AAEnE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE7E,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAE,CAAC;QAClC,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACnC,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,QAAQ,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,MAAM,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,wCAAwC,EAAE,CAAC,MAAM,EAAE,EAAE;YAC/D,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YAE9B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,CAAC;gBACf,OAAO;YACT,CAAC;YAED,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC;gBAChD,OAAO,CAAC,cAAc,CAAC,KAAK,CAAE,CAAC,CAAC;gBAChC,OAAO;YACT,CAAC;YAED,uBAAuB;YACvB,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;YACtD,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,KAAK,CAAC,CAAC;gBACf,OAAO;YACT,CAAC;YAED,kCAAkC;YAClC,OAAO,CAAC,GAAG,CAAC,qBAAqB,OAAO,iBAAiB,CAAC,CAAC;YAC3D,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAoBD;;;;;;;;GAQG;AACH,MAAM,UAAU,SAAS,CACvB,IAAY,EACZ,OAA0B;IAE1B,YAAY,CAAC,IAAI,CAAC,CAAC;IAEnB,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC;IACxC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAE/B,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,gBAAgB,CACxB,cAAc,IAAI,qBAAqB;YACrC,+DAA+D,CAClE,CAAC;IACJ,CAAC;IAED,6BAA6B;IAC7B,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3D,cAAc;IACd,MAAM,KAAK,GAAuB;QAChC,CAAC,cAAc,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/C,CAAC,eAAe,EAAE,QAAQ,EAAE,CAAC;QAC7B,CAAC,gBAAgB,EAAE,UAAU,EAAE,CAAC;QAChC,CAAC,sBAAsB,EAAE,cAAc,EAAE,CAAC;QAC1C,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC,uBAAuB,EAAE,UAAU,EAAE,CAAC;QACvC,CAAC,qBAAqB,EAAE,SAAS,EAAE,CAAC;KACrC,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC;QACpC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,OAAO;QACL,GAAG;QACH,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;QAClC,MAAM;KACP,CAAC;AACJ,CAAC"}
|
package/dist/cli/templates.d.ts
CHANGED
|
@@ -11,5 +11,6 @@ export declare function viteConfig(): string;
|
|
|
11
11
|
export declare function flightManifest(): string;
|
|
12
12
|
export declare function serverEntry(target: DeployTarget): string;
|
|
13
13
|
export declare function homeRoute(): string;
|
|
14
|
+
export declare function rootLayout(): string;
|
|
14
15
|
export {};
|
|
15
16
|
//# sourceMappingURL=templates.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/cli/templates.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,CAAC;AAElE,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAAmD,CAAC;AAEtG,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAKtD,CAAC;AAEF,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,eAAe,GAAG,MAAM,CAqCrE;AAED,wBAAgB,QAAQ,IAAI,MAAM,CAiBjC;AAED,wBAAgB,UAAU,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/cli/templates.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,CAAC;AAElE,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAAmD,CAAC;AAEtG,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAKtD,CAAC;AAEF,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,eAAe,GAAG,MAAM,CAqCrE;AAED,wBAAgB,QAAQ,IAAI,MAAM,CAiBjC;AAED,wBAAgB,UAAU,IAAI,MAAM,CAQnC;AAED,wBAAgB,cAAc,IAAI,MAAM,CASvC;AAoDD,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAExD;AAED,wBAAgB,SAAS,IAAI,MAAM,CAclC;AAED,wBAAgB,UAAU,IAAI,MAAM,CAgBnC"}
|
package/dist/cli/templates.js
CHANGED
|
@@ -67,11 +67,7 @@ export function viteConfig() {
|
|
|
67
67
|
import juice from '@cmj/juice/plugin';
|
|
68
68
|
|
|
69
69
|
export default defineConfig({
|
|
70
|
-
plugins: [juice(
|
|
71
|
-
routes: {
|
|
72
|
-
'/': { moduleId: './app/routes/home.tsx' },
|
|
73
|
-
},
|
|
74
|
-
})],
|
|
70
|
+
plugins: [juice()],
|
|
75
71
|
});
|
|
76
72
|
`;
|
|
77
73
|
}
|
|
@@ -89,9 +85,7 @@ export function flightManifest() {
|
|
|
89
85
|
const SERVER_PREAMBLE = `import { createRouter } from '@cmj/juice/runtime';
|
|
90
86
|
import manifest from './flight-manifest.json';
|
|
91
87
|
|
|
92
|
-
const handler = createRouter(manifest
|
|
93
|
-
root: import.meta.url,
|
|
94
|
-
});
|
|
88
|
+
const handler = createRouter(manifest);
|
|
95
89
|
`;
|
|
96
90
|
const SERVER_ADAPTERS = {
|
|
97
91
|
bun: `
|
|
@@ -144,14 +138,26 @@ export default function HomePage() {
|
|
|
144
138
|
const timestamp = new Date().toISOString();
|
|
145
139
|
|
|
146
140
|
return (
|
|
147
|
-
|
|
141
|
+
<>
|
|
142
|
+
<h1>🧃 Juice</h1>
|
|
143
|
+
<p>Server-rendered at {timestamp}</p>
|
|
144
|
+
</>
|
|
145
|
+
);
|
|
146
|
+
}
|
|
147
|
+
`;
|
|
148
|
+
}
|
|
149
|
+
export function rootLayout() {
|
|
150
|
+
return `import React from 'react';
|
|
151
|
+
|
|
152
|
+
export default function RootLayout({ children }: { children: React.ReactNode }) {
|
|
153
|
+
return (
|
|
154
|
+
<html lang="en">
|
|
148
155
|
<head>
|
|
156
|
+
<meta charSet="utf-8" />
|
|
157
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
149
158
|
<title>Juice App</title>
|
|
150
159
|
</head>
|
|
151
|
-
<body>
|
|
152
|
-
<h1>🧃 Juice</h1>
|
|
153
|
-
<p>Server-rendered at {timestamp}</p>
|
|
154
|
-
</body>
|
|
160
|
+
<body>{children}</body>
|
|
155
161
|
</html>
|
|
156
162
|
);
|
|
157
163
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/cli/templates.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,kCAAkC;AAClC,mEAAmE;AACnE,oEAAoE;AAIpE,MAAM,CAAC,MAAM,cAAc,GAA4B,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAU,CAAC;AAEtG,MAAM,CAAC,MAAM,aAAa,GAAiC;IACzD,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,SAAS;IACf,UAAU,EAAE,oBAAoB;IAChC,IAAI,EAAE,MAAM;CACb,CAAC;AAOF,MAAM,UAAU,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAmB;IAC3D,MAAM,WAAW,GAAiC;QAChD,GAAG,EAAE,eAAe;QACpB,IAAI,EAAE,qBAAqB;QAC3B,UAAU,EAAE,cAAc;QAC1B,IAAI,EAAE,6CAA6C;KACpD,CAAC;IAEF,MAAM,GAAG,GAA4B;QACnC,IAAI;QACJ,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP,GAAG,EAAE,UAAU;YACf,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC;YAC1B,SAAS,EAAE,cAAc;SAC1B;QACD,YAAY,EAAE;YACZ,YAAY,EAAE,QAAQ;YACtB,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,SAAS;SACvB;QACD,eAAe,EAAE;YACf,cAAc,EAAE,SAAS;YACzB,kBAAkB,EAAE,SAAS;YAC7B,UAAU,EAAE,QAAQ;YACpB,IAAI,EAAE,QAAQ;SACf;KACF,CAAC;IAEF,2DAA2D;IAC3D,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACrB,GAAG,CAAC,eAA0C,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;IAC7E,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,MAAM,MAAM,GAAG;QACb,eAAe,EAAE;YACf,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,QAAQ;YAChB,gBAAgB,EAAE,SAAS;YAC3B,GAAG,EAAE,WAAW;YAChB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;YACZ,eAAe,EAAE,IAAI;YACrB,iBAAiB,EAAE,IAAI;YACvB,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,IAAI;SACtB;QACD,OAAO,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;KACjC,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/cli/templates.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,kCAAkC;AAClC,mEAAmE;AACnE,oEAAoE;AAIpE,MAAM,CAAC,MAAM,cAAc,GAA4B,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAU,CAAC;AAEtG,MAAM,CAAC,MAAM,aAAa,GAAiC;IACzD,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,SAAS;IACf,UAAU,EAAE,oBAAoB;IAChC,IAAI,EAAE,MAAM;CACb,CAAC;AAOF,MAAM,UAAU,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAmB;IAC3D,MAAM,WAAW,GAAiC;QAChD,GAAG,EAAE,eAAe;QACpB,IAAI,EAAE,qBAAqB;QAC3B,UAAU,EAAE,cAAc;QAC1B,IAAI,EAAE,6CAA6C;KACpD,CAAC;IAEF,MAAM,GAAG,GAA4B;QACnC,IAAI;QACJ,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP,GAAG,EAAE,UAAU;YACf,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC;YAC1B,SAAS,EAAE,cAAc;SAC1B;QACD,YAAY,EAAE;YACZ,YAAY,EAAE,QAAQ;YACtB,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,SAAS;SACvB;QACD,eAAe,EAAE;YACf,cAAc,EAAE,SAAS;YACzB,kBAAkB,EAAE,SAAS;YAC7B,UAAU,EAAE,QAAQ;YACpB,IAAI,EAAE,QAAQ;SACf;KACF,CAAC;IAEF,2DAA2D;IAC3D,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACrB,GAAG,CAAC,eAA0C,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;IAC7E,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,MAAM,MAAM,GAAG;QACb,eAAe,EAAE;YACf,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,QAAQ;YAChB,gBAAgB,EAAE,SAAS;YAC3B,GAAG,EAAE,WAAW;YAChB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;YACZ,eAAe,EAAE,IAAI;YACrB,iBAAiB,EAAE,IAAI;YACvB,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,IAAI;SACtB;QACD,OAAO,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;KACjC,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO;;;;;;CAMR,CAAC;AACF,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,MAAM,QAAQ,GAAG;QACf,MAAM,EAAE;YACN,GAAG,EAAE,EAAE,QAAQ,EAAE,uBAAuB,EAAE;SAC3C;QACD,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,EAAE;KAClB,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;AAClD,CAAC;AAED,mEAAmE;AAEnE,MAAM,eAAe,GAAG;;;;CAIvB,CAAC;AAEF,MAAM,eAAe,GAAiC;IACpD,GAAG,EAAE;;;;;;;CAON;IACC,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;CAsBP;IACC,UAAU,EAAE;;CAEb;IACC,IAAI,EAAE;;;;CAIP;CACA,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,MAAoB;IAC9C,OAAO,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO;;;;;;;;;;;;CAYR,CAAC;AACF,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO;;;;;;;;;;;;;;CAcR,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Discovered route entry with optional layout chain.
|
|
3
|
+
* @internal
|
|
4
|
+
*/
|
|
5
|
+
export interface DiscoveredRoute {
|
|
6
|
+
moduleId: string;
|
|
7
|
+
layouts?: string[];
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Recursively discover routes from the `app/routes/` directory.
|
|
11
|
+
*
|
|
12
|
+
* Detects `layout.tsx` files and builds a layout chain for each route.
|
|
13
|
+
* Layout chains are ordered root → leaf (outermost first).
|
|
14
|
+
*
|
|
15
|
+
* @param projectRoot - Absolute path to the project root (Vite's `config.root`).
|
|
16
|
+
* @returns A route map with layout chains, or `null` if `app/routes/` doesn't exist.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* const routes = _discoverRoutes('/Users/me/my-app');
|
|
21
|
+
* // → { '/': { moduleId: './app/routes/home.tsx', layouts: ['./app/routes/layout.tsx'] } }
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* @internal
|
|
25
|
+
*/
|
|
26
|
+
export declare function _discoverRoutes(projectRoot: string): Record<string, DiscoveredRoute> | null;
|
|
27
|
+
/**
|
|
28
|
+
* Convert a file path (relative to routes/) into a URL pattern.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```ts
|
|
32
|
+
* _fileToPattern('home.tsx') // → '/'
|
|
33
|
+
* _fileToPattern('index.tsx') // → '/'
|
|
34
|
+
* _fileToPattern('about.tsx') // → '/about'
|
|
35
|
+
* _fileToPattern('product.[id].tsx') // → '/product/:id'
|
|
36
|
+
* _fileToPattern('blog/index.tsx') // → '/blog'
|
|
37
|
+
* _fileToPattern('blog/[slug].tsx') // → '/blog/:slug'
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* @internal
|
|
41
|
+
*/
|
|
42
|
+
export declare function _fileToPattern(relPath: string): string;
|
|
43
|
+
//# sourceMappingURL=discover.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../src/compiler/discover.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAoBD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,GAClB,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,IAAI,CAkBxC;AA8GD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAetD"}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
// ─────────────────────────────────────────────────────────────────
|
|
2
|
+
// @cmj/juice — File-System Route Discovery
|
|
3
|
+
//
|
|
4
|
+
// Scans `app/routes/` and builds a route map using filename conventions:
|
|
5
|
+
// home.tsx or index.tsx → /
|
|
6
|
+
// about.tsx → /about
|
|
7
|
+
// product.[id].tsx → /product/:id
|
|
8
|
+
// blog/index.tsx → /blog
|
|
9
|
+
// blog/[slug].tsx → /blog/:slug
|
|
10
|
+
// layout.tsx → wraps sibling routes (not a route)
|
|
11
|
+
//
|
|
12
|
+
// This module is pure — no side effects, deterministic output.
|
|
13
|
+
// ─────────────────────────────────────────────────────────────────
|
|
14
|
+
import { readdirSync, statSync, existsSync } from 'node:fs';
|
|
15
|
+
import { join, relative, extname, dirname } from 'node:path';
|
|
16
|
+
/**
|
|
17
|
+
* Route extensions we recognize as valid route modules.
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
const ROUTE_EXTENSIONS = new Set(['.tsx', '.ts', '.jsx', '.js']);
|
|
21
|
+
/**
|
|
22
|
+
* Files/directories to ignore during discovery.
|
|
23
|
+
* @internal
|
|
24
|
+
*/
|
|
25
|
+
const IGNORED = new Set(['__tests__', '__test__', '_', '.']);
|
|
26
|
+
/**
|
|
27
|
+
* Basename (without extension) that signals a layout wrapper.
|
|
28
|
+
* @internal
|
|
29
|
+
*/
|
|
30
|
+
const LAYOUT_BASENAME = 'layout';
|
|
31
|
+
/**
|
|
32
|
+
* Recursively discover routes from the `app/routes/` directory.
|
|
33
|
+
*
|
|
34
|
+
* Detects `layout.tsx` files and builds a layout chain for each route.
|
|
35
|
+
* Layout chains are ordered root → leaf (outermost first).
|
|
36
|
+
*
|
|
37
|
+
* @param projectRoot - Absolute path to the project root (Vite's `config.root`).
|
|
38
|
+
* @returns A route map with layout chains, or `null` if `app/routes/` doesn't exist.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```ts
|
|
42
|
+
* const routes = _discoverRoutes('/Users/me/my-app');
|
|
43
|
+
* // → { '/': { moduleId: './app/routes/home.tsx', layouts: ['./app/routes/layout.tsx'] } }
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* @internal
|
|
47
|
+
*/
|
|
48
|
+
export function _discoverRoutes(projectRoot) {
|
|
49
|
+
const routesDir = join(projectRoot, 'app', 'routes');
|
|
50
|
+
try {
|
|
51
|
+
const stat = statSync(routesDir);
|
|
52
|
+
if (!stat.isDirectory())
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
const routes = {};
|
|
59
|
+
_scanDir(routesDir, routesDir, routes);
|
|
60
|
+
// Now resolve layout chains for each route
|
|
61
|
+
_resolveLayouts(routesDir, routes);
|
|
62
|
+
return Object.keys(routes).length > 0 ? routes : null;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Recursively scan a directory for route files.
|
|
66
|
+
* Layout files are skipped as routes — they're detected separately.
|
|
67
|
+
* @internal
|
|
68
|
+
*/
|
|
69
|
+
function _scanDir(dir, routesRoot, routes) {
|
|
70
|
+
const entries = readdirSync(dir, { withFileTypes: true });
|
|
71
|
+
for (const entry of entries) {
|
|
72
|
+
if (IGNORED.has(entry.name[0]))
|
|
73
|
+
continue;
|
|
74
|
+
if (entry.name.startsWith('__'))
|
|
75
|
+
continue;
|
|
76
|
+
const fullPath = join(dir, entry.name);
|
|
77
|
+
if (entry.isDirectory()) {
|
|
78
|
+
_scanDir(fullPath, routesRoot, routes);
|
|
79
|
+
}
|
|
80
|
+
else if (entry.isFile()) {
|
|
81
|
+
const ext = extname(entry.name);
|
|
82
|
+
if (!ROUTE_EXTENSIONS.has(ext))
|
|
83
|
+
continue;
|
|
84
|
+
// Skip layout files — they're not routes
|
|
85
|
+
const basename = entry.name.replace(/\.[jt]sx?$/, '');
|
|
86
|
+
if (basename === LAYOUT_BASENAME)
|
|
87
|
+
continue;
|
|
88
|
+
const relPath = relative(routesRoot, fullPath);
|
|
89
|
+
const urlPattern = _fileToPattern(relPath);
|
|
90
|
+
const moduleId = './' + join('app', 'routes', relPath).replace(/\\/g, '/');
|
|
91
|
+
routes[urlPattern] = { moduleId };
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Resolve layout chains for all discovered routes.
|
|
97
|
+
*
|
|
98
|
+
* For each route, walks from its directory up to routesRoot,
|
|
99
|
+
* collecting any `layout.tsx` files found. The result is ordered
|
|
100
|
+
* root → leaf (outermost layout first).
|
|
101
|
+
*
|
|
102
|
+
* @internal
|
|
103
|
+
*/
|
|
104
|
+
function _resolveLayouts(routesRoot, routes) {
|
|
105
|
+
for (const [, entry] of Object.entries(routes)) {
|
|
106
|
+
// Resolve moduleId to absolute path to find its directory
|
|
107
|
+
// moduleId is like './app/routes/blog/[slug].tsx'
|
|
108
|
+
// We need the directory relative to routesRoot
|
|
109
|
+
const moduleRelative = entry.moduleId.replace(/^\.\/app\/routes\//, '');
|
|
110
|
+
const moduleDir = dirname(moduleRelative);
|
|
111
|
+
const absModuleDir = moduleDir === '.'
|
|
112
|
+
? routesRoot
|
|
113
|
+
: join(routesRoot, moduleDir);
|
|
114
|
+
const layouts = _collectLayouts(routesRoot, absModuleDir);
|
|
115
|
+
if (layouts.length > 0) {
|
|
116
|
+
entry.layouts = layouts;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Collect layout files from a directory up to routesRoot.
|
|
122
|
+
* Returns moduleIds ordered root → leaf.
|
|
123
|
+
* @internal
|
|
124
|
+
*/
|
|
125
|
+
function _collectLayouts(routesRoot, dir) {
|
|
126
|
+
const layouts = [];
|
|
127
|
+
let current = dir;
|
|
128
|
+
for (;;) {
|
|
129
|
+
// Check for layout file in this directory
|
|
130
|
+
const layoutFile = _findLayoutFile(current);
|
|
131
|
+
if (layoutFile) {
|
|
132
|
+
const relPath = relative(join(routesRoot, '..', '..'), layoutFile);
|
|
133
|
+
layouts.unshift('./' + relPath.replace(/\\/g, '/'));
|
|
134
|
+
}
|
|
135
|
+
// Stop at routesRoot
|
|
136
|
+
if (current === routesRoot)
|
|
137
|
+
break;
|
|
138
|
+
// Move up one directory
|
|
139
|
+
const parent = dirname(current);
|
|
140
|
+
if (parent === current)
|
|
141
|
+
break; // filesystem root
|
|
142
|
+
current = parent;
|
|
143
|
+
}
|
|
144
|
+
return layouts;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Find a layout file in a directory (checks all valid extensions).
|
|
148
|
+
* @internal
|
|
149
|
+
*/
|
|
150
|
+
function _findLayoutFile(dir) {
|
|
151
|
+
for (const ext of ROUTE_EXTENSIONS) {
|
|
152
|
+
const candidate = join(dir, `layout${ext}`);
|
|
153
|
+
if (existsSync(candidate))
|
|
154
|
+
return candidate;
|
|
155
|
+
}
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Convert a file path (relative to routes/) into a URL pattern.
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* ```ts
|
|
163
|
+
* _fileToPattern('home.tsx') // → '/'
|
|
164
|
+
* _fileToPattern('index.tsx') // → '/'
|
|
165
|
+
* _fileToPattern('about.tsx') // → '/about'
|
|
166
|
+
* _fileToPattern('product.[id].tsx') // → '/product/:id'
|
|
167
|
+
* _fileToPattern('blog/index.tsx') // → '/blog'
|
|
168
|
+
* _fileToPattern('blog/[slug].tsx') // → '/blog/:slug'
|
|
169
|
+
* ```
|
|
170
|
+
*
|
|
171
|
+
* @internal
|
|
172
|
+
*/
|
|
173
|
+
export function _fileToPattern(relPath) {
|
|
174
|
+
let route = relPath.replace(/\.[jt]sx?$/, '');
|
|
175
|
+
route = route.replace(/\\/g, '/');
|
|
176
|
+
route = route.replace(/\[([^\]]+)\]/g, ':$1');
|
|
177
|
+
route = route.replace(/\.:/g, '/:');
|
|
178
|
+
if (route === 'index' || route === 'home') {
|
|
179
|
+
return '/';
|
|
180
|
+
}
|
|
181
|
+
if (route.endsWith('/index') || route.endsWith('/home')) {
|
|
182
|
+
route = route.replace(/\/(index|home)$/, '');
|
|
183
|
+
}
|
|
184
|
+
return '/' + route;
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=discover.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discover.js","sourceRoot":"","sources":["../../src/compiler/discover.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/compiler/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/compiler/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAyBrD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,GAAG,CAoW/D"}
|
package/dist/compiler/plugin.js
CHANGED
|
@@ -30,6 +30,7 @@ import { _generateServerActionProxy } from './server-actions.js';
|
|
|
30
30
|
import { _buildManifest, _serializeManifest } from './manifest.js';
|
|
31
31
|
import { ClientModuleRegistry } from './registry.js';
|
|
32
32
|
import { ServerActionRegistry } from './server-action-registry.js';
|
|
33
|
+
import { _discoverRoutes } from './discover.js';
|
|
33
34
|
/**
|
|
34
35
|
* Virtual module prefix used to serve proxy modules for `'use client'`
|
|
35
36
|
* components during the server build.
|
|
@@ -87,7 +88,7 @@ export default function juice(options) {
|
|
|
87
88
|
}
|
|
88
89
|
}
|
|
89
90
|
const manifestFileName = options?.manifestFileName ?? 'flight-manifest.json';
|
|
90
|
-
|
|
91
|
+
let routes = options?.routes;
|
|
91
92
|
const clientRegistry = new ClientModuleRegistry();
|
|
92
93
|
const serverRegistry = new ServerActionRegistry();
|
|
93
94
|
let config;
|
|
@@ -102,6 +103,13 @@ export default function juice(options) {
|
|
|
102
103
|
config = resolvedConfig;
|
|
103
104
|
// Detect SSR mode from Vite's build config
|
|
104
105
|
isSSR = !!resolvedConfig.build.ssr;
|
|
106
|
+
// Auto-discover routes from app/routes/ if not explicitly provided
|
|
107
|
+
if (!routes) {
|
|
108
|
+
const discovered = _discoverRoutes(config.root);
|
|
109
|
+
if (discovered) {
|
|
110
|
+
routes = discovered;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
105
113
|
},
|
|
106
114
|
// ------------------------------------------------------------------
|
|
107
115
|
// Dev server — SSR middleware for `vite dev` with HMR
|
|
@@ -122,6 +130,8 @@ export default function juice(options) {
|
|
|
122
130
|
return next();
|
|
123
131
|
}
|
|
124
132
|
// Match against configured routes (exact match for v1)
|
|
133
|
+
if (!routes)
|
|
134
|
+
return next();
|
|
125
135
|
const routeEntries = Object.entries(routes);
|
|
126
136
|
let matchedModuleId = null;
|
|
127
137
|
for (const [pattern, entry] of routeEntries) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/compiler/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/compiler/plugin.ts"],"names":[],"mappings":"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"}
|
package/dist/compiler/types.d.ts
CHANGED
|
@@ -31,8 +31,8 @@ export interface JuicePluginOptions {
|
|
|
31
31
|
* Route map: URL patterns → server component modules.
|
|
32
32
|
*
|
|
33
33
|
* @remarks
|
|
34
|
-
*
|
|
35
|
-
*
|
|
34
|
+
* Routes are auto-discovered from `app/routes/` by default.
|
|
35
|
+
* Explicit routes override auto-discovery entirely.
|
|
36
36
|
*
|
|
37
37
|
* @example
|
|
38
38
|
* ```ts
|
|
@@ -47,6 +47,7 @@ export interface JuicePluginOptions {
|
|
|
47
47
|
readonly routes?: Readonly<Record<string, {
|
|
48
48
|
moduleId: string;
|
|
49
49
|
exportName?: string;
|
|
50
|
+
layouts?: string[];
|
|
50
51
|
}>>;
|
|
51
52
|
}
|
|
52
53
|
/**
|
|
@@ -144,6 +145,10 @@ export interface ManifestRouteEntry {
|
|
|
144
145
|
* @default 'default'
|
|
145
146
|
*/
|
|
146
147
|
readonly exportName?: string;
|
|
148
|
+
/**
|
|
149
|
+
* Layout module IDs to wrap this route, ordered root → leaf.
|
|
150
|
+
*/
|
|
151
|
+
readonly layouts?: readonly string[];
|
|
147
152
|
}
|
|
148
153
|
/**
|
|
149
154
|
* The complete Flight manifest schema emitted as `flight-manifest.json`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/compiler/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAEnC;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/compiler/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/runtime/render.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,cAAc,EAEd,aAAa,EACb,WAAW,EACZ,MAAM,YAAY,CAAC;AA2BpB;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,GAAG,aAAa,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACnJ,OAAO,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/runtime/render.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,cAAc,EAEd,aAAa,EACb,WAAW,EACZ,MAAM,YAAY,CAAC;AA2BpB;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,GAAG,aAAa,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACnJ,OAAO,CAAC,QAAQ,CAAC,CAmJnB"}
|
package/dist/runtime/render.js
CHANGED
|
@@ -73,7 +73,23 @@ export async function _renderPipeline(req, match, manifest, options) {
|
|
|
73
73
|
const url = new URL(req.url);
|
|
74
74
|
const searchParams = Object.fromEntries(url.searchParams.entries());
|
|
75
75
|
// ── 3. Create the React element ──────────────────────────────
|
|
76
|
-
|
|
76
|
+
let element = createElement(Component, { params, searchParams });
|
|
77
|
+
// ── 3b. Wrap in layout chain (root → leaf) ───────────────────
|
|
78
|
+
if (entry.layouts && entry.layouts.length > 0) {
|
|
79
|
+
// Layouts are ordered root → leaf. We wrap innermost-first,
|
|
80
|
+
// so iterate in reverse: leaf wraps page, then parent wraps that, etc.
|
|
81
|
+
for (let i = entry.layouts.length - 1; i >= 0; i--) {
|
|
82
|
+
let layoutPath = _resolveModulePath(entry.layouts[i], options.root);
|
|
83
|
+
if (options.isDev) {
|
|
84
|
+
layoutPath = _bustModuleCache(layoutPath);
|
|
85
|
+
}
|
|
86
|
+
const layoutMod = await import(layoutPath);
|
|
87
|
+
const Layout = layoutMod.default;
|
|
88
|
+
if (typeof Layout === 'function') {
|
|
89
|
+
element = createElement(Layout, { request: req }, element);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
77
93
|
// ── 4. Stream with AbortController ───────────────────────────
|
|
78
94
|
const abortController = new AbortController();
|
|
79
95
|
// Track thrown Response objects from React's onError callback.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/runtime/render.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,6DAA6D;AAC7D,+DAA+D;AAC/D,uEAAuE;AAEvE,OAAO,EAAE,aAAa,EAAsB,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAQ1D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAEhG;;;;;;GAMG;AACH,SAAS,mBAAmB,CAC1B,QAAwB,EACxB,cAAsB,GAAG;IAEzB,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC;IAC3E,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACxD,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAC/B,wDAAwD;YACxD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,KAAK,EAAE,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,GAAY,EACZ,KAAkB,EAClB,QAAwB,EACxB,OAAoJ;IAEpJ,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAEhC,gEAAgE;IAChE,IAAI,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,UAAU,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,GAA4B,CAAC;IACjC,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,IAAI,eAAe,CACvB,KAAK,CAAC,QAAQ,EACd,UAAU,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG;YACpC,CAAC,OAAO,CAAC,IAAI;gBACX,CAAC,CAAC,kBAAkB,UAAU,gBAAgB,OAAO,CAAC,IAAI,IAAI;gBAC9D,CAAC,CAAC,wEAAwE,CAAC,EAC/E,KAAK,CACN,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,SAAS,CAAC;IACjD,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;IAElC,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CACb,iCAAiC,KAAK,CAAC,QAAQ,oBAAoB;YACjE,yBAAyB,UAAU,KAAK;YACxC,8DAA8D;YAC9D,2EAA2E,CAC9E,CAAC;IACJ,CAAC;IAED,gEAAgE;IAChE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;IAEpE,gEAAgE;IAChE,
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/runtime/render.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,6DAA6D;AAC7D,+DAA+D;AAC/D,uEAAuE;AAEvE,OAAO,EAAE,aAAa,EAAsB,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAQ1D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAEhG;;;;;;GAMG;AACH,SAAS,mBAAmB,CAC1B,QAAwB,EACxB,cAAsB,GAAG;IAEzB,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC;IAC3E,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACxD,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAC/B,wDAAwD;YACxD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,KAAK,EAAE,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,GAAY,EACZ,KAAkB,EAClB,QAAwB,EACxB,OAAoJ;IAEpJ,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAEhC,gEAAgE;IAChE,IAAI,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,UAAU,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,GAA4B,CAAC;IACjC,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,IAAI,eAAe,CACvB,KAAK,CAAC,QAAQ,EACd,UAAU,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG;YACpC,CAAC,OAAO,CAAC,IAAI;gBACX,CAAC,CAAC,kBAAkB,UAAU,gBAAgB,OAAO,CAAC,IAAI,IAAI;gBAC9D,CAAC,CAAC,wEAAwE,CAAC,EAC/E,KAAK,CACN,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,SAAS,CAAC;IACjD,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;IAElC,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CACb,iCAAiC,KAAK,CAAC,QAAQ,oBAAoB;YACjE,yBAAyB,UAAU,KAAK;YACxC,8DAA8D;YAC9D,2EAA2E,CAC9E,CAAC;IACJ,CAAC;IAED,gEAAgE;IAChE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;IAEpE,gEAAgE;IAChE,IAAI,OAAO,GAAqC,aAAa,CAC3D,SAA8G,EAC9G,EAAE,MAAM,EAAE,YAAY,EAAE,CACzB,CAAC;IAEF,gEAAgE;IAChE,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,4DAA4D;QAC5D,uEAAuE;QACvE,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,IAAI,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACrE,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,UAAU,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAC5C,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;YACjC,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;gBACjC,OAAO,GAAG,aAAa,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;IACH,CAAC;IAED,gEAAgE;IAChE,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAE9C,+DAA+D;IAC/D,mEAAmE;IACnE,2DAA2D;IAC3D,IAAI,cAAc,GAAoB,IAAI,CAAC;IAE3C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE;YACnD,MAAM,EAAE,eAAe,CAAC,MAAM;YAC9B,gBAAgB,EAAE;gBAChB,kDAAkD;gBAClD,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,iDAAiD;gBACjD,GAAG,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC;gBACrD,2BAA2B;gBAC3B,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7D;YACD,OAAO,CAAC,KAAc;gBACpB,gDAAgD;gBAChD,mDAAmD;gBACnD,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;oBAC9B,cAAc,GAAG,KAAK,CAAC;oBACvB,eAAe,CAAC,KAAK,EAAE,CAAC;oBACxB,OAAO;gBACT,CAAC;gBAED,iEAAiE;gBACjE,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;YAC1C,CAAC;SACF,CAAC,CAAC;QAEH,gEAAgE;QAChE,6DAA6D;QAC7D,mEAAmE;QACnE,EAAE;QACF,kEAAkE;QAClE,6DAA6D;QAC7D,6DAA6D;QAC7D,8BAA8B;QAC9B,MAAM,MAAM,CAAC,QAAQ,CAAC;QAEtB,kEAAkE;QAClE,gEAAgE;QAChE,uCAAuC;QACvC,IAAI,cAAc,EAAE,CAAC;YACnB,eAAe,CAAC,KAAK,EAAE,CAAC;YACxB,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE;YAC1B,MAAM,EAAE,GAAG;YACX,OAAO,EAAE;gBACP,cAAc,EAAE,0BAA0B;aAC3C;SACF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,MAAe,EAAE,CAAC;QACzB,+DAA+D;QAC/D,IAAI,MAAM,YAAY,QAAQ,EAAE,CAAC;YAC/B,eAAe,CAAC,KAAK,EAAE,CAAC;YACxB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,8DAA8D;QAC9D,IAAI,cAAc,EAAE,CAAC;YACnB,eAAe,CAAC,KAAK,EAAE,CAAC;YACxB,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,8DAA8D;QAC9D,eAAe,CAAC,KAAK,EAAE,CAAC;QAExB,sCAAsC;QACtC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,IAAI,QAAQ,CACjB,wBAAwB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,KAAK,CAAC,QAAQ,GAAG,CAAC,EAClE;gBACE,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,EAAE,cAAc,EAAE,0BAA0B,EAAE;aACxD,CACF,CAAC;QACJ,CAAC;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;AACH,CAAC"}
|
package/dist/runtime/types.d.ts
CHANGED
|
@@ -9,6 +9,11 @@ export interface RouteEntry {
|
|
|
9
9
|
* @default 'default'
|
|
10
10
|
*/
|
|
11
11
|
readonly exportName?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Layout module IDs to wrap this route, ordered root → leaf.
|
|
14
|
+
* Each layout receives `{ children, request }` props.
|
|
15
|
+
*/
|
|
16
|
+
readonly layouts?: readonly string[];
|
|
12
17
|
}
|
|
13
18
|
/**
|
|
14
19
|
* Resolution info for a client component chunk, used by React Flight
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runtime/types.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runtime/types.ts"],"names":[],"mappings":"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"}
|