@openspecui/web 1.5.0 → 1.6.2
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/assets/{BufferResource-Bn1UWy0D.js → BufferResource-BFEntdoN.js} +1 -1
- package/dist/assets/{CanvasRenderer-D8NiU8la.js → CanvasRenderer-ZQxN8ITJ.js} +1 -1
- package/dist/assets/{Filter-CRwq487x.js → Filter-trCu1CQG.js} +1 -1
- package/dist/assets/{RenderTargetSystem-CtoB_qTm.js → RenderTargetSystem-DHoDBu3v.js} +1 -1
- package/dist/assets/{WebGLRenderer-BgKO8R0a.js → WebGLRenderer-DYS9LSzA.js} +1 -1
- package/dist/assets/{WebGPURenderer-CQeL2efC.js → WebGPURenderer-CDj9ZzDs.js} +1 -1
- package/dist/assets/{browserAll-DP6sOYev.js → browserAll-B8FBs1Rt.js} +1 -1
- package/dist/assets/{ghostty-web-evxujSxm.js → ghostty-web-C6hNf21K.js} +1 -1
- package/dist/assets/{index-B147AOgf.js → index-BByfw4ws.js} +1 -1
- package/dist/assets/{index-D2Tp4F9B.js → index-BDu-q_RJ.js} +1 -1
- package/dist/assets/{index-B0IbsqHi.js → index-BRrJSB9v.js} +1 -1
- package/dist/assets/{index-CBCPR3Qb.js → index-CFiXnV5n.js} +1 -1
- package/dist/assets/{index-D6ardy54.js → index-CLKNqdA1.js} +1 -1
- package/dist/assets/{index-BPZ3nG0r.js → index-Cja7GFdu.js} +1 -1
- package/dist/assets/{index-DcXyAs0z.js → index-Cq8vn29r.js} +1 -1
- package/dist/assets/{index-f0QdJSzm.js → index-CqDTsKqD.js} +1 -1
- package/dist/assets/{index-DTeOcXKn.js → index-CxCFae0J.js} +1 -1
- package/dist/assets/{index-dSf1u0YV.js → index-CxF-jUR9.js} +1 -1
- package/dist/assets/{index-BMashGQn.js → index-Dj2t_cJN.js} +1 -1
- package/dist/assets/{index-BnT52DZ8.js → index-Drwn-PWd.js} +1 -1
- package/dist/assets/index-DzNp3fwv.css +1 -0
- package/dist/assets/{index-BejnsZfY.js → index-FMaDFama.js} +1 -1
- package/dist/assets/index-YEDqrGu6.js +1540 -0
- package/dist/assets/{index-DJqmTRAR.js → index-hID85NKg.js} +1 -1
- package/dist/assets/{index-4MAU81Qk.js → index-vJWwTEOs.js} +1 -1
- package/dist/assets/{webworkerAll-DA2HufNb.js → webworkerAll-Pgv9S8Bp.js} +1 -1
- package/dist/index.html +2 -2
- package/dist-ssg/client/.vite/ssr-manifest.json +40 -25
- package/dist-ssg/client/assets/{index-CsRZVfC5.js → index-8QkEUJki.js} +1 -1
- package/dist-ssg/client/assets/{index-BKuRbAoU.js → index-BNet68GQ.js} +1 -1
- package/dist-ssg/client/assets/index-BPSmIo9z.css +1 -0
- package/dist-ssg/client/assets/{index-BPqe-tty.js → index-BuwmGUA3.js} +1 -1
- package/dist-ssg/client/assets/{index-C1d9Zuhl.js → index-BvdsW-5R.js} +1 -1
- package/dist-ssg/client/assets/{index-CkIJT9VM.js → index-C86U3e7F.js} +1 -1
- package/dist-ssg/client/assets/{index-Qc9PpyXL.js → index-CD7IUwmF.js} +1 -1
- package/dist-ssg/client/assets/{index-nXK46PJX.js → index-CNv54Jfz.js} +1 -1
- package/dist-ssg/client/assets/{index-DoT0nwXT.js → index-CbqRKbpG.js} +1 -1
- package/dist-ssg/client/assets/{index-CfKJRsCY.js → index-CtCbaXu2.js} +1 -1
- package/dist-ssg/client/assets/{index-lmUf9UYl.js → index-CuIbO-WR.js} +1 -1
- package/dist-ssg/client/assets/{index-Bts5PKwE.js → index-DGZn6OuM.js} +1 -1
- package/dist-ssg/client/assets/{index-BNvK4AuA.js → index-DTr_ZBFY.js} +1 -1
- package/dist-ssg/client/assets/{index-neDlRvdc.js → index-DYyM8Ux0.js} +1 -1
- package/dist-ssg/client/assets/{index-DaAYjM02.js → index-pf4chBPZ.js} +1 -1
- package/dist-ssg/client/assets/{index-DuI28swy.js → index-qnT8Vltq.js} +1 -1
- package/dist-ssg/client/assets/index.ssg-BCf4nYjB.js +633 -0
- package/dist-ssg/client/index.ssg.html +2 -2
- package/dist-ssg/server/entry-server.js +6031 -659
- package/dist-ssg/ssg-cli.mjs +27 -2
- package/package.json +7 -4
- package/dist/assets/index-T8xoxmUb.js +0 -1516
- package/dist/assets/index-Ys2MTD3W.css +0 -1
- package/dist-ssg/client/assets/index-42NXIrUL.css +0 -1
- package/dist-ssg/client/assets/index.ssg-B7Yw_6vy.js +0 -600
package/dist-ssg/ssg-cli.mjs
CHANGED
|
@@ -1,7 +1,22 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { existsSync, readFileSync, mkdirSync, cpSync, writeFileSync, copyFileSync, rmSync } from "node:fs";
|
|
3
|
-
import { dirname, resolve
|
|
3
|
+
import { join, dirname, resolve } from "node:path";
|
|
4
4
|
import { fileURLToPath } from "node:url";
|
|
5
|
+
const INDEX_SSG_HTML = "index.ssg.html";
|
|
6
|
+
const INDEX_HTML = "index.html";
|
|
7
|
+
function resolveSsgTemplatePath(clientDir) {
|
|
8
|
+
const ssgTemplatePath = join(clientDir, INDEX_SSG_HTML);
|
|
9
|
+
if (existsSync(ssgTemplatePath)) {
|
|
10
|
+
return ssgTemplatePath;
|
|
11
|
+
}
|
|
12
|
+
const legacyTemplatePath = join(clientDir, INDEX_HTML);
|
|
13
|
+
if (existsSync(legacyTemplatePath)) {
|
|
14
|
+
return legacyTemplatePath;
|
|
15
|
+
}
|
|
16
|
+
throw new Error(
|
|
17
|
+
`No SSG template found in ${clientDir}. Expected ${INDEX_SSG_HTML} or ${INDEX_HTML}.`
|
|
18
|
+
);
|
|
19
|
+
}
|
|
5
20
|
const __dirname$1 = dirname(fileURLToPath(import.meta.url));
|
|
6
21
|
function getSSGDirs() {
|
|
7
22
|
if (__dirname$1.endsWith("src/ssg") || __dirname$1.includes("src/ssg")) {
|
|
@@ -50,11 +65,12 @@ Options:
|
|
|
50
65
|
}
|
|
51
66
|
async function prerender(opts) {
|
|
52
67
|
const snapshot = JSON.parse(readFileSync(opts.dataPath, "utf-8"));
|
|
53
|
-
const template = readFileSync(
|
|
68
|
+
const template = readFileSync(resolveSsgTemplatePath(opts.clientDir), "utf-8");
|
|
54
69
|
const serverPath = join(opts.serverDir, "entry-server.js");
|
|
55
70
|
const { render, getRoutes, getTitle } = await import(serverPath);
|
|
56
71
|
const routes = getRoutes(snapshot);
|
|
57
72
|
console.log(`Routes: ${routes.length}`);
|
|
73
|
+
let hasRootRoute = false;
|
|
58
74
|
const headTags = `
|
|
59
75
|
<script>
|
|
60
76
|
window.__OPENSPEC_BASE_PATH__ = '${opts.basePath}';
|
|
@@ -66,6 +82,7 @@ async function prerender(opts) {
|
|
|
66
82
|
const title = getTitle(route, snapshot);
|
|
67
83
|
const html = template.replace("<!--app-html-->", appHtml).replace("<!--head-tags-->", headTags).replace("<title>OpenSpec UI</title>", `<title>${title} - OpenSpec UI</title>`);
|
|
68
84
|
if (route === "/") {
|
|
85
|
+
hasRootRoute = true;
|
|
69
86
|
writeFileSync(join(opts.clientDir, "index.html"), html);
|
|
70
87
|
} else {
|
|
71
88
|
const routeDir = join(opts.clientDir, route.slice(1));
|
|
@@ -74,6 +91,14 @@ async function prerender(opts) {
|
|
|
74
91
|
}
|
|
75
92
|
console.log(` ${route}`);
|
|
76
93
|
}
|
|
94
|
+
if (!hasRootRoute) {
|
|
95
|
+
const fallbackRoute = routes[0];
|
|
96
|
+
if (!fallbackRoute) {
|
|
97
|
+
throw new Error("No routes generated for static output");
|
|
98
|
+
}
|
|
99
|
+
const fallbackPath = fallbackRoute === "/" ? join(opts.clientDir, "index.html") : join(opts.clientDir, fallbackRoute.slice(1), "index.html");
|
|
100
|
+
copyFileSync(fallbackPath, join(opts.clientDir, "index.html"));
|
|
101
|
+
}
|
|
77
102
|
copyFileSync(join(opts.clientDir, "index.html"), join(opts.clientDir, "404.html"));
|
|
78
103
|
copyFileSync(opts.dataPath, join(opts.clientDir, "data.json"));
|
|
79
104
|
rmSync(join(opts.clientDir, ".vite"), { recursive: true, force: true });
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openspecui/web",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"openspecui-ssg": "./dist-ssg/ssg-cli.mjs"
|
|
@@ -62,9 +62,12 @@
|
|
|
62
62
|
"vitest": "^4.0.18",
|
|
63
63
|
"yaml": "^2.8.0",
|
|
64
64
|
"yargs": "^18.0.0",
|
|
65
|
-
"
|
|
66
|
-
"@openspecui/server": "1.
|
|
67
|
-
"
|
|
65
|
+
"xterm-input-panel": "1.2.1",
|
|
66
|
+
"@openspecui/server": "1.6.2",
|
|
67
|
+
"@openspecui/search": "1.1.0"
|
|
68
|
+
},
|
|
69
|
+
"dependencies": {
|
|
70
|
+
"@fsegurai/codemirror-theme-bundle": "^6.3.1"
|
|
68
71
|
},
|
|
69
72
|
"scripts": {
|
|
70
73
|
"dev": "vite --host=0.0.0.0",
|