UNPKG

msoffice-addin

Version:

Microsoft office addin module for Nuxt abd vite

45 lines (39 loc) 1.48 kB
'use strict'; const fs = require('node:fs'); const node_path = require('node:path'); const vite = require('vite'); function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; } const fs__default = /*#__PURE__*/_interopDefaultCompat(fs); 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 = vite.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 = node_path.resolve(src); if (!fs__default.existsSync(src)) { console.warn(`Office manifest not found in: ${absoluteSrc}. Ignored entry.`); continue; } const manifest = fs__default.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; } exports.OFFICE_JS_LOADER_SNIPPET = OFFICE_JS_LOADER_SNIPPET; exports.transformManifests = transformManifests;