sourcey 3.5.9 → 3.6.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/README.md +28 -117
- package/dist/adapters/index.d.ts +11 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +98 -0
- package/dist/adapters/mkdocs.d.ts +5 -0
- package/dist/adapters/mkdocs.d.ts.map +1 -0
- package/dist/adapters/mkdocs.js +367 -0
- package/dist/adapters/shared.d.ts +12 -0
- package/dist/adapters/shared.d.ts.map +1 -0
- package/dist/adapters/shared.js +134 -0
- package/dist/adapters/types.d.ts +68 -0
- package/dist/adapters/types.d.ts.map +1 -0
- package/dist/adapters/types.js +1 -0
- package/dist/client/search.js +77 -8
- package/dist/client/sidebar.js +169 -0
- package/dist/components/layout/Head.js +16 -3
- package/dist/components/layout/Sidebar.d.ts.map +1 -1
- package/dist/components/layout/Sidebar.js +1 -1
- package/dist/components/layout/TableOfContents.d.ts.map +1 -1
- package/dist/components/layout/TableOfContents.js +4 -2
- package/dist/config.d.ts +38 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +79 -141
- package/dist/core/doxygen-loader.d.ts.map +1 -1
- package/dist/core/doxygen-loader.js +2 -0
- package/dist/core/markdown-loader.d.ts +14 -0
- package/dist/core/markdown-loader.d.ts.map +1 -1
- package/dist/core/markdown-loader.js +63 -22
- package/dist/core/navigation.d.ts.map +1 -1
- package/dist/core/navigation.js +8 -7
- package/dist/core/search-indexer.d.ts +10 -0
- package/dist/core/search-indexer.d.ts.map +1 -1
- package/dist/core/search-indexer.js +5 -0
- package/dist/dev-server.d.ts.map +1 -1
- package/dist/dev-server.js +60 -33
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +19 -14
- package/dist/site-assembly.d.ts.map +1 -1
- package/dist/site-assembly.js +107 -25
- package/dist/utils/markdown.d.ts.map +1 -1
- package/dist/utils/markdown.js +15 -4
- package/dist/vite-plugin.d.ts +2 -0
- package/dist/vite-plugin.d.ts.map +1 -1
- package/dist/vite-plugin.js +71 -1
- package/package.json +4 -3
package/dist/vite-plugin.d.ts
CHANGED
|
@@ -8,6 +8,8 @@ export interface SourceyPluginOptions {
|
|
|
8
8
|
render: (url: string) => Promise<string | null>;
|
|
9
9
|
/** Optional: generate search index JSON on demand */
|
|
10
10
|
searchIndex?: () => Promise<string>;
|
|
11
|
+
/** Optional: serve generated/copied files that do not go through Vite's static handler. */
|
|
12
|
+
extraFile?: (outputPath: string) => Promise<string | Buffer | undefined>;
|
|
11
13
|
}
|
|
12
14
|
/**
|
|
13
15
|
* Vite plugin for Sourcey.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-plugin.d.ts","sourceRoot":"","sources":["../src/vite-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,MAAM,CAAC;AAKlD,MAAM,WAAW,oBAAoB;IACnC,uDAAuD;IACvD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,MAAM,CAAC;IACvB,iEAAiE;IACjE,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAChD,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"vite-plugin.d.ts","sourceRoot":"","sources":["../src/vite-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,MAAM,CAAC;AAKlD,MAAM,WAAW,oBAAoB;IACnC,uDAAuD;IACvD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,MAAM,CAAC;IACvB,iEAAiE;IACjE,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAChD,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,2FAA2F;IAC3F,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;CAC1E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,CA6HnE"}
|
package/dist/vite-plugin.js
CHANGED
|
@@ -6,7 +6,7 @@ import { normalizeBaseUrl } from "./site-url.js";
|
|
|
6
6
|
* - Watches spec and markdown files; triggers full reload on change
|
|
7
7
|
*/
|
|
8
8
|
export function sourceyPlugin(options) {
|
|
9
|
-
const { watchPaths, baseUrl, render, searchIndex } = options;
|
|
9
|
+
const { watchPaths, baseUrl, render, searchIndex, extraFile } = options;
|
|
10
10
|
const watchSet = new Set(watchPaths.map((p) => resolve(p)));
|
|
11
11
|
return {
|
|
12
12
|
name: "sourcey",
|
|
@@ -63,6 +63,23 @@ export function sourceyPlugin(options) {
|
|
|
63
63
|
return next();
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
|
+
if (extraFile) {
|
|
67
|
+
try {
|
|
68
|
+
const outputPath = outputPathFromRequestPath(pathname, currentBaseUrl);
|
|
69
|
+
const data = outputPath ? await extraFile(outputPath) : undefined;
|
|
70
|
+
if (data !== undefined) {
|
|
71
|
+
res.writeHead(200, {
|
|
72
|
+
"Content-Type": contentTypeForPath(outputPath),
|
|
73
|
+
"Cache-Control": "no-cache",
|
|
74
|
+
});
|
|
75
|
+
res.end(data);
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
return next();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
66
83
|
// Only handle HTML page requests (no extension, or .html)
|
|
67
84
|
const ext = extname(url);
|
|
68
85
|
if (ext && ext !== ".html") {
|
|
@@ -99,3 +116,56 @@ export function sourceyPlugin(options) {
|
|
|
99
116
|
},
|
|
100
117
|
};
|
|
101
118
|
}
|
|
119
|
+
function outputPathFromRequestPath(pathname, baseUrl) {
|
|
120
|
+
let path = pathname;
|
|
121
|
+
if (baseUrl && path.startsWith(baseUrl)) {
|
|
122
|
+
path = path.slice(baseUrl.length);
|
|
123
|
+
}
|
|
124
|
+
try {
|
|
125
|
+
path = decodeURIComponent(path);
|
|
126
|
+
}
|
|
127
|
+
catch {
|
|
128
|
+
// Keep the raw path; a malformed escape cannot match generated output.
|
|
129
|
+
}
|
|
130
|
+
return path.replace(/^\/+/, "");
|
|
131
|
+
}
|
|
132
|
+
function contentTypeForPath(path) {
|
|
133
|
+
switch (extname(path).toLowerCase()) {
|
|
134
|
+
case ".css":
|
|
135
|
+
return "text/css; charset=utf-8";
|
|
136
|
+
case ".js":
|
|
137
|
+
case ".mjs":
|
|
138
|
+
return "text/javascript; charset=utf-8";
|
|
139
|
+
case ".json":
|
|
140
|
+
return "application/json; charset=utf-8";
|
|
141
|
+
case ".svg":
|
|
142
|
+
return "image/svg+xml";
|
|
143
|
+
case ".png":
|
|
144
|
+
return "image/png";
|
|
145
|
+
case ".jpg":
|
|
146
|
+
case ".jpeg":
|
|
147
|
+
return "image/jpeg";
|
|
148
|
+
case ".gif":
|
|
149
|
+
return "image/gif";
|
|
150
|
+
case ".webp":
|
|
151
|
+
return "image/webp";
|
|
152
|
+
case ".avif":
|
|
153
|
+
return "image/avif";
|
|
154
|
+
case ".ico":
|
|
155
|
+
return "image/x-icon";
|
|
156
|
+
case ".txt":
|
|
157
|
+
return "text/plain; charset=utf-8";
|
|
158
|
+
case ".pdf":
|
|
159
|
+
return "application/pdf";
|
|
160
|
+
case ".woff":
|
|
161
|
+
return "font/woff";
|
|
162
|
+
case ".woff2":
|
|
163
|
+
return "font/woff2";
|
|
164
|
+
case ".mp4":
|
|
165
|
+
return "video/mp4";
|
|
166
|
+
case ".webm":
|
|
167
|
+
return "video/webm";
|
|
168
|
+
default:
|
|
169
|
+
return "application/octet-stream";
|
|
170
|
+
}
|
|
171
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sourcey",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.6.0",
|
|
4
4
|
"description": "Precision documentation from OpenAPI, MCP, Doxygen, godoc, and Markdown. Static HTML you own.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
"godoc:go:test": "cd go/sourcey-godoc && go test ./...",
|
|
31
31
|
"godoc:go:vet": "cd go/sourcey-godoc && go vet ./...",
|
|
32
32
|
"godoc:packages:test": "packaging/sourcey-godoc/render-package-managers.test.sh",
|
|
33
|
+
"cpp:release-gate": "node scripts/check-cpp-reference-quality.mjs",
|
|
33
34
|
"typecheck": "tsc --noEmit",
|
|
34
35
|
"prepublishOnly": "npm run build"
|
|
35
36
|
},
|
|
@@ -45,8 +46,8 @@
|
|
|
45
46
|
"jiti": "^2.6.1",
|
|
46
47
|
"js-yaml": "^4.1.0",
|
|
47
48
|
"marked": "^15.0.0",
|
|
48
|
-
"mcp-parser": "^0.
|
|
49
|
-
"moxygen": "^2.1.
|
|
49
|
+
"mcp-parser": "^0.4.0",
|
|
50
|
+
"moxygen": "^2.1.8",
|
|
50
51
|
"preact": "^10.28.4",
|
|
51
52
|
"preact-render-to-string": "^6.6.6",
|
|
52
53
|
"satori": "^0.26.0",
|