@absolutejs/absolute 0.19.0-beta.786 → 0.19.0-beta.789

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/dist/angular/index.js +5 -5
  2. package/dist/angular/server.js +5 -5
  3. package/dist/build.js +6 -6
  4. package/dist/{chunk-4bq79t8v.js → chunk-0867j0r0.js} +3 -3
  5. package/dist/{chunk-xpkjbmd3.js → chunk-2j2cvn7e.js} +4 -4
  6. package/dist/{chunk-vvz7dcvq.js → chunk-3qswe70c.js} +244 -6
  7. package/dist/chunk-3qswe70c.js.map +15 -0
  8. package/dist/{chunk-xrmjy8kk.js → chunk-5f67rsed.js} +16 -4
  9. package/dist/chunk-5f67rsed.js.map +10 -0
  10. package/dist/{chunk-gq0zxpm0.js → chunk-7mtstdqn.js} +2 -2
  11. package/dist/{chunk-4m75s5xf.js → chunk-8cyvzcmc.js} +2 -2
  12. package/dist/{chunk-g3j22qf6.js → chunk-9939da67.js} +7 -7
  13. package/dist/{chunk-dr9yqsdb.js → chunk-9ve9jq72.js} +2 -2
  14. package/dist/{chunk-kndkjsya.js → chunk-d7mwkzry.js} +2 -2
  15. package/dist/{chunk-nhzf4az4.js → chunk-e3r9fxaa.js} +2 -2
  16. package/dist/{chunk-hep68ja7.js → chunk-rmc1aqky.js} +51 -145
  17. package/dist/{chunk-hep68ja7.js.map → chunk-rmc1aqky.js.map} +4 -5
  18. package/dist/{chunk-yfqhr31t.js → chunk-tjr0kcev.js} +6 -4
  19. package/dist/{chunk-yfqhr31t.js.map → chunk-tjr0kcev.js.map} +1 -1
  20. package/dist/{chunk-smgj0epn.js → chunk-txhm2vb5.js} +3 -3
  21. package/dist/{chunk-qk8kd3hr.js → chunk-v5vmsxmy.js} +3 -3
  22. package/dist/{chunk-qk8kd3hr.js.map → chunk-v5vmsxmy.js.map} +1 -1
  23. package/dist/{chunk-xzvy9hr4.js → chunk-x09cskqd.js} +2 -2
  24. package/dist/{chunk-6fkgm9s5.js → chunk-xnt8c6h2.js} +10 -3
  25. package/dist/{chunk-6fkgm9s5.js.map → chunk-xnt8c6h2.js.map} +3 -3
  26. package/dist/{chunk-9a307ca6.js → chunk-ynb0qx79.js} +2 -2
  27. package/dist/{chunk-3c7mpj3m.js → chunk-zrg9d4zw.js} +2 -2
  28. package/dist/index.js +62 -14
  29. package/dist/index.js.map +4 -3
  30. package/dist/islands/index.js +3 -3
  31. package/dist/react/index.js +5 -5
  32. package/dist/react/server.js +2 -2
  33. package/dist/src/build/stylePreprocessor.d.ts +1 -0
  34. package/dist/src/core/index.d.ts +2 -0
  35. package/dist/svelte/index.js +5 -5
  36. package/dist/svelte/server.js +4 -4
  37. package/dist/vue/index.js +5 -5
  38. package/dist/vue/server.js +2 -2
  39. package/package.json +1 -1
  40. package/dist/chunk-vvz7dcvq.js.map +0 -13
  41. package/dist/chunk-xrmjy8kk.js.map +0 -10
  42. /package/dist/{chunk-4bq79t8v.js.map → chunk-0867j0r0.js.map} +0 -0
  43. /package/dist/{chunk-xpkjbmd3.js.map → chunk-2j2cvn7e.js.map} +0 -0
  44. /package/dist/{chunk-gq0zxpm0.js.map → chunk-7mtstdqn.js.map} +0 -0
  45. /package/dist/{chunk-4m75s5xf.js.map → chunk-8cyvzcmc.js.map} +0 -0
  46. /package/dist/{chunk-g3j22qf6.js.map → chunk-9939da67.js.map} +0 -0
  47. /package/dist/{chunk-dr9yqsdb.js.map → chunk-9ve9jq72.js.map} +0 -0
  48. /package/dist/{chunk-kndkjsya.js.map → chunk-d7mwkzry.js.map} +0 -0
  49. /package/dist/{chunk-nhzf4az4.js.map → chunk-e3r9fxaa.js.map} +0 -0
  50. /package/dist/{chunk-smgj0epn.js.map → chunk-txhm2vb5.js.map} +0 -0
  51. /package/dist/{chunk-xzvy9hr4.js.map → chunk-x09cskqd.js.map} +0 -0
  52. /package/dist/{chunk-9a307ca6.js.map → chunk-ynb0qx79.js.map} +0 -0
  53. /package/dist/{chunk-3c7mpj3m.js.map → chunk-zrg9d4zw.js.map} +0 -0
@@ -1,5 +1,6 @@
1
1
  // @bun
2
2
  import {
3
+ addStyleImporter,
3
4
  compileStyleFileIfNeeded,
4
5
  compileStyleFileIfNeededSync,
5
6
  compileStyleSource,
@@ -15,7 +16,7 @@ import {
15
16
  isStylePath,
16
17
  recordStyleOutput,
17
18
  stylePreprocessorPlugin
18
- } from "./chunk-6fkgm9s5.js";
19
+ } from "./chunk-xnt8c6h2.js";
19
20
  import"./chunk-bmgqm774.js";
20
21
  export {
21
22
  stylePreprocessorPlugin,
@@ -32,8 +33,9 @@ export {
32
33
  createStylePreprocessorPlugin,
33
34
  compileStyleSource,
34
35
  compileStyleFileIfNeededSync,
35
- compileStyleFileIfNeeded
36
+ compileStyleFileIfNeeded,
37
+ addStyleImporter
36
38
  };
37
39
 
38
- //# debugId=A5631711E004F7C264756E2164756E21
39
- //# sourceMappingURL=chunk-yfqhr31t.js.map
40
+ //# debugId=6663C43944998F2964756E2164756E21
41
+ //# sourceMappingURL=chunk-tjr0kcev.js.map
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "A5631711E004F7C264756E2164756E21",
7
+ "debugId": "6663C43944998F2964756E2164756E21",
8
8
  "names": []
9
9
  }
@@ -4,8 +4,8 @@ import {
4
4
  extractCandidates,
5
5
  incrementalTailwindBuild,
6
6
  warmTailwindCompiler
7
- } from "./chunk-kndkjsya.js";
8
- import"./chunk-6fkgm9s5.js";
7
+ } from "./chunk-d7mwkzry.js";
8
+ import"./chunk-xnt8c6h2.js";
9
9
  import"./chunk-bmgqm774.js";
10
10
  export {
11
11
  warmTailwindCompiler,
@@ -15,4 +15,4 @@ export {
15
15
  };
16
16
 
17
17
  //# debugId=9682DA217E0C7A1564756E2164756E21
18
- //# sourceMappingURL=chunk-smgj0epn.js.map
18
+ //# sourceMappingURL=chunk-txhm2vb5.js.map
@@ -520,7 +520,7 @@ var renderFirstNotFound = async () => {
520
520
  return renderNext(NOT_FOUND_PRIORITY);
521
521
  };
522
522
 
523
- export { injectIslandPageContext, injectIslandPageContextStream, setCurrentIslandManifest, derivePageName, resolveErrorConventionPath, hasErrorConvention, setConventions, renderConventionError, renderFirstNotFound, enhanceHtmlResponseWithStreamingSlots, withStreamingSlots, withRegisteredStreamingSlots };
523
+ export { injectIslandPageContext, injectIslandPageContextStream, setCurrentIslandManifest, enhanceHtmlResponseWithStreamingSlots, withStreamingSlots, withRegisteredStreamingSlots, derivePageName, resolveErrorConventionPath, hasErrorConvention, setConventions, renderConventionError, renderFirstNotFound };
524
524
 
525
- //# debugId=C9D132C4A53F65BB64756E2164756E21
526
- //# sourceMappingURL=chunk-qk8kd3hr.js.map
525
+ //# debugId=07AF9404315C5F2F64756E2164756E21
526
+ //# sourceMappingURL=chunk-v5vmsxmy.js.map
@@ -7,6 +7,6 @@
7
7
  "import { basename } from 'node:path';\nimport type { ConventionsMap } from '../../types/conventions';\nimport { toPascal } from './stringModifiers';\n\n// Use globalThis so the conventions map is shared across all bundles.\n// The main bundle (dist/index.js) calls setConventions, but framework\n// bundles (dist/svelte/index.js, etc.) need to read the same map.\nconst CONVENTIONS_KEY = '__absoluteConventions';\n\nconst isConventionsMap = (value: unknown): value is ConventionsMap =>\n\tBoolean(value) && typeof value === 'object';\n\nconst getMap = () => {\n\tconst value: unknown = Reflect.get(globalThis, CONVENTIONS_KEY);\n\tif (isConventionsMap(value)) return value;\n\n\tconst empty: ConventionsMap = {};\n\n\treturn empty;\n};\n\nexport const derivePageName = (pagePath: string) => {\n\tconst base = basename(pagePath);\n\t// Strip hash and extension: \"SvelteExample.abc123.js\" → \"SvelteExample\"\n\tconst dotIndex = base.indexOf('.');\n\tconst name = dotIndex > 0 ? base.slice(0, dotIndex) : base;\n\n\treturn toPascal(name);\n};\nexport const getConventions = () => getMap();\n\nconst normalizeConventionPageName = (name: string) =>\n\ttoPascal(name).replace(/\\d+$/, '');\n\nexport const resolveErrorConventionPath = (\n\tframework: keyof ConventionsMap,\n\tpageName: string\n) => {\n\tconst conventions = getMap()[framework];\n\tif (!conventions) return undefined;\n\n\tconst exact = conventions.pages?.[pageName]?.error;\n\tif (exact) return exact;\n\n\tconst normalizedPageName = normalizeConventionPageName(pageName);\n\tfor (const [candidate, page] of Object.entries(conventions.pages ?? {})) {\n\t\tif (normalizeConventionPageName(candidate) === normalizedPageName) {\n\t\t\treturn page.error ?? conventions.defaults?.error;\n\t\t}\n\t}\n\n\treturn conventions.defaults?.error;\n};\nexport const resolveNotFoundConventionPath = (\n\tframework: keyof ConventionsMap\n) => getMap()[framework]?.defaults?.notFound;\n\nexport const hasErrorConvention = (framework: keyof ConventionsMap) => {\n\tconst conventions = getMap()[framework];\n\tif (!conventions) return false;\n\tif (conventions.defaults?.error) return true;\n\n\treturn Object.values(conventions.pages ?? {}).some((page) =>\n\t\tBoolean(page.error)\n\t);\n};\n\nexport const setConventions = (map: ConventionsMap) => {\n\tReflect.set(globalThis, CONVENTIONS_KEY, map);\n};\n\nconst isDev = () => process.env.NODE_ENV === 'development';\n\nconst buildErrorProps = (error: unknown) => {\n\tconst message = error instanceof Error ? error.message : String(error);\n\tconst stack = isDev() && error instanceof Error ? error.stack : undefined;\n\n\treturn { error: { message, stack } };\n};\n\nconst renderReactError = async (\n\tconventionPath: string,\n\terrorProps: ReturnType<typeof buildErrorProps>\n) => {\n\tconst { createElement } = await import('react');\n\tconst { renderToReadableStream } = await import('react-dom/server');\n\tconst mod = await import(conventionPath);\n\tconst [firstKey] = Object.keys(mod);\n\tconst ErrorComponent =\n\t\tmod.default ?? (firstKey ? mod[firstKey] : undefined);\n\tconst element = createElement(ErrorComponent, errorProps);\n\tconst stream = await renderToReadableStream(element);\n\n\treturn new Response(stream, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 500\n\t});\n};\n\nconst renderSvelteError = async (\n\tconventionPath: string,\n\terrorProps: ReturnType<typeof buildErrorProps>\n) => {\n\tconst { render } = await import('svelte/server');\n\tconst mod = await import(conventionPath);\n\tconst ErrorComponent = mod.default;\n\tconst { head, body } = render(ErrorComponent, {\n\t\tprops: errorProps\n\t});\n\tconst html = `<!DOCTYPE html><html><head>${head}</head><body>${body}</body></html>`;\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 500\n\t});\n};\n\nconst unescapeVueStyles = (ssrBody: string) => {\n\tlet styles = '';\n\tconst body = ssrBody.replace(\n\t\t/<style>([\\s\\S]*?)<\\/style>/g,\n\t\t(_, css: string) => {\n\t\t\tstyles += `<style>${css\n\t\t\t\t.replace(/&quot;/g, '\"')\n\t\t\t\t.replace(/&amp;/g, '&')\n\t\t\t\t.replace(/&lt;/g, '<')\n\t\t\t\t.replace(/&gt;/g, '>')}</style>`;\n\n\t\t\treturn '';\n\t\t}\n\t);\n\n\treturn { body, styles };\n};\n\nconst renderVueError = async (\n\tconventionPath: string,\n\terrorProps: ReturnType<typeof buildErrorProps>\n) => {\n\tconst { createSSRApp, h } = await import('vue');\n\tconst { renderToString } = await import('vue/server-renderer');\n\tconst mod = await import(conventionPath);\n\tconst ErrorComponent = mod.default;\n\tconst app = createSSRApp({\n\t\trender: () => h(ErrorComponent, errorProps)\n\t});\n\tconst rawBody = await renderToString(app);\n\n\t// Vue SSR escapes quotes inside <component is=\"style\"> tags.\n\t// Extract style content, unescape it, and move to <head>.\n\tconst { styles, body } = unescapeVueStyles(rawBody);\n\tconst html = `<!DOCTYPE html><html><head>${styles}</head><body><div id=\"root\">${body}</div></body></html>`;\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 500\n\t});\n};\n\nconst renderAngularError = async (\n\tconventionPath: string,\n\terrorProps: ReturnType<typeof buildErrorProps>\n) => {\n\t// Angular error pages are rendered as plain HTML templates\n\t// since the full Angular SSR pipeline is too heavy for error pages\n\tconst mod = await import(conventionPath);\n\tconst renderError = mod.default ?? mod.renderError;\n\tif (typeof renderError !== 'function') return null;\n\n\tconst html = renderError(errorProps);\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 500\n\t});\n};\n\nconst logConventionRenderError = (\n\tframework: keyof ConventionsMap,\n\tlabel: string,\n\trenderError: unknown\n) => {\n\tconst message = renderError instanceof Error ? renderError.message : '';\n\tif (\n\t\tmessage.includes('Cannot find module') ||\n\t\tmessage.includes('Cannot find package') ||\n\t\tmessage.includes('not found in module')\n\t) {\n\t\tconsole.error(\n\t\t\t`[SSR] Convention ${label} page for ${framework} failed: missing framework package. ` +\n\t\t\t\t`Ensure the ${framework} runtime is installed (e.g. bun add ${framework === 'react' ? 'react react-dom' : framework}).`\n\t\t);\n\n\t\treturn;\n\t}\n\n\tconsole.error(\n\t\t`[SSR] Failed to render ${framework} convention ${label} page:`,\n\t\trenderError\n\t);\n};\n\nconst ERROR_RENDERERS: Record<\n\tkeyof ConventionsMap,\n\t(\n\t\tconventionPath: string,\n\t\terrorProps: ReturnType<typeof buildErrorProps>\n\t) => Promise<Response | null>\n> = {\n\tangular: renderAngularError,\n\treact: renderReactError,\n\tsvelte: renderSvelteError,\n\tvue: renderVueError\n};\n\nexport const renderConventionError = async (\n\tframework: keyof ConventionsMap,\n\tpageName: string,\n\terror: unknown\n) => {\n\tlet conventionPath = resolveErrorConventionPath(framework, pageName);\n\tif (!conventionPath && error instanceof Error && error.stack) {\n\t\tfor (const match of error.stack.matchAll(\n\t\t\t/^\\s*at\\s+([A-Za-z_$][\\w$]*)/gm\n\t\t)) {\n\t\t\tconst candidate = match[1];\n\t\t\tif (!candidate) continue;\n\n\t\t\tconventionPath = resolveErrorConventionPath(framework, candidate);\n\t\t\tif (conventionPath) break;\n\t\t}\n\t}\n\tif (!conventionPath) return null;\n\n\tconst errorProps = buildErrorProps(error);\n\tconst renderer = ERROR_RENDERERS[framework];\n\tif (!renderer) return null;\n\n\ttry {\n\t\treturn await renderer(conventionPath, errorProps);\n\t} catch (renderError) {\n\t\tlogConventionRenderError(framework, 'error', renderError);\n\t}\n\n\treturn null;\n};\n\nconst renderReactNotFound = async (conventionPath: string) => {\n\tconst { createElement } = await import('react');\n\tconst { renderToReadableStream } = await import('react-dom/server');\n\tconst mod = await import(conventionPath);\n\tconst [nfKey] = Object.keys(mod);\n\tconst NotFoundComponent = mod.default ?? (nfKey ? mod[nfKey] : undefined);\n\tconst element = createElement(NotFoundComponent);\n\tconst stream = await renderToReadableStream(element);\n\n\treturn new Response(stream, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 404\n\t});\n};\n\nconst renderSvelteNotFound = async (conventionPath: string) => {\n\tconst { render } = await import('svelte/server');\n\tconst mod = await import(conventionPath);\n\tconst NotFoundComponent = mod.default;\n\tconst { head, body } = render(NotFoundComponent);\n\tconst html = `<!DOCTYPE html><html><head>${head}</head><body>${body}</body></html>`;\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 404\n\t});\n};\n\nconst renderVueNotFound = async (conventionPath: string) => {\n\tconst { createSSRApp, h } = await import('vue');\n\tconst { renderToString } = await import('vue/server-renderer');\n\tconst mod = await import(conventionPath);\n\tconst NotFoundComponent = mod.default;\n\tconst app = createSSRApp({\n\t\trender: () => h(NotFoundComponent)\n\t});\n\tconst rawBody = await renderToString(app);\n\n\tconst { styles, body } = unescapeVueStyles(rawBody);\n\tconst html = `<!DOCTYPE html><html><head>${styles}</head><body><div id=\"root\">${body}</div></body></html>`;\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 404\n\t});\n};\n\nconst renderAngularNotFound = async (conventionPath: string) => {\n\tconst mod = await import(conventionPath);\n\tconst renderNotFound = mod.default ?? mod.renderNotFound;\n\tif (typeof renderNotFound !== 'function') return null;\n\n\tconst html = renderNotFound();\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 404\n\t});\n};\n\nconst NOT_FOUND_RENDERERS: Record<\n\tkeyof ConventionsMap,\n\t(conventionPath: string) => Promise<Response | null>\n> = {\n\tangular: renderAngularNotFound,\n\treact: renderReactNotFound,\n\tsvelte: renderSvelteNotFound,\n\tvue: renderVueNotFound\n};\n\nexport const renderConventionNotFound = async (\n\tframework: keyof ConventionsMap\n) => {\n\tconst conventionPath = resolveNotFoundConventionPath(framework);\n\tif (!conventionPath) return null;\n\n\tconst renderer = NOT_FOUND_RENDERERS[framework];\n\tif (!renderer) return null;\n\n\ttry {\n\t\treturn await renderer(conventionPath);\n\t} catch (renderError) {\n\t\tlogConventionRenderError(framework, 'not-found', renderError);\n\t}\n\n\treturn null;\n};\n\nconst NOT_FOUND_PRIORITY: (keyof ConventionsMap)[] = [\n\t'react',\n\t'svelte',\n\t'vue',\n\t'angular'\n];\n\nexport const renderFirstNotFound = async () => {\n\tconst renderNext = async (frameworks: (keyof ConventionsMap)[]) => {\n\t\tconst [framework, ...remaining] = frameworks;\n\t\tif (!framework) {\n\t\t\treturn null;\n\t\t}\n\t\tif (!getMap()[framework]?.defaults?.notFound) {\n\t\t\treturn renderNext(remaining);\n\t\t}\n\n\t\tconst response = await renderConventionNotFound(framework);\n\t\tif (response) {\n\t\t\treturn response;\n\t\t}\n\n\t\treturn renderNext(remaining);\n\t};\n\n\treturn renderNext(NOT_FOUND_PRIORITY);\n};\n"
8
8
  ],
9
9
  "mappings": ";;;;;;;;;;;;;;;;;;AAkBA,IAAM,aAAa,OAAO,iBAA+B;AAEzD,IAAM,eAAe,CAAC,aAAuB;AAAA,EAC5C,MAAM,UAAU,IAAI,QAAQ,SAAS,OAAO;AAAA,EAE5C,OAAO;AAAA;AAGD,IAAM,wCAAwC,CACpD;AAAA,EAEC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAiB,CAAC;AAAA,EAClB;AAAA,IACiC,CAAC,MAC/B;AAAA,EACJ,IAAI,CAAC,SAAS,QAAQ,eAAe,WAAW,GAAG;AAAA,IAClD,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,OAAO,mCACZ,SAAS,MACT,gBACA;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CACD;AAAA,EAEA,OAAO,IAAI,SAAS,MAAM;AAAA,IACzB,SAAS,aAAa,QAAQ;AAAA,IAC9B,QAAQ,SAAS;AAAA,IACjB,YAAY,SAAS;AAAA,EACtB,CAAC;AAAA;AAGK,IAAM,qBAAqB,OACjC,cACA,UAAwC,CAAC,MAEzC,sCACC,MAAM,WAAW,YAAY,GAC7B,OACD;AAED,IAAM,sBAAsB,CAC3B,YACA,aACI;AAAA,EACJ,MAAM,SAAS,IAAI;AAAA,EACnB,WAAW,QAAQ;AAAA,IAAY,OAAO,IAAI,KAAK,IAAI,IAAI;AAAA,EACvD,WAAW,QAAQ;AAAA,IAAU,OAAO,IAAI,KAAK,IAAI,IAAI;AAAA,EAErD,OAAO,CAAC,GAAG,OAAO,OAAO,CAAC;AAAA;AAGpB,IAAM,+BAA+B,OAC3C,gBACA,UAAwC,CAAC,MACrC;AAAA,EACJ,QAAQ,QAAQ,UACf,MAAM,6BAA6B,cAAc;AAAA,EAClD,MAAM,WAAW,QAAQ,kBAAkB,CAAC;AAAA,EAE5C,OAAO,mBAAmB,QAAQ;AAAA,OAC9B;AAAA,IACH,gBAAgB,oBAAoB,OAAO,QAAQ;AAAA,EACpD,CAAC;AAAA;;;ACzFF,IAAM,yBAAyB;AAC/B,IAAM,gBAAgB;AACtB,IAAM,kBAAkB;AACxB,IAAM,sBAAsB;AAC5B,IAAM,mBAAmB;AASzB,IAAM,yBAAyB,CAAC,aAAqC;AAAA,EACpE,MAAM,iBAAiB,0CAA0C,KAAK,UAAU,QAAQ;AAAA,EACxF,MAAM,oBAAoB,yCAAyC,KAAK,UAAU,WAAW,wBAAwB,CAAC,CAAC;AAAA,EACvH,MAAM,gBAAgB,SAAS;AAAA,EAC/B,MAAM,kBAAkB,gBACrB,8BAA8B,6BAC9B;AAAA,EAEH,OAAO,GAAG,iBAAiB,oBAAoB;AAAA;AAGhD,IAAM,mBAAmB,CAAC,MAAc,WAAmB;AAAA,EAC1D,MAAM,mBAAmB,KAAK,QAAQ,SAAS;AAAA,EAC/C,IAAI,oBAAoB,GAAG;AAAA,IAC1B,OAAO,GAAG,KAAK,MAAM,GAAG,gBAAgB,IAAI,SAAS,KAAK,MAAM,gBAAgB;AAAA,EACjF;AAAA,EAEA,MAAM,mBAAmB,KAAK,QAAQ,OAAO;AAAA,EAC7C,IAAI,oBAAoB,GAAG;AAAA,IAC1B,MAAM,YAAY,KAAK,QAAQ,KAAK,gBAAgB;AAAA,IACpD,IAAI,aAAa,GAAG;AAAA,MACnB,OAAO,GAAG,KAAK,MAAM,GAAG,gBAAgB,UAAU,gBAAgB,KAAK,MAAM,gBAAgB;AAAA,IAC9F;AAAA,EACD;AAAA,EAEA,OAAO,8BAA8B,sBAAsB;AAAA;AAG5D,IAAM,sBAAsB,CAC3B,OACA,YAEA,OAAO,UAAU,WAAW,QAAQ,QAAQ,OAAO,OAAO,EAAE,QAAQ,KAAK,CAAC;AAE3E,IAAM,uBAAuB,CAC5B,YACA,SACA,SACA,eACI;AAAA,EACJ,IAAI,QAAQ,UAAU,YAAY;AAAA,IACjC,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,WAAW,QAAQ,MAAM,GAAG,QAAQ,SAAS,UAAU;AAAA,EAC7D,WAAW,QAAQ,QAAQ,OAAO,QAAQ,CAAC;AAAA,EAE3C,OAAO,QAAQ,MAAM,CAAC,UAAU;AAAA;AAGjC,IAAM,sBAAsB,CAC3B,UACA,UACA,YACI;AAAA,EACJ,IAAI,SAAS,MAAM;AAAA,IAClB,OAAO,EAAE,MAAM,MAAM,UAAU,QAAQ;AAAA,EACxC;AAAA,EAEA,OAAO;AAAA,IACN,MAAM;AAAA,IACN,UAAU,SAAS;AAAA,IACnB,SAAS,SAAS;AAAA,EACnB;AAAA;AAGD,IAAM,kBAAkB,OACvB,WACI;AAAA,EACJ,QAAQ,MAAM,UAAU,MAAM,OAAO,KAAK;AAAA,EAC1C,IAAI,QAAQ,CAAC,OAAO;AAAA,IACnB,OAAO,EAAE,MAAM,OAAO,UAAU;AAAA,EACjC;AAAA,EAEA,OAAO,EAAE,MAAM,MAAM;AAAA;AAGtB,IAAM,8BAA8B,CACnC,QACA,WACI;AAAA,EACJ,MAAM,UAAU,IAAI;AAAA,EACpB,MAAM,UAAU,IAAI;AAAA,EACpB,MAAM,aAAa,iBAAiB,SAAS;AAAA,EAC7C,MAAM,iBAAiB,CACtB,YACA,SACA,aACI;AAAA,IACJ,IAAI,UAAU;AAAA,MACb,WAAW,QAAQ,QAAQ,OAAO,OAAO,CAAC;AAAA,MAE1C,OAAO,EAAE,UAAU,SAAS,GAAG;AAAA,IAChC;AAAA,IAEA,MAAM,YAAY,QAAQ,QAAQ,gBAAgB;AAAA,IAClD,IAAI,aAAa,GAAG;AAAA,MACnB,MAAM,OAAO,GAAG,QAAQ,MAAM,GAAG,SAAS,IAAI,SAAS,QAAQ,MAAM,SAAS;AAAA,MAC9E,WAAW,QAAQ,QAAQ,OAAO,IAAI,CAAC;AAAA,MAEvC,OAAO,EAAE,UAAU,MAAM,SAAS,GAAG;AAAA,IACtC;AAAA,IAEA,OAAO;AAAA,MACN;AAAA,MACA,SAAS,qBACR,YACA,SACA,SACA,UACD;AAAA,IACD;AAAA;AAAA,EAED,MAAM,4BAA4B,CACjC,YACA,SACA,aACI;AAAA,IACJ,IAAI,eAAe,UAAU,QAAQ,OAAO;AAAA,IAC5C,IAAI,CAAC,UAAU;AAAA,MACd,eAAe,iBAAiB,cAAc,MAAM;AAAA,IACrD;AAAA,IACA,IAAI,aAAa,SAAS,GAAG;AAAA,MAC5B,WAAW,QAAQ,QAAQ,OAAO,YAAY,CAAC;AAAA,IAChD;AAAA,IACA,WAAW,MAAM;AAAA;AAAA,EAElB,MAAM,mBAAmB,OACxB,YACA,QACA,SACA,aACI;AAAA,IACJ,QAAQ,MAAM,UAAU,MAAM,gBAAgB,MAAM;AAAA,IACpD,IAAI,QAAQ,CAAC,OAAO;AAAA,MACnB,OAAO,EAAE,MAAM,UAAU,QAAQ;AAAA,IAClC;AAAA,IAEA,MAAM,YAAY,eACjB,YACA,UAAU,oBAAoB,OAAO,OAAO,GAC5C,QACD;AAAA,IAEA,OAAO;AAAA,MACN;AAAA,MACA,UAAU,UAAU;AAAA,MACpB,SAAS,UAAU;AAAA,IACpB;AAAA;AAAA,EAED,MAAM,uBAAuB,OAC5B,YACA,WACI;AAAA,IACJ,MAAM,uBAAuB,OAC5B,UACA,YACI;AAAA,MACJ,MAAM,WAAW,MAAM,iBACtB,YACA,QACA,SACA,QACD;AAAA,MACA,MAAM,YAAY,oBAAoB,UAAU,UAAU,OAAO;AAAA,MACjE,IAAI,UAAU,MAAM;AAAA,QACnB,OAAO,EAAE,UAAU,QAAQ;AAAA,MAC5B;AAAA,MAEA,OAAO,qBAAqB,UAAU,UAAU,UAAU,OAAO;AAAA;AAAA,IAGlE,OAAO,qBAAqB,OAAO,EAAE;AAAA;AAAA,EAGtC,OAAO,IAAI,eAA2B;AAAA,SAC/B,MAAK,CAAC,YAAY;AAAA,MACvB,MAAM,SAAS,OAAO,UAAU;AAAA,MAEhC,IAAI;AAAA,QACH,QAAQ,UAAU,YAAY,MAAM,qBACnC,YACA,MACD;AAAA,QACA,0BAA0B,YAAY,SAAS,QAAQ;AAAA,QACtD,OAAO,OAAO;AAAA,QACf,WAAW,MAAM,KAAK;AAAA;AAAA;AAAA,EAGzB,CAAC;AAAA;AAGF,IAAM,sCAAsC,CAC3C,QACA,WACI;AAAA,EACJ,MAAM,UAAU,IAAI;AAAA,EACpB,MAAM,UAAU,IAAI;AAAA,EAEpB,MAAM,aAAa,KAAK,IAAI,cAAc,QAAQ,kBAAkB;AAAA,EACpE,MAAM,iBAAiB,CACtB,YACA,SACA,aACI;AAAA,IACJ,IAAI,UAAU;AAAA,MACb,WAAW,QAAQ,QAAQ,OAAO,OAAO,CAAC;AAAA,MAE1C,OAAO,EAAE,UAAU,SAAS,GAAG;AAAA,IAChC;AAAA,IAEA,MAAM,cAAc,QAAQ,QAAQ,aAAa;AAAA,IACjD,IAAI,eAAe,GAAG;AAAA,MACrB,MAAM,WAAW,QAAQ,YAAY,KAAK,WAAW;AAAA,MACrD,MAAM,WAAW,YAAY,IAAI,WAAW;AAAA,MAC5C,MAAM,OAAO,GAAG,QAAQ,MAAM,GAAG,QAAQ,IAAI,SAAS,QAAQ,MAAM,QAAQ;AAAA,MAC5E,WAAW,QAAQ,QAAQ,OAAO,IAAI,CAAC;AAAA,MAEvC,OAAO,EAAE,UAAU,MAAM,SAAS,GAAG;AAAA,IACtC;AAAA,IAEA,OAAO;AAAA,MACN;AAAA,MACA,SAAS,qBACR,YACA,SACA,SACA,UACD;AAAA,IACD;AAAA;AAAA,EAED,MAAM,2BAA2B,CAChC,YACA,YACI;AAAA,IACJ,MAAM,eAAe,UAAU,QAAQ,OAAO;AAAA,IAC9C,IAAI,aAAa,SAAS,GAAG;AAAA,MAC5B,WAAW,QAAQ,QAAQ,OAAO,YAAY,CAAC;AAAA,IAChD;AAAA,IACA,WAAW,MAAM;AAAA;AAAA,EAElB,MAAM,qBAAqB,OAC1B,YACA,QACA,SACA,aACI;AAAA,IACJ,QAAQ,MAAM,UAAU,MAAM,gBAAgB,MAAM;AAAA,IACpD,IAAI,QAAQ,CAAC,OAAO;AAAA,MACnB,OAAO,EAAE,MAAM,UAAU,QAAQ;AAAA,IAClC;AAAA,IAEA,MAAM,YAAY,eACjB,YACA,UAAU,oBAAoB,OAAO,OAAO,GAC5C,QACD;AAAA,IAEA,OAAO;AAAA,MACN;AAAA,MACA,UAAU,UAAU;AAAA,MACpB,SAAS,UAAU;AAAA,IACpB;AAAA;AAAA,EAED,MAAM,sBAAsB,OAC3B,YACA,WACI;AAAA,IACJ,MAAM,yBAAyB,OAC9B,UACA,YACI;AAAA,MACJ,MAAM,WAAW,MAAM,mBACtB,YACA,QACA,SACA,QACD;AAAA,MACA,MAAM,YAAY,oBAAoB,UAAU,UAAU,OAAO;AAAA,MACjE,IAAI,UAAU,MAAM;AAAA,QACnB,OAAO,EAAE,UAAU,QAAQ;AAAA,MAC5B;AAAA,MAEA,OAAO,uBACN,UAAU,UACV,UAAU,OACX;AAAA;AAAA,IAGD,OAAO,uBAAuB,OAAO,EAAE;AAAA;AAAA,EAGxC,OAAO,IAAI,eAA2B;AAAA,SAC/B,MAAK,CAAC,YAAY;AAAA,MACvB,MAAM,SAAS,OAAO,UAAU;AAAA,MAEhC,IAAI;AAAA,QACH,QAAQ,YAAY,MAAM,oBACzB,YACA,MACD;AAAA,QACA,yBAAyB,YAAY,OAAO;AAAA,QAC3C,OAAO,OAAO;AAAA,QACf,WAAW,MAAM,KAAK;AAAA;AAAA;AAAA,EAGzB,CAAC;AAAA;AAGK,IAAM,sBAAsB,CAAC,SACnC,KAAK,SAAS,aAAa;AACrB,IAAM,0BAA0B,CACtC,MACA,YACI;AAAA,EACJ,MAAM,WAAW,WAAW;AAAA,EAC5B,MAAM,aAAa,SAAS,cAAc,oBAAoB,IAAI;AAAA,EAClE,IAAI,CAAC,YAAY,CAAC,YAAY;AAAA,IAC7B,OAAO;AAAA,EACR;AAAA,EAEA,IAAI,KAAK,SAAS,eAAe,KAAK,KAAK,SAAS,mBAAmB,GAAG;AAAA,IACzE,OAAO;AAAA,EACR;AAAA,EAEA,OAAO,iBAAiB,MAAM,uBAAuB,QAAQ,CAAC;AAAA;AAGxD,IAAM,gCAAgC,CAC5C,QACA,YACI;AAAA,EACJ,MAAM,WAAW,WAAW;AAAA,EAC5B,IAAI,CAAC;AAAA,IAAU,OAAO;AAAA,EACtB,MAAM,SAAS,uBAAuB,QAAQ;AAAA,EAE9C,IAAI,SAAS,eAAe,MAAM;AAAA,IACjC,OAAO,4BAA4B,QAAQ,MAAM;AAAA,EAClD;AAAA,EACA,IAAI,SAAS,eAAe,OAAO;AAAA,IAClC,OAAO;AAAA,EACR;AAAA,EAEA,OAAO,oCAAoC,QAAQ,MAAM;AAAA;AAEnD,IAAM,2BAA2B,CAAC,aAAqC;AAAA,EAC7E,WAAW,qBAAqB;AAAA;;;ACzWjC;AAOA,IAAM,kBAAkB;AAExB,IAAM,mBAAmB,CAAC,UACzB,QAAQ,KAAK,KAAK,OAAO,UAAU;AAEpC,IAAM,SAAS,MAAM;AAAA,EACpB,MAAM,QAAiB,QAAQ,IAAI,YAAY,eAAe;AAAA,EAC9D,IAAI,iBAAiB,KAAK;AAAA,IAAG,OAAO;AAAA,EAEpC,MAAM,QAAwB,CAAC;AAAA,EAE/B,OAAO;AAAA;AAGD,IAAM,iBAAiB,CAAC,aAAqB;AAAA,EACnD,MAAM,OAAO,SAAS,QAAQ;AAAA,EAE9B,MAAM,WAAW,KAAK,QAAQ,GAAG;AAAA,EACjC,MAAM,OAAO,WAAW,IAAI,KAAK,MAAM,GAAG,QAAQ,IAAI;AAAA,EAEtD,OAAO,SAAS,IAAI;AAAA;AAIrB,IAAM,8BAA8B,CAAC,SACpC,SAAS,IAAI,EAAE,QAAQ,QAAQ,EAAE;AAE3B,IAAM,6BAA6B,CACzC,WACA,aACI;AAAA,EACJ,MAAM,cAAc,OAAO,EAAE;AAAA,EAC7B,IAAI,CAAC;AAAA,IAAa;AAAA,EAElB,MAAM,QAAQ,YAAY,QAAQ,WAAW;AAAA,EAC7C,IAAI;AAAA,IAAO,OAAO;AAAA,EAElB,MAAM,qBAAqB,4BAA4B,QAAQ;AAAA,EAC/D,YAAY,WAAW,SAAS,OAAO,QAAQ,YAAY,SAAS,CAAC,CAAC,GAAG;AAAA,IACxE,IAAI,4BAA4B,SAAS,MAAM,oBAAoB;AAAA,MAClE,OAAO,KAAK,SAAS,YAAY,UAAU;AAAA,IAC5C;AAAA,EACD;AAAA,EAEA,OAAO,YAAY,UAAU;AAAA;AAEvB,IAAM,gCAAgC,CAC5C,cACI,OAAO,EAAE,YAAY,UAAU;AAE7B,IAAM,qBAAqB,CAAC,cAAoC;AAAA,EACtE,MAAM,cAAc,OAAO,EAAE;AAAA,EAC7B,IAAI,CAAC;AAAA,IAAa,OAAO;AAAA,EACzB,IAAI,YAAY,UAAU;AAAA,IAAO,OAAO;AAAA,EAExC,OAAO,OAAO,OAAO,YAAY,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,SACnD,QAAQ,KAAK,KAAK,CACnB;AAAA;AAGM,IAAM,iBAAiB,CAAC,QAAwB;AAAA,EACtD,QAAQ,IAAI,YAAY,iBAAiB,GAAG;AAAA;AAG7C,IAAM,QAAQ,MAAM;AAEpB,IAAM,kBAAkB,CAAC,UAAmB;AAAA,EAC3C,MAAM,UAAU,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,EACrE,MAAM,QAAQ,MAAM,KAAK,iBAAiB,QAAQ,MAAM,QAAQ;AAAA,EAEhE,OAAO,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE;AAAA;AAGpC,IAAM,mBAAmB,OACxB,gBACA,eACI;AAAA,EACJ,QAAQ,kBAAkB,MAAa;AAAA,EACvC,QAAQ,2BAA2B,MAAa;AAAA,EAChD,MAAM,MAAM,MAAa;AAAA,EACzB,OAAO,YAAY,OAAO,KAAK,GAAG;AAAA,EAClC,MAAM,iBACL,IAAI,YAAY,WAAW,IAAI,YAAY;AAAA,EAC5C,MAAM,UAAU,cAAc,gBAAgB,UAAU;AAAA,EACxD,MAAM,SAAS,MAAM,uBAAuB,OAAO;AAAA,EAEnD,OAAO,IAAI,SAAS,QAAQ;AAAA,IAC3B,SAAS,EAAE,gBAAgB,YAAY;AAAA,IACvC,QAAQ;AAAA,EACT,CAAC;AAAA;AAGF,IAAM,oBAAoB,OACzB,gBACA,eACI;AAAA,EACJ,QAAQ,WAAW,MAAa;AAAA,EAChC,MAAM,MAAM,MAAa;AAAA,EACzB,MAAM,iBAAiB,IAAI;AAAA,EAC3B,QAAQ,MAAM,SAAS,OAAO,gBAAgB;AAAA,IAC7C,OAAO;AAAA,EACR,CAAC;AAAA,EACD,MAAM,OAAO,8BAA8B,oBAAoB;AAAA,EAE/D,OAAO,IAAI,SAAS,MAAM;AAAA,IACzB,SAAS,EAAE,gBAAgB,YAAY;AAAA,IACvC,QAAQ;AAAA,EACT,CAAC;AAAA;AAGF,IAAM,oBAAoB,CAAC,YAAoB;AAAA,EAC9C,IAAI,SAAS;AAAA,EACb,MAAM,OAAO,QAAQ,QACpB,+BACA,CAAC,GAAG,QAAgB;AAAA,IACnB,UAAU,UAAU,IAClB,QAAQ,WAAW,GAAG,EACtB,QAAQ,UAAU,GAAG,EACrB,QAAQ,SAAS,GAAG,EACpB,QAAQ,SAAS,GAAG;AAAA,IAEtB,OAAO;AAAA,GAET;AAAA,EAEA,OAAO,EAAE,MAAM,OAAO;AAAA;AAGvB,IAAM,iBAAiB,OACtB,gBACA,eACI;AAAA,EACJ,QAAQ,cAAc,MAAM,MAAa;AAAA,EACzC,QAAQ,mBAAmB,MAAa;AAAA,EACxC,MAAM,MAAM,MAAa;AAAA,EACzB,MAAM,iBAAiB,IAAI;AAAA,EAC3B,MAAM,MAAM,aAAa;AAAA,IACxB,QAAQ,MAAM,EAAE,gBAAgB,UAAU;AAAA,EAC3C,CAAC;AAAA,EACD,MAAM,UAAU,MAAM,eAAe,GAAG;AAAA,EAIxC,QAAQ,QAAQ,SAAS,kBAAkB,OAAO;AAAA,EAClD,MAAM,OAAO,8BAA8B,qCAAqC;AAAA,EAEhF,OAAO,IAAI,SAAS,MAAM;AAAA,IACzB,SAAS,EAAE,gBAAgB,YAAY;AAAA,IACvC,QAAQ;AAAA,EACT,CAAC;AAAA;AAGF,IAAM,qBAAqB,OAC1B,gBACA,eACI;AAAA,EAGJ,MAAM,MAAM,MAAa;AAAA,EACzB,MAAM,cAAc,IAAI,WAAW,IAAI;AAAA,EACvC,IAAI,OAAO,gBAAgB;AAAA,IAAY,OAAO;AAAA,EAE9C,MAAM,OAAO,YAAY,UAAU;AAAA,EAEnC,OAAO,IAAI,SAAS,MAAM;AAAA,IACzB,SAAS,EAAE,gBAAgB,YAAY;AAAA,IACvC,QAAQ;AAAA,EACT,CAAC;AAAA;AAGF,IAAM,2BAA2B,CAChC,WACA,OACA,gBACI;AAAA,EACJ,MAAM,UAAU,uBAAuB,QAAQ,YAAY,UAAU;AAAA,EACrE,IACC,QAAQ,SAAS,oBAAoB,KACrC,QAAQ,SAAS,qBAAqB,KACtC,QAAQ,SAAS,qBAAqB,GACrC;AAAA,IACD,QAAQ,MACP,oBAAoB,kBAAkB,2DACvB,gDAAgD,cAAc,UAAU,oBAAoB,aAC5G;AAAA,IAEA;AAAA,EACD;AAAA,EAEA,QAAQ,MACP,0BAA0B,wBAAwB,eAClD,WACD;AAAA;AAGD,IAAM,kBAMF;AAAA,EACH,SAAS;AAAA,EACT,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,KAAK;AACN;AAEO,IAAM,wBAAwB,OACpC,WACA,UACA,UACI;AAAA,EACJ,IAAI,iBAAiB,2BAA2B,WAAW,QAAQ;AAAA,EACnE,IAAI,CAAC,kBAAkB,iBAAiB,SAAS,MAAM,OAAO;AAAA,IAC7D,WAAW,SAAS,MAAM,MAAM,SAC/B,+BACD,GAAG;AAAA,MACF,MAAM,YAAY,MAAM;AAAA,MACxB,IAAI,CAAC;AAAA,QAAW;AAAA,MAEhB,iBAAiB,2BAA2B,WAAW,SAAS;AAAA,MAChE,IAAI;AAAA,QAAgB;AAAA,IACrB;AAAA,EACD;AAAA,EACA,IAAI,CAAC;AAAA,IAAgB,OAAO;AAAA,EAE5B,MAAM,aAAa,gBAAgB,KAAK;AAAA,EACxC,MAAM,WAAW,gBAAgB;AAAA,EACjC,IAAI,CAAC;AAAA,IAAU,OAAO;AAAA,EAEtB,IAAI;AAAA,IACH,OAAO,MAAM,SAAS,gBAAgB,UAAU;AAAA,IAC/C,OAAO,aAAa;AAAA,IACrB,yBAAyB,WAAW,SAAS,WAAW;AAAA;AAAA,EAGzD,OAAO;AAAA;AAGR,IAAM,sBAAsB,OAAO,mBAA2B;AAAA,EAC7D,QAAQ,kBAAkB,MAAa;AAAA,EACvC,QAAQ,2BAA2B,MAAa;AAAA,EAChD,MAAM,MAAM,MAAa;AAAA,EACzB,OAAO,SAAS,OAAO,KAAK,GAAG;AAAA,EAC/B,MAAM,oBAAoB,IAAI,YAAY,QAAQ,IAAI,SAAS;AAAA,EAC/D,MAAM,UAAU,cAAc,iBAAiB;AAAA,EAC/C,MAAM,SAAS,MAAM,uBAAuB,OAAO;AAAA,EAEnD,OAAO,IAAI,SAAS,QAAQ;AAAA,IAC3B,SAAS,EAAE,gBAAgB,YAAY;AAAA,IACvC,QAAQ;AAAA,EACT,CAAC;AAAA;AAGF,IAAM,uBAAuB,OAAO,mBAA2B;AAAA,EAC9D,QAAQ,WAAW,MAAa;AAAA,EAChC,MAAM,MAAM,MAAa;AAAA,EACzB,MAAM,oBAAoB,IAAI;AAAA,EAC9B,QAAQ,MAAM,SAAS,OAAO,iBAAiB;AAAA,EAC/C,MAAM,OAAO,8BAA8B,oBAAoB;AAAA,EAE/D,OAAO,IAAI,SAAS,MAAM;AAAA,IACzB,SAAS,EAAE,gBAAgB,YAAY;AAAA,IACvC,QAAQ;AAAA,EACT,CAAC;AAAA;AAGF,IAAM,oBAAoB,OAAO,mBAA2B;AAAA,EAC3D,QAAQ,cAAc,MAAM,MAAa;AAAA,EACzC,QAAQ,mBAAmB,MAAa;AAAA,EACxC,MAAM,MAAM,MAAa;AAAA,EACzB,MAAM,oBAAoB,IAAI;AAAA,EAC9B,MAAM,MAAM,aAAa;AAAA,IACxB,QAAQ,MAAM,EAAE,iBAAiB;AAAA,EAClC,CAAC;AAAA,EACD,MAAM,UAAU,MAAM,eAAe,GAAG;AAAA,EAExC,QAAQ,QAAQ,SAAS,kBAAkB,OAAO;AAAA,EAClD,MAAM,OAAO,8BAA8B,qCAAqC;AAAA,EAEhF,OAAO,IAAI,SAAS,MAAM;AAAA,IACzB,SAAS,EAAE,gBAAgB,YAAY;AAAA,IACvC,QAAQ;AAAA,EACT,CAAC;AAAA;AAGF,IAAM,wBAAwB,OAAO,mBAA2B;AAAA,EAC/D,MAAM,MAAM,MAAa;AAAA,EACzB,MAAM,iBAAiB,IAAI,WAAW,IAAI;AAAA,EAC1C,IAAI,OAAO,mBAAmB;AAAA,IAAY,OAAO;AAAA,EAEjD,MAAM,OAAO,eAAe;AAAA,EAE5B,OAAO,IAAI,SAAS,MAAM;AAAA,IACzB,SAAS,EAAE,gBAAgB,YAAY;AAAA,IACvC,QAAQ;AAAA,EACT,CAAC;AAAA;AAGF,IAAM,sBAGF;AAAA,EACH,SAAS;AAAA,EACT,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,KAAK;AACN;AAEO,IAAM,2BAA2B,OACvC,cACI;AAAA,EACJ,MAAM,iBAAiB,8BAA8B,SAAS;AAAA,EAC9D,IAAI,CAAC;AAAA,IAAgB,OAAO;AAAA,EAE5B,MAAM,WAAW,oBAAoB;AAAA,EACrC,IAAI,CAAC;AAAA,IAAU,OAAO;AAAA,EAEtB,IAAI;AAAA,IACH,OAAO,MAAM,SAAS,cAAc;AAAA,IACnC,OAAO,aAAa;AAAA,IACrB,yBAAyB,WAAW,aAAa,WAAW;AAAA;AAAA,EAG7D,OAAO;AAAA;AAGR,IAAM,qBAA+C;AAAA,EACpD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEO,IAAM,sBAAsB,YAAY;AAAA,EAC9C,MAAM,aAAa,OAAO,eAAyC;AAAA,IAClE,OAAO,cAAc,aAAa;AAAA,IAClC,IAAI,CAAC,WAAW;AAAA,MACf,OAAO;AAAA,IACR;AAAA,IACA,IAAI,CAAC,OAAO,EAAE,YAAY,UAAU,UAAU;AAAA,MAC7C,OAAO,WAAW,SAAS;AAAA,IAC5B;AAAA,IAEA,MAAM,WAAW,MAAM,yBAAyB,SAAS;AAAA,IACzD,IAAI,UAAU;AAAA,MACb,OAAO;AAAA,IACR;AAAA,IAEA,OAAO,WAAW,SAAS;AAAA;AAAA,EAG5B,OAAO,WAAW,kBAAkB;AAAA;",
10
- "debugId": "C9D132C4A53F65BB64756E2164756E21",
10
+ "debugId": "07AF9404315C5F2F64756E2164756E21",
11
11
  "names": []
12
12
  }
@@ -15,7 +15,7 @@ import {
15
15
  } from "./chunk-mbazhahf.js";
16
16
  import {
17
17
  createSvelteStylePreprocessor
18
- } from "./chunk-6fkgm9s5.js";
18
+ } from "./chunk-xnt8c6h2.js";
19
19
  import {
20
20
  BASE_36_RADIX
21
21
  } from "./chunk-qh75agse.js";
@@ -374,4 +374,4 @@ export {
374
374
  };
375
375
 
376
376
  //# debugId=52767A2109196BB664756E2164756E21
377
- //# sourceMappingURL=chunk-xzvy9hr4.js.map
377
+ //# sourceMappingURL=chunk-x09cskqd.js.map
@@ -365,6 +365,13 @@ var recordStyleDeps = (entry, deps) => {
365
365
  }
366
366
  styleDependencyGraph.set(key, stripped);
367
367
  };
368
+ var addStyleImporter = (importerPath, stylePath) => {
369
+ const key = resolve(importerPath);
370
+ const target = resolve(stylePath);
371
+ const deps = styleDependencyGraph.get(key) ?? new Set;
372
+ deps.add(target);
373
+ styleDependencyGraph.set(key, deps);
374
+ };
368
375
  var findStyleEntriesImporting = (changedPath) => {
369
376
  const target = resolve(changedPath);
370
377
  const importers = [];
@@ -563,7 +570,7 @@ var compileStyleFileIfNeededSync = (filePath, config) => {
563
570
  };
564
571
  var getCssOutputExtension = (filePath) => isPreprocessableStylePath(filePath) ? ".css" : extname(filePath);
565
572
 
566
- export { isPreprocessableStylePath, isStyleModulePath, isStylePath, getStyleBaseName, createStyleTransformConfig, findStyleEntriesImporting, recordStyleOutput, forgetStyleEntry, compileStyleSource, createStylePreprocessorPlugin, stylePreprocessorPlugin, createSvelteStylePreprocessor, compileStyleFileIfNeeded, compileStyleFileIfNeededSync, getCssOutputExtension };
573
+ export { isPreprocessableStylePath, isStyleModulePath, isStylePath, getStyleBaseName, createStyleTransformConfig, addStyleImporter, findStyleEntriesImporting, recordStyleOutput, forgetStyleEntry, compileStyleSource, createStylePreprocessorPlugin, stylePreprocessorPlugin, createSvelteStylePreprocessor, compileStyleFileIfNeeded, compileStyleFileIfNeededSync, getCssOutputExtension };
567
574
 
568
- //# debugId=6A75AC0A3B30DFD664756E2164756E21
569
- //# sourceMappingURL=chunk-6fkgm9s5.js.map
575
+ //# debugId=634C187AA2D5975464756E2164756E21
576
+ //# sourceMappingURL=chunk-xnt8c6h2.js.map
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/build/stylePreprocessor.ts"],
4
4
  "sourcesContent": [
5
- "import { createHash } from 'node:crypto';\nimport { existsSync, readFileSync } from 'node:fs';\nimport { readFile } from 'node:fs/promises';\nimport { createRequire } from 'node:module';\nimport {\n\tdirname,\n\textname,\n\tisAbsolute,\n\tjoin,\n\trelative,\n\tresolve\n} from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport type { BunPlugin } from 'bun';\nimport type {\n\tLessPreprocessorOptions,\n\tPostCSSConfig,\n\tSassPreprocessorOptions,\n\tStylePreprocessorConfig,\n\tStylusPreprocessorOptions\n} from '../../types/build';\n\nconst CSS_EXTENSION_PATTERN = /\\.css$/i;\nconst STYLE_EXTENSION_PATTERN = /\\.(s[ac]ss|less|styl(?:us)?)$/i;\nconst STYLE_MODULE_EXTENSION_PATTERN = /\\.module\\.(s[ac]ss|less|styl(?:us)?)$/i;\nconst STYLE_LANGUAGE_PATTERN = /^(s[ac]ss|less|styl(?:us)?)$/i;\nconst importOptionalPeer = new Function(\n\t'specifier',\n\t'return import(specifier)'\n) as <T>(specifier: string) => Promise<T>;\nconst requireOptionalPeer = new Function(\n\t'specifier',\n\t'return require(specifier)'\n) as <T>(specifier: string) => T;\nconst requireFromCwd = createRequire(join(process.cwd(), 'package.json'));\n\nexport const isPreprocessableStylePath = (filePath: string) =>\n\tSTYLE_EXTENSION_PATTERN.test(filePath);\n\nexport const isStyleModulePath = (filePath: string) =>\n\tSTYLE_MODULE_EXTENSION_PATTERN.test(filePath);\n\nexport const isStylePath = (filePath: string) =>\n\t/\\.(css|s[ac]ss|less|styl(?:us)?)$/i.test(filePath);\n\nexport const getStyleBaseName = (filePath: string) =>\n\tfilePath.replace(/\\.(css|s[ac]ss|less|styl(?:us)?)$/i, '');\n\nconst getStyleLanguage = (filePathOrLanguage: string) => {\n\tconst normalized = filePathOrLanguage.toLowerCase();\n\tif (normalized === 'scss' || normalized.endsWith('.scss')) return 'scss';\n\tif (normalized === 'sass' || normalized.endsWith('.sass')) return 'sass';\n\tif (normalized === 'less' || normalized.endsWith('.less')) return 'less';\n\tif (\n\t\tnormalized === 'styl' ||\n\t\tnormalized === 'stylus' ||\n\t\tnormalized.endsWith('.styl') ||\n\t\tnormalized.endsWith('.stylus')\n\t)\n\t\treturn 'stylus';\n\n\treturn null;\n};\n\nconst missingDependencyError = (name: string, filePath: string) =>\n\tnew Error(\n\t\t`Unable to compile ${filePath}: install optional dependency \"${name}\" to use this stylesheet preprocessor.`\n\t);\n\n/* Re-throw a preprocessor error with the filename + a one-line summary\n prefixed so the dev server's `[hmr] error` log doesn't print\n `Server error: undefined`. Sass / Less / Stylus all attach useful\n metadata (line, column, snippet) to their errors but the property\n names differ — we surface whatever's available. */\nconst throwPreprocessorError = (\n\terror: unknown,\n\tfilePath: string,\n\tlanguage: StyleLanguage\n): never => {\n\tif (!(error instanceof Error)) {\n\t\tthrow new Error(\n\t\t\t`${language} compile failed in ${filePath}: ${String(error)}`\n\t\t);\n\t}\n\n\tconst detail = error as Error & {\n\t\tline?: number;\n\t\tcolumn?: number;\n\t\textract?: string[];\n\t\tformatted?: string;\n\t\tspan?: { start?: { line?: number; column?: number } };\n\t};\n\tconst sassLine = detail.span?.start?.line;\n\tconst sassCol = detail.span?.start?.column;\n\tconst line = detail.line ?? sassLine;\n\tconst column = detail.column ?? sassCol;\n\tconst location =\n\t\ttypeof line === 'number'\n\t\t\t? `:${line}${typeof column === 'number' ? `:${column}` : ''}`\n\t\t\t: '';\n\tconst message = detail.formatted ?? detail.message;\n\tconst wrapped = new Error(\n\t\t`${language} compile failed in ${filePath}${location}\\n${message}`\n\t);\n\twrapped.cause = error;\n\tthrow wrapped;\n};\n\nconst requireOptionalPeerSync = <T>(specifier: string) => {\n\ttry {\n\t\treturn requireFromCwd(specifier) as T;\n\t} catch {\n\t\treturn requireOptionalPeer<T>(specifier);\n\t}\n};\n\nconst normalizeLoadPaths = (filePath: string, paths: string[] = []) => [\n\tdirname(filePath),\n\tprocess.cwd(),\n\t...paths.map((path) => resolve(process.cwd(), path))\n];\n\ntype StyleLanguage = NonNullable<ReturnType<typeof getStyleLanguage>>;\n\ntype AliasEntry = {\n\tpattern: string;\n\treplacements: string[];\n};\n\nlet tsconfigAliasCache:\n\t| { cwd: string; aliases: AliasEntry[]; baseUrl: string }\n\t| undefined;\n\nconst stripJsonComments = (source: string) =>\n\tsource.replace(/\\/\\*[\\s\\S]*?\\*\\//g, '').replace(/(^|[^:])\\/\\/.*$/gm, '$1');\n\nconst normalizeAliasEntries = (\n\taliases: Record<string, string | string[]> | undefined\n) =>\n\tObject.entries(aliases ?? {}).map(([pattern, value]) => ({\n\t\tpattern,\n\t\treplacements: Array.isArray(value) ? value : [value]\n\t}));\n\nconst readTsconfigAliases = () => {\n\tconst cwd = process.cwd();\n\tif (tsconfigAliasCache?.cwd === cwd) return tsconfigAliasCache;\n\n\tconst tsconfigPath = resolve(cwd, 'tsconfig.json');\n\tconst empty = { aliases: [], baseUrl: cwd, cwd };\n\tif (!existsSync(tsconfigPath)) {\n\t\ttsconfigAliasCache = empty;\n\t\treturn empty;\n\t}\n\n\ttry {\n\t\tconst parsed = JSON.parse(\n\t\t\tstripJsonComments(readFileSync(tsconfigPath, 'utf-8'))\n\t\t);\n\t\tconst compilerOptions = parsed.compilerOptions ?? {};\n\t\tconst baseUrl = resolve(cwd, compilerOptions.baseUrl ?? '.');\n\t\ttsconfigAliasCache = {\n\t\t\taliases: normalizeAliasEntries(compilerOptions.paths),\n\t\t\tbaseUrl,\n\t\t\tcwd\n\t\t};\n\t} catch {\n\t\ttsconfigAliasCache = empty;\n\t}\n\n\treturn tsconfigAliasCache;\n};\n\nconst getAliasEntries = (config: StylePreprocessorConfig | undefined) => {\n\tconst tsconfig = readTsconfigAliases();\n\treturn {\n\t\taliases: [\n\t\t\t...normalizeAliasEntries(config?.aliases),\n\t\t\t...tsconfig.aliases\n\t\t],\n\t\tbaseUrl: tsconfig.baseUrl\n\t};\n};\n\nconst aliasPatternToRegExp = (pattern: string) =>\n\tnew RegExp(\n\t\t`^${pattern\n\t\t\t.split('*')\n\t\t\t.map((part) => part.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'))\n\t\t\t.join('(.+)')}$`\n\t);\n\nconst resolveAliasTargets = (\n\tspecifier: string,\n\tconfig: StylePreprocessorConfig | undefined\n) => {\n\tconst { aliases, baseUrl } = getAliasEntries(config);\n\tconst targets: string[] = [];\n\n\tfor (const alias of aliases) {\n\t\tconst match = specifier.match(aliasPatternToRegExp(alias.pattern));\n\t\tif (!match) continue;\n\t\tconst wildcard = match[1] ?? '';\n\t\tfor (const replacement of alias.replacements) {\n\t\t\ttargets.push(resolve(baseUrl, replacement.replace('*', wildcard)));\n\t\t}\n\t}\n\n\treturn targets;\n};\n\nconst getLanguageExtensions = (language: StyleLanguage) => {\n\tif (language === 'less') return ['.less', '.css'];\n\tif (language === 'stylus') return ['.styl', '.stylus', '.css'];\n\treturn ['.scss', '.sass', '.css'];\n};\n\nconst getCandidatePaths = (basePath: string, language: StyleLanguage) => {\n\tconst ext = extname(basePath);\n\tconst paths = ext\n\t\t? [basePath]\n\t\t: getLanguageExtensions(language).flatMap((extension) => [\n\t\t\t\t`${basePath}${extension}`,\n\t\t\t\tjoin(basePath, `index${extension}`)\n\t\t\t]);\n\n\tif (language === 'scss' || language === 'sass') {\n\t\treturn paths.flatMap((path) => {\n\t\t\tconst dir = dirname(path);\n\t\t\tconst base = path.slice(dir.length + 1);\n\t\t\treturn [path, join(dir, `_${base}`)];\n\t\t});\n\t}\n\n\treturn paths;\n};\n\nconst resolveImportPath = (\n\tspecifier: string,\n\tfromDirectory: string,\n\tloadPaths: string[],\n\tlanguage: StyleLanguage,\n\tconfig: StylePreprocessorConfig | undefined\n) => {\n\tconst rawCandidates = [\n\t\t...resolveAliasTargets(specifier, config),\n\t\tisAbsolute(specifier) ? specifier : resolve(fromDirectory, specifier),\n\t\t...loadPaths.map((path) => resolve(path, specifier))\n\t];\n\n\tfor (const candidate of rawCandidates.flatMap((path) =>\n\t\tgetCandidatePaths(path, language)\n\t)) {\n\t\tif (existsSync(candidate)) return candidate;\n\t}\n\n\treturn null;\n};\n\nconst isExternalCssUrl = (url: string) =>\n\t/^(?:[a-z][a-z0-9+.-]*:|\\/\\/|#|\\/)/i.test(url);\n\nconst splitCssUrl = (url: string) => {\n\tconst markerIndex = url.search(/[?#]/);\n\tif (markerIndex === -1) return { marker: '', path: url };\n\treturn {\n\t\tmarker: url.slice(markerIndex),\n\t\tpath: url.slice(0, markerIndex)\n\t};\n};\n\nconst rebaseCssUrls = (\n\tcontents: string,\n\tsourceFile: string,\n\tentryFile: string\n) => {\n\tconst sourceDir = dirname(sourceFile);\n\tconst entryDir = dirname(entryFile);\n\tif (sourceDir === entryDir) return contents;\n\n\treturn contents.replace(\n\t\t/url\\(\\s*(['\"]?)([^'\")]+)\\1\\s*\\)/gi,\n\t\t(match, quote: string, rawUrl: string) => {\n\t\t\tconst trimmedUrl = rawUrl.trim();\n\t\t\tif (!trimmedUrl || isExternalCssUrl(trimmedUrl)) return match;\n\t\t\tconst { marker, path } = splitCssUrl(trimmedUrl);\n\t\t\tconst rebased = relative(\n\t\t\t\tentryDir,\n\t\t\t\tresolve(sourceDir, path)\n\t\t\t).replace(/\\\\/g, '/');\n\t\t\tconst normalized = rebased.startsWith('.')\n\t\t\t\t? rebased\n\t\t\t\t: `./${rebased}`;\n\t\t\tconst nextQuote = quote || '\"';\n\t\t\treturn `url(${nextQuote}${normalized}${marker}${nextQuote})`;\n\t\t}\n\t);\n};\n\nconst rewriteAliasedStyleImports = (\n\tcontents: string,\n\tsourceFile: string,\n\tloadPaths: string[],\n\tlanguage: StyleLanguage,\n\tconfig: StylePreprocessorConfig | undefined\n) =>\n\tcontents.replace(\n\t\t/(@(?:use|forward|import|require)\\s+)([\"'])([^\"']+)\\2/g,\n\t\t(match, prefix: string, quote: string, specifier: string) => {\n\t\t\tif (\n\t\t\t\tspecifier.startsWith('.') ||\n\t\t\t\tisAbsolute(specifier) ||\n\t\t\t\tisExternalCssUrl(specifier)\n\t\t\t)\n\t\t\t\treturn match;\n\n\t\t\tconst resolved = resolveImportPath(\n\t\t\t\tspecifier,\n\t\t\t\tdirname(sourceFile),\n\t\t\t\tloadPaths,\n\t\t\t\tlanguage,\n\t\t\t\tconfig\n\t\t\t);\n\t\t\treturn resolved ? `${prefix}${quote}${resolved}${quote}` : match;\n\t\t}\n\t);\n\nconst preprocessLoadedStyle = (\n\tcontents: string,\n\tsourceFile: string,\n\tentryFile: string,\n\tloadPaths: string[] = [],\n\tlanguage?: StyleLanguage,\n\tconfig?: StylePreprocessorConfig\n) => {\n\tconst rebased = rebaseCssUrls(contents, sourceFile, entryFile);\n\treturn language\n\t\t? rewriteAliasedStyleImports(\n\t\t\t\trebased,\n\t\t\t\tsourceFile,\n\t\t\t\tloadPaths,\n\t\t\t\tlanguage,\n\t\t\t\tconfig\n\t\t\t)\n\t\t: rebased;\n};\n\nconst extractCssModuleExports = (css: string) => {\n\tconst exports: Record<string, string> = {};\n\tconst nextCss = css.replace(/:export\\s*\\{([^}]*)\\}/g, (_, body: string) => {\n\t\tfor (const declaration of body.split(';')) {\n\t\t\tconst separator = declaration.indexOf(':');\n\t\t\tif (separator === -1) continue;\n\t\t\tconst key = declaration.slice(0, separator).trim();\n\t\t\tconst value = declaration.slice(separator + 1).trim();\n\t\t\tif (key && value) exports[key] = value;\n\t\t}\n\t\treturn '';\n\t});\n\n\treturn { css: nextCss, exports };\n};\n\nconst getSassOptions = (\n\tconfig: StylePreprocessorConfig | undefined,\n\tlanguage: 'sass' | 'scss'\n): SassPreprocessorOptions => ({\n\t...(config?.sass ?? {}),\n\t...(language === 'scss' ? (config?.scss ?? {}) : {})\n});\n\nconst getLessOptions = (\n\tconfig: StylePreprocessorConfig | undefined\n): LessPreprocessorOptions => config?.less ?? {};\n\nconst getStylusOptions = (\n\tconfig: StylePreprocessorConfig | undefined\n): StylusPreprocessorOptions => config?.stylus ?? {};\n\nexport const createStyleTransformConfig = (\n\tstylePreprocessors?: StylePreprocessorConfig,\n\tpostcss?: PostCSSConfig\n): StylePreprocessorConfig | undefined =>\n\tpostcss === undefined\n\t\t? stylePreprocessors\n\t\t: { ...(stylePreprocessors ?? {}), postcss };\n\nconst withAdditionalData = (\n\tcontents: string,\n\tadditionalData: string | undefined\n) => (additionalData ? `${additionalData}\\n${contents}` : contents);\n\ntype PostCSSRuntimeConfig = {\n\toptions?: Record<string, unknown>;\n\tplugins?: unknown[] | Record<string, unknown>;\n};\n\nconst normalizePostcssModule = (mod: unknown) => {\n\tif (mod && typeof mod === 'object' && 'default' in mod) {\n\t\treturn (mod as { default?: unknown }).default ?? mod;\n\t}\n\n\treturn mod;\n};\n\nconst loadPostcssConfigFile = async (\n\tconfigPath: string\n): Promise<PostCSSRuntimeConfig> => {\n\tconst resolved = resolve(process.cwd(), configPath);\n\tconst loaded =\n\t\tresolved.endsWith('.cjs') || resolved.endsWith('.cts')\n\t\t\t? requireOptionalPeerSync<unknown>(resolved)\n\t\t\t: await importOptionalPeer<unknown>(\n\t\t\t\t\t`${new URL(`file://${resolved}`).href}?t=${Date.now()}`\n\t\t\t\t);\n\tconst config = normalizePostcssModule(loaded);\n\tconst value =\n\t\ttypeof config === 'function'\n\t\t\t? await (\n\t\t\t\t\tconfig as (context: {\n\t\t\t\t\t\tcwd: string;\n\t\t\t\t\t\tenv?: string;\n\t\t\t\t\t}) => unknown\n\t\t\t\t)({\n\t\t\t\t\tcwd: process.cwd(),\n\t\t\t\t\tenv: process.env.NODE_ENV\n\t\t\t\t})\n\t\t\t: config;\n\n\treturn (normalizePostcssModule(value) ?? {}) as PostCSSRuntimeConfig;\n};\n\nconst normalizePostcssPlugins = (\n\tplugins: unknown[] | Record<string, unknown> | undefined\n) => {\n\tif (!plugins) return [];\n\tif (Array.isArray(plugins)) return plugins.filter(Boolean);\n\n\tconst resolved: unknown[] = [];\n\tfor (const [specifier, options] of Object.entries(plugins)) {\n\t\tif (options === false) continue;\n\t\tconst mod = normalizePostcssModule(\n\t\t\trequireOptionalPeerSync<unknown>(specifier)\n\t\t);\n\t\tconst plugin =\n\t\t\ttypeof mod === 'function'\n\t\t\t\t? (mod as (options?: unknown) => unknown)(\n\t\t\t\t\t\toptions === true ? undefined : options\n\t\t\t\t\t)\n\t\t\t\t: mod;\n\t\tif (plugin) resolved.push(plugin);\n\t}\n\n\treturn resolved;\n};\n\nconst resolvePostcssConfig = async (\n\tconfig: StylePreprocessorConfig | undefined\n) => {\n\tconst inlineConfig = config?.postcss;\n\tif (!inlineConfig) return null;\n\n\tconst fileConfig = inlineConfig.config\n\t\t? await loadPostcssConfigFile(inlineConfig.config)\n\t\t: {};\n\tconst plugins = [\n\t\t...normalizePostcssPlugins(fileConfig.plugins),\n\t\t...normalizePostcssPlugins(inlineConfig.plugins)\n\t];\n\n\tif (plugins.length === 0) return null;\n\n\treturn {\n\t\toptions: {\n\t\t\t...(fileConfig.options ?? {}),\n\t\t\t...(inlineConfig.options ?? {})\n\t\t},\n\t\tplugins\n\t};\n};\n\nconst runPostcss = async (\n\tcss: string,\n\tfilePath: string,\n\tconfig: StylePreprocessorConfig | undefined\n) => {\n\tconst postcssConfig = await resolvePostcssConfig(config);\n\tif (!postcssConfig) return css;\n\n\tlet postcssModule: typeof import('postcss') & {\n\t\tdefault?: typeof import('postcss');\n\t};\n\ttry {\n\t\tpostcssModule =\n\t\t\tawait importOptionalPeer<typeof postcssModule>('postcss');\n\t} catch {\n\t\tthrow missingDependencyError('postcss', filePath);\n\t}\n\tconst postcss = postcssModule.default ?? postcssModule;\n\tconst result = await postcss(\n\t\tpostcssConfig.plugins as import('postcss').AcceptedPlugin[]\n\t).process(css, {\n\t\tfrom: filePath,\n\t\tmap: false,\n\t\t...postcssConfig.options\n\t});\n\n\treturn result.css;\n};\n\nconst createSassImporter = (\n\tentryFile: string,\n\tloadPaths: string[],\n\tlanguage: 'sass' | 'scss',\n\tconfig: StylePreprocessorConfig | undefined,\n\tdeps?: Set<string>\n) => ({\n\tcanonicalize(specifier: string, options: { containingUrl?: URL | null }) {\n\t\tconst fromDirectory = options.containingUrl\n\t\t\t? dirname(fileURLToPath(options.containingUrl))\n\t\t\t: dirname(entryFile);\n\t\tconst resolved = resolveImportPath(\n\t\t\tspecifier,\n\t\t\tfromDirectory,\n\t\t\tloadPaths,\n\t\t\tlanguage,\n\t\t\tconfig\n\t\t);\n\t\treturn resolved ? new URL(`file://${resolved}`) : null;\n\t},\n\tload(canonicalUrl: URL) {\n\t\tconst filePath = fileURLToPath(canonicalUrl);\n\t\tdeps?.add(filePath);\n\t\tconst fileLanguage = getStyleLanguage(filePath);\n\t\tif (\n\t\t\tfileLanguage !== 'scss' &&\n\t\t\tfileLanguage !== 'sass' &&\n\t\t\tfileLanguage !== null\n\t\t)\n\t\t\treturn null;\n\n\t\treturn {\n\t\t\tcontents: preprocessLoadedStyle(\n\t\t\t\treadFileSync(filePath, 'utf-8'),\n\t\t\t\tfilePath,\n\t\t\t\tentryFile,\n\t\t\t\tloadPaths,\n\t\t\t\tlanguage,\n\t\t\t\tconfig\n\t\t\t),\n\t\t\tsyntax: filePath.endsWith('.sass')\n\t\t\t\t? ('indented' as const)\n\t\t\t\t: ('scss' as const)\n\t\t};\n\t}\n});\n\nconst createLessFileManager = (\n\tentryFile: string,\n\tloadPaths: string[],\n\tconfig: StylePreprocessorConfig | undefined,\n\tdeps?: Set<string>\n) => ({\n\tinstall(\n\t\tless: { FileManager: new () => Record<string, unknown> },\n\t\tpluginManager: { addFileManager(manager: unknown): void }\n\t) {\n\t\tconst baseManager = new less.FileManager();\n\t\tconst manager = Object.create(baseManager) as Record<string, unknown>;\n\t\tmanager.supports = (filename: string, currentDirectory: string) =>\n\t\t\tBoolean(\n\t\t\t\tresolveImportPath(\n\t\t\t\t\tfilename,\n\t\t\t\t\tresolve(currentDirectory),\n\t\t\t\t\tloadPaths,\n\t\t\t\t\t'less',\n\t\t\t\t\tconfig\n\t\t\t\t)\n\t\t\t);\n\t\tmanager.loadFile = async (\n\t\t\tfilename: string,\n\t\t\tcurrentDirectory: string\n\t\t) => {\n\t\t\tconst resolved = resolveImportPath(\n\t\t\t\tfilename,\n\t\t\t\tresolve(currentDirectory),\n\t\t\t\tloadPaths,\n\t\t\t\t'less',\n\t\t\t\tconfig\n\t\t\t);\n\t\t\tif (!resolved) {\n\t\t\t\tthrow new Error(`Unable to resolve Less import \"${filename}\"`);\n\t\t\t}\n\t\t\tdeps?.add(resolved);\n\n\t\t\treturn {\n\t\t\t\tcontents: preprocessLoadedStyle(\n\t\t\t\t\tawait readFile(resolved, 'utf-8'),\n\t\t\t\t\tresolved,\n\t\t\t\t\tentryFile,\n\t\t\t\t\tloadPaths,\n\t\t\t\t\t'less',\n\t\t\t\t\tconfig\n\t\t\t\t),\n\t\t\t\tfilename: resolved\n\t\t\t};\n\t\t};\n\t\tpluginManager.addFileManager(manager);\n\t}\n});\n\nconst renderStylus = async (\n\tcontents: string,\n\tfilePath: string,\n\tloadPaths: string[],\n\toptions: StylusPreprocessorOptions,\n\tdeps?: Set<string>\n) => {\n\tlet stylus: typeof import('stylus');\n\ttry {\n\t\tconst stylusModule = await importOptionalPeer<\n\t\t\ttypeof import('stylus') & { default?: typeof import('stylus') }\n\t\t>('stylus');\n\t\tstylus = stylusModule.default ?? stylusModule;\n\t} catch {\n\t\tthrow missingDependencyError('stylus', filePath);\n\t}\n\n\treturn new Promise<string>((resolveCss, reject) => {\n\t\tconst renderer = stylus(contents);\n\t\trenderer.set('filename', filePath);\n\t\tfor (const [key, value] of Object.entries(options.options ?? {})) {\n\t\t\trenderer.set(key, value);\n\t\t}\n\t\tfor (const path of loadPaths) renderer.include(path);\n\t\trenderer.render((error, css) => {\n\t\t\tif (error) {\n\t\t\t\treject(error);\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Stylus exposes its dependency list after a successful render.\n\t\t\tif (deps) {\n\t\t\t\tconst stylusDeps = (\n\t\t\t\t\trenderer as unknown as { deps?: () => string[] }\n\t\t\t\t).deps?.();\n\t\t\t\tif (Array.isArray(stylusDeps)) {\n\t\t\t\t\tfor (const dep of stylusDeps) deps.add(resolve(dep));\n\t\t\t\t}\n\t\t\t}\n\t\t\tresolveCss(css ?? '');\n\t\t});\n\t});\n};\n\n/* Compile-time bookkeeping shared with the dev server.\n\n `styleDependencyGraph` maps every entry stylesheet (anything that ran\n through `compileStyleSource`) to the absolute paths of every partial\n it imported during that compile. The dev rebuild trigger reads this to\n know which entries to invalidate when a partial like `_tokens.scss`\n changes.\n\n `styleOutputHashes` records the SHA-1 of each entry's last-emitted CSS\n so callers can skip re-broadcasting / re-writing identical output. */\nconst styleDependencyGraph = new Map<string, Set<string>>();\nconst styleOutputHashes = new Map<string, string>();\n\nconst recordStyleDeps = (entry: string, deps: Set<string>) => {\n\tconst key = resolve(entry);\n\tconst stripped = new Set<string>();\n\tfor (const dep of deps) {\n\t\tconst resolved = resolve(dep);\n\t\tif (resolved !== key) stripped.add(resolved);\n\t}\n\tstyleDependencyGraph.set(key, stripped);\n};\n\n/* Files that import the given path. Used by the dev server to rebuild\n importers when a partial changes — there's no import-graph traversal,\n so callers should pass already-resolved absolute paths. */\nexport const findStyleEntriesImporting = (changedPath: string) => {\n\tconst target = resolve(changedPath);\n\tconst importers: string[] = [];\n\tfor (const [entry, deps] of styleDependencyGraph) {\n\t\tif (deps.has(target)) importers.push(entry);\n\t}\n\n\treturn importers;\n};\n\n/* Hash the just-emitted CSS for an entry; returns `true` only when the\n output actually differs from the previous compile. The dev path uses\n this to suppress style-update broadcasts on whitespace-only edits. */\nexport const recordStyleOutput = (entry: string, css: string) => {\n\tconst key = resolve(entry);\n\tconst hash = createHash('sha1').update(css).digest('hex');\n\tconst previous = styleOutputHashes.get(key);\n\tstyleOutputHashes.set(key, hash);\n\n\treturn previous !== hash;\n};\n\n/* Drop cached state for an entry — used when the file is deleted or the\n dev server is shutting down. */\nexport const forgetStyleEntry = (entry: string) => {\n\tconst key = resolve(entry);\n\tstyleDependencyGraph.delete(key);\n\tstyleOutputHashes.delete(key);\n};\n\nexport const compileStyleSource = async (\n\tfilePath: string,\n\tsource?: string,\n\tlanguageHint?: string,\n\tconfig?: StylePreprocessorConfig\n) => {\n\tconst language = getStyleLanguage(languageHint ?? filePath);\n\tconst rawContents = source ?? (await readFile(filePath, 'utf-8'));\n\t// Collect every partial / @import / @use that the compiler touches.\n\t// Stored on `styleDependencyGraph` after compile so the dev server\n\t// can invalidate this entry when one of its imports changes.\n\tconst deps = new Set<string>();\n\n\tif (language === 'scss' || language === 'sass') {\n\t\tconst options = getSassOptions(config, language);\n\t\tconst packageName = options.implementation ?? 'sass';\n\t\tlet sass: typeof import('sass');\n\t\ttry {\n\t\t\tsass = await importOptionalPeer<typeof import('sass')>(packageName);\n\t\t} catch {\n\t\t\tthrow missingDependencyError(packageName, filePath);\n\t\t}\n\n\t\tconst contents = withAdditionalData(\n\t\t\trawContents,\n\t\t\toptions.additionalData\n\t\t);\n\t\tconst loadPaths = normalizeLoadPaths(filePath, options.loadPaths);\n\t\ttry {\n\t\t\tconst result = sass.compileString(contents, {\n\t\t\t\timporters: [\n\t\t\t\t\tcreateSassImporter(\n\t\t\t\t\t\tfilePath,\n\t\t\t\t\t\tloadPaths,\n\t\t\t\t\t\tlanguage,\n\t\t\t\t\t\tconfig,\n\t\t\t\t\t\tdeps\n\t\t\t\t\t)\n\t\t\t\t],\n\t\t\t\tloadPaths,\n\t\t\t\tstyle: 'expanded',\n\t\t\t\tsyntax: language === 'sass' ? 'indented' : 'scss',\n\t\t\t\turl: new URL(`file://${filePath}`)\n\t\t\t});\n\n\t\t\tconst css = await runPostcss(result.css, filePath, config);\n\t\t\trecordStyleDeps(filePath, deps);\n\n\t\t\treturn css;\n\t\t} catch (error) {\n\t\t\tthrowPreprocessorError(error, filePath, language);\n\t\t}\n\t}\n\n\tif (language === 'less') {\n\t\tconst options = getLessOptions(config);\n\t\ttype LessRender = typeof import('less').render;\n\t\tlet lessModule: {\n\t\t\tdefault?: { render: LessRender };\n\t\t\trender?: LessRender;\n\t\t};\n\t\ttry {\n\t\t\tlessModule = await importOptionalPeer<typeof lessModule>('less');\n\t\t} catch {\n\t\t\tthrow missingDependencyError('less', filePath);\n\t\t}\n\t\tconst less = lessModule.render ? lessModule : lessModule.default;\n\t\tconst render = less?.render;\n\t\tif (!render) throw missingDependencyError('less', filePath);\n\n\t\tconst contents = withAdditionalData(\n\t\t\trawContents,\n\t\t\toptions.additionalData\n\t\t);\n\t\tconst loadPaths = normalizeLoadPaths(filePath, options.paths);\n\t\ttry {\n\t\t\tconst result = await render(contents, {\n\t\t\t\t...(options.options ?? {}),\n\t\t\t\tfilename: filePath,\n\t\t\t\tpaths: loadPaths,\n\t\t\t\tplugins: [\n\t\t\t\t\t...((options.options?.plugins as unknown[]) ?? []),\n\t\t\t\t\tcreateLessFileManager(filePath, loadPaths, config, deps)\n\t\t\t\t]\n\t\t\t});\n\n\t\t\tconst css = await runPostcss(result.css, filePath, config);\n\t\t\trecordStyleDeps(filePath, deps);\n\n\t\t\treturn css;\n\t\t} catch (error) {\n\t\t\tthrowPreprocessorError(error, filePath, 'less');\n\t\t}\n\t}\n\n\tif (language === 'stylus') {\n\t\tconst options = getStylusOptions(config);\n\t\tconst loadPaths = normalizeLoadPaths(filePath, options.paths);\n\t\tconst contents = withAdditionalData(\n\t\t\tpreprocessLoadedStyle(\n\t\t\t\trawContents,\n\t\t\t\tfilePath,\n\t\t\t\tfilePath,\n\t\t\t\tloadPaths,\n\t\t\t\t'stylus',\n\t\t\t\tconfig\n\t\t\t),\n\t\t\toptions.additionalData\n\t\t);\n\n\t\ttry {\n\t\t\tconst css = await runPostcss(\n\t\t\t\tawait renderStylus(\n\t\t\t\t\tcontents,\n\t\t\t\t\tfilePath,\n\t\t\t\t\tloadPaths,\n\t\t\t\t\toptions,\n\t\t\t\t\tdeps\n\t\t\t\t),\n\t\t\t\tfilePath,\n\t\t\t\tconfig\n\t\t\t);\n\t\t\trecordStyleDeps(filePath, deps);\n\n\t\t\treturn css;\n\t\t} catch (error) {\n\t\t\tthrowPreprocessorError(error, filePath, 'stylus');\n\t\t}\n\t}\n\n\treturn runPostcss(rawContents, filePath, config);\n};\n\nexport const createStylePreprocessorPlugin = (\n\tconfig?: StylePreprocessorConfig\n): BunPlugin => ({\n\tname: 'absolute-style-preprocessor',\n\tsetup(build) {\n\t\tconst cssModuleSources = new Map<\n\t\t\tstring,\n\t\t\t{ css: string; exports: Record<string, string> }\n\t\t>();\n\n\t\tbuild.onResolve({ filter: /^absolute-style-module:/ }, ({ path }) => ({\n\t\t\tnamespace: 'absolute-style-module',\n\t\t\tpath: path.slice('absolute-style-module:'.length)\n\t\t}));\n\n\t\tbuild.onLoad(\n\t\t\t{ filter: /\\.module\\.css$/i, namespace: 'absolute-style-module' },\n\t\t\tasync ({ path }) => {\n\t\t\t\tconst source = cssModuleSources.get(path);\n\t\t\t\tif (!source) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Unable to resolve CSS module source for ${path}`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tcontents: source.css,\n\t\t\t\t\tloader: 'css'\n\t\t\t\t};\n\t\t\t}\n\t\t);\n\n\t\tbuild.onLoad({ filter: STYLE_EXTENSION_PATTERN }, async ({ path }) => {\n\t\t\tif (isStyleModulePath(path)) {\n\t\t\t\tconst cssModulePath = path.replace(\n\t\t\t\t\tSTYLE_EXTENSION_PATTERN,\n\t\t\t\t\t'.css'\n\t\t\t\t);\n\t\t\t\tconst compiled = await compileStyleSource(\n\t\t\t\t\tpath,\n\t\t\t\t\tundefined,\n\t\t\t\t\tundefined,\n\t\t\t\t\tconfig\n\t\t\t\t);\n\t\t\t\tconst { css, exports } = extractCssModuleExports(compiled);\n\t\t\t\tcssModuleSources.set(cssModulePath, { css, exports });\n\t\t\t\tconst exportSource =\n\t\t\t\t\tObject.keys(exports).length > 0\n\t\t\t\t\t\t? `import styles from ${JSON.stringify(`absolute-style-module:${cssModulePath}`)}; export default Object.assign({}, styles, ${JSON.stringify(exports)});`\n\t\t\t\t\t\t: `export { default } from ${JSON.stringify(`absolute-style-module:${cssModulePath}`)};`;\n\n\t\t\t\treturn {\n\t\t\t\t\tcontents: exportSource,\n\t\t\t\t\tloader: 'js'\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcontents: await compileStyleSource(\n\t\t\t\t\tpath,\n\t\t\t\t\tundefined,\n\t\t\t\t\tundefined,\n\t\t\t\t\tconfig\n\t\t\t\t),\n\t\t\t\tloader: 'css'\n\t\t\t};\n\t\t});\n\n\t\tbuild.onLoad({ filter: CSS_EXTENSION_PATTERN }, async ({ path }) => ({\n\t\t\tcontents: await compileStyleSource(\n\t\t\t\tpath,\n\t\t\t\tundefined,\n\t\t\t\tundefined,\n\t\t\t\tconfig\n\t\t\t),\n\t\t\tloader: 'css'\n\t\t}));\n\t}\n});\n\nexport const stylePreprocessorPlugin = createStylePreprocessorPlugin();\n\nexport const createSvelteStylePreprocessor = (\n\tconfig?: StylePreprocessorConfig\n) => ({\n\tstyle: async ({\n\t\tattributes,\n\t\tcontent,\n\t\tfilename\n\t}: {\n\t\tattributes: Record<string, string | boolean>;\n\t\tcontent: string;\n\t\tfilename?: string;\n\t}) => {\n\t\tconst language =\n\t\t\ttypeof attributes.lang === 'string'\n\t\t\t\t? attributes.lang\n\t\t\t\t: typeof attributes.type === 'string'\n\t\t\t\t\t? attributes.type.replace(/^text\\//, '')\n\t\t\t\t\t: null;\n\t\tif (!language || !STYLE_LANGUAGE_PATTERN.test(language)) return;\n\n\t\tconst path = filename ?? `style.${language}`;\n\n\t\treturn {\n\t\t\tcode: await compileStyleSource(path, content, language, config)\n\t\t};\n\t}\n});\n\nexport const compileStyleFileIfNeeded = async (\n\tfilePath: string,\n\tconfig?: StylePreprocessorConfig\n) => {\n\tif (!isPreprocessableStylePath(filePath)) {\n\t\treturn runPostcss(await readFile(filePath, 'utf-8'), filePath, config);\n\t}\n\n\treturn compileStyleSource(filePath, undefined, undefined, config);\n};\n\nexport const compileStyleFileIfNeededSync = (\n\tfilePath: string,\n\tconfig?: StylePreprocessorConfig\n) => {\n\tconst rawContents = readFileSync(filePath, 'utf-8');\n\tconst language = getStyleLanguage(filePath);\n\tif (config?.postcss) {\n\t\tthrow new Error(\n\t\t\t`Unable to compile ${filePath}: PostCSS preprocessing is async-only.`\n\t\t);\n\t}\n\tif (language === 'scss' || language === 'sass') {\n\t\tconst options = getSassOptions(config, language);\n\t\tconst packageName = options.implementation ?? 'sass';\n\t\tlet sass: typeof import('sass');\n\t\ttry {\n\t\t\tsass = requireOptionalPeerSync<typeof import('sass')>(packageName);\n\t\t} catch {\n\t\t\tthrow missingDependencyError(packageName, filePath);\n\t\t}\n\n\t\tconst contents = withAdditionalData(\n\t\t\trawContents,\n\t\t\toptions.additionalData\n\t\t);\n\t\tconst loadPaths = normalizeLoadPaths(filePath, options.loadPaths);\n\t\treturn sass.compileString(contents, {\n\t\t\timporters: [\n\t\t\t\tcreateSassImporter(filePath, loadPaths, language, config)\n\t\t\t],\n\t\t\tloadPaths,\n\t\t\tstyle: 'expanded',\n\t\t\tsyntax: language === 'sass' ? 'indented' : 'scss',\n\t\t\turl: new URL(`file://${filePath}`)\n\t\t}).css;\n\t}\n\tif (language === 'less') {\n\t\tthrow new Error(\n\t\t\t`Unable to compile ${filePath}: Less styleUrl preprocessing is async-only. Import the Less file from a bundled entrypoint or use SCSS/CSS for Angular styleUrl.`\n\t\t);\n\t}\n\tif (language === 'stylus') {\n\t\tthrow new Error(\n\t\t\t`Unable to compile ${filePath}: Stylus styleUrl preprocessing is async-only. Import the Stylus file from a bundled entrypoint or use SCSS/CSS for Angular styleUrl.`\n\t\t);\n\t}\n\n\treturn rawContents;\n};\n\nexport const getCssOutputExtension = (filePath: string) =>\n\tisPreprocessableStylePath(filePath) ? '.css' : extname(filePath);\n"
5
+ "import { createHash } from 'node:crypto';\nimport { existsSync, readFileSync } from 'node:fs';\nimport { readFile } from 'node:fs/promises';\nimport { createRequire } from 'node:module';\nimport {\n\tdirname,\n\textname,\n\tisAbsolute,\n\tjoin,\n\trelative,\n\tresolve\n} from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport type { BunPlugin } from 'bun';\nimport type {\n\tLessPreprocessorOptions,\n\tPostCSSConfig,\n\tSassPreprocessorOptions,\n\tStylePreprocessorConfig,\n\tStylusPreprocessorOptions\n} from '../../types/build';\n\nconst CSS_EXTENSION_PATTERN = /\\.css$/i;\nconst STYLE_EXTENSION_PATTERN = /\\.(s[ac]ss|less|styl(?:us)?)$/i;\nconst STYLE_MODULE_EXTENSION_PATTERN = /\\.module\\.(s[ac]ss|less|styl(?:us)?)$/i;\nconst STYLE_LANGUAGE_PATTERN = /^(s[ac]ss|less|styl(?:us)?)$/i;\nconst importOptionalPeer = new Function(\n\t'specifier',\n\t'return import(specifier)'\n) as <T>(specifier: string) => Promise<T>;\nconst requireOptionalPeer = new Function(\n\t'specifier',\n\t'return require(specifier)'\n) as <T>(specifier: string) => T;\nconst requireFromCwd = createRequire(join(process.cwd(), 'package.json'));\n\nexport const isPreprocessableStylePath = (filePath: string) =>\n\tSTYLE_EXTENSION_PATTERN.test(filePath);\n\nexport const isStyleModulePath = (filePath: string) =>\n\tSTYLE_MODULE_EXTENSION_PATTERN.test(filePath);\n\nexport const isStylePath = (filePath: string) =>\n\t/\\.(css|s[ac]ss|less|styl(?:us)?)$/i.test(filePath);\n\nexport const getStyleBaseName = (filePath: string) =>\n\tfilePath.replace(/\\.(css|s[ac]ss|less|styl(?:us)?)$/i, '');\n\nconst getStyleLanguage = (filePathOrLanguage: string) => {\n\tconst normalized = filePathOrLanguage.toLowerCase();\n\tif (normalized === 'scss' || normalized.endsWith('.scss')) return 'scss';\n\tif (normalized === 'sass' || normalized.endsWith('.sass')) return 'sass';\n\tif (normalized === 'less' || normalized.endsWith('.less')) return 'less';\n\tif (\n\t\tnormalized === 'styl' ||\n\t\tnormalized === 'stylus' ||\n\t\tnormalized.endsWith('.styl') ||\n\t\tnormalized.endsWith('.stylus')\n\t)\n\t\treturn 'stylus';\n\n\treturn null;\n};\n\nconst missingDependencyError = (name: string, filePath: string) =>\n\tnew Error(\n\t\t`Unable to compile ${filePath}: install optional dependency \"${name}\" to use this stylesheet preprocessor.`\n\t);\n\n/* Re-throw a preprocessor error with the filename + a one-line summary\n prefixed so the dev server's `[hmr] error` log doesn't print\n `Server error: undefined`. Sass / Less / Stylus all attach useful\n metadata (line, column, snippet) to their errors but the property\n names differ — we surface whatever's available. */\nconst throwPreprocessorError = (\n\terror: unknown,\n\tfilePath: string,\n\tlanguage: StyleLanguage\n): never => {\n\tif (!(error instanceof Error)) {\n\t\tthrow new Error(\n\t\t\t`${language} compile failed in ${filePath}: ${String(error)}`\n\t\t);\n\t}\n\n\tconst detail = error as Error & {\n\t\tline?: number;\n\t\tcolumn?: number;\n\t\textract?: string[];\n\t\tformatted?: string;\n\t\tspan?: { start?: { line?: number; column?: number } };\n\t};\n\tconst sassLine = detail.span?.start?.line;\n\tconst sassCol = detail.span?.start?.column;\n\tconst line = detail.line ?? sassLine;\n\tconst column = detail.column ?? sassCol;\n\tconst location =\n\t\ttypeof line === 'number'\n\t\t\t? `:${line}${typeof column === 'number' ? `:${column}` : ''}`\n\t\t\t: '';\n\tconst message = detail.formatted ?? detail.message;\n\tconst wrapped = new Error(\n\t\t`${language} compile failed in ${filePath}${location}\\n${message}`\n\t);\n\twrapped.cause = error;\n\tthrow wrapped;\n};\n\nconst requireOptionalPeerSync = <T>(specifier: string) => {\n\ttry {\n\t\treturn requireFromCwd(specifier) as T;\n\t} catch {\n\t\treturn requireOptionalPeer<T>(specifier);\n\t}\n};\n\nconst normalizeLoadPaths = (filePath: string, paths: string[] = []) => [\n\tdirname(filePath),\n\tprocess.cwd(),\n\t...paths.map((path) => resolve(process.cwd(), path))\n];\n\ntype StyleLanguage = NonNullable<ReturnType<typeof getStyleLanguage>>;\n\ntype AliasEntry = {\n\tpattern: string;\n\treplacements: string[];\n};\n\nlet tsconfigAliasCache:\n\t| { cwd: string; aliases: AliasEntry[]; baseUrl: string }\n\t| undefined;\n\nconst stripJsonComments = (source: string) =>\n\tsource.replace(/\\/\\*[\\s\\S]*?\\*\\//g, '').replace(/(^|[^:])\\/\\/.*$/gm, '$1');\n\nconst normalizeAliasEntries = (\n\taliases: Record<string, string | string[]> | undefined\n) =>\n\tObject.entries(aliases ?? {}).map(([pattern, value]) => ({\n\t\tpattern,\n\t\treplacements: Array.isArray(value) ? value : [value]\n\t}));\n\nconst readTsconfigAliases = () => {\n\tconst cwd = process.cwd();\n\tif (tsconfigAliasCache?.cwd === cwd) return tsconfigAliasCache;\n\n\tconst tsconfigPath = resolve(cwd, 'tsconfig.json');\n\tconst empty = { aliases: [], baseUrl: cwd, cwd };\n\tif (!existsSync(tsconfigPath)) {\n\t\ttsconfigAliasCache = empty;\n\t\treturn empty;\n\t}\n\n\ttry {\n\t\tconst parsed = JSON.parse(\n\t\t\tstripJsonComments(readFileSync(tsconfigPath, 'utf-8'))\n\t\t);\n\t\tconst compilerOptions = parsed.compilerOptions ?? {};\n\t\tconst baseUrl = resolve(cwd, compilerOptions.baseUrl ?? '.');\n\t\ttsconfigAliasCache = {\n\t\t\taliases: normalizeAliasEntries(compilerOptions.paths),\n\t\t\tbaseUrl,\n\t\t\tcwd\n\t\t};\n\t} catch {\n\t\ttsconfigAliasCache = empty;\n\t}\n\n\treturn tsconfigAliasCache;\n};\n\nconst getAliasEntries = (config: StylePreprocessorConfig | undefined) => {\n\tconst tsconfig = readTsconfigAliases();\n\treturn {\n\t\taliases: [\n\t\t\t...normalizeAliasEntries(config?.aliases),\n\t\t\t...tsconfig.aliases\n\t\t],\n\t\tbaseUrl: tsconfig.baseUrl\n\t};\n};\n\nconst aliasPatternToRegExp = (pattern: string) =>\n\tnew RegExp(\n\t\t`^${pattern\n\t\t\t.split('*')\n\t\t\t.map((part) => part.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'))\n\t\t\t.join('(.+)')}$`\n\t);\n\nconst resolveAliasTargets = (\n\tspecifier: string,\n\tconfig: StylePreprocessorConfig | undefined\n) => {\n\tconst { aliases, baseUrl } = getAliasEntries(config);\n\tconst targets: string[] = [];\n\n\tfor (const alias of aliases) {\n\t\tconst match = specifier.match(aliasPatternToRegExp(alias.pattern));\n\t\tif (!match) continue;\n\t\tconst wildcard = match[1] ?? '';\n\t\tfor (const replacement of alias.replacements) {\n\t\t\ttargets.push(resolve(baseUrl, replacement.replace('*', wildcard)));\n\t\t}\n\t}\n\n\treturn targets;\n};\n\nconst getLanguageExtensions = (language: StyleLanguage) => {\n\tif (language === 'less') return ['.less', '.css'];\n\tif (language === 'stylus') return ['.styl', '.stylus', '.css'];\n\treturn ['.scss', '.sass', '.css'];\n};\n\nconst getCandidatePaths = (basePath: string, language: StyleLanguage) => {\n\tconst ext = extname(basePath);\n\tconst paths = ext\n\t\t? [basePath]\n\t\t: getLanguageExtensions(language).flatMap((extension) => [\n\t\t\t\t`${basePath}${extension}`,\n\t\t\t\tjoin(basePath, `index${extension}`)\n\t\t\t]);\n\n\tif (language === 'scss' || language === 'sass') {\n\t\treturn paths.flatMap((path) => {\n\t\t\tconst dir = dirname(path);\n\t\t\tconst base = path.slice(dir.length + 1);\n\t\t\treturn [path, join(dir, `_${base}`)];\n\t\t});\n\t}\n\n\treturn paths;\n};\n\nconst resolveImportPath = (\n\tspecifier: string,\n\tfromDirectory: string,\n\tloadPaths: string[],\n\tlanguage: StyleLanguage,\n\tconfig: StylePreprocessorConfig | undefined\n) => {\n\tconst rawCandidates = [\n\t\t...resolveAliasTargets(specifier, config),\n\t\tisAbsolute(specifier) ? specifier : resolve(fromDirectory, specifier),\n\t\t...loadPaths.map((path) => resolve(path, specifier))\n\t];\n\n\tfor (const candidate of rawCandidates.flatMap((path) =>\n\t\tgetCandidatePaths(path, language)\n\t)) {\n\t\tif (existsSync(candidate)) return candidate;\n\t}\n\n\treturn null;\n};\n\nconst isExternalCssUrl = (url: string) =>\n\t/^(?:[a-z][a-z0-9+.-]*:|\\/\\/|#|\\/)/i.test(url);\n\nconst splitCssUrl = (url: string) => {\n\tconst markerIndex = url.search(/[?#]/);\n\tif (markerIndex === -1) return { marker: '', path: url };\n\treturn {\n\t\tmarker: url.slice(markerIndex),\n\t\tpath: url.slice(0, markerIndex)\n\t};\n};\n\nconst rebaseCssUrls = (\n\tcontents: string,\n\tsourceFile: string,\n\tentryFile: string\n) => {\n\tconst sourceDir = dirname(sourceFile);\n\tconst entryDir = dirname(entryFile);\n\tif (sourceDir === entryDir) return contents;\n\n\treturn contents.replace(\n\t\t/url\\(\\s*(['\"]?)([^'\")]+)\\1\\s*\\)/gi,\n\t\t(match, quote: string, rawUrl: string) => {\n\t\t\tconst trimmedUrl = rawUrl.trim();\n\t\t\tif (!trimmedUrl || isExternalCssUrl(trimmedUrl)) return match;\n\t\t\tconst { marker, path } = splitCssUrl(trimmedUrl);\n\t\t\tconst rebased = relative(\n\t\t\t\tentryDir,\n\t\t\t\tresolve(sourceDir, path)\n\t\t\t).replace(/\\\\/g, '/');\n\t\t\tconst normalized = rebased.startsWith('.')\n\t\t\t\t? rebased\n\t\t\t\t: `./${rebased}`;\n\t\t\tconst nextQuote = quote || '\"';\n\t\t\treturn `url(${nextQuote}${normalized}${marker}${nextQuote})`;\n\t\t}\n\t);\n};\n\nconst rewriteAliasedStyleImports = (\n\tcontents: string,\n\tsourceFile: string,\n\tloadPaths: string[],\n\tlanguage: StyleLanguage,\n\tconfig: StylePreprocessorConfig | undefined\n) =>\n\tcontents.replace(\n\t\t/(@(?:use|forward|import|require)\\s+)([\"'])([^\"']+)\\2/g,\n\t\t(match, prefix: string, quote: string, specifier: string) => {\n\t\t\tif (\n\t\t\t\tspecifier.startsWith('.') ||\n\t\t\t\tisAbsolute(specifier) ||\n\t\t\t\tisExternalCssUrl(specifier)\n\t\t\t)\n\t\t\t\treturn match;\n\n\t\t\tconst resolved = resolveImportPath(\n\t\t\t\tspecifier,\n\t\t\t\tdirname(sourceFile),\n\t\t\t\tloadPaths,\n\t\t\t\tlanguage,\n\t\t\t\tconfig\n\t\t\t);\n\t\t\treturn resolved ? `${prefix}${quote}${resolved}${quote}` : match;\n\t\t}\n\t);\n\nconst preprocessLoadedStyle = (\n\tcontents: string,\n\tsourceFile: string,\n\tentryFile: string,\n\tloadPaths: string[] = [],\n\tlanguage?: StyleLanguage,\n\tconfig?: StylePreprocessorConfig\n) => {\n\tconst rebased = rebaseCssUrls(contents, sourceFile, entryFile);\n\treturn language\n\t\t? rewriteAliasedStyleImports(\n\t\t\t\trebased,\n\t\t\t\tsourceFile,\n\t\t\t\tloadPaths,\n\t\t\t\tlanguage,\n\t\t\t\tconfig\n\t\t\t)\n\t\t: rebased;\n};\n\nconst extractCssModuleExports = (css: string) => {\n\tconst exports: Record<string, string> = {};\n\tconst nextCss = css.replace(/:export\\s*\\{([^}]*)\\}/g, (_, body: string) => {\n\t\tfor (const declaration of body.split(';')) {\n\t\t\tconst separator = declaration.indexOf(':');\n\t\t\tif (separator === -1) continue;\n\t\t\tconst key = declaration.slice(0, separator).trim();\n\t\t\tconst value = declaration.slice(separator + 1).trim();\n\t\t\tif (key && value) exports[key] = value;\n\t\t}\n\t\treturn '';\n\t});\n\n\treturn { css: nextCss, exports };\n};\n\nconst getSassOptions = (\n\tconfig: StylePreprocessorConfig | undefined,\n\tlanguage: 'sass' | 'scss'\n): SassPreprocessorOptions => ({\n\t...(config?.sass ?? {}),\n\t...(language === 'scss' ? (config?.scss ?? {}) : {})\n});\n\nconst getLessOptions = (\n\tconfig: StylePreprocessorConfig | undefined\n): LessPreprocessorOptions => config?.less ?? {};\n\nconst getStylusOptions = (\n\tconfig: StylePreprocessorConfig | undefined\n): StylusPreprocessorOptions => config?.stylus ?? {};\n\nexport const createStyleTransformConfig = (\n\tstylePreprocessors?: StylePreprocessorConfig,\n\tpostcss?: PostCSSConfig\n): StylePreprocessorConfig | undefined =>\n\tpostcss === undefined\n\t\t? stylePreprocessors\n\t\t: { ...(stylePreprocessors ?? {}), postcss };\n\nconst withAdditionalData = (\n\tcontents: string,\n\tadditionalData: string | undefined\n) => (additionalData ? `${additionalData}\\n${contents}` : contents);\n\ntype PostCSSRuntimeConfig = {\n\toptions?: Record<string, unknown>;\n\tplugins?: unknown[] | Record<string, unknown>;\n};\n\nconst normalizePostcssModule = (mod: unknown) => {\n\tif (mod && typeof mod === 'object' && 'default' in mod) {\n\t\treturn (mod as { default?: unknown }).default ?? mod;\n\t}\n\n\treturn mod;\n};\n\nconst loadPostcssConfigFile = async (\n\tconfigPath: string\n): Promise<PostCSSRuntimeConfig> => {\n\tconst resolved = resolve(process.cwd(), configPath);\n\tconst loaded =\n\t\tresolved.endsWith('.cjs') || resolved.endsWith('.cts')\n\t\t\t? requireOptionalPeerSync<unknown>(resolved)\n\t\t\t: await importOptionalPeer<unknown>(\n\t\t\t\t\t`${new URL(`file://${resolved}`).href}?t=${Date.now()}`\n\t\t\t\t);\n\tconst config = normalizePostcssModule(loaded);\n\tconst value =\n\t\ttypeof config === 'function'\n\t\t\t? await (\n\t\t\t\t\tconfig as (context: {\n\t\t\t\t\t\tcwd: string;\n\t\t\t\t\t\tenv?: string;\n\t\t\t\t\t}) => unknown\n\t\t\t\t)({\n\t\t\t\t\tcwd: process.cwd(),\n\t\t\t\t\tenv: process.env.NODE_ENV\n\t\t\t\t})\n\t\t\t: config;\n\n\treturn (normalizePostcssModule(value) ?? {}) as PostCSSRuntimeConfig;\n};\n\nconst normalizePostcssPlugins = (\n\tplugins: unknown[] | Record<string, unknown> | undefined\n) => {\n\tif (!plugins) return [];\n\tif (Array.isArray(plugins)) return plugins.filter(Boolean);\n\n\tconst resolved: unknown[] = [];\n\tfor (const [specifier, options] of Object.entries(plugins)) {\n\t\tif (options === false) continue;\n\t\tconst mod = normalizePostcssModule(\n\t\t\trequireOptionalPeerSync<unknown>(specifier)\n\t\t);\n\t\tconst plugin =\n\t\t\ttypeof mod === 'function'\n\t\t\t\t? (mod as (options?: unknown) => unknown)(\n\t\t\t\t\t\toptions === true ? undefined : options\n\t\t\t\t\t)\n\t\t\t\t: mod;\n\t\tif (plugin) resolved.push(plugin);\n\t}\n\n\treturn resolved;\n};\n\nconst resolvePostcssConfig = async (\n\tconfig: StylePreprocessorConfig | undefined\n) => {\n\tconst inlineConfig = config?.postcss;\n\tif (!inlineConfig) return null;\n\n\tconst fileConfig = inlineConfig.config\n\t\t? await loadPostcssConfigFile(inlineConfig.config)\n\t\t: {};\n\tconst plugins = [\n\t\t...normalizePostcssPlugins(fileConfig.plugins),\n\t\t...normalizePostcssPlugins(inlineConfig.plugins)\n\t];\n\n\tif (plugins.length === 0) return null;\n\n\treturn {\n\t\toptions: {\n\t\t\t...(fileConfig.options ?? {}),\n\t\t\t...(inlineConfig.options ?? {})\n\t\t},\n\t\tplugins\n\t};\n};\n\nconst runPostcss = async (\n\tcss: string,\n\tfilePath: string,\n\tconfig: StylePreprocessorConfig | undefined\n) => {\n\tconst postcssConfig = await resolvePostcssConfig(config);\n\tif (!postcssConfig) return css;\n\n\tlet postcssModule: typeof import('postcss') & {\n\t\tdefault?: typeof import('postcss');\n\t};\n\ttry {\n\t\tpostcssModule =\n\t\t\tawait importOptionalPeer<typeof postcssModule>('postcss');\n\t} catch {\n\t\tthrow missingDependencyError('postcss', filePath);\n\t}\n\tconst postcss = postcssModule.default ?? postcssModule;\n\tconst result = await postcss(\n\t\tpostcssConfig.plugins as import('postcss').AcceptedPlugin[]\n\t).process(css, {\n\t\tfrom: filePath,\n\t\tmap: false,\n\t\t...postcssConfig.options\n\t});\n\n\treturn result.css;\n};\n\nconst createSassImporter = (\n\tentryFile: string,\n\tloadPaths: string[],\n\tlanguage: 'sass' | 'scss',\n\tconfig: StylePreprocessorConfig | undefined,\n\tdeps?: Set<string>\n) => ({\n\tcanonicalize(specifier: string, options: { containingUrl?: URL | null }) {\n\t\tconst fromDirectory = options.containingUrl\n\t\t\t? dirname(fileURLToPath(options.containingUrl))\n\t\t\t: dirname(entryFile);\n\t\tconst resolved = resolveImportPath(\n\t\t\tspecifier,\n\t\t\tfromDirectory,\n\t\t\tloadPaths,\n\t\t\tlanguage,\n\t\t\tconfig\n\t\t);\n\t\treturn resolved ? new URL(`file://${resolved}`) : null;\n\t},\n\tload(canonicalUrl: URL) {\n\t\tconst filePath = fileURLToPath(canonicalUrl);\n\t\tdeps?.add(filePath);\n\t\tconst fileLanguage = getStyleLanguage(filePath);\n\t\tif (\n\t\t\tfileLanguage !== 'scss' &&\n\t\t\tfileLanguage !== 'sass' &&\n\t\t\tfileLanguage !== null\n\t\t)\n\t\t\treturn null;\n\n\t\treturn {\n\t\t\tcontents: preprocessLoadedStyle(\n\t\t\t\treadFileSync(filePath, 'utf-8'),\n\t\t\t\tfilePath,\n\t\t\t\tentryFile,\n\t\t\t\tloadPaths,\n\t\t\t\tlanguage,\n\t\t\t\tconfig\n\t\t\t),\n\t\t\tsyntax: filePath.endsWith('.sass')\n\t\t\t\t? ('indented' as const)\n\t\t\t\t: ('scss' as const)\n\t\t};\n\t}\n});\n\nconst createLessFileManager = (\n\tentryFile: string,\n\tloadPaths: string[],\n\tconfig: StylePreprocessorConfig | undefined,\n\tdeps?: Set<string>\n) => ({\n\tinstall(\n\t\tless: { FileManager: new () => Record<string, unknown> },\n\t\tpluginManager: { addFileManager(manager: unknown): void }\n\t) {\n\t\tconst baseManager = new less.FileManager();\n\t\tconst manager = Object.create(baseManager) as Record<string, unknown>;\n\t\tmanager.supports = (filename: string, currentDirectory: string) =>\n\t\t\tBoolean(\n\t\t\t\tresolveImportPath(\n\t\t\t\t\tfilename,\n\t\t\t\t\tresolve(currentDirectory),\n\t\t\t\t\tloadPaths,\n\t\t\t\t\t'less',\n\t\t\t\t\tconfig\n\t\t\t\t)\n\t\t\t);\n\t\tmanager.loadFile = async (\n\t\t\tfilename: string,\n\t\t\tcurrentDirectory: string\n\t\t) => {\n\t\t\tconst resolved = resolveImportPath(\n\t\t\t\tfilename,\n\t\t\t\tresolve(currentDirectory),\n\t\t\t\tloadPaths,\n\t\t\t\t'less',\n\t\t\t\tconfig\n\t\t\t);\n\t\t\tif (!resolved) {\n\t\t\t\tthrow new Error(`Unable to resolve Less import \"${filename}\"`);\n\t\t\t}\n\t\t\tdeps?.add(resolved);\n\n\t\t\treturn {\n\t\t\t\tcontents: preprocessLoadedStyle(\n\t\t\t\t\tawait readFile(resolved, 'utf-8'),\n\t\t\t\t\tresolved,\n\t\t\t\t\tentryFile,\n\t\t\t\t\tloadPaths,\n\t\t\t\t\t'less',\n\t\t\t\t\tconfig\n\t\t\t\t),\n\t\t\t\tfilename: resolved\n\t\t\t};\n\t\t};\n\t\tpluginManager.addFileManager(manager);\n\t}\n});\n\nconst renderStylus = async (\n\tcontents: string,\n\tfilePath: string,\n\tloadPaths: string[],\n\toptions: StylusPreprocessorOptions,\n\tdeps?: Set<string>\n) => {\n\tlet stylus: typeof import('stylus');\n\ttry {\n\t\tconst stylusModule = await importOptionalPeer<\n\t\t\ttypeof import('stylus') & { default?: typeof import('stylus') }\n\t\t>('stylus');\n\t\tstylus = stylusModule.default ?? stylusModule;\n\t} catch {\n\t\tthrow missingDependencyError('stylus', filePath);\n\t}\n\n\treturn new Promise<string>((resolveCss, reject) => {\n\t\tconst renderer = stylus(contents);\n\t\trenderer.set('filename', filePath);\n\t\tfor (const [key, value] of Object.entries(options.options ?? {})) {\n\t\t\trenderer.set(key, value);\n\t\t}\n\t\tfor (const path of loadPaths) renderer.include(path);\n\t\trenderer.render((error, css) => {\n\t\t\tif (error) {\n\t\t\t\treject(error);\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Stylus exposes its dependency list after a successful render.\n\t\t\tif (deps) {\n\t\t\t\tconst stylusDeps = (\n\t\t\t\t\trenderer as unknown as { deps?: () => string[] }\n\t\t\t\t).deps?.();\n\t\t\t\tif (Array.isArray(stylusDeps)) {\n\t\t\t\t\tfor (const dep of stylusDeps) deps.add(resolve(dep));\n\t\t\t\t}\n\t\t\t}\n\t\t\tresolveCss(css ?? '');\n\t\t});\n\t});\n};\n\n/* Compile-time bookkeeping shared with the dev server.\n\n `styleDependencyGraph` maps every entry stylesheet (anything that ran\n through `compileStyleSource`) to the absolute paths of every partial\n it imported during that compile. The dev rebuild trigger reads this to\n know which entries to invalidate when a partial like `_tokens.scss`\n changes.\n\n `styleOutputHashes` records the SHA-1 of each entry's last-emitted CSS\n so callers can skip re-broadcasting / re-writing identical output. */\nconst styleDependencyGraph = new Map<string, Set<string>>();\nconst styleOutputHashes = new Map<string, string>();\n\nconst recordStyleDeps = (entry: string, deps: Set<string>) => {\n\tconst key = resolve(entry);\n\tconst stripped = new Set<string>();\n\tfor (const dep of deps) {\n\t\tconst resolved = resolve(dep);\n\t\tif (resolved !== key) stripped.add(resolved);\n\t}\n\tstyleDependencyGraph.set(key, stripped);\n};\n\n/* Record that a JS/TS/Vue/Svelte/etc. file imports a stylesheet (typically\n a `.module.scss` or other style import via JS). This is the JS-side dep\n tracking that complements the CSS-side `@import` graph: when the style\n file changes, the dev server uses `findStyleEntriesImporting` to find\n the JS file that imports it and queues that for rebuild. Without this,\n editing `Foo.module.scss` would only re-emit the CSS module's own\n compiled output without re-running the bundler against the importing\n component, so the new hashed class names never reach the bundle. */\nexport const addStyleImporter = (importerPath: string, stylePath: string) => {\n\tconst key = resolve(importerPath);\n\tconst target = resolve(stylePath);\n\tconst deps = styleDependencyGraph.get(key) ?? new Set<string>();\n\tdeps.add(target);\n\tstyleDependencyGraph.set(key, deps);\n};\n\n/* Files that import the given path. Used by the dev server to rebuild\n importers when a partial changes — there's no import-graph traversal,\n so callers should pass already-resolved absolute paths. */\nexport const findStyleEntriesImporting = (changedPath: string) => {\n\tconst target = resolve(changedPath);\n\tconst importers: string[] = [];\n\tfor (const [entry, deps] of styleDependencyGraph) {\n\t\tif (deps.has(target)) importers.push(entry);\n\t}\n\n\treturn importers;\n};\n\n/* Hash the just-emitted CSS for an entry; returns `true` only when the\n output actually differs from the previous compile. The dev path uses\n this to suppress style-update broadcasts on whitespace-only edits. */\nexport const recordStyleOutput = (entry: string, css: string) => {\n\tconst key = resolve(entry);\n\tconst hash = createHash('sha1').update(css).digest('hex');\n\tconst previous = styleOutputHashes.get(key);\n\tstyleOutputHashes.set(key, hash);\n\n\treturn previous !== hash;\n};\n\n/* Drop cached state for an entry — used when the file is deleted or the\n dev server is shutting down. */\nexport const forgetStyleEntry = (entry: string) => {\n\tconst key = resolve(entry);\n\tstyleDependencyGraph.delete(key);\n\tstyleOutputHashes.delete(key);\n};\n\nexport const compileStyleSource = async (\n\tfilePath: string,\n\tsource?: string,\n\tlanguageHint?: string,\n\tconfig?: StylePreprocessorConfig\n) => {\n\tconst language = getStyleLanguage(languageHint ?? filePath);\n\tconst rawContents = source ?? (await readFile(filePath, 'utf-8'));\n\t// Collect every partial / @import / @use that the compiler touches.\n\t// Stored on `styleDependencyGraph` after compile so the dev server\n\t// can invalidate this entry when one of its imports changes.\n\tconst deps = new Set<string>();\n\n\tif (language === 'scss' || language === 'sass') {\n\t\tconst options = getSassOptions(config, language);\n\t\tconst packageName = options.implementation ?? 'sass';\n\t\tlet sass: typeof import('sass');\n\t\ttry {\n\t\t\tsass = await importOptionalPeer<typeof import('sass')>(packageName);\n\t\t} catch {\n\t\t\tthrow missingDependencyError(packageName, filePath);\n\t\t}\n\n\t\tconst contents = withAdditionalData(\n\t\t\trawContents,\n\t\t\toptions.additionalData\n\t\t);\n\t\tconst loadPaths = normalizeLoadPaths(filePath, options.loadPaths);\n\t\ttry {\n\t\t\tconst result = sass.compileString(contents, {\n\t\t\t\timporters: [\n\t\t\t\t\tcreateSassImporter(\n\t\t\t\t\t\tfilePath,\n\t\t\t\t\t\tloadPaths,\n\t\t\t\t\t\tlanguage,\n\t\t\t\t\t\tconfig,\n\t\t\t\t\t\tdeps\n\t\t\t\t\t)\n\t\t\t\t],\n\t\t\t\tloadPaths,\n\t\t\t\tstyle: 'expanded',\n\t\t\t\tsyntax: language === 'sass' ? 'indented' : 'scss',\n\t\t\t\turl: new URL(`file://${filePath}`)\n\t\t\t});\n\n\t\t\tconst css = await runPostcss(result.css, filePath, config);\n\t\t\trecordStyleDeps(filePath, deps);\n\n\t\t\treturn css;\n\t\t} catch (error) {\n\t\t\tthrowPreprocessorError(error, filePath, language);\n\t\t}\n\t}\n\n\tif (language === 'less') {\n\t\tconst options = getLessOptions(config);\n\t\ttype LessRender = typeof import('less').render;\n\t\tlet lessModule: {\n\t\t\tdefault?: { render: LessRender };\n\t\t\trender?: LessRender;\n\t\t};\n\t\ttry {\n\t\t\tlessModule = await importOptionalPeer<typeof lessModule>('less');\n\t\t} catch {\n\t\t\tthrow missingDependencyError('less', filePath);\n\t\t}\n\t\tconst less = lessModule.render ? lessModule : lessModule.default;\n\t\tconst render = less?.render;\n\t\tif (!render) throw missingDependencyError('less', filePath);\n\n\t\tconst contents = withAdditionalData(\n\t\t\trawContents,\n\t\t\toptions.additionalData\n\t\t);\n\t\tconst loadPaths = normalizeLoadPaths(filePath, options.paths);\n\t\ttry {\n\t\t\tconst result = await render(contents, {\n\t\t\t\t...(options.options ?? {}),\n\t\t\t\tfilename: filePath,\n\t\t\t\tpaths: loadPaths,\n\t\t\t\tplugins: [\n\t\t\t\t\t...((options.options?.plugins as unknown[]) ?? []),\n\t\t\t\t\tcreateLessFileManager(filePath, loadPaths, config, deps)\n\t\t\t\t]\n\t\t\t});\n\n\t\t\tconst css = await runPostcss(result.css, filePath, config);\n\t\t\trecordStyleDeps(filePath, deps);\n\n\t\t\treturn css;\n\t\t} catch (error) {\n\t\t\tthrowPreprocessorError(error, filePath, 'less');\n\t\t}\n\t}\n\n\tif (language === 'stylus') {\n\t\tconst options = getStylusOptions(config);\n\t\tconst loadPaths = normalizeLoadPaths(filePath, options.paths);\n\t\tconst contents = withAdditionalData(\n\t\t\tpreprocessLoadedStyle(\n\t\t\t\trawContents,\n\t\t\t\tfilePath,\n\t\t\t\tfilePath,\n\t\t\t\tloadPaths,\n\t\t\t\t'stylus',\n\t\t\t\tconfig\n\t\t\t),\n\t\t\toptions.additionalData\n\t\t);\n\n\t\ttry {\n\t\t\tconst css = await runPostcss(\n\t\t\t\tawait renderStylus(\n\t\t\t\t\tcontents,\n\t\t\t\t\tfilePath,\n\t\t\t\t\tloadPaths,\n\t\t\t\t\toptions,\n\t\t\t\t\tdeps\n\t\t\t\t),\n\t\t\t\tfilePath,\n\t\t\t\tconfig\n\t\t\t);\n\t\t\trecordStyleDeps(filePath, deps);\n\n\t\t\treturn css;\n\t\t} catch (error) {\n\t\t\tthrowPreprocessorError(error, filePath, 'stylus');\n\t\t}\n\t}\n\n\treturn runPostcss(rawContents, filePath, config);\n};\n\nexport const createStylePreprocessorPlugin = (\n\tconfig?: StylePreprocessorConfig\n): BunPlugin => ({\n\tname: 'absolute-style-preprocessor',\n\tsetup(build) {\n\t\tconst cssModuleSources = new Map<\n\t\t\tstring,\n\t\t\t{ css: string; exports: Record<string, string> }\n\t\t>();\n\n\t\tbuild.onResolve({ filter: /^absolute-style-module:/ }, ({ path }) => ({\n\t\t\tnamespace: 'absolute-style-module',\n\t\t\tpath: path.slice('absolute-style-module:'.length)\n\t\t}));\n\n\t\tbuild.onLoad(\n\t\t\t{ filter: /\\.module\\.css$/i, namespace: 'absolute-style-module' },\n\t\t\tasync ({ path }) => {\n\t\t\t\tconst source = cssModuleSources.get(path);\n\t\t\t\tif (!source) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Unable to resolve CSS module source for ${path}`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tcontents: source.css,\n\t\t\t\t\tloader: 'css'\n\t\t\t\t};\n\t\t\t}\n\t\t);\n\n\t\tbuild.onLoad({ filter: STYLE_EXTENSION_PATTERN }, async ({ path }) => {\n\t\t\tif (isStyleModulePath(path)) {\n\t\t\t\tconst cssModulePath = path.replace(\n\t\t\t\t\tSTYLE_EXTENSION_PATTERN,\n\t\t\t\t\t'.css'\n\t\t\t\t);\n\t\t\t\tconst compiled = await compileStyleSource(\n\t\t\t\t\tpath,\n\t\t\t\t\tundefined,\n\t\t\t\t\tundefined,\n\t\t\t\t\tconfig\n\t\t\t\t);\n\t\t\t\tconst { css, exports } = extractCssModuleExports(compiled);\n\t\t\t\tcssModuleSources.set(cssModulePath, { css, exports });\n\t\t\t\tconst exportSource =\n\t\t\t\t\tObject.keys(exports).length > 0\n\t\t\t\t\t\t? `import styles from ${JSON.stringify(`absolute-style-module:${cssModulePath}`)}; export default Object.assign({}, styles, ${JSON.stringify(exports)});`\n\t\t\t\t\t\t: `export { default } from ${JSON.stringify(`absolute-style-module:${cssModulePath}`)};`;\n\n\t\t\t\treturn {\n\t\t\t\t\tcontents: exportSource,\n\t\t\t\t\tloader: 'js'\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcontents: await compileStyleSource(\n\t\t\t\t\tpath,\n\t\t\t\t\tundefined,\n\t\t\t\t\tundefined,\n\t\t\t\t\tconfig\n\t\t\t\t),\n\t\t\t\tloader: 'css'\n\t\t\t};\n\t\t});\n\n\t\tbuild.onLoad({ filter: CSS_EXTENSION_PATTERN }, async ({ path }) => ({\n\t\t\tcontents: await compileStyleSource(\n\t\t\t\tpath,\n\t\t\t\tundefined,\n\t\t\t\tundefined,\n\t\t\t\tconfig\n\t\t\t),\n\t\t\tloader: 'css'\n\t\t}));\n\t}\n});\n\nexport const stylePreprocessorPlugin = createStylePreprocessorPlugin();\n\nexport const createSvelteStylePreprocessor = (\n\tconfig?: StylePreprocessorConfig\n) => ({\n\tstyle: async ({\n\t\tattributes,\n\t\tcontent,\n\t\tfilename\n\t}: {\n\t\tattributes: Record<string, string | boolean>;\n\t\tcontent: string;\n\t\tfilename?: string;\n\t}) => {\n\t\tconst language =\n\t\t\ttypeof attributes.lang === 'string'\n\t\t\t\t? attributes.lang\n\t\t\t\t: typeof attributes.type === 'string'\n\t\t\t\t\t? attributes.type.replace(/^text\\//, '')\n\t\t\t\t\t: null;\n\t\tif (!language || !STYLE_LANGUAGE_PATTERN.test(language)) return;\n\n\t\tconst path = filename ?? `style.${language}`;\n\n\t\treturn {\n\t\t\tcode: await compileStyleSource(path, content, language, config)\n\t\t};\n\t}\n});\n\nexport const compileStyleFileIfNeeded = async (\n\tfilePath: string,\n\tconfig?: StylePreprocessorConfig\n) => {\n\tif (!isPreprocessableStylePath(filePath)) {\n\t\treturn runPostcss(await readFile(filePath, 'utf-8'), filePath, config);\n\t}\n\n\treturn compileStyleSource(filePath, undefined, undefined, config);\n};\n\nexport const compileStyleFileIfNeededSync = (\n\tfilePath: string,\n\tconfig?: StylePreprocessorConfig\n) => {\n\tconst rawContents = readFileSync(filePath, 'utf-8');\n\tconst language = getStyleLanguage(filePath);\n\tif (config?.postcss) {\n\t\tthrow new Error(\n\t\t\t`Unable to compile ${filePath}: PostCSS preprocessing is async-only.`\n\t\t);\n\t}\n\tif (language === 'scss' || language === 'sass') {\n\t\tconst options = getSassOptions(config, language);\n\t\tconst packageName = options.implementation ?? 'sass';\n\t\tlet sass: typeof import('sass');\n\t\ttry {\n\t\t\tsass = requireOptionalPeerSync<typeof import('sass')>(packageName);\n\t\t} catch {\n\t\t\tthrow missingDependencyError(packageName, filePath);\n\t\t}\n\n\t\tconst contents = withAdditionalData(\n\t\t\trawContents,\n\t\t\toptions.additionalData\n\t\t);\n\t\tconst loadPaths = normalizeLoadPaths(filePath, options.loadPaths);\n\t\treturn sass.compileString(contents, {\n\t\t\timporters: [\n\t\t\t\tcreateSassImporter(filePath, loadPaths, language, config)\n\t\t\t],\n\t\t\tloadPaths,\n\t\t\tstyle: 'expanded',\n\t\t\tsyntax: language === 'sass' ? 'indented' : 'scss',\n\t\t\turl: new URL(`file://${filePath}`)\n\t\t}).css;\n\t}\n\tif (language === 'less') {\n\t\tthrow new Error(\n\t\t\t`Unable to compile ${filePath}: Less styleUrl preprocessing is async-only. Import the Less file from a bundled entrypoint or use SCSS/CSS for Angular styleUrl.`\n\t\t);\n\t}\n\tif (language === 'stylus') {\n\t\tthrow new Error(\n\t\t\t`Unable to compile ${filePath}: Stylus styleUrl preprocessing is async-only. Import the Stylus file from a bundled entrypoint or use SCSS/CSS for Angular styleUrl.`\n\t\t);\n\t}\n\n\treturn rawContents;\n};\n\nexport const getCssOutputExtension = (filePath: string) =>\n\tisPreprocessableStylePath(filePath) ? '.css' : extname(filePath);\n"
6
6
  ],
7
- "mappings": "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",
8
- "debugId": "6A75AC0A3B30DFD664756E2164756E21",
7
+ "mappings": "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",
8
+ "debugId": "634C187AA2D5975464756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-p5504p14.js";
8
8
  import {
9
9
  compileStyleFileIfNeeded
10
- } from "./chunk-6fkgm9s5.js";
10
+ } from "./chunk-xnt8c6h2.js";
11
11
  import {
12
12
  BASE_36_RADIX,
13
13
  MILLISECONDS_IN_A_SECOND
@@ -1739,4 +1739,4 @@ export {
1739
1739
  };
1740
1740
 
1741
1741
  //# debugId=5C6574F9485A24AC64756E2164756E21
1742
- //# sourceMappingURL=chunk-9a307ca6.js.map
1742
+ //# sourceMappingURL=chunk-ynb0qx79.js.map
@@ -18,7 +18,7 @@ import {
18
18
  import {
19
19
  compileStyleSource,
20
20
  createSvelteStylePreprocessor
21
- } from "./chunk-6fkgm9s5.js";
21
+ } from "./chunk-xnt8c6h2.js";
22
22
  import {
23
23
  BASE_36_RADIX,
24
24
  UNFOUND_INDEX
@@ -781,4 +781,4 @@ export {
781
781
  };
782
782
 
783
783
  //# debugId=518E604077F8CEC164756E2164756E21
784
- //# sourceMappingURL=chunk-3c7mpj3m.js.map
784
+ //# sourceMappingURL=chunk-zrg9d4zw.js.map
package/dist/index.js CHANGED
@@ -7,17 +7,19 @@ import {
7
7
  import {
8
8
  compileTailwind,
9
9
  compileTailwindConfig,
10
+ extractStaticStreamingTags,
10
11
  isTailwindCandidate,
11
12
  loadIslandRegistryBuildInfo,
12
13
  loadPageIslandMetadata,
13
14
  logStartupTimingBlock,
14
- setCurrentPageIslandMetadata
15
- } from "./chunk-vvz7dcvq.js";
15
+ setCurrentPageIslandMetadata,
16
+ transformCurrentStaticPageHtml
17
+ } from "./chunk-3qswe70c.js";
16
18
  import {
17
19
  disposeTailwindCompiler,
18
20
  incrementalTailwindBuild,
19
21
  warmTailwindCompiler
20
- } from "./chunk-kndkjsya.js";
22
+ } from "./chunk-d7mwkzry.js";
21
23
  import {
22
24
  WS_READY_STATE_OPEN,
23
25
  isValidHMRClientMessage
@@ -26,12 +28,13 @@ import"./chunk-11zpfqz6.js";
26
28
  import"./chunk-a9mvyp04.js";
27
29
  import {
28
30
  enhanceHtmlResponseWithStreamingSlots,
31
+ injectIslandPageContext,
29
32
  renderFirstNotFound,
30
33
  setConventions,
31
34
  setCurrentIslandManifest,
32
35
  withRegisteredStreamingSlots,
33
36
  withStreamingSlots
34
- } from "./chunk-qk8kd3hr.js";
37
+ } from "./chunk-v5vmsxmy.js";
35
38
  import"./chunk-c1jfjnka.js";
36
39
  import {
37
40
  setCurrentIslandRegistry
@@ -66,7 +69,14 @@ import {
66
69
  } from "./chunk-pnscgw95.js";
67
70
  import"./chunk-s6defjk2.js";
68
71
  import"./chunk-p5504p14.js";
69
- import"./chunk-6fkgm9s5.js";
72
+ import {
73
+ renderIslandMarkup,
74
+ renderIslandResult
75
+ } from "./chunk-8cyvzcmc.js";
76
+ import"./chunk-9ve9jq72.js";
77
+ import"./chunk-7fw6x3js.js";
78
+ import"./chunk-mbazhahf.js";
79
+ import"./chunk-xnt8c6h2.js";
70
80
  import {
71
81
  ANGULAR_INIT_TIMEOUT_MS,
72
82
  ANSI_ESCAPE_CODE,
@@ -148,6 +158,7 @@ import {
148
158
  WORKSPACE_TUI_TARGET_PADDING_WIDTH,
149
159
  WORKSPACE_TUI_VISIBILITY_WIDTH
150
160
  } from "./chunk-qh75agse.js";
161
+ import"./chunk-2f21eenc.js";
151
162
  import {
152
163
  defineIslandComponent,
153
164
  defineIslandRegistry,
@@ -181,6 +192,39 @@ var asset = (source, name) => {
181
192
  }
182
193
  return assetPath;
183
194
  };
195
+ // src/core/pageHandlers.ts
196
+ var {file } = globalThis.Bun;
197
+ var handleStaticPageRequest = async (pagePath, options = {}, settings = {}) => {
198
+ const html = await file(pagePath).text();
199
+ const transformedHtml = await transformCurrentStaticPageHtml(html, settings);
200
+ return withStreamingSlots(new Response(injectIslandPageContext(transformedHtml), {
201
+ headers: { "Content-Type": "text/html" }
202
+ }), {
203
+ ...options,
204
+ streamingSlots: options.streamingSlots ?? []
205
+ });
206
+ };
207
+ var handleHTMLPageRequest = (pagePath, options) => {
208
+ const htmlFile = file(pagePath);
209
+ return htmlFile.text().then((html) => {
210
+ if (extractStaticStreamingTags(html).length > 0) {
211
+ throw new Error(`HTML page "${pagePath}" uses <abs-stream-slot>, but HTML pages should pass explicit streamingSlots to handleHTMLPageRequest(...).`);
212
+ }
213
+ return handleStaticPageRequest(pagePath, options, {
214
+ enableStaticStreaming: false
215
+ });
216
+ });
217
+ };
218
+ var handleHTMXPageRequest = async (pagePath) => {
219
+ const html = await file(pagePath).text();
220
+ if (extractStaticStreamingTags(html).length > 0) {
221
+ throw new Error(`HTMX page "${pagePath}" uses <abs-stream-slot>, but HTMX pages should use native hx-* fragment requests instead.`);
222
+ }
223
+ return handleStaticPageRequest(pagePath, {}, {
224
+ enableHTMXStreaming: true,
225
+ enableStaticStreaming: false
226
+ });
227
+ };
184
228
  // src/core/prepare.ts
185
229
  import { existsSync, readdirSync, readFileSync } from "fs";
186
230
  import { basename, join, relative, resolve as resolve3 } from "path";
@@ -358,10 +402,10 @@ var collectPrewarmFiles = async (prewarmDirs) => {
358
402
  };
359
403
  var warmPrewarmDirs = async (prewarmDirs, warmCache, SRC_URL_PREFIX) => {
360
404
  const files = await collectPrewarmFiles(prewarmDirs);
361
- for (const file of files) {
362
- if (file.includes("/node_modules/"))
405
+ for (const file2 of files) {
406
+ if (file2.includes("/node_modules/"))
363
407
  continue;
364
- const rel = relative(process.cwd(), file).replace(/\\/g, "/");
408
+ const rel = relative(process.cwd(), file2).replace(/\\/g, "/");
365
409
  warmCache(`${SRC_URL_PREFIX}${rel}`);
366
410
  }
367
411
  };
@@ -407,13 +451,13 @@ var prepareDev = async (config, buildDir) => {
407
451
  patchElysiaRouteRegistrationCallsites();
408
452
  recordStep("patch route registration", stepStartedAt);
409
453
  stepStartedAt = performance.now();
410
- const { devBuild } = await import("./chunk-g3j22qf6.js");
454
+ const { devBuild } = await import("./chunk-9939da67.js");
411
455
  const result = await devBuild(config);
412
456
  recordStep("devBuild", stepStartedAt);
413
457
  stepStartedAt = performance.now();
414
458
  const { hmr } = await import("./chunk-ex2hxe0v.js");
415
459
  const { staticPlugin } = await import("@elysiajs/static");
416
- const { createModuleServer } = await import("./chunk-3c7mpj3m.js");
460
+ const { createModuleServer } = await import("./chunk-zrg9d4zw.js");
417
461
  const {
418
462
  getDevVendorPaths,
419
463
  getAngularVendorPaths,
@@ -430,8 +474,8 @@ var prepareDev = async (config, buildDir) => {
430
474
  ...getVueVendorPaths() ?? {},
431
475
  ...depVendorPaths
432
476
  };
433
- const { setGlobalModuleServer } = await import("./chunk-3c7mpj3m.js");
434
- const { createStyleTransformConfig } = await import("./chunk-yfqhr31t.js");
477
+ const { setGlobalModuleServer } = await import("./chunk-zrg9d4zw.js");
478
+ const { createStyleTransformConfig } = await import("./chunk-tjr0kcev.js");
435
479
  const moduleHandler = createModuleServer({
436
480
  frameworkDirs: {
437
481
  angular: config.angularDirectory,
@@ -445,7 +489,7 @@ var prepareDev = async (config, buildDir) => {
445
489
  });
446
490
  setGlobalModuleServer(moduleHandler);
447
491
  recordStep("create module server", stepStartedAt);
448
- const { warmCache, SRC_URL_PREFIX } = await import("./chunk-3c7mpj3m.js");
492
+ const { warmCache, SRC_URL_PREFIX } = await import("./chunk-zrg9d4zw.js");
449
493
  const prewarmDirs = buildPrewarmDirs(config);
450
494
  stepStartedAt = performance.now();
451
495
  await warmPrewarmDirs(prewarmDirs, warmCache, SRC_URL_PREFIX);
@@ -7109,6 +7153,8 @@ export {
7109
7153
  renderStreamingSlotsRuntimeTag,
7110
7154
  renderStreamingSlotPlaceholder,
7111
7155
  renderStreamingSlotPatchTag,
7156
+ renderIslandResult,
7157
+ renderIslandMarkup,
7112
7158
  registerClientScript,
7113
7159
  prepare,
7114
7160
  parseIslandProps,
@@ -7124,6 +7170,8 @@ export {
7124
7170
  injectHtmlIntoBody,
7125
7171
  incrementalTailwindBuild,
7126
7172
  hmrState,
7173
+ handleHTMXPageRequest,
7174
+ handleHTMLPageRequest,
7127
7175
  getStreamingSlotsRuntimeScript,
7128
7176
  getStreamingSlotPolicy,
7129
7177
  getSsrContextId,
@@ -7233,5 +7281,5 @@ export {
7233
7281
  ANGULAR_INIT_TIMEOUT_MS
7234
7282
  };
7235
7283
 
7236
- //# debugId=209D24E0877511DB64756E2164756E21
7284
+ //# debugId=88F7788C5C4FEF4264756E2164756E21
7237
7285
  //# sourceMappingURL=index.js.map