UNPKG

one

Version:

One is a new React Framework that makes Vite serve both native and web.

42 lines (41 loc) 1.6 kB
import { readFileSync } from "node:fs"; import { resolvePath } from "@vxrn/resolve"; const DEVTOOLS_VIRTUAL_ID = "/@one/dev.js"; function createDevtoolsPlugin(options = {}) { const { includeUI = !0 } = options; return { name: "one-devtools", apply: "serve", // only in dev configureServer(server) { server.middlewares.use(async (req, res, next) => { if (req.url === DEVTOOLS_VIRTUAL_ID) { try { const devEntryPath = resolvePath("one/devtools/dev.mjs"); let code = readFileSync(devEntryPath, "utf-8").replace("import './devtools.mjs'", "").replace("import './source-inspector.mjs'", ""); if (includeUI) { const devtoolsPath = resolvePath("one/devtools/devtools.mjs"), sourceInspectorPath = resolvePath("one/devtools/source-inspector.mjs"), devtools = readFileSync(devtoolsPath, "utf-8"), sourceInspector = readFileSync(sourceInspectorPath, "utf-8"); code = `${code} ${devtools} ${sourceInspector}`; } res.setHeader("Content-Type", "application/javascript"), res.setHeader("Cache-Control", "no-store"), res.end(code); return; } catch (e) { console.error("[one] Failed to load devtools script:", e); } res.setHeader("Content-Type", "application/javascript"), res.end("// devtools failed to load"); return; } next(); }); } }; } export { DEVTOOLS_VIRTUAL_ID, createDevtoolsPlugin }; //# sourceMappingURL=devtoolsPlugin.mjs.map