UNPKG

one

Version:

One is a React framework for web, iOS, and Android apps.

1 lines • 5.13 kB
{"version":3,"file":"bundledDevPlugin.js","names":[],"sources":["esm/vite/plugins/bundledDevPlugin.js"],"sourcesContent":["import fs from \"node:fs\";\nimport path from \"node:path\";\nimport { virtualEntryId } from \"./virtualEntryConstants\";\nconst MIME = {\n png: \"image/png\",\n jpg: \"image/jpeg\",\n jpeg: \"image/jpeg\",\n gif: \"image/gif\",\n webp: \"image/webp\",\n avif: \"image/avif\",\n bmp: \"image/bmp\",\n ico: \"image/x-icon\"\n};\nconst ASSET_EXT_RE = /\\.(png|jpe?g|gif|webp|avif|bmp|ico)/;\nfunction inlineAssetImports(code, id) {\n if (!ASSET_EXT_RE.test(code)) return null;\n const importRe = /import\\s+(\\w+)\\s+from\\s*['\"]([^'\"?]+\\.(?:png|jpe?g|gif|webp|avif|bmp|ico))['\"]\\s*;?/g;\n const base = id.split(\"?\")[0];\n let result = code;\n let changed = false;\n let m;\n const edits = [];\n while (m = importRe.exec(code)) {\n const [full, name, spec] = m;\n const abs = spec.startsWith(\".\") ? path.resolve(path.dirname(base), spec) : null;\n if (!abs || !fs.existsSync(abs)) continue;\n const ext = path.extname(abs).slice(1).toLowerCase();\n const uri = `data:${MIME[ext] || \"application/octet-stream\"};base64,${fs.readFileSync(abs).toString(\"base64\")}`;\n edits.push({ full, name, uri });\n }\n for (const e of edits) {\n result = result.replace(e.full, `const ${e.name} = ${JSON.stringify(e.uri)};`);\n changed = true;\n }\n return changed ? { code: result, map: null } : null;\n}\nfunction webBundledAssetPlugin() {\n return {\n name: \"one:web-bundled-asset\",\n transform: (code, id) => inlineAssetImports(code, id)\n };\n}\nfunction bundledDevPlugin(enabled) {\n return {\n name: \"one:bundled-dev\",\n // mirror the client's asset inlining on the server env so SSR emits the same\n // data-uris (the rolldown client plugin above can't reach the ssr pipeline).\n // bundledDev is off by default, so only register the hook when it's on, and\n // let rust pre-filter on the asset extensions inlineAssetImports looks for.\n ...enabled ? {\n transform: {\n filter: { code: ASSET_EXT_RE },\n handler(code, id) {\n const env = this.environment;\n if (!env || env.name !== \"ssr\" || env.mode !== \"dev\") return;\n return inlineAssetImports(code, id);\n }\n }\n } : {},\n config(_userConfig, env) {\n if (!enabled || env.command !== \"serve\") return;\n return {\n experimental: { bundledDev: true },\n environments: {\n client: {\n build: {\n rolldownOptions: {\n // bundle the virtual entry so FullBundleDev serves it at\n // /assets/_virtual_one-entry.js\n input: [virtualEntryId],\n plugins: [webBundledAssetPlugin()],\n experimental: {\n // rolldown 1.1.0 defaulted lazyBarrel ON, which breaks One's\n // index.mjs barrel re-exports under FullBundleDev (e.g. `Slot`\n // resolves to undefined). pin it off.\n lazyBarrel: false\n },\n // react-native packages import native-only exports\n // (codegenNativeComponent, TurboModuleRegistry, …) from react-native\n // → aliased to react-native-web, which doesn't export them. shim as\n // undefined instead of failing the build (matches the dep optimizer).\n shimMissingExports: true\n }\n }\n }\n }\n };\n }\n };\n}\nexport {\n bundledDevPlugin\n};\n//# sourceMappingURL=bundledDevPlugin.js.map\n"],"mappings":";;;;;AAGA,MAAM,OAAO;CACX,KAAK;CACL,KAAK;CACL,MAAM;CACN,KAAK;CACL,MAAM;CACN,MAAM;CACN,KAAK;CACL,KAAK;AACP;AACA,MAAM,eAAe;AACrB,SAAS,mBAAmB,MAAM,IAAI;CACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,OAAO;CACrC,MAAM,WAAW;CACjB,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,CAAC;CAC3B,IAAI,SAAS;CACb,IAAI,UAAU;CACd,IAAI;CACJ,MAAM,QAAQ,CAAC;CACf,OAAO,IAAI,SAAS,KAAK,IAAI,GAAG;EAC9B,MAAM,CAAC,MAAM,MAAM,QAAQ;EAC3B,MAAM,MAAM,KAAK,WAAW,GAAG,IAAI,KAAK,QAAQ,KAAK,QAAQ,IAAI,GAAG,IAAI,IAAI;EAC5E,IAAI,CAAC,OAAO,CAAC,GAAG,WAAW,GAAG,GAAG;EACjC,MAAM,MAAM,KAAK,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY;EACnD,MAAM,MAAM,QAAQ,KAAK,QAAQ,2BAA2B,UAAU,GAAG,aAAa,GAAG,CAAC,CAAC,SAAS,QAAQ;EAC5G,MAAM,KAAK;GAAE;GAAM;GAAM;EAAI,CAAC;CAChC;CACA,KAAK,MAAM,KAAK,OAAO;EACrB,SAAS,OAAO,QAAQ,EAAE,MAAM,SAAS,EAAE,KAAK,KAAK,KAAK,UAAU,EAAE,GAAG,EAAE,EAAE;EAC7E,UAAU;CACZ;CACA,OAAO,UAAU;EAAE,MAAM;EAAQ,KAAK;CAAK,IAAI;AACjD;AACA,SAAS,wBAAwB;CAC/B,OAAO;EACL,MAAM;EACN,YAAY,MAAM,OAAO,mBAAmB,MAAM,EAAE;CACtD;AACF;AACA,SAAS,iBAAiB,SAAS;CACjC,OAAO;EACL,MAAM;EAKN,GAAG,UAAU,EACX,WAAW;GACT,QAAQ,EAAE,MAAM,aAAa;GAC7B,QAAQ,MAAM,IAAI;IAChB,MAAM,MAAM,KAAK;IACjB,IAAI,CAAC,OAAO,IAAI,SAAS,SAAS,IAAI,SAAS,OAAO;IACtD,OAAO,mBAAmB,MAAM,EAAE;GACpC;EACF,EACF,IAAI,CAAC;EACL,OAAO,aAAa,KAAK;GACvB,IAAI,CAAC,WAAW,IAAI,YAAY,SAAS;GACzC,OAAO;IACL,cAAc,EAAE,YAAY,KAAK;IACjC,cAAc,EACZ,QAAQ,EACN,OAAO,EACL,iBAAiB;KAGf,OAAO,CAAC,cAAc;KACtB,SAAS,CAAC,sBAAsB,CAAC;KACjC,cAAc,EAIZ,YAAY,MACd;KAKA,oBAAoB;IACtB,EACF,EACF,EACF;GACF;EACF;CACF;AACF"}