@xyd-js/documan 0.1.0-xyd.29 → 0.1.0-xyd.31
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/index.d.ts +6 -3
- package/dist/index.js +890 -177
- package/dist/index.js.map +1 -1
- package/package.json +18 -13
- package/dist/build.d.ts +0 -2
- package/dist/build.js +0 -126
- package/dist/build.js.map +0 -1
- package/dist/dev.d.ts +0 -2
- package/dist/dev.js +0 -107
- package/dist/dev.js.map +0 -1
- package/dist/serve.d.ts +0 -2
- package/dist/serve.js +0 -111
- package/dist/serve.js.map +0 -1
package/dist/serve.js
DELETED
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
// src/run/build.ts
|
|
2
|
-
import path from "node:path";
|
|
3
|
-
import fs from "node:fs";
|
|
4
|
-
import { fileURLToPath } from "node:url";
|
|
5
|
-
import { build as viteBuild } from "vite";
|
|
6
|
-
import tsconfigPaths from "vite-tsconfig-paths";
|
|
7
|
-
import { reactRouter } from "@xyd-js/react-router-dev/vite";
|
|
8
|
-
import { vitePlugins as xydContentVitePlugins } from "@xyd-js/content/vite";
|
|
9
|
-
import { pluginZero } from "@xyd-js/plugin-zero";
|
|
10
|
-
var __filename = fileURLToPath(import.meta.url);
|
|
11
|
-
var __dirname = path.dirname(__filename);
|
|
12
|
-
|
|
13
|
-
// src/run/dev.ts
|
|
14
|
-
import path2 from "node:path";
|
|
15
|
-
import { fileURLToPath as fileURLToPath2 } from "node:url";
|
|
16
|
-
import fs2 from "node:fs";
|
|
17
|
-
import { createServer, searchForWorkspaceRoot } from "vite";
|
|
18
|
-
import { reactRouter as reactRouter2 } from "@xyd-js/react-router-dev/vite";
|
|
19
|
-
import { vitePlugins as xydContentVitePlugins2 } from "@xyd-js/content/vite";
|
|
20
|
-
import { pluginZero as pluginZero2 } from "@xyd-js/plugin-zero";
|
|
21
|
-
var __filename2 = fileURLToPath2(import.meta.url);
|
|
22
|
-
var __dirname2 = path2.dirname(__filename2);
|
|
23
|
-
var port = process.env.XYD_PORT ? parseInt(process.env.XYD_PORT) : 5175;
|
|
24
|
-
|
|
25
|
-
// src/run/serve.ts
|
|
26
|
-
import fs3 from "node:fs";
|
|
27
|
-
import os from "node:os";
|
|
28
|
-
import path3 from "node:path";
|
|
29
|
-
import url from "node:url";
|
|
30
|
-
import { createRequestHandler } from "@react-router/express";
|
|
31
|
-
import compression from "compression";
|
|
32
|
-
import express from "express";
|
|
33
|
-
import morgan from "morgan";
|
|
34
|
-
import sourceMapSupport from "source-map-support";
|
|
35
|
-
import getPort from "get-port";
|
|
36
|
-
function parseNumber(raw) {
|
|
37
|
-
if (raw === void 0) return void 0;
|
|
38
|
-
let maybe = Number(raw);
|
|
39
|
-
if (Number.isNaN(maybe)) return void 0;
|
|
40
|
-
return maybe;
|
|
41
|
-
}
|
|
42
|
-
async function serve() {
|
|
43
|
-
process.env.NODE_ENV = process.env.NODE_ENV ?? "production";
|
|
44
|
-
sourceMapSupport.install({
|
|
45
|
-
retrieveSourceMap: function(source) {
|
|
46
|
-
let match = source.startsWith("file://");
|
|
47
|
-
if (match) {
|
|
48
|
-
let filePath = url.fileURLToPath(source);
|
|
49
|
-
let sourceMapPath = `${filePath}.map`;
|
|
50
|
-
if (fs3.existsSync(sourceMapPath)) {
|
|
51
|
-
return {
|
|
52
|
-
url: source,
|
|
53
|
-
map: fs3.readFileSync(sourceMapPath, "utf8")
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
return null;
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
let port2 = parseNumber(process.env.PORT) ?? await getPort({ port: 3e3 });
|
|
61
|
-
let buildPathArg = path3.join(process.cwd(), ".xyd/build/server/index.js");
|
|
62
|
-
if (!buildPathArg) {
|
|
63
|
-
console.error(`
|
|
64
|
-
Usage: react-router-serve <server-build-path> - e.g. react-router-serve build/server/index.js`);
|
|
65
|
-
process.exit(1);
|
|
66
|
-
}
|
|
67
|
-
let buildPath = path3.resolve(buildPathArg);
|
|
68
|
-
let build2 = await import(url.pathToFileURL(buildPath).href);
|
|
69
|
-
let onListen = () => {
|
|
70
|
-
let address = process.env.HOST || Object.values(os.networkInterfaces()).flat().find((ip) => String(ip?.family).includes("4") && !ip?.internal)?.address;
|
|
71
|
-
if (!address) {
|
|
72
|
-
console.log(`[xyd-serve] http://localhost:${port2}`);
|
|
73
|
-
} else {
|
|
74
|
-
console.log(
|
|
75
|
-
`[xyd-serve] http://localhost:${port2} (http://${address}:${port2})`
|
|
76
|
-
);
|
|
77
|
-
}
|
|
78
|
-
};
|
|
79
|
-
build2 = {
|
|
80
|
-
...build2,
|
|
81
|
-
assetsBuildDirectory: path3.join(process.cwd(), ".xyd/build/client")
|
|
82
|
-
};
|
|
83
|
-
let app = express();
|
|
84
|
-
app.disable("x-powered-by");
|
|
85
|
-
app.use(compression());
|
|
86
|
-
app.use(
|
|
87
|
-
path3.posix.join(build2.publicPath, "assets"),
|
|
88
|
-
express.static(path3.join(build2.assetsBuildDirectory, "assets"), {
|
|
89
|
-
immutable: true,
|
|
90
|
-
maxAge: "1y"
|
|
91
|
-
})
|
|
92
|
-
);
|
|
93
|
-
app.use(build2.publicPath, express.static(build2.assetsBuildDirectory));
|
|
94
|
-
app.use(express.static("public", { maxAge: "1h" }));
|
|
95
|
-
app.use(morgan("tiny"));
|
|
96
|
-
app.all(
|
|
97
|
-
"*",
|
|
98
|
-
createRequestHandler({
|
|
99
|
-
build: build2,
|
|
100
|
-
mode: process.env.NODE_ENV
|
|
101
|
-
})
|
|
102
|
-
);
|
|
103
|
-
let server = process.env.HOST ? app.listen(port2, process.env.HOST, onListen) : app.listen(port2, onListen);
|
|
104
|
-
["SIGTERM", "SIGINT"].forEach((signal) => {
|
|
105
|
-
process.once(signal, () => server?.close(console.error));
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
// src/commands/serve.ts
|
|
110
|
-
await serve();
|
|
111
|
-
//# sourceMappingURL=serve.js.map
|
package/dist/serve.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/run/build.ts","../src/run/dev.ts","../src/run/serve.ts","../src/commands/serve.ts"],"sourcesContent":["import path from \"node:path\";\nimport fs from \"node:fs\";\nimport {fileURLToPath} from \"node:url\";\nimport {execSync} from 'child_process';\n\nimport {build as viteBuild} from 'vite';\nimport tsconfigPaths from \"vite-tsconfig-paths\";\n\nimport {reactRouter} from \"@xyd-js/react-router-dev/vite\";\n\nimport {vitePlugins as xydContentVitePlugins} from \"@xyd-js/content/vite\"\nimport {pluginZero} from \"@xyd-js/plugin-zero\";\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = path.dirname(__filename);\n\n// Define the main function to run the builds\nexport async function build() {\n const resp = await pluginZero()\n if (!resp) {\n throw new Error(\"PluginZero not found\")\n }\n\n const buildDir = path.join(process.cwd(), \".xyd/build\");\n\n {\n // TODO: probably we should have better mechanism - maybe bundle?\n\n const packageJsonPath = path.join(buildDir, 'package.json');\n\n const packageJsonContent = {\n type: \"module\",\n scripts: {},\n dependencies: { // TODO: better\n \"@xyd-js/content\": \"latest\",\n \"@xyd-js/components\": \"latest\",\n \"@xyd-js/framework\": \"latest\",\n \"@xyd-js/theme-poetry\": \"latest\",\n\n\n \"@react-router/node\": \"7.1.1\",\n \"isbot\": \"^5\"\n },\n devDependencies: {}\n };\n\n if (process.env.XYD_DEV_MODE) {\n Object.keys(packageJsonContent.dependencies).forEach((key) => {\n if (key.startsWith(\"@xyd-js/\")) {\n packageJsonContent.dependencies[key] = \"workspace:*\";\n }\n })\n }\n\n // Ensure the build directory exists\n if (!fs.existsSync(buildDir)) {\n fs.mkdirSync(buildDir, {recursive: true});\n }\n\n // Write the package.json file\n fs.writeFileSync(packageJsonPath, JSON.stringify(packageJsonContent, null, 2), 'utf8');\n\n // Install packages inside buildDir\n if (process.env.XYD_DEV_MODE) {\n execSync('pnpm i', {cwd: buildDir, stdio: 'inherit'});\n } else {\n execSync('npm install', {cwd: buildDir, stdio: 'inherit'});\n }\n }\n\n try {\n // Build the client-side bundle\n await viteBuild({\n root: process.env.XYD_CLI ? __dirname : process.env.XYD_DOCUMAN_HOST || path.join(__dirname, \"../host\"),\n plugins: [\n ...(xydContentVitePlugins({\n toc: {\n minDepth: 2,\n }\n }) as Plugin[]),\n reactRouter({\n outDir: buildDir,\n routes: resp.routes\n }),\n tsconfigPaths(),\n ...resp.vitePlugins\n ],\n optimizeDeps: {\n include: [\"react/jsx-runtime\"],\n },\n });\n\n // Build the SSR bundle\n await viteBuild({\n root: process.env.XYD_CLI ? __dirname : process.env.XYD_DOCUMAN_HOST || path.join(__dirname, \"../host\"),\n build: {\n ssr: true,\n },\n plugins: [\n ...(xydContentVitePlugins({\n toc: {\n minDepth: 2,\n }\n }) as Plugin[]),\n reactRouter({\n outDir: buildDir,\n routes: resp.routes\n }),\n tsconfigPaths(),\n ...resp.vitePlugins\n ],\n optimizeDeps: {\n include: [\"react/jsx-runtime\"],\n },\n });\n\n console.log('Build completed successfully.'); // TODO: better message\n } catch (error) {\n console.error('Build failed:', error); // TODO: better message\n }\n}\n\n","import path from \"node:path\";\nimport {fileURLToPath} from \"node:url\";\nimport fs from \"node:fs\";\n\nimport {createServer, searchForWorkspaceRoot} from \"vite\";\n\nimport {reactRouter} from \"@xyd-js/react-router-dev/vite\";\n\nimport {vitePlugins as xydContentVitePlugins} from \"@xyd-js/content/vite\";\nimport {pluginZero} from \"@xyd-js/plugin-zero\";\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = path.dirname(__filename);\n\nconst port = process.env.XYD_PORT ? parseInt(process.env.XYD_PORT) : 5175;\n\nexport async function dev() {\n const respPluginZero = await pluginZero()\n if (!respPluginZero) {\n throw new Error(\"PluginZero not found\")\n }\n\n const allowCwd = searchForWorkspaceRoot(process.cwd())\n\n const preview = await createServer({\n root: process.env.XYD_CLI ? __dirname : process.env.XYD_DOCUMAN_HOST || path.join(__dirname, \"../host\"), // TODO: bundler?\n server: {\n port: port,\n fs: {\n allow: [\n allowCwd,\n process.env.XYD_CLI ? __dirname : path.join(__dirname, \"../host\"),\n ]\n }\n },\n build: {\n rollupOptions: {\n // Exclude package `B` from the client-side bundle\n external: [\"@xyd-js/uniform\", \"@xyd-js/uniform/content\", \"@xyd-js/plugin-zero\"],\n },\n },\n ssr: {\n external: [\"@xyd-js/uniform\", \"@xyd-js/uniform/content\", \"@xyd-js/plugin-zero\"],\n },\n optimizeDeps: {\n include: [\"react/jsx-runtime\"],\n },\n plugins: [ // TODO: fix plugin ts\n ...(xydContentVitePlugins({\n toc: {\n minDepth: 2,\n }\n }) as Plugin[]),\n reactRouter({\n routes: respPluginZero.routes\n }),\n ...respPluginZero.vitePlugins,\n ]\n });\n\n // Set up manual file watcher for markdown files TODO: better way? + HMR only for specific components instead or reload a pag\n const watcher = fs.watch(allowCwd, { recursive: true }, (eventType, filename) => {\n if (!filename) {\n console.log(\"[xyd:dev] Received empty filename\");\n return;\n }\n \n const filePath = path.join(allowCwd, filename);\n \n if (filePath.endsWith('.md') || filePath.endsWith('.mdx')) {\n const relativePath = path.relative(allowCwd, filePath);\n const urlPath = '/' + relativePath.replace(/\\\\/g, '/');\n \n preview.ws.send({\n type: 'full-reload',\n path: urlPath\n });\n }\n });\n\n // Log any watcher errors\n watcher.on('error', (error) => {\n console.error(\"[xyd:dev] File watcher error:\", error);\n });\n\n await preview.listen(port);\n\n preview.printUrls();\n preview.bindCLIShortcuts({print: true});\n\n // Clean up watcher when server is closed\n preview.httpServer?.once('close', () => {\n watcher.close();\n });\n}","import fs from \"node:fs\";\nimport os from \"node:os\";\nimport path from \"node:path\";\nimport url from \"node:url\";\n\nimport type {ServerBuild} from \"react-router\";\nimport {createRequestHandler} from \"@react-router/express\";\nimport compression from \"compression\";\nimport express from \"express\";\nimport morgan from \"morgan\";\nimport sourceMapSupport from \"source-map-support\";\nimport getPort from \"get-port\";\n\nfunction parseNumber(raw?: string) {\n if (raw === undefined) return undefined;\n let maybe = Number(raw);\n if (Number.isNaN(maybe)) return undefined;\n return maybe;\n}\n\nexport async function serve() {\n process.env.NODE_ENV = process.env.NODE_ENV ?? \"production\";\n\n sourceMapSupport.install({\n retrieveSourceMap: function (source) {\n let match = source.startsWith(\"file://\");\n if (match) {\n let filePath = url.fileURLToPath(source);\n let sourceMapPath = `${filePath}.map`;\n if (fs.existsSync(sourceMapPath)) {\n return {\n url: source,\n map: fs.readFileSync(sourceMapPath, \"utf8\"),\n };\n }\n }\n return null;\n },\n });\n\n let port = parseNumber(process.env.PORT) ?? (await getPort({port: 3000}));\n\n let buildPathArg = path.join(process.cwd(), \".xyd/build/server/index.js\")\n\n if (!buildPathArg) {\n console.error(`\n Usage: react-router-serve <server-build-path> - e.g. react-router-serve build/server/index.js`);\n process.exit(1);\n }\n\n let buildPath = path.resolve(buildPathArg);\n\n let build: ServerBuild = await import(url.pathToFileURL(buildPath).href);\n\n let onListen = () => {\n let address =\n process.env.HOST ||\n Object.values(os.networkInterfaces())\n .flat()\n .find((ip) => String(ip?.family).includes(\"4\") && !ip?.internal)\n ?.address;\n\n if (!address) {\n console.log(`[xyd-serve] http://localhost:${port}`);\n } else {\n console.log(\n `[xyd-serve] http://localhost:${port} (http://${address}:${port})`\n );\n }\n };\n\n build = {\n ...build,\n assetsBuildDirectory: path.join(process.cwd(), \".xyd/build/client\")\n }\n\n let app = express();\n app.disable(\"x-powered-by\");\n app.use(compression());\n app.use(\n path.posix.join(build.publicPath, \"assets\"),\n express.static(path.join(build.assetsBuildDirectory, \"assets\"), {\n immutable: true,\n maxAge: \"1y\",\n })\n );\n app.use(build.publicPath, express.static(build.assetsBuildDirectory));\n app.use(express.static(\"public\", {maxAge: \"1h\"}));\n app.use(morgan(\"tiny\"));\n\n app.all(\n \"*\",\n createRequestHandler({\n build,\n mode: process.env.NODE_ENV,\n })\n );\n\n let server = process.env.HOST\n ? app.listen(port, process.env.HOST, onListen)\n : app.listen(port, onListen);\n\n [\"SIGTERM\", \"SIGINT\"].forEach((signal) => {\n process.once(signal, () => server?.close(console.error));\n });\n}\n","import {serve} from \"../\"\n\n// Execute the serve function\nawait serve();\n\n"],"mappings":"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","names":["path","fileURLToPath","fs","reactRouter","xydContentVitePlugins","pluginZero","__filename","__dirname","fs","path","port","build"]}
|