Patch Changes
-
c80ed6c: Drop the Vite-specific
?rawimport for the built-in i18n defaults so qdadm works across bundlers and infile:/symlink consumer setups (qdadm #492).DefaultCoreProviderpreviously didimport('./core.<locale>.yml?raw'). The?rawquery is a Vite-only binding: when qdadm is consumed via afile:link through a symlink (testbed,npm link, pnpm workspace), Vite serves the YAML over@fs/<realpath>, the real path resolves outside the consumer's workspace root, andserver.fs.allowrejects it — breaking the admin at boot. It also fails outright under non-Vite bundlers (Webpack, esbuild, standalone Rollup) that don't understand?raw.The
core.<locale>.ymlfiles remain the editable, translator-friendly source of truth. A generator (scripts/gen-i18n-defaults.mjs,npm run gen:i18n-defaults) emits committedcore.<locale>.generated.tsmodules thatexport defaultthe raw YAML string; the provider now imports those plain TS modules. No build step at publish (the.generated.tsare committed, preserving the source-only model), per-locale code-splitting is unchanged, and a test fails if a.ymlis edited without regenerating. Consumers onfile:/symlink setups can drop theserver.fs.allowworkaround.