UNPKG

msoffice-addin

Version:

Microsoft office addin module for Nuxt abd vite

38 lines (35 loc) 1.21 kB
import fs from 'node:fs'; import { resolve } from 'node:path'; import { loadEnv } from 'vite'; const OFFICE_JS_URL = "https://appsforoffice.microsoft.com/lib/1/hosted/office.js"; const OFFICE_JS_LOADER_SNIPPET = `<script src="${OFFICE_JS_URL}"><\/script>`; function transformManifests(params) { const entries = []; const env = loadEnv(params.mode, params.envDir); if (params.defineENV) { const data = params.defineENV({ ...env }); Object.assign(env, data); } for (const { src, route } of params.inputs) { const absoluteSrc = resolve(src); if (!fs.existsSync(src)) { console.warn(`Office manifest not found in: ${absoluteSrc}. Ignored entry.`); continue; } const manifest = fs.readFileSync(src).toString("utf-8"); const content = manifest.replaceAll(/{(VITE|NUXT)_.*?}/gm, (pattern) => { const key = pattern.replace(/{|}/gm, ""); if (key in env) return env[key]; console.warn(`${key} not found in env variables but used in manifest: ${absoluteSrc}`); return pattern; }); entries.push({ src, route, content }); } return entries; } export { OFFICE_JS_LOADER_SNIPPET as O, transformManifests as t };