fuzor 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/LICENSE +21 -0
- package/README.md +18 -15
- package/dist/cli.js +17 -9
- package/dist/cli.js.map +1 -1
- package/dist/compiler/index.d.ts.map +1 -1
- package/dist/compiler/index.js +27 -3
- package/dist/compiler/index.js.map +1 -1
- package/dist/server/node.d.ts +7 -0
- package/dist/server/node.d.ts.map +1 -0
- package/dist/server/node.js +46 -0
- package/dist/server/node.js.map +1 -0
- package/dist/server.d.ts +15 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +21 -0
- package/dist/server.js.map +1 -0
- package/dist/ssr/node.d.ts +2 -6
- package/dist/ssr/node.d.ts.map +1 -1
- package/dist/ssr/node.js +2 -45
- package/dist/ssr/node.js.map +1 -1
- package/dist/ssr.d.ts +3 -9
- package/dist/ssr.d.ts.map +1 -1
- package/dist/ssr.js +2 -18
- package/dist/ssr.js.map +1 -1
- package/dist/vite.d.ts +2 -0
- package/dist/vite.d.ts.map +1 -1
- package/dist/vite.js +30 -19
- package/dist/vite.js.map +1 -1
- package/package.json +10 -2
- package/templates/basic/README.md +7 -5
- package/templates/basic/package.json +7 -1
- package/templates/basic/pages/index.html +2 -2
- package/templates/basic/pages/layout.html +1 -1
- package/templates/basic/server.mjs +6 -3
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2021-present Ivan Jeremic
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
# Fuzor
|
|
2
2
|
|
|
3
|
-
**One source app.
|
|
3
|
+
**One source app. SPA or MPA. Static or server-backed.** Write your routes, layouts, components, and islands once. Choose SPA or MPA navigation, then choose static files or a generated server. Fuzor's compiler produces each output from the same source tree, with no page rewrites or separate implementations.
|
|
4
4
|
|
|
5
5
|
Fuzor is an early HTML-first framework prototype. Pages can be HTML or Markdown, with interactive islands where needed. The Fuzor CLI selects the build target.
|
|
6
6
|
|
|
7
|
-
|
|
|
7
|
+
| Navigation | Static output | With `--server` |
|
|
8
8
|
| --- | --- | --- |
|
|
9
|
-
| `spa` | One HTML
|
|
10
|
-
| `mpa` |
|
|
11
|
-
| `ssr` | A server entry containing complete, preassembled route documents and client assets | The server looks up the requested route and sends its document |
|
|
9
|
+
| `spa` | One HTML file with compiled route templates, plus ESM and lazy island chunks | One shared, precompiled SPA document served for known routes, plus client assets |
|
|
10
|
+
| `mpa` | One precompiled HTML file per route, plus client assets | Complete precompiled route documents selected and sent by the server |
|
|
12
11
|
|
|
13
|
-
|
|
12
|
+
SPA uses the History API; MPA follows ordinary document links. All four outputs include compiler-rendered island previews when props are known. The generated server selects finished HTML; it does not render or stitch a page on request. The published `ssr` target remains an alias for `mpa --server`. Add `--inline` to a static SPA build to put its JavaScript and CSS into one HTML file for embedded or offline UIs.
|
|
14
13
|
|
|
15
14
|
## Try it locally
|
|
16
15
|
|
|
@@ -19,7 +18,7 @@ This repository contains a [mixed-framework example](./examples/basic) and the [
|
|
|
19
18
|
```bash
|
|
20
19
|
pnpm install
|
|
21
20
|
pnpm build
|
|
22
|
-
pnpm example:dev:
|
|
21
|
+
pnpm example:dev:mpa:server
|
|
23
22
|
```
|
|
24
23
|
|
|
25
24
|
Open the address printed by Vite. On the example homepage, **View Page Source** shows the vanilla, React, Solid, and Vue counter markup before the browser activates the islands. Click the counters to see the client behavior attach to that markup. The same example can run in the other development targets:
|
|
@@ -27,6 +26,7 @@ Open the address printed by Vite. On the example homepage, **View Page Source**
|
|
|
27
26
|
```bash
|
|
28
27
|
pnpm --filter @fuzor/example dev:spa
|
|
29
28
|
pnpm --filter @fuzor/example dev:mpa
|
|
29
|
+
pnpm --filter @fuzor/example dev:spa:server
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
Build each output from those same source files:
|
|
@@ -35,8 +35,9 @@ Build each output from those same source files:
|
|
|
35
35
|
pnpm example:spa # examples/basic/dist-spa/
|
|
36
36
|
pnpm example:spa --inline # single dist-spa/index.html
|
|
37
37
|
pnpm example:mpa # examples/basic/dist-mpa/
|
|
38
|
-
pnpm example:
|
|
39
|
-
pnpm
|
|
38
|
+
pnpm example:spa:server # examples/basic/dist-spa-server/
|
|
39
|
+
pnpm example:mpa:server # examples/basic/dist-mpa-server/
|
|
40
|
+
pnpm --filter @fuzor/example start:mpa:server # serve the MPA build on port 4173
|
|
40
41
|
```
|
|
41
42
|
|
|
42
43
|
Run `pnpm website:dev` for the website, or `pnpm website:build` for its static MPA output. Its homepage is HTML; the `/docs` route tree is Markdown files and folders under [`website/pages/docs/`](./website/pages/docs), with a shared docs layout in [`website/layouts/docs.html`](./website/layouts/docs.html).
|
|
@@ -63,7 +64,7 @@ my-app/
|
|
|
63
64
|
<fuzor-island src="counter" props='{"initial":1}' client:load></fuzor-island>
|
|
64
65
|
```
|
|
65
66
|
|
|
66
|
-
`<fuzor-link>` becomes a real anchor, so links work without JavaScript in
|
|
67
|
+
`<fuzor-link>` becomes a real anchor, so links work without JavaScript in either MPA output. In either SPA output, the router handles navigation and replaces route markup. A vanilla island exports `mount(host, props)` and may return a cleanup function. It can also export `render(props)` to provide initial HTML at build time. `client:load`, `client:idle`, and `client:visible` control when an island activates.
|
|
67
68
|
|
|
68
69
|
React, Solid, and Vue islands in the example render their initial HTML **during compilation**, then hydrate inside separate DOM hosts in the browser. Their frameworks do not own each other's DOM. React and Solid JSX use file-specific Vite plugin filters (`*.react.tsx` and `*.solid.tsx`) so their transforms do not collide; Solid's plugin enables SSR rendering. This is renderer-based build-time output, not static extraction of JSX templates. See the [island architecture and its constraints](./design/islands.md).
|
|
69
70
|
|
|
@@ -82,24 +83,26 @@ pnpm install
|
|
|
82
83
|
pnpm dev
|
|
83
84
|
```
|
|
84
85
|
|
|
85
|
-
The creator can install dependencies for you; if you accept that prompt, the separate `pnpm install` is optional. It generates one source tree with scripts for
|
|
86
|
+
The creator can install dependencies for you; if you accept that prompt, the separate `pnpm install` is optional. It generates one source tree with scripts for both navigation targets and both delivery choices. The `create-fuzor` npm package powers this command.
|
|
86
87
|
|
|
87
88
|
```bash
|
|
88
|
-
fuzor dev --target spa # also mpa
|
|
89
|
+
fuzor dev --target spa # also mpa; accepts --host and --port
|
|
90
|
+
fuzor dev --target mpa --server
|
|
89
91
|
fuzor build --target spa
|
|
90
92
|
fuzor build --target spa --inline
|
|
91
93
|
fuzor build --target mpa
|
|
92
|
-
fuzor build --target
|
|
94
|
+
fuzor build --target spa --server
|
|
95
|
+
fuzor build --target mpa --server
|
|
93
96
|
fuzor create my-app
|
|
94
97
|
```
|
|
95
98
|
|
|
96
|
-
A Vite config can simply add `fuzorPlugin()`. The [starter template](./templates/basic) includes scripts for
|
|
99
|
+
A Vite config can simply add `fuzorPlugin()`. The [starter template](./templates/basic) includes scripts for the four combinations, a Markdown route, and a vanilla island. The `fuzor create my-app` command calls the same creator if Fuzor is already installed. The old `fuzor build --target ssr` command still builds `dist-ssr/` for compatibility. Deployment adapters and `fuzor deploy` are not implemented.
|
|
97
100
|
|
|
98
101
|
## Current boundaries
|
|
99
102
|
|
|
100
103
|
Fuzor currently compiles **known, static folder routes**. Dynamic URL parameters, request-time page data, forms, per-page revalidation, and request-time rendering are future work. Build-time island previews require known JSON props and a compatible renderer; other islands begin with an empty host. Arbitrary asynchronous content cannot yet promise a layout-shift-free placeholder. Multiple versions of one UI framework in a single build are not guaranteed; additional JSX systems need their own tested adapters.
|
|
101
104
|
|
|
102
|
-
|
|
105
|
+
Both SPA outputs carry every route's HTML in the shared document, so it grows with the route tree, even though island code loads lazily. A static SPA needs a hosting fallback to `index.html` for deep links; the generated SPA server provides that behavior. The inline build requires assets it can embed and is available only without `--server`.
|
|
103
106
|
|
|
104
107
|
```bash
|
|
105
108
|
pnpm test
|
package/dist/cli.js
CHANGED
|
@@ -5,25 +5,28 @@ import * as prompts from "@clack/prompts";
|
|
|
5
5
|
import colors from "picocolors";
|
|
6
6
|
import { createCommand } from "./create.js";
|
|
7
7
|
const packageJson = JSON.parse(await readFile(new URL("../package.json", import.meta.url), "utf8"));
|
|
8
|
-
const targetArg = () => ({ type: "enum", options: ["spa", "mpa", "ssr"], default: "spa", description: "
|
|
9
|
-
function selectTarget(target, inline = false) {
|
|
8
|
+
const targetArg = () => ({ type: "enum", options: ["spa", "mpa", "ssr"], default: "spa", description: "Navigation target (ssr is a legacy alias for mpa --server)" });
|
|
9
|
+
function selectTarget(target, server = false, inline = false) {
|
|
10
10
|
process.env.FUZOR_TARGET = target;
|
|
11
|
+
process.env.FUZOR_SERVER = server || target === "ssr" ? "1" : "0";
|
|
11
12
|
process.env.FUZOR_INLINE = inline ? "1" : "0";
|
|
12
13
|
}
|
|
13
14
|
const dev = defineCommand({
|
|
14
15
|
meta: { name: "dev", description: "Start Vite with a Fuzor profile" },
|
|
15
16
|
args: {
|
|
16
17
|
target: targetArg(),
|
|
18
|
+
server: { type: "boolean", description: "Serve the compiled app with a generated server" },
|
|
17
19
|
host: { type: "string", description: "Host to listen on" },
|
|
18
20
|
port: { type: "string", description: "Port to listen on" }
|
|
19
21
|
},
|
|
20
22
|
async run({ args }) {
|
|
21
23
|
const target = (args.target ?? "spa");
|
|
22
|
-
|
|
24
|
+
const withServer = Boolean(args.server || target === "ssr");
|
|
25
|
+
selectTarget(target, withServer);
|
|
23
26
|
const port = args.port === undefined ? undefined : Number(args.port);
|
|
24
27
|
if (port !== undefined && (!Number.isInteger(port) || port < 1 || port > 65535))
|
|
25
28
|
throw new Error("--port must be between 1 and 65535.");
|
|
26
|
-
prompts.intro(colors.cyan(colors.bold(`◉ Fuzor ${target.toUpperCase()}`)));
|
|
29
|
+
prompts.intro(colors.cyan(colors.bold(`◉ Fuzor ${target === "ssr" ? "MPA" : target.toUpperCase()}${withServer ? " + Server" : ""}`)));
|
|
27
30
|
const spin = process.stdout.isTTY ? prompts.spinner() : undefined;
|
|
28
31
|
if (spin)
|
|
29
32
|
spin.start("Starting development server");
|
|
@@ -59,20 +62,25 @@ const buildCommand = defineCommand({
|
|
|
59
62
|
meta: { name: "build", description: "Build a Fuzor profile with Vite" },
|
|
60
63
|
args: {
|
|
61
64
|
target: targetArg(),
|
|
65
|
+
server: { type: "boolean", description: "Emit a server bundle for the selected target" },
|
|
62
66
|
inline: { type: "boolean", description: "Inline SPA JavaScript and CSS into one HTML file" }
|
|
63
67
|
},
|
|
64
68
|
async run({ args }) {
|
|
65
69
|
const target = (args.target ?? "spa");
|
|
70
|
+
const withServer = Boolean(args.server || target === "ssr");
|
|
66
71
|
if (args.inline && target !== "spa")
|
|
67
72
|
throw new Error("--inline is only supported for the SPA target.");
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
73
|
+
if (args.inline && withServer)
|
|
74
|
+
throw new Error("--inline cannot be combined with --server.");
|
|
75
|
+
selectTarget(target, withServer, args.inline);
|
|
76
|
+
const outDir = withServer ? (target === "ssr" ? "dist-ssr/client" : `dist-${target}-server/client`) : `dist-${target}`;
|
|
77
|
+
const label = `${target === "ssr" ? "MPA" : target.toUpperCase()}${withServer ? " + Server" : ""}`;
|
|
78
|
+
prompts.intro(colors.cyan(colors.bold(`◉ Fuzor ${label}`)));
|
|
71
79
|
const spin = process.stdout.isTTY ? prompts.spinner() : undefined;
|
|
72
80
|
if (spin)
|
|
73
|
-
spin.start(args.inline ? "Building inline SPA" : `Building ${
|
|
81
|
+
spin.start(args.inline ? "Building inline SPA" : `Building ${label}`);
|
|
74
82
|
else
|
|
75
|
-
console.log(args.inline ? "Building inline SPA..." : `Building ${
|
|
83
|
+
console.log(args.inline ? "Building inline SPA..." : `Building ${label}...`);
|
|
76
84
|
try {
|
|
77
85
|
const { build } = await import("vite");
|
|
78
86
|
await build({ build: { outDir }, logLevel: "error" });
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,MAAM,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAwB,CAAC;AAC3H,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compiler/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAKhD,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC,CAAC;AAIF,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,mBAAmB;CACjC;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACtE,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,aAAa,CAAC,CAAC;IAChF,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACrE,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;CAC1E,CAAC;AAEF,eAAO,MAAM,kBAAkB,mEAAsE,CAAC;AAKtG,eAAO,MAAM,sBAAsB,oDAWC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compiler/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAKhD,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC,CAAC;AAIF,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,mBAAmB;CACjC;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACtE,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,aAAa,CAAC,CAAC;IAChF,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACrE,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;CAC1E,CAAC;AAEF,eAAO,MAAM,kBAAkB,mEAAsE,CAAC;AAKtG,eAAO,MAAM,sBAAsB,oDAWC,CAAC;AAuErC,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM;;;2CAiFhD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAErE"}
|
package/dist/compiler/index.js
CHANGED
|
@@ -73,9 +73,33 @@ function expandComponents(html, components, stack = []) {
|
|
|
73
73
|
return html;
|
|
74
74
|
}
|
|
75
75
|
function compileLinks(html) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
76
|
+
const fragment = parseFragment(html, { sourceCodeLocationInfo: true });
|
|
77
|
+
const replacements = [];
|
|
78
|
+
const visit = (node) => {
|
|
79
|
+
if (!("tagName" in node))
|
|
80
|
+
return;
|
|
81
|
+
if (node.tagName === "fuzor-link") {
|
|
82
|
+
const location = node.sourceCodeLocation;
|
|
83
|
+
if (!location?.startTag || !location.endTag)
|
|
84
|
+
throw new Error("<fuzor-link> must have a closing tag.");
|
|
85
|
+
const opening = html.slice(location.startTag.startOffset, location.startTag.endOffset)
|
|
86
|
+
.replace(/^<fuzor-link\b/i, "<a data-fuzor-link");
|
|
87
|
+
replacements.push({ start: location.startTag.startOffset, end: location.startTag.endOffset, value: opening });
|
|
88
|
+
replacements.push({ start: location.endTag.startOffset, end: location.endTag.endOffset, value: "</a>" });
|
|
89
|
+
}
|
|
90
|
+
for (const child of node.childNodes)
|
|
91
|
+
visit(child);
|
|
92
|
+
if (node.tagName === "template") {
|
|
93
|
+
for (const child of node.content.childNodes)
|
|
94
|
+
visit(child);
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
for (const node of fragment.childNodes)
|
|
98
|
+
visit(node);
|
|
99
|
+
for (const replacement of replacements.sort((a, b) => b.start - a.start)) {
|
|
100
|
+
html = html.slice(0, replacement.start) + replacement.value + html.slice(replacement.end);
|
|
101
|
+
}
|
|
102
|
+
return html;
|
|
79
103
|
}
|
|
80
104
|
export function compileProjectEffect(root) {
|
|
81
105
|
return Effect.gen(function* () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/compiler/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/compiler/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type Server } from "node:http";
|
|
2
|
+
/** Node adapter for a compiled Fuzor server entry and its Vite client assets. */
|
|
3
|
+
export declare function createNodeServer(options: {
|
|
4
|
+
readonly handler: (request: Request) => Promise<Response>;
|
|
5
|
+
readonly assetsDir: string;
|
|
6
|
+
}): Server;
|
|
7
|
+
//# sourceMappingURL=node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/server/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAStD,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE;IACxC,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,GAAG,MAAM,CAiCT"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { createServer } from "node:http";
|
|
2
|
+
import { readFile } from "node:fs/promises";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
const types = {
|
|
5
|
+
".js": "text/javascript", ".css": "text/css", ".svg": "image/svg+xml",
|
|
6
|
+
".png": "image/png", ".jpg": "image/jpeg", ".webp": "image/webp", ".ico": "image/x-icon"
|
|
7
|
+
};
|
|
8
|
+
/** Node adapter for a compiled Fuzor server entry and its Vite client assets. */
|
|
9
|
+
export function createNodeServer(options) {
|
|
10
|
+
const assetsRoot = path.resolve(options.assetsDir);
|
|
11
|
+
return createServer(async (request, response) => {
|
|
12
|
+
try {
|
|
13
|
+
const url = new URL(request.url ?? "/", "http://fuzor.local");
|
|
14
|
+
if (url.pathname.startsWith("/assets/")) {
|
|
15
|
+
if (request.method !== "GET" && request.method !== "HEAD") {
|
|
16
|
+
response.writeHead(405, { allow: "GET, HEAD" }).end();
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const file = path.resolve(assetsRoot, `.${url.pathname}`);
|
|
20
|
+
if (!file.startsWith(assetsRoot + path.sep)) {
|
|
21
|
+
response.writeHead(403).end();
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
try {
|
|
25
|
+
const body = await readFile(file);
|
|
26
|
+
response.writeHead(200, { "content-type": types[path.extname(file)] ?? "application/octet-stream" });
|
|
27
|
+
response.end(request.method === "HEAD" ? undefined : body);
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
if (error.code !== "ENOENT")
|
|
31
|
+
throw error;
|
|
32
|
+
response.writeHead(404).end();
|
|
33
|
+
}
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const result = await options.handler(new Request(url, { method: request.method ?? "GET" }));
|
|
37
|
+
response.writeHead(result.status, Object.fromEntries(result.headers));
|
|
38
|
+
response.end(request.method === "HEAD" ? undefined : Buffer.from(await result.arrayBuffer()));
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
response.writeHead(500, { "content-type": "text/plain; charset=utf-8" });
|
|
42
|
+
response.end(`Fuzor server error: ${String(error)}`);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/server/node.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
export type ServerManifest = {
|
|
3
|
+
/** Complete MPA documents, assembled at build time. */
|
|
4
|
+
readonly documents: Readonly<Record<string, string>>;
|
|
5
|
+
readonly notFoundDocument: string;
|
|
6
|
+
} | {
|
|
7
|
+
/** One compiled SPA document shared by all known routes. */
|
|
8
|
+
readonly document: string;
|
|
9
|
+
readonly routes: Readonly<Record<string, true>>;
|
|
10
|
+
readonly notFoundDocument: string;
|
|
11
|
+
};
|
|
12
|
+
export declare function renderServerEffect(manifest: ServerManifest, request: Request): Effect.Effect<Response, never, never>;
|
|
13
|
+
/** Selects a complete compiled document; it never renders or stitches HTML per request. */
|
|
14
|
+
export declare function createServerHandler(manifest: ServerManifest): (request: Request) => Promise<Response>;
|
|
15
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,MAAM,cAAc,GAAG;IAC3B,uDAAuD;IACvD,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC,GAAG;IACF,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAChD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,yCAc5E;AAED,2FAA2F;AAC3F,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAErG"}
|
package/dist/server.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
export function renderServerEffect(manifest, request) {
|
|
3
|
+
return Effect.gen(function* () {
|
|
4
|
+
const pathname = new URL(request.url).pathname;
|
|
5
|
+
const route = pathname === "/" ? "/" : `${pathname.replace(/\/+$/, "")}/`;
|
|
6
|
+
const document = "documents" in manifest
|
|
7
|
+
? Object.hasOwn(manifest.documents, route) ? manifest.documents[route] : undefined
|
|
8
|
+
: Object.hasOwn(manifest.routes, route) ? manifest.document : undefined;
|
|
9
|
+
const status = document === undefined ? 404 : 200;
|
|
10
|
+
const headers = { "content-type": "text/html; charset=utf-8" };
|
|
11
|
+
if (request.method !== "GET" && request.method !== "HEAD") {
|
|
12
|
+
return new Response(null, { status: 405, headers: { ...headers, allow: "GET, HEAD" } });
|
|
13
|
+
}
|
|
14
|
+
return new Response(request.method === "HEAD" ? null : document ?? manifest.notFoundDocument, { status, headers });
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
/** Selects a complete compiled document; it never renders or stitches HTML per request. */
|
|
18
|
+
export function createServerHandler(manifest) {
|
|
19
|
+
return (request) => Effect.runPromise(renderServerEffect(manifest, request));
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAahC,MAAM,UAAU,kBAAkB,CAAC,QAAwB,EAAE,OAAgB;IAC3E,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;QAC/C,MAAM,KAAK,GAAG,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC;QAC1E,MAAM,QAAQ,GAAG,WAAW,IAAI,QAAQ;YACtC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;YAClF,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,MAAM,MAAM,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAClD,MAAM,OAAO,GAAG,EAAE,cAAc,EAAE,0BAA0B,EAAE,CAAC;QAC/D,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC1D,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QAC1F,CAAC;QACD,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACrH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,mBAAmB,CAAC,QAAwB;IAC1D,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAC/E,CAAC"}
|
package/dist/ssr/node.d.ts
CHANGED
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export declare function createNodeSsrServer(options: {
|
|
4
|
-
readonly handler: (request: Request) => Promise<Response>;
|
|
5
|
-
readonly assetsDir: string;
|
|
6
|
-
}): Server;
|
|
1
|
+
/** Compatibility export for the old server adapter name. */
|
|
2
|
+
export { createNodeServer as createNodeSsrServer } from "../server/node.js";
|
|
7
3
|
//# sourceMappingURL=node.d.ts.map
|
package/dist/ssr/node.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/ssr/node.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/ssr/node.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,OAAO,EAAE,gBAAgB,IAAI,mBAAmB,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/ssr/node.js
CHANGED
|
@@ -1,46 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import path from "node:path";
|
|
4
|
-
const types = {
|
|
5
|
-
".js": "text/javascript", ".css": "text/css", ".svg": "image/svg+xml",
|
|
6
|
-
".png": "image/png", ".jpg": "image/jpeg", ".webp": "image/webp", ".ico": "image/x-icon"
|
|
7
|
-
};
|
|
8
|
-
/** Node adapter for a compiled Fuzor SSR entry and its Vite client assets. */
|
|
9
|
-
export function createNodeSsrServer(options) {
|
|
10
|
-
const assetsRoot = path.resolve(options.assetsDir);
|
|
11
|
-
return createServer(async (request, response) => {
|
|
12
|
-
try {
|
|
13
|
-
const url = new URL(request.url ?? "/", "http://fuzor.local");
|
|
14
|
-
if (url.pathname.startsWith("/assets/")) {
|
|
15
|
-
if (request.method !== "GET" && request.method !== "HEAD") {
|
|
16
|
-
response.writeHead(405, { allow: "GET, HEAD" }).end();
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
const file = path.resolve(assetsRoot, `.${url.pathname}`);
|
|
20
|
-
if (!file.startsWith(assetsRoot + path.sep)) {
|
|
21
|
-
response.writeHead(403).end();
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
try {
|
|
25
|
-
const body = await readFile(file);
|
|
26
|
-
response.writeHead(200, { "content-type": types[path.extname(file)] ?? "application/octet-stream" });
|
|
27
|
-
response.end(request.method === "HEAD" ? undefined : body);
|
|
28
|
-
}
|
|
29
|
-
catch (error) {
|
|
30
|
-
if (error.code !== "ENOENT")
|
|
31
|
-
throw error;
|
|
32
|
-
response.writeHead(404).end();
|
|
33
|
-
}
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
const result = await options.handler(new Request(url, { method: request.method ?? "GET" }));
|
|
37
|
-
response.writeHead(result.status, Object.fromEntries(result.headers));
|
|
38
|
-
response.end(request.method === "HEAD" ? undefined : Buffer.from(await result.arrayBuffer()));
|
|
39
|
-
}
|
|
40
|
-
catch (error) {
|
|
41
|
-
response.writeHead(500, { "content-type": "text/plain; charset=utf-8" });
|
|
42
|
-
response.end(`Fuzor SSR error: ${String(error)}`);
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
}
|
|
1
|
+
/** Compatibility export for the old server adapter name. */
|
|
2
|
+
export { createNodeServer as createNodeSsrServer } from "../server/node.js";
|
|
46
3
|
//# sourceMappingURL=node.js.map
|
package/dist/ssr/node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/ssr/node.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/ssr/node.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,OAAO,EAAE,gBAAgB,IAAI,mBAAmB,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/ssr.d.ts
CHANGED
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
readonly documents: Readonly<Record<string, string>>;
|
|
5
|
-
readonly notFoundDocument: string;
|
|
6
|
-
};
|
|
7
|
-
export declare function renderSsrEffect(manifest: SsrManifest, request: Request): Effect.Effect<Response, never, never>;
|
|
8
|
-
/** A platform-neutral Fetch handler; adapters only serve assets and forward document requests. */
|
|
9
|
-
export declare function createSsrHandler(manifest: SsrManifest): (request: Request) => Promise<Response>;
|
|
1
|
+
/** Compatibility exports for the old MPA server target. */
|
|
2
|
+
export { createServerHandler as createSsrHandler, renderServerEffect as renderSsrEffect } from "./server.js";
|
|
3
|
+
export type { ServerManifest as SsrManifest } from "./server.js";
|
|
10
4
|
//# sourceMappingURL=ssr.d.ts.map
|
package/dist/ssr.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssr.d.ts","sourceRoot":"","sources":["../src/ssr.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"ssr.d.ts","sourceRoot":"","sources":["../src/ssr.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,OAAO,EAAE,mBAAmB,IAAI,gBAAgB,EAAE,kBAAkB,IAAI,eAAe,EAAE,MAAM,aAAa,CAAC;AAC7G,YAAY,EAAE,cAAc,IAAI,WAAW,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/ssr.js
CHANGED
|
@@ -1,19 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
return Effect.gen(function* () {
|
|
4
|
-
const pathname = new URL(request.url).pathname;
|
|
5
|
-
const route = pathname === "/" ? "/" : `${pathname.replace(/\/+$/, "")}/`;
|
|
6
|
-
const document = Object.hasOwn(manifest.documents, route) ? manifest.documents[route] : undefined;
|
|
7
|
-
const status = document === undefined ? 404 : 200;
|
|
8
|
-
const headers = { "content-type": "text/html; charset=utf-8" };
|
|
9
|
-
if (request.method !== "GET" && request.method !== "HEAD") {
|
|
10
|
-
return new Response(null, { status: 405, headers: { ...headers, allow: "GET, HEAD" } });
|
|
11
|
-
}
|
|
12
|
-
return new Response(request.method === "HEAD" ? null : document ?? manifest.notFoundDocument, { status, headers });
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
/** A platform-neutral Fetch handler; adapters only serve assets and forward document requests. */
|
|
16
|
-
export function createSsrHandler(manifest) {
|
|
17
|
-
return (request) => Effect.runPromise(renderSsrEffect(manifest, request));
|
|
18
|
-
}
|
|
1
|
+
/** Compatibility exports for the old MPA server target. */
|
|
2
|
+
export { createServerHandler as createSsrHandler, renderServerEffect as renderSsrEffect } from "./server.js";
|
|
19
3
|
//# sourceMappingURL=ssr.js.map
|
package/dist/ssr.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssr.js","sourceRoot":"","sources":["../src/ssr.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"ssr.js","sourceRoot":"","sources":["../src/ssr.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,OAAO,EAAE,mBAAmB,IAAI,gBAAgB,EAAE,kBAAkB,IAAI,eAAe,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/vite.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { type Plugin } from "vite";
|
|
2
2
|
export type FuzorPluginOptions = {
|
|
3
|
+
/** `ssr` is retained as an alias for `mpa` with server output. */
|
|
3
4
|
readonly target?: "spa" | "mpa" | "ssr";
|
|
5
|
+
readonly server?: boolean;
|
|
4
6
|
/** Emit the SPA as one HTML file with all JavaScript and CSS inlined. */
|
|
5
7
|
readonly inline?: boolean;
|
|
6
8
|
};
|
package/dist/vite.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,MAAM,EAA2C,MAAM,MAAM,CAAC;AAU1F,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IACxC,yEAAyE;IACzE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AA8BF,wBAAgB,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,MAAM,EAA2C,MAAM,MAAM,CAAC;AAU1F,MAAM,MAAM,kBAAkB,GAAG;IAC/B,kEAAkE;IAClE,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,yEAAyE;IACzE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AA8BF,wBAAgB,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,MAAM,CAqQpE"}
|
package/dist/vite.js
CHANGED
|
@@ -3,7 +3,7 @@ import path from "node:path";
|
|
|
3
3
|
import { createServer } from "vite";
|
|
4
4
|
import { compileProject } from "./compiler/index.js";
|
|
5
5
|
import { compileIslands } from "./compiler/islands.js";
|
|
6
|
-
import {
|
|
6
|
+
import { createServerHandler } from "./server.js";
|
|
7
7
|
const virtualId = "virtual:fuzor/client";
|
|
8
8
|
const resolvedVirtualId = `\0${virtualId}`;
|
|
9
9
|
const outletStart = "<!--fuzor:outlet-start-->";
|
|
@@ -33,8 +33,14 @@ function replaceOutlet(document, content) {
|
|
|
33
33
|
return document.slice(0, start + outletStart.length) + content + document.slice(end);
|
|
34
34
|
}
|
|
35
35
|
export function fuzorPlugin(options = {}) {
|
|
36
|
-
const
|
|
36
|
+
const selectedTarget = options.target ?? (process.env.FUZOR_TARGET === "mpa" || process.env.FUZOR_TARGET === "ssr" ? process.env.FUZOR_TARGET : "spa");
|
|
37
|
+
const legacySsr = selectedTarget === "ssr";
|
|
38
|
+
const target = legacySsr ? "mpa" : selectedTarget;
|
|
39
|
+
const withServer = legacySsr || (options.server ?? process.env.FUZOR_SERVER === "1");
|
|
37
40
|
const inline = options.inline ?? process.env.FUZOR_INLINE === "1";
|
|
41
|
+
if (inline && withServer)
|
|
42
|
+
throw new Error("SPA inline output cannot be combined with server output.");
|
|
43
|
+
const serverOutDir = legacySsr ? "dist-ssr/client" : `dist-${target}-server/client`;
|
|
38
44
|
let vite;
|
|
39
45
|
let project;
|
|
40
46
|
let projectPromise;
|
|
@@ -137,8 +143,8 @@ export function fuzorPlugin(options = {}) {
|
|
|
137
143
|
name: "fuzor",
|
|
138
144
|
enforce: "pre",
|
|
139
145
|
config() {
|
|
140
|
-
if (
|
|
141
|
-
return { build: { outDir:
|
|
146
|
+
if (withServer)
|
|
147
|
+
return { build: { outDir: serverOutDir } };
|
|
142
148
|
if (target === "spa" && inline)
|
|
143
149
|
return {
|
|
144
150
|
build: {
|
|
@@ -170,7 +176,7 @@ const islands = { ${registry} };
|
|
|
170
176
|
const outlet = document.querySelector("fuzor-router");
|
|
171
177
|
if (!outlet) throw new Error("Fuzor outlet is missing");
|
|
172
178
|
${target === "spa"
|
|
173
|
-
? "void createRouter(outlet, { islands }).start();"
|
|
179
|
+
? "if (!outlet.hasAttribute(\"data-fuzor-not-found\")) void createRouter(outlet, { islands }).start();"
|
|
174
180
|
: "void mountIslands(outlet, islands);"}`;
|
|
175
181
|
},
|
|
176
182
|
transformIndexHtml: {
|
|
@@ -190,16 +196,19 @@ ${target === "spa"
|
|
|
190
196
|
},
|
|
191
197
|
configureServer(server) {
|
|
192
198
|
devServer = server;
|
|
193
|
-
if (target
|
|
199
|
+
if (withServer || target === "mpa") {
|
|
194
200
|
server.middlewares.use(async (request, response, next) => {
|
|
195
201
|
const pathname = new URL(request.url ?? "/", "http://fuzor.local").pathname;
|
|
196
|
-
if (
|
|
202
|
+
if (withServer && !pathname.startsWith("/@") && !pathname.startsWith("/__") && !pathname.includes(".")) {
|
|
197
203
|
try {
|
|
198
204
|
const raw = await readFile(path.join(vite.root, "index.html"), "utf8");
|
|
199
205
|
const template = await server.transformIndexHtml("/", raw);
|
|
200
|
-
const
|
|
201
|
-
const notFoundDocument = replaceOutlet(template,
|
|
202
|
-
const
|
|
206
|
+
const compiled = await loadProject();
|
|
207
|
+
const notFoundDocument = replaceOutlet(template, '<fuzor-router data-fuzor-not-found><h1>Not found</h1></fuzor-router>');
|
|
208
|
+
const manifest = target === "spa"
|
|
209
|
+
? { document: template, routes: Object.fromEntries(compiled.routes.map((route) => [route.path, true])), notFoundDocument }
|
|
210
|
+
: { documents: Object.fromEntries(compiled.routes.map((route) => [route.path, replaceOutlet(template, `<fuzor-router>${route.html}</fuzor-router>`)])), notFoundDocument };
|
|
211
|
+
const result = await createServerHandler(manifest)(new Request(new URL(request.url ?? "/", "http://fuzor.local"), { method: request.method ?? "GET" }));
|
|
203
212
|
response.writeHead(result.status, Object.fromEntries(result.headers));
|
|
204
213
|
response.end(Buffer.from(await result.arrayBuffer()));
|
|
205
214
|
}
|
|
@@ -239,9 +248,7 @@ ${target === "spa"
|
|
|
239
248
|
if (vite.command !== "build")
|
|
240
249
|
return;
|
|
241
250
|
const outDir = path.resolve(vite.root, vite.build.outDir);
|
|
242
|
-
if (target === "spa") {
|
|
243
|
-
if (!inline)
|
|
244
|
-
return;
|
|
251
|
+
if (target === "spa" && inline) {
|
|
245
252
|
let html = await readFile(path.join(outDir, "index.html"), "utf8");
|
|
246
253
|
const assetFiles = new Set();
|
|
247
254
|
for (const match of html.matchAll(/<script\b[^>]*\bsrc="([^"]+)"[^>]*><\/script>/g)) {
|
|
@@ -281,17 +288,21 @@ ${target === "spa"
|
|
|
281
288
|
}
|
|
282
289
|
const compiled = await loadProject();
|
|
283
290
|
const rootHtml = await readFile(path.join(outDir, "index.html"), "utf8");
|
|
284
|
-
if (
|
|
291
|
+
if (withServer) {
|
|
285
292
|
const serverDir = path.resolve(outDir, "../server");
|
|
286
|
-
const
|
|
287
|
-
const
|
|
293
|
+
const notFoundDocument = replaceOutlet(rootHtml, '<fuzor-router data-fuzor-not-found><h1>Not found</h1></fuzor-router>');
|
|
294
|
+
const manifest = target === "spa"
|
|
295
|
+
? { document: rootHtml, routes: Object.fromEntries(compiled.routes.map((route) => [route.path, true])), notFoundDocument }
|
|
296
|
+
: { documents: Object.fromEntries(compiled.routes.map((route) => [route.path, replaceOutlet(rootHtml, `<fuzor-router>${route.html}</fuzor-router>`)])), notFoundDocument };
|
|
288
297
|
await mkdir(serverDir, { recursive: true });
|
|
289
|
-
await writeFile(path.join(serverDir, "entry.mjs"), `import {
|
|
290
|
-
`export const manifest = ${JSON.stringify(
|
|
291
|
-
`export const handler =
|
|
298
|
+
await writeFile(path.join(serverDir, "entry.mjs"), `import { createServerHandler } from "fuzor/server";\n` +
|
|
299
|
+
`export const manifest = ${JSON.stringify(manifest)};\n` +
|
|
300
|
+
`export const handler = createServerHandler(manifest);\n`, "utf8");
|
|
292
301
|
await unlink(path.join(outDir, "index.html"));
|
|
293
302
|
return;
|
|
294
303
|
}
|
|
304
|
+
if (target === "spa")
|
|
305
|
+
return;
|
|
295
306
|
for (const route of compiled.routes) {
|
|
296
307
|
if (route.path === "/")
|
|
297
308
|
continue;
|
package/dist/vite.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.js","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vite.js","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fuzor",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"fuzor": "./dist/cli.js"
|
|
@@ -9,7 +9,9 @@
|
|
|
9
9
|
"dist",
|
|
10
10
|
"templates/basic"
|
|
11
11
|
],
|
|
12
|
-
"description": "HTML-first framework
|
|
12
|
+
"description": "HTML-first framework for SPA or MPA builds with static or server delivery",
|
|
13
|
+
"license": "MIT",
|
|
14
|
+
"homepage": "https://fuzor.dev",
|
|
13
15
|
"repository": {
|
|
14
16
|
"type": "git",
|
|
15
17
|
"url": "git+https://github.com/ivanjeremic/fuzor.git"
|
|
@@ -19,6 +21,8 @@
|
|
|
19
21
|
"./compiler": "./dist/compiler/index.js",
|
|
20
22
|
"./vite": "./dist/vite.js",
|
|
21
23
|
"./create": "./dist/create.js",
|
|
24
|
+
"./server": "./dist/server.js",
|
|
25
|
+
"./server/node": "./dist/server/node.js",
|
|
22
26
|
"./ssr": "./dist/ssr.js",
|
|
23
27
|
"./ssr/node": "./dist/ssr/node.js",
|
|
24
28
|
"./runtime": "./dist/runtime/index.js",
|
|
@@ -74,7 +78,11 @@
|
|
|
74
78
|
"test": "vitest run",
|
|
75
79
|
"example:spa": "pnpm build && pnpm --filter @fuzor/example build:spa",
|
|
76
80
|
"example:mpa": "pnpm build && pnpm --filter @fuzor/example build:mpa",
|
|
81
|
+
"example:spa:server": "pnpm build && pnpm --filter @fuzor/example build:spa:server",
|
|
82
|
+
"example:mpa:server": "pnpm build && pnpm --filter @fuzor/example build:mpa:server",
|
|
77
83
|
"example:ssr": "pnpm build && pnpm --filter @fuzor/example build:ssr",
|
|
84
|
+
"example:dev:spa:server": "pnpm build && pnpm --filter @fuzor/example dev:spa:server",
|
|
85
|
+
"example:dev:mpa:server": "pnpm build && pnpm --filter @fuzor/example dev:mpa:server",
|
|
78
86
|
"example:dev:ssr": "pnpm build && pnpm --filter @fuzor/example dev:ssr",
|
|
79
87
|
"website:dev": "pnpm build && pnpm --filter @fuzor/website dev",
|
|
80
88
|
"website:build": "pnpm build && pnpm --filter @fuzor/website build",
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
# __APP_NAME__
|
|
2
2
|
|
|
3
|
-
This app uses one `pages/` tree for
|
|
3
|
+
This app uses one `pages/` tree for SPA or MPA navigation, with static or server delivery.
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
6
|
pnpm dev # SPA development
|
|
7
7
|
pnpm dev:mpa # MPA development
|
|
8
|
-
pnpm dev:
|
|
8
|
+
pnpm dev:spa:server # SPA with a server
|
|
9
|
+
pnpm dev:mpa:server # MPA with a server
|
|
9
10
|
pnpm build:spa # ESM SPA with lazy islands
|
|
10
11
|
pnpm build:spa --inline # single HTML file
|
|
11
12
|
pnpm build:mpa # static HTML pages
|
|
12
|
-
pnpm build:
|
|
13
|
-
pnpm
|
|
13
|
+
pnpm build:spa:server # one compiled SPA document in a server bundle
|
|
14
|
+
pnpm build:mpa:server # precompiled MPA documents in a server bundle
|
|
15
|
+
pnpm start:mpa:server # serve the completed MPA server build
|
|
14
16
|
```
|
|
15
17
|
|
|
16
|
-
Add HTML or Markdown routes under `pages/`, layouts under `pages/`, and interactive modules under `islands/`. The same sources build in every
|
|
18
|
+
Add HTML or Markdown routes under `pages/`, layouts under `pages/`, and interactive modules under `islands/`. The same sources build in every combination. The old `build:ssr` and `start:ssr` scripts remain as compatibility aliases for MPA with a server.
|
|
@@ -7,12 +7,18 @@
|
|
|
7
7
|
"dev": "fuzor dev --target spa",
|
|
8
8
|
"dev:spa": "fuzor dev --target spa",
|
|
9
9
|
"dev:mpa": "fuzor dev --target mpa",
|
|
10
|
+
"dev:spa:server": "fuzor dev --target spa --server",
|
|
11
|
+
"dev:mpa:server": "fuzor dev --target mpa --server",
|
|
10
12
|
"dev:ssr": "fuzor dev --target ssr",
|
|
11
13
|
"build": "fuzor build --target mpa",
|
|
12
14
|
"build:spa": "fuzor build --target spa",
|
|
13
15
|
"build:mpa": "fuzor build --target mpa",
|
|
16
|
+
"build:spa:server": "fuzor build --target spa --server",
|
|
17
|
+
"build:mpa:server": "fuzor build --target mpa --server",
|
|
14
18
|
"build:ssr": "fuzor build --target ssr",
|
|
15
|
-
"start:
|
|
19
|
+
"start:spa:server": "node server.mjs spa",
|
|
20
|
+
"start:mpa:server": "node server.mjs mpa",
|
|
21
|
+
"start:ssr": "node server.mjs ssr",
|
|
16
22
|
"typecheck": "tsc --noEmit"
|
|
17
23
|
},
|
|
18
24
|
"dependencies": { "fuzor": "__FUZOR_VERSION__" },
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<section class="hero">
|
|
2
|
-
<p class="eyebrow">HTML first · SPA
|
|
2
|
+
<p class="eyebrow">HTML first · SPA or MPA · Static or server</p>
|
|
3
3
|
<app-badge></app-badge>
|
|
4
4
|
<h1>Build once. Choose how to ship.</h1>
|
|
5
|
-
<p>Edit <code>pages/index.html</code> and
|
|
5
|
+
<p>Edit <code>pages/index.html</code> and build the same app as SPA or MPA, with static or server delivery.</p>
|
|
6
6
|
<fuzor-island src="counter" client:load></fuzor-island>
|
|
7
7
|
<p class="hint">This button is in the initial HTML. Its behavior loads as an island.</p>
|
|
8
8
|
<fuzor-link href="/docs/" class="link">Explore the Markdown page →</fuzor-link>
|
|
@@ -4,5 +4,5 @@
|
|
|
4
4
|
<nav><fuzor-link href="/">Home</fuzor-link><fuzor-link href="/about/">About</fuzor-link><fuzor-link href="/docs/">Docs</fuzor-link></nav>
|
|
5
5
|
</header>
|
|
6
6
|
<main><slot></slot></main>
|
|
7
|
-
<footer>One app.
|
|
7
|
+
<footer>One app. SPA or MPA. Static or server.</footer>
|
|
8
8
|
</div>
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { fileURLToPath } from "node:url";
|
|
3
|
-
import {
|
|
4
|
-
import { handler } from "./dist-ssr/server/entry.mjs";
|
|
3
|
+
import { createNodeServer } from "fuzor/server/node";
|
|
5
4
|
|
|
6
5
|
const here = path.dirname(fileURLToPath(import.meta.url));
|
|
6
|
+
const target = process.argv[2] ?? "mpa";
|
|
7
|
+
if (!["spa", "mpa", "ssr"].includes(target)) throw new Error(`Unknown server target: ${target}`);
|
|
8
|
+
const directory = target === "ssr" ? "dist-ssr" : `dist-${target}-server`;
|
|
9
|
+
const { handler } = await import(`./${directory}/server/entry.mjs`);
|
|
7
10
|
const host = process.env.HOST ?? "127.0.0.1";
|
|
8
11
|
const port = Number(process.env.PORT ?? 4173);
|
|
9
|
-
|
|
12
|
+
createNodeServer({ handler, assetsDir: path.join(here, directory, "client") })
|
|
10
13
|
.listen(port, host, () => console.log(`Fuzor listening on http://${host}:${port}`));
|