UNPKG

zephyr-agent

Version:
41 lines (40 loc) • 2.04 kB
import "node:module"; import { redactString } from "../security/redaction.mjs"; function buildEnvImportMap(appUid, remotes) { const imports = {}; imports[`env:vars:${appUid}`] = '/zephyr-manifest.json'; remotes.forEach((remote)=>{ if (remote.application_uid && remote.remote_entry_url) try { const urlStr = remote.remote_entry_url.includes('@') ? remote.remote_entry_url.split('@')[1] : remote.remote_entry_url; const origin = new URL(urlStr).origin; imports[`env:vars:${remote.application_uid}`] = `${origin}/zephyr-manifest.json`; } catch { console.warn(redactString(`Failed to parse remote URL for env vars: ${remote.remote_entry_url}`)); } }); return imports; } function buildEnvModuleSource(applicationUid) { const envVars = {}; for (const [key, value] of Object.entries(process.env))if (key.startsWith('ZE_PUBLIC_') && 'string' == typeof value) envVars[key] = value; const exports = Object.entries(envVars).map(([key, value])=>`export const ${key} = ${JSON.stringify(value)};`).join('\n'); const defaultExport = ` export default { APPLICATION_UID: ${JSON.stringify(applicationUid)}, ${Object.entries(envVars).map(([key, value])=>`${key}: ${JSON.stringify(value)}`).join(',\n ')} };`; return `// Zephyr Environment Variables Module // Auto-generated for app: ${applicationUid} ${exports} ${defaultExport} `; } function buildEnvImportMapScript(appUid, remotes) { const importMap = { imports: buildEnvImportMap(appUid, remotes) }; return `<script type="importmap">${JSON.stringify(importMap, null, 2)}</script>`; } export { VIRTUAL_SPECIFIER, buildEnvJsonAsset, buildImportMap, buildModulePreload, calculateManifestHash, collectZEPublicVars, detectEnvReads, generateManifestContent, injectBeforeHeadClose, injectImportMap, rewriteEnvReadsToVirtualModule } from "./env-var-rewrites.mjs"; export { buildEnvImportMap, buildEnvImportMapScript, buildEnvModuleSource }; //# sourceMappingURL=index.mjs.map