UNPKG

vite-plugin-neutralino

Version:

A Vite plugin for seamless integration with Neutralinojs.

64 lines 1.85 kB
// src/index.ts import fs from "fs/promises"; import path from "path"; async function getDevScriptTag(root) { const authInfoPath = path.join(root, ".tmp", "auth_info.json"); try { const authInfoFile = await fs.readFile(authInfoPath, { encoding: "utf-8" }); const authInfo = JSON.parse(authInfoFile); const port = Number.isInteger(authInfo.nlPort) ? authInfo.nlPort : 0; if (port > 0) { return { tag: "script", attrs: { src: `http://localhost:${port}/__neutralino_globals.js` }, injectTo: "head-prepend" }; } console.warn("[vite-plugin-neutralino] Invalid Neutralino port, script not injected."); return null; } catch (error) { console.warn(`[vite-plugin-neutralino] Could not read Neutralino auth file: ${authInfoPath}, script not injected. Please make sure the Neutralino app is running.`); return null; } } function getProdScriptTag() { return { tag: "script", attrs: { src: "__neutralino_globals.js" }, injectTo: "head-prepend" }; } var neutralino = (options = {}) => { let config; return { name: "vite-plugin-neutralino", configResolved(resolvedConfig) { config = resolvedConfig; }, async transformIndexHtml() { try { if (config.mode === "production") { return [getProdScriptTag()]; } if (config.mode === "development") { const root = options.rootPath || config.root; const devTag = await getDevScriptTag(root); return devTag ? [devTag] : []; } return []; } catch (error) { console.error("[vite-plugin-neutralino] An unexpected error occurred:", error); return []; } } }; }; var index_default = neutralino; export { index_default as default }; //# sourceMappingURL=index.js.map