@inlang/paraglide-js 2.23.1 → 2.24.0
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.
- package/dist/bundler-plugins/esbuild.d.ts +0 -1
- package/dist/bundler-plugins/esbuild.js.map +1 -1
- package/dist/bundler-plugins/index.d.ts +0 -1
- package/dist/bundler-plugins/index.js.map +1 -1
- package/dist/bundler-plugins/per-locale-build/constants.d.ts +0 -1
- package/dist/bundler-plugins/per-locale-build/constants.js.map +1 -1
- package/dist/bundler-plugins/per-locale-build/index.d.ts +0 -1
- package/dist/bundler-plugins/per-locale-build/index.js.map +1 -1
- package/dist/bundler-plugins/per-locale-build/locale-id.d.ts +0 -1
- package/dist/bundler-plugins/per-locale-build/locale-id.js.map +1 -1
- package/dist/bundler-plugins/per-locale-build/types.d.ts +0 -1
- package/dist/bundler-plugins/per-locale-build/types.js.map +1 -1
- package/dist/bundler-plugins/per-locale-build/vite-environments.d.ts +0 -1
- package/dist/bundler-plugins/per-locale-build/vite-environments.js +12 -7
- package/dist/bundler-plugins/per-locale-build/vite-environments.js.map +1 -1
- package/dist/bundler-plugins/per-locale-build/vite-environments.test.d.ts +0 -1
- package/dist/bundler-plugins/per-locale-build/vite-environments.test.js.map +1 -1
- package/dist/bundler-plugins/rolldown.d.ts +0 -1
- package/dist/bundler-plugins/rolldown.js.map +1 -1
- package/dist/bundler-plugins/rollup.d.ts +0 -1
- package/dist/bundler-plugins/rollup.js.map +1 -1
- package/dist/bundler-plugins/rspack.d.ts +0 -1
- package/dist/bundler-plugins/rspack.js.map +1 -1
- package/dist/bundler-plugins/unplugin.d.ts +0 -1
- package/dist/bundler-plugins/unplugin.js +134 -4
- package/dist/bundler-plugins/unplugin.js.map +1 -1
- package/dist/bundler-plugins/unplugin.test.d.ts +0 -1
- package/dist/bundler-plugins/unplugin.test.js +77 -0
- package/dist/bundler-plugins/unplugin.test.js.map +1 -1
- package/dist/bundler-plugins/vite.d.ts +0 -1
- package/dist/bundler-plugins/vite.js.map +1 -1
- package/dist/bundler-plugins/vite.test.d.ts +0 -1
- package/dist/bundler-plugins/vite.test.js.map +1 -1
- package/dist/bundler-plugins/webpack.d.ts +0 -1
- package/dist/bundler-plugins/webpack.js.map +1 -1
- package/dist/cli/commands/compile/command.d.ts +0 -1
- package/dist/cli/commands/compile/command.js +8 -1
- package/dist/cli/commands/compile/command.js.map +1 -1
- package/dist/cli/commands/compile/command.test.d.ts +0 -1
- package/dist/cli/commands/compile/command.test.js +45 -0
- package/dist/cli/commands/compile/command.test.js.map +1 -1
- package/dist/cli/commands/init/command.d.ts +0 -1
- package/dist/cli/commands/init/command.js.map +1 -1
- package/dist/cli/defaults.d.ts +0 -1
- package/dist/cli/defaults.js.map +1 -1
- package/dist/cli/index.d.ts +0 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/steps/add-vite-plugin.d.ts +0 -1
- package/dist/cli/steps/add-vite-plugin.js.map +1 -1
- package/dist/cli/steps/add-vite-plugin.test.d.ts +0 -1
- package/dist/cli/steps/add-vite-plugin.test.js.map +1 -1
- package/dist/cli/steps/check-for-uncomitted-changes.d.ts +0 -1
- package/dist/cli/steps/check-for-uncomitted-changes.js.map +1 -1
- package/dist/cli/steps/detect-bundler.d.ts +0 -1
- package/dist/cli/steps/detect-bundler.js.map +1 -1
- package/dist/cli/steps/detect-bundler.test.d.ts +0 -1
- package/dist/cli/steps/detect-bundler.test.js.map +1 -1
- package/dist/cli/steps/initialize-inlang-project.d.ts +0 -1
- package/dist/cli/steps/initialize-inlang-project.js.map +1 -1
- package/dist/cli/steps/maybe-add-machine-translation.d.ts +0 -1
- package/dist/cli/steps/maybe-add-machine-translation.js.map +1 -1
- package/dist/cli/steps/maybe-add-sherlock.d.ts +0 -1
- package/dist/cli/steps/maybe-add-sherlock.js.map +1 -1
- package/dist/cli/steps/prompt-for-outdir.d.ts +0 -1
- package/dist/cli/steps/prompt-for-outdir.js.map +1 -1
- package/dist/cli/steps/update-package-json.d.ts +0 -1
- package/dist/cli/steps/update-package-json.js.map +1 -1
- package/dist/cli/steps/update-ts-config.d.ts +0 -1
- package/dist/cli/steps/update-ts-config.js.map +1 -1
- package/dist/cli/steps/update-ts-config.test.d.ts +0 -1
- package/dist/cli/steps/update-ts-config.test.js.map +1 -1
- package/dist/cli/utils.d.ts +0 -1
- package/dist/cli/utils.js.map +1 -1
- package/dist/compiler/compile-annotation.d.ts +0 -1
- package/dist/compiler/compile-annotation.js.map +1 -1
- package/dist/compiler/compile-bundle.d.ts +0 -1
- package/dist/compiler/compile-bundle.js.map +1 -1
- package/dist/compiler/compile-bundle.test.d.ts +0 -1
- package/dist/compiler/compile-bundle.test.js.map +1 -1
- package/dist/compiler/compile-local-variable.d.ts +0 -1
- package/dist/compiler/compile-local-variable.js.map +1 -1
- package/dist/compiler/compile-local-variable.test.d.ts +0 -1
- package/dist/compiler/compile-local-variable.test.js.map +1 -1
- package/dist/compiler/compile-message.d.ts +0 -1
- package/dist/compiler/compile-message.js.map +1 -1
- package/dist/compiler/compile-message.test.d.ts +0 -1
- package/dist/compiler/compile-message.test.js.map +1 -1
- package/dist/compiler/compile-pattern.d.ts +0 -1
- package/dist/compiler/compile-pattern.js.map +1 -1
- package/dist/compiler/compile-pattern.test.d.ts +0 -1
- package/dist/compiler/compile-pattern.test.js.map +1 -1
- package/dist/compiler/compile-project.d.ts +0 -1
- package/dist/compiler/compile-project.js.map +1 -1
- package/dist/compiler/compile-project.test.d.ts +0 -1
- package/dist/compiler/compile-project.test.js.map +1 -1
- package/dist/compiler/compile.bench.d.ts +0 -1
- package/dist/compiler/compile.bench.js.map +1 -1
- package/dist/compiler/compile.d.ts +0 -1
- package/dist/compiler/compile.js +0 -15
- package/dist/compiler/compile.js.map +1 -1
- package/dist/compiler/compile.test.d.ts +0 -1
- package/dist/compiler/compile.test.js +0 -52
- package/dist/compiler/compile.test.js.map +1 -1
- package/dist/compiler/compiler-options.d.ts +8 -1
- package/dist/compiler/compiler-options.js.map +1 -1
- package/dist/compiler/create-paraglide.d.ts +0 -1
- package/dist/compiler/create-paraglide.js.map +1 -1
- package/dist/compiler/create-paraglide.test.d.ts +0 -1
- package/dist/compiler/create-paraglide.test.js.map +1 -1
- package/dist/compiler/create-readme.d.ts +0 -1
- package/dist/compiler/create-readme.js.map +1 -1
- package/dist/compiler/emit-ts-declarations.d.ts +0 -1
- package/dist/compiler/emit-ts-declarations.interop.test.d.ts +0 -1
- package/dist/compiler/emit-ts-declarations.interop.test.js.map +1 -1
- package/dist/compiler/emit-ts-declarations.js.map +1 -1
- package/dist/compiler/emit-ts-declarations.test.d.ts +0 -1
- package/dist/compiler/emit-ts-declarations.test.js.map +1 -1
- package/dist/compiler/index.d.ts +0 -1
- package/dist/compiler/index.js.map +1 -1
- package/dist/compiler/jsdoc-types.d.ts +0 -1
- package/dist/compiler/jsdoc-types.js.map +1 -1
- package/dist/compiler/jsdoc-types.test.d.ts +0 -1
- package/dist/compiler/jsdoc-types.test.js.map +1 -1
- package/dist/compiler/match-literals.d.ts +0 -1
- package/dist/compiler/match-literals.js.map +1 -1
- package/dist/compiler/output-structure/locale-modules.d.ts +0 -1
- package/dist/compiler/output-structure/locale-modules.js.map +1 -1
- package/dist/compiler/output-structure/locale-modules.test.d.ts +0 -1
- package/dist/compiler/output-structure/locale-modules.test.js.map +1 -1
- package/dist/compiler/output-structure/message-modules.d.ts +0 -1
- package/dist/compiler/output-structure/message-modules.js.map +1 -1
- package/dist/compiler/output-structure/message-modules.test.d.ts +0 -1
- package/dist/compiler/output-structure/message-modules.test.js.map +1 -1
- package/dist/compiler/per-locale-build.d.ts +0 -1
- package/dist/compiler/per-locale-build.js.map +1 -1
- package/dist/compiler/registry.d.ts +0 -1
- package/dist/compiler/registry.js.map +1 -1
- package/dist/compiler/resolve-tsc-js-path.d.ts +0 -1
- package/dist/compiler/resolve-tsc-js-path.js.map +1 -1
- package/dist/compiler/runtime/check-locale.d.ts +0 -1
- package/dist/compiler/runtime/check-locale.js.map +1 -1
- package/dist/compiler/runtime/check-locale.test.d.ts +0 -1
- package/dist/compiler/runtime/check-locale.test.js.map +1 -1
- package/dist/compiler/runtime/create-runtime.d.ts +1 -1
- package/dist/compiler/runtime/create-runtime.js +11 -0
- package/dist/compiler/runtime/create-runtime.js.map +1 -1
- package/dist/compiler/runtime/exec-url-pattern.d.ts +9 -0
- package/dist/compiler/runtime/exec-url-pattern.js +31 -0
- package/dist/compiler/runtime/exec-url-pattern.js.map +1 -0
- package/dist/compiler/runtime/extract-locale-from-cookie.d.ts +0 -1
- package/dist/compiler/runtime/extract-locale-from-cookie.js.map +1 -1
- package/dist/compiler/runtime/extract-locale-from-cookie.test.d.ts +0 -1
- package/dist/compiler/runtime/extract-locale-from-cookie.test.js.map +1 -1
- package/dist/compiler/runtime/extract-locale-from-header.d.ts +0 -1
- package/dist/compiler/runtime/extract-locale-from-header.js.map +1 -1
- package/dist/compiler/runtime/extract-locale-from-header.test.d.ts +0 -1
- package/dist/compiler/runtime/extract-locale-from-header.test.js.map +1 -1
- package/dist/compiler/runtime/extract-locale-from-navigator.d.ts +0 -1
- package/dist/compiler/runtime/extract-locale-from-navigator.js.map +1 -1
- package/dist/compiler/runtime/extract-locale-from-navigator.test.d.ts +0 -1
- package/dist/compiler/runtime/extract-locale-from-navigator.test.js.map +1 -1
- package/dist/compiler/runtime/extract-locale-from-request-async.d.ts +0 -1
- package/dist/compiler/runtime/extract-locale-from-request-async.js.map +1 -1
- package/dist/compiler/runtime/extract-locale-from-request-async.test.d.ts +0 -1
- package/dist/compiler/runtime/extract-locale-from-request-async.test.js.map +1 -1
- package/dist/compiler/runtime/extract-locale-from-request.d.ts +0 -1
- package/dist/compiler/runtime/extract-locale-from-request.js.map +1 -1
- package/dist/compiler/runtime/extract-locale-from-request.test.d.ts +0 -1
- package/dist/compiler/runtime/extract-locale-from-request.test.js.map +1 -1
- package/dist/compiler/runtime/extract-locale-from-url.d.ts +0 -1
- package/dist/compiler/runtime/extract-locale-from-url.js +8 -3
- package/dist/compiler/runtime/extract-locale-from-url.js.map +1 -1
- package/dist/compiler/runtime/extract-locale-from-url.test.d.ts +0 -1
- package/dist/compiler/runtime/extract-locale-from-url.test.js.map +1 -1
- package/dist/compiler/runtime/generate-static-localized-urls.d.ts +0 -1
- package/dist/compiler/runtime/generate-static-localized-urls.js +12 -6
- package/dist/compiler/runtime/generate-static-localized-urls.js.map +1 -1
- package/dist/compiler/runtime/generate-static-localized-urls.test.d.ts +0 -1
- package/dist/compiler/runtime/generate-static-localized-urls.test.js +46 -0
- package/dist/compiler/runtime/generate-static-localized-urls.test.js.map +1 -1
- package/dist/compiler/runtime/get-locale.d.ts +0 -1
- package/dist/compiler/runtime/get-locale.js.map +1 -1
- package/dist/compiler/runtime/get-locale.test.d.ts +0 -1
- package/dist/compiler/runtime/get-locale.test.js.map +1 -1
- package/dist/compiler/runtime/get-text-direction.d.ts +0 -1
- package/dist/compiler/runtime/get-text-direction.js.map +1 -1
- package/dist/compiler/runtime/get-text-direction.test.d.ts +0 -1
- package/dist/compiler/runtime/get-text-direction.test.js.map +1 -1
- package/dist/compiler/runtime/get-url-origin.d.ts +0 -1
- package/dist/compiler/runtime/get-url-origin.js.map +1 -1
- package/dist/compiler/runtime/get-url-origin.test.d.ts +0 -1
- package/dist/compiler/runtime/get-url-origin.test.js.map +1 -1
- package/dist/compiler/runtime/localize-href.bench.d.ts +1 -0
- package/dist/compiler/runtime/localize-href.bench.js +77 -0
- package/dist/compiler/runtime/localize-href.bench.js.map +1 -0
- package/dist/compiler/runtime/localize-href.d.ts +0 -1
- package/dist/compiler/runtime/localize-href.js.map +1 -1
- package/dist/compiler/runtime/localize-href.test.d.ts +0 -1
- package/dist/compiler/runtime/localize-href.test.js +43 -0
- package/dist/compiler/runtime/localize-href.test.js.map +1 -1
- package/dist/compiler/runtime/localize-url.d.ts +14 -1
- package/dist/compiler/runtime/localize-url.js +376 -18
- package/dist/compiler/runtime/localize-url.js.map +1 -1
- package/dist/compiler/runtime/localize-url.test.d.ts +0 -1
- package/dist/compiler/runtime/localize-url.test.js +163 -0
- package/dist/compiler/runtime/localize-url.test.js.map +1 -1
- package/dist/compiler/runtime/normalize-trailing-slash.d.ts +10 -0
- package/dist/compiler/runtime/normalize-trailing-slash.js +23 -0
- package/dist/compiler/runtime/normalize-trailing-slash.js.map +1 -0
- package/dist/compiler/runtime/route-strategy.d.ts +0 -1
- package/dist/compiler/runtime/route-strategy.js +4 -2
- package/dist/compiler/runtime/route-strategy.js.map +1 -1
- package/dist/compiler/runtime/set-locale.d.ts +0 -1
- package/dist/compiler/runtime/set-locale.js.map +1 -1
- package/dist/compiler/runtime/set-locale.test.d.ts +0 -1
- package/dist/compiler/runtime/set-locale.test.js.map +1 -1
- package/dist/compiler/runtime/should-redirect.d.ts +0 -1
- package/dist/compiler/runtime/should-redirect.js +4 -1
- package/dist/compiler/runtime/should-redirect.js.map +1 -1
- package/dist/compiler/runtime/should-redirect.test.d.ts +0 -1
- package/dist/compiler/runtime/should-redirect.test.js +30 -2
- package/dist/compiler/runtime/should-redirect.test.js.map +1 -1
- package/dist/compiler/runtime/strategy.d.ts +0 -1
- package/dist/compiler/runtime/strategy.js.map +1 -1
- package/dist/compiler/runtime/strategy.test.d.ts +0 -1
- package/dist/compiler/runtime/strategy.test.js.map +1 -1
- package/dist/compiler/runtime/track-message-call.d.ts +0 -1
- package/dist/compiler/runtime/track-message-call.js.map +1 -1
- package/dist/compiler/runtime/track-message-call.test.d.ts +0 -1
- package/dist/compiler/runtime/track-message-call.test.js.map +1 -1
- package/dist/compiler/runtime/type-definitions.d.ts +0 -1
- package/dist/compiler/runtime/type-definitions.js.map +1 -1
- package/dist/compiler/runtime/type.d.ts +1 -1
- package/dist/compiler/runtime/type.js.map +1 -1
- package/dist/compiler/runtime/type.test.d.ts +0 -1
- package/dist/compiler/runtime/type.test.js.map +1 -1
- package/dist/compiler/runtime/variables.d.ts +6 -1
- package/dist/compiler/runtime/variables.js +6 -0
- package/dist/compiler/runtime/variables.js.map +1 -1
- package/dist/compiler/safe-module-id.d.ts +0 -1
- package/dist/compiler/safe-module-id.js.map +1 -1
- package/dist/compiler/safe-module-id.test.d.ts +0 -1
- package/dist/compiler/safe-module-id.test.js.map +1 -1
- package/dist/compiler/seed-previous-compilation.d.ts +0 -1
- package/dist/compiler/seed-previous-compilation.js.map +1 -1
- package/dist/compiler/server/create-server-file.d.ts +0 -1
- package/dist/compiler/server/create-server-file.js.map +1 -1
- package/dist/compiler/server/create-server-file.test.d.ts +0 -1
- package/dist/compiler/server/create-server-file.test.js.map +1 -1
- package/dist/compiler/server/middleware.d.ts +0 -1
- package/dist/compiler/server/middleware.js +6 -2
- package/dist/compiler/server/middleware.js.map +1 -1
- package/dist/compiler/server/middleware.test.d.ts +0 -1
- package/dist/compiler/server/middleware.test.js +34 -0
- package/dist/compiler/server/middleware.test.js.map +1 -1
- package/dist/compiler/server/type.d.ts +0 -1
- package/dist/compiler/server/type.js.map +1 -1
- package/dist/compiler/types.d.ts +0 -1
- package/dist/compiler/types.js.map +1 -1
- package/dist/compiler/variable-access.d.ts +0 -1
- package/dist/compiler/variable-access.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js.map +1 -1
- package/dist/index.test.d.ts +1 -0
- package/dist/index.test.js +9 -0
- package/dist/index.test.js.map +1 -0
- package/dist/services/codegen/escape.d.ts +0 -1
- package/dist/services/codegen/escape.js.map +1 -1
- package/dist/services/codegen/quotes.d.ts +0 -1
- package/dist/services/codegen/quotes.js.map +1 -1
- package/dist/services/env-variables/create-index-file.d.ts +0 -1
- package/dist/services/env-variables/create-index-file.js.map +1 -1
- package/dist/services/env-variables/index.d.ts +0 -1
- package/dist/services/env-variables/index.js +1 -1
- package/dist/services/env-variables/index.js.map +1 -1
- package/dist/services/environment/package.d.ts +0 -1
- package/dist/services/environment/package.js.map +1 -1
- package/dist/services/environment/package.test.d.ts +0 -1
- package/dist/services/environment/package.test.js.map +1 -1
- package/dist/services/error-handling.d.ts +0 -1
- package/dist/services/error-handling.js.map +1 -1
- package/dist/services/error-handling.test.d.ts +0 -1
- package/dist/services/error-handling.test.js.map +1 -1
- package/dist/services/file-handling/exists.d.ts +0 -1
- package/dist/services/file-handling/exists.js.map +1 -1
- package/dist/services/file-handling/exists.test.d.ts +0 -1
- package/dist/services/file-handling/exists.test.js.map +1 -1
- package/dist/services/file-handling/types.d.ts +0 -1
- package/dist/services/file-handling/types.js.map +1 -1
- package/dist/services/file-handling/write-output.bench.d.ts +1 -0
- package/dist/services/file-handling/write-output.bench.js +24 -0
- package/dist/services/file-handling/write-output.bench.js.map +1 -0
- package/dist/services/file-handling/write-output.d.ts +0 -1
- package/dist/services/file-handling/write-output.js +16 -20
- package/dist/services/file-handling/write-output.js.map +1 -1
- package/dist/services/file-handling/write-output.test.d.ts +0 -1
- package/dist/services/file-handling/write-output.test.js +27 -0
- package/dist/services/file-handling/write-output.test.js.map +1 -1
- package/dist/services/file-watching/tracked-fs.d.ts +0 -1
- package/dist/services/file-watching/tracked-fs.js.map +1 -1
- package/dist/services/file-watching/tracked-fs.test.d.ts +0 -1
- package/dist/services/file-watching/tracked-fs.test.js.map +1 -1
- package/dist/services/logger/index.d.ts +0 -1
- package/dist/services/logger/index.js.map +1 -1
- package/dist/services/lookup.d.ts +0 -1
- package/dist/services/lookup.js.map +1 -1
- package/dist/urlpattern-polyfill/index.d.ts +0 -1
- package/dist/urlpattern-polyfill/index.js.map +1 -1
- package/dist/utilities/detect-json-formatting.d.ts +0 -1
- package/dist/utilities/detect-json-formatting.js.map +1 -1
- package/dist/utilities/node-normalize-path.d.ts +0 -1
- package/dist/utilities/node-normalize-path.js.map +1 -1
- package/package.json +2 -2
- package/dist/bundler-plugins/esbuild.d.ts.map +0 -1
- package/dist/bundler-plugins/index.d.ts.map +0 -1
- package/dist/bundler-plugins/per-locale-build/constants.d.ts.map +0 -1
- package/dist/bundler-plugins/per-locale-build/index.d.ts.map +0 -1
- package/dist/bundler-plugins/per-locale-build/locale-id.d.ts.map +0 -1
- package/dist/bundler-plugins/per-locale-build/types.d.ts.map +0 -1
- package/dist/bundler-plugins/per-locale-build/vite-environments.d.ts.map +0 -1
- package/dist/bundler-plugins/per-locale-build/vite-environments.test.d.ts.map +0 -1
- package/dist/bundler-plugins/rolldown.d.ts.map +0 -1
- package/dist/bundler-plugins/rollup.d.ts.map +0 -1
- package/dist/bundler-plugins/rspack.d.ts.map +0 -1
- package/dist/bundler-plugins/unplugin.d.ts.map +0 -1
- package/dist/bundler-plugins/unplugin.test.d.ts.map +0 -1
- package/dist/bundler-plugins/vite.d.ts.map +0 -1
- package/dist/bundler-plugins/vite.test.d.ts.map +0 -1
- package/dist/bundler-plugins/webpack.d.ts.map +0 -1
- package/dist/cli/commands/compile/command.d.ts.map +0 -1
- package/dist/cli/commands/compile/command.test.d.ts.map +0 -1
- package/dist/cli/commands/init/command.d.ts.map +0 -1
- package/dist/cli/defaults.d.ts.map +0 -1
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/steps/add-vite-plugin.d.ts.map +0 -1
- package/dist/cli/steps/add-vite-plugin.test.d.ts.map +0 -1
- package/dist/cli/steps/check-for-uncomitted-changes.d.ts.map +0 -1
- package/dist/cli/steps/detect-bundler.d.ts.map +0 -1
- package/dist/cli/steps/detect-bundler.test.d.ts.map +0 -1
- package/dist/cli/steps/initialize-inlang-project.d.ts.map +0 -1
- package/dist/cli/steps/maybe-add-machine-translation.d.ts.map +0 -1
- package/dist/cli/steps/maybe-add-sherlock.d.ts.map +0 -1
- package/dist/cli/steps/prompt-for-outdir.d.ts.map +0 -1
- package/dist/cli/steps/update-package-json.d.ts.map +0 -1
- package/dist/cli/steps/update-ts-config.d.ts.map +0 -1
- package/dist/cli/steps/update-ts-config.test.d.ts.map +0 -1
- package/dist/cli/utils.d.ts.map +0 -1
- package/dist/compiler/compile-annotation.d.ts.map +0 -1
- package/dist/compiler/compile-bundle.d.ts.map +0 -1
- package/dist/compiler/compile-bundle.test.d.ts.map +0 -1
- package/dist/compiler/compile-local-variable.d.ts.map +0 -1
- package/dist/compiler/compile-local-variable.test.d.ts.map +0 -1
- package/dist/compiler/compile-message.d.ts.map +0 -1
- package/dist/compiler/compile-message.test.d.ts.map +0 -1
- package/dist/compiler/compile-pattern.d.ts.map +0 -1
- package/dist/compiler/compile-pattern.test.d.ts.map +0 -1
- package/dist/compiler/compile-project.d.ts.map +0 -1
- package/dist/compiler/compile-project.test.d.ts.map +0 -1
- package/dist/compiler/compile.bench.d.ts.map +0 -1
- package/dist/compiler/compile.d.ts.map +0 -1
- package/dist/compiler/compile.test.d.ts.map +0 -1
- package/dist/compiler/compiler-options.d.ts.map +0 -1
- package/dist/compiler/create-paraglide.d.ts.map +0 -1
- package/dist/compiler/create-paraglide.test.d.ts.map +0 -1
- package/dist/compiler/create-readme.d.ts.map +0 -1
- package/dist/compiler/emit-ts-declarations.d.ts.map +0 -1
- package/dist/compiler/emit-ts-declarations.interop.test.d.ts.map +0 -1
- package/dist/compiler/emit-ts-declarations.test.d.ts.map +0 -1
- package/dist/compiler/index.d.ts.map +0 -1
- package/dist/compiler/jsdoc-types.d.ts.map +0 -1
- package/dist/compiler/jsdoc-types.test.d.ts.map +0 -1
- package/dist/compiler/match-literals.d.ts.map +0 -1
- package/dist/compiler/output-structure/locale-modules.d.ts.map +0 -1
- package/dist/compiler/output-structure/locale-modules.test.d.ts.map +0 -1
- package/dist/compiler/output-structure/message-modules.d.ts.map +0 -1
- package/dist/compiler/output-structure/message-modules.test.d.ts.map +0 -1
- package/dist/compiler/per-locale-build.d.ts.map +0 -1
- package/dist/compiler/registry.d.ts.map +0 -1
- package/dist/compiler/resolve-tsc-js-path.d.ts.map +0 -1
- package/dist/compiler/runtime/check-locale.d.ts.map +0 -1
- package/dist/compiler/runtime/check-locale.test.d.ts.map +0 -1
- package/dist/compiler/runtime/create-runtime.d.ts.map +0 -1
- package/dist/compiler/runtime/extract-locale-from-cookie.d.ts.map +0 -1
- package/dist/compiler/runtime/extract-locale-from-cookie.test.d.ts.map +0 -1
- package/dist/compiler/runtime/extract-locale-from-header.d.ts.map +0 -1
- package/dist/compiler/runtime/extract-locale-from-header.test.d.ts.map +0 -1
- package/dist/compiler/runtime/extract-locale-from-navigator.d.ts.map +0 -1
- package/dist/compiler/runtime/extract-locale-from-navigator.test.d.ts.map +0 -1
- package/dist/compiler/runtime/extract-locale-from-request-async.d.ts.map +0 -1
- package/dist/compiler/runtime/extract-locale-from-request-async.test.d.ts.map +0 -1
- package/dist/compiler/runtime/extract-locale-from-request.d.ts.map +0 -1
- package/dist/compiler/runtime/extract-locale-from-request.test.d.ts.map +0 -1
- package/dist/compiler/runtime/extract-locale-from-url.d.ts.map +0 -1
- package/dist/compiler/runtime/extract-locale-from-url.test.d.ts.map +0 -1
- package/dist/compiler/runtime/generate-static-localized-urls.d.ts.map +0 -1
- package/dist/compiler/runtime/generate-static-localized-urls.test.d.ts.map +0 -1
- package/dist/compiler/runtime/get-locale.d.ts.map +0 -1
- package/dist/compiler/runtime/get-locale.test.d.ts.map +0 -1
- package/dist/compiler/runtime/get-text-direction.d.ts.map +0 -1
- package/dist/compiler/runtime/get-text-direction.test.d.ts.map +0 -1
- package/dist/compiler/runtime/get-url-origin.d.ts.map +0 -1
- package/dist/compiler/runtime/get-url-origin.test.d.ts.map +0 -1
- package/dist/compiler/runtime/localize-href.d.ts.map +0 -1
- package/dist/compiler/runtime/localize-href.test.d.ts.map +0 -1
- package/dist/compiler/runtime/localize-url.d.ts.map +0 -1
- package/dist/compiler/runtime/localize-url.test.d.ts.map +0 -1
- package/dist/compiler/runtime/route-strategy.d.ts.map +0 -1
- package/dist/compiler/runtime/set-locale.d.ts.map +0 -1
- package/dist/compiler/runtime/set-locale.test.d.ts.map +0 -1
- package/dist/compiler/runtime/should-redirect.d.ts.map +0 -1
- package/dist/compiler/runtime/should-redirect.test.d.ts.map +0 -1
- package/dist/compiler/runtime/strategy.d.ts.map +0 -1
- package/dist/compiler/runtime/strategy.test.d.ts.map +0 -1
- package/dist/compiler/runtime/track-message-call.d.ts.map +0 -1
- package/dist/compiler/runtime/track-message-call.test.d.ts.map +0 -1
- package/dist/compiler/runtime/type-definitions.d.ts.map +0 -1
- package/dist/compiler/runtime/type.d.ts.map +0 -1
- package/dist/compiler/runtime/type.test.d.ts.map +0 -1
- package/dist/compiler/runtime/variables.d.ts.map +0 -1
- package/dist/compiler/safe-module-id.d.ts.map +0 -1
- package/dist/compiler/safe-module-id.test.d.ts.map +0 -1
- package/dist/compiler/seed-previous-compilation.d.ts.map +0 -1
- package/dist/compiler/server/create-server-file.d.ts.map +0 -1
- package/dist/compiler/server/create-server-file.test.d.ts.map +0 -1
- package/dist/compiler/server/middleware.d.ts.map +0 -1
- package/dist/compiler/server/middleware.test.d.ts.map +0 -1
- package/dist/compiler/server/type.d.ts.map +0 -1
- package/dist/compiler/types.d.ts.map +0 -1
- package/dist/compiler/variable-access.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/services/account/index.d.ts +0 -15
- package/dist/services/account/index.d.ts.map +0 -1
- package/dist/services/account/index.js +0 -43
- package/dist/services/account/index.js.map +0 -1
- package/dist/services/codegen/escape.d.ts.map +0 -1
- package/dist/services/codegen/quotes.d.ts.map +0 -1
- package/dist/services/env-variables/create-index-file.d.ts.map +0 -1
- package/dist/services/env-variables/index.d.ts.map +0 -1
- package/dist/services/environment/package.d.ts.map +0 -1
- package/dist/services/environment/package.test.d.ts.map +0 -1
- package/dist/services/error-handling.d.ts.map +0 -1
- package/dist/services/error-handling.test.d.ts.map +0 -1
- package/dist/services/file-handling/exists.d.ts.map +0 -1
- package/dist/services/file-handling/exists.test.d.ts.map +0 -1
- package/dist/services/file-handling/types.d.ts.map +0 -1
- package/dist/services/file-handling/write-output.d.ts.map +0 -1
- package/dist/services/file-handling/write-output.test.d.ts.map +0 -1
- package/dist/services/file-watching/tracked-fs.d.ts.map +0 -1
- package/dist/services/file-watching/tracked-fs.test.d.ts.map +0 -1
- package/dist/services/logger/index.d.ts.map +0 -1
- package/dist/services/lookup.d.ts.map +0 -1
- package/dist/urlpattern-polyfill/index.d.ts.map +0 -1
- package/dist/utilities/detect-json-formatting.d.ts.map +0 -1
- package/dist/utilities/node-normalize-path.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile-pattern.test.js","sourceRoot":"","sources":["../../src/compiler/compile-pattern.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compile-pattern.test.js","sourceRoot":"","sources":["../../src/compiler/compile-pattern.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { test, expect } from \"vitest\";\nimport { compilePattern } from \"./compile-pattern.js\";\nimport type { Pattern } from \"@inlang/sdk\";\n\ntest(\"should compile a text only pattern\", () => {\n\tconst pattern: Pattern = [{ type: \"text\", value: \"Hello\" }];\n\tconst { code } = compilePattern({ pattern, declarations: [] });\n\texpect(code).toBe(\"`Hello`\");\n});\n\ntest(\"should compile a pattern with multiple VariableReference's\", () => {\n\tconst pattern: Pattern = [\n\t\t{ type: \"text\", value: \"Hello \" },\n\t\t{\n\t\t\ttype: \"expression\",\n\t\t\targ: {\n\t\t\t\ttype: \"variable-reference\",\n\t\t\t\tname: \"name\",\n\t\t\t},\n\t\t},\n\t\t{ type: \"text\", value: \"! You have \" },\n\t\t{ type: \"expression\", arg: { type: \"variable-reference\", name: \"count\" } },\n\t\t{ type: \"text\", value: \" messages.\" },\n\t];\n\n\tconst { code } = compilePattern({\n\t\tpattern,\n\t\tdeclarations: [\n\t\t\t{ type: \"input-variable\", name: \"name\" },\n\t\t\t{ type: \"input-variable\", name: \"count\" },\n\t\t],\n\t});\n\n\texpect(code).toBe(\"`Hello ${i?.name}! You have ${i?.count} messages.`\");\n});\n\ntest(\"uses bracket notation for input variables with non-identifier names\", () => {\n\tconst pattern: Pattern = [\n\t\t{ type: \"text\", value: \"Half \" },\n\t\t{\n\t\t\ttype: \"expression\",\n\t\t\targ: {\n\t\t\t\ttype: \"variable-reference\",\n\t\t\t\tname: \"half!\",\n\t\t\t},\n\t\t},\n\t];\n\n\tconst { code } = compilePattern({\n\t\tpattern,\n\t\tdeclarations: [{ type: \"input-variable\", name: \"half!\" }],\n\t});\n\n\texpect(code).toBe('`Half ${i?.[\"half!\"]}`');\n});\n\ntest(\"should escape backticks\", () => {\n\tconst pattern: Pattern = [{ type: \"text\", value: \"`Hello world`\" }];\n\tconst { code } = compilePattern({ pattern, declarations: [] });\n\texpect(code).toBe(\"`\\\\`Hello world\\\\``\");\n});\n\ntest(\"should escape backslashes\", () => {\n\tconst pattern: Pattern = [{ type: \"text\", value: \"\\\\Hello world\\\\\" }];\n\tconst { code } = compilePattern({ pattern, declarations: [] });\n\n\texpect(code).toBe(\"`\\\\\\\\Hello world\\\\\\\\`\");\n});\n\ntest(\"should escape escaped backticks\", () => {\n\tconst pattern: Pattern = [{ type: \"text\", value: \"\\\\`Hello world\\\\`\" }];\n\tconst { code } = compilePattern({ pattern, declarations: [] });\n\n\texpect(code).toBe(\"`\\\\\\\\\\\\`Hello world\\\\\\\\\\\\``\");\n});\n\ntest(\"should escape variable interpolation ( ${} )\", () => {\n\tconst pattern: Pattern = [{ type: \"text\", value: \"${name\" }];\n\tconst { code } = compilePattern({ pattern, declarations: [] });\n\n\texpect(code).toBe(\"`\\\\${name`\");\n});\n\ntest(\"it can reference local variables\", () => {\n\tconst { code } = compilePattern({\n\t\tpattern: [\n\t\t\t{ type: \"text\", value: \"Hello \" },\n\t\t\t{\n\t\t\t\ttype: \"expression\",\n\t\t\t\targ: {\n\t\t\t\t\ttype: \"variable-reference\",\n\t\t\t\t\tname: \"name\",\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\tdeclarations: [\n\t\t\t{\n\t\t\t\ttype: \"local-variable\",\n\t\t\t\tname: \"name\",\n\t\t\t\tvalue: {\n\t\t\t\t\ttype: \"expression\",\n\t\t\t\t\targ: { type: \"literal\", value: \"Peter\" },\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t});\n\n\texpect(code).toBe(\"`Hello ${name}`\");\n});\n\ntest(\"plain string mode strips markup wrappers\", () => {\n\tconst pattern: Pattern = [\n\t\t{ type: \"text\", value: \"Hello \" },\n\t\t{ type: \"markup-start\", name: \"b\" },\n\t\t{ type: \"expression\", arg: { type: \"variable-reference\", name: \"name\" } },\n\t\t{ type: \"markup-end\", name: \"b\" },\n\t\t{ type: \"text\", value: \"!\" },\n\t];\n\n\tconst { code } = compilePattern({\n\t\tpattern,\n\t\tdeclarations: [{ type: \"input-variable\", name: \"name\" }],\n\t});\n\n\texpect(code).toBe(\"`Hello ${i?.name}!`\");\n});\n\ntest(\"compiles a pattern expression annotation to a registry call\", () => {\n\t// https://github.com/opral/paraglide-js/issues/694\n\tconst pattern: Pattern = [\n\t\t{\n\t\t\ttype: \"expression\",\n\t\t\targ: { type: \"variable-reference\", name: \"count\" },\n\t\t\tannotation: { type: \"function-reference\", name: \"number\", options: [] },\n\t\t},\n\t\t{ type: \"text\", value: \" views\" },\n\t];\n\n\tconst { code } = compilePattern({\n\t\tpattern,\n\t\tdeclarations: [{ type: \"input-variable\", name: \"count\" }],\n\t\tlocale: \"en\",\n\t});\n\n\texpect(code).toBe('`${registry.number(\"en\", i?.count, {})} views`');\n});\n\ntest(\"compiles pattern expression annotation options like local variable annotations\", () => {\n\tconst pattern: Pattern = [\n\t\t{\n\t\t\ttype: \"expression\",\n\t\t\targ: { type: \"variable-reference\", name: \"price\" },\n\t\t\tannotation: {\n\t\t\t\ttype: \"function-reference\",\n\t\t\t\tname: \"number\",\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: \"minimumFractionDigits\",\n\t\t\t\t\t\tvalue: { type: \"literal\", value: \"2\" },\n\t\t\t\t\t},\n\t\t\t\t\t{ name: \"style\", value: { type: \"literal\", value: \"percent\" } },\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t];\n\n\tconst { code } = compilePattern({\n\t\tpattern,\n\t\tdeclarations: [{ type: \"input-variable\", name: \"price\" }],\n\t\tlocale: \"de\",\n\t});\n\n\texpect(code).toBe(\n\t\t'`${registry.number(\"de\", i?.price, { minimumFractionDigits: 2, style: \"percent\" })}`'\n\t);\n});\n\ntest(\"parts mode compiles pattern expression annotations to registry calls\", () => {\n\tconst pattern: Pattern = [\n\t\t{\n\t\t\ttype: \"expression\",\n\t\t\targ: { type: \"variable-reference\", name: \"count\" },\n\t\t\tannotation: { type: \"function-reference\", name: \"number\", options: [] },\n\t\t},\n\t\t{ type: \"text\", value: \" views\" },\n\t];\n\n\tconst { code } = compilePattern({\n\t\tmode: \"parts\",\n\t\tpattern,\n\t\tdeclarations: [{ type: \"input-variable\", name: \"count\" }],\n\t\tlocale: \"en\",\n\t});\n\n\texpect(code).toBe(\n\t\t'[{ type: \"text\", value: String(registry.number(\"en\", i?.count, {})) }, { type: \"text\", value: \" views\" }]'\n\t);\n});\n\ntest(\"falls back to plain interpolation for unknown formatters\", () => {\n\tconst pattern: Pattern = [\n\t\t{\n\t\t\ttype: \"expression\",\n\t\t\targ: { type: \"variable-reference\", name: \"name\" },\n\t\t\tannotation: {\n\t\t\t\ttype: \"function-reference\",\n\t\t\t\tname: \"uppercase\",\n\t\t\t\toptions: [],\n\t\t\t},\n\t\t},\n\t];\n\n\tconst { code } = compilePattern({\n\t\tpattern,\n\t\tdeclarations: [{ type: \"input-variable\", name: \"name\" }],\n\t\tlocale: \"en\",\n\t});\n\n\texpect(code).toBe(\"`${i?.name}`\");\n});\n\ntest(\"throws when a pattern annotation is compiled without a locale\", () => {\n\tconst pattern: Pattern = [\n\t\t{\n\t\t\ttype: \"expression\",\n\t\t\targ: { type: \"variable-reference\", name: \"count\" },\n\t\t\tannotation: { type: \"function-reference\", name: \"number\", options: [] },\n\t\t},\n\t];\n\n\texpect(() =>\n\t\tcompilePattern({\n\t\t\tpattern,\n\t\t\tdeclarations: [{ type: \"input-variable\", name: \"count\" }],\n\t\t})\n\t).toThrow('requires a locale to compile the formatter \"number\"');\n});\n\ntest(\"validates relativetime options on pattern annotations\", () => {\n\tconst pattern: Pattern = [\n\t\t{\n\t\t\ttype: \"expression\",\n\t\t\targ: { type: \"variable-reference\", name: \"days\" },\n\t\t\tannotation: {\n\t\t\t\ttype: \"function-reference\",\n\t\t\t\tname: \"relativetime\",\n\t\t\t\toptions: [],\n\t\t\t},\n\t\t},\n\t];\n\n\texpect(() =>\n\t\tcompilePattern({\n\t\t\tpattern,\n\t\t\tdeclarations: [{ type: \"input-variable\", name: \"days\" }],\n\t\t\tlocale: \"en\",\n\t\t})\n\t).toThrow('The \"relativetime\" formatter requires a \"unit\" option.');\n});\n\ntest(\"parts mode compiles text, markup, options and attributes\", () => {\n\tconst pattern: Pattern = [\n\t\t{ type: \"text\", value: \"Read \" },\n\t\t{\n\t\t\ttype: \"markup-start\",\n\t\t\tname: \"link\",\n\t\t\toptions: [\n\t\t\t\t{ name: \"to\", value: { type: \"literal\", value: \"/docs\" } },\n\t\t\t\t{\n\t\t\t\t\tname: \"rel\",\n\t\t\t\t\tvalue: { type: \"variable-reference\", name: \"relationship\" },\n\t\t\t\t},\n\t\t\t],\n\t\t\tattributes: [\n\t\t\t\t{ name: \"track\", value: true },\n\t\t\t\t{ name: \"variant\", value: { type: \"literal\", value: \"hero\" } },\n\t\t\t],\n\t\t},\n\t\t{ type: \"text\", value: \"docs\" },\n\t\t{\n\t\t\ttype: \"markup-end\",\n\t\t\tname: \"link\",\n\t\t\toptions: [{ name: \"to\", value: { type: \"literal\", value: \"/docs\" } }],\n\t\t\tattributes: [{ name: \"track\", value: true }],\n\t\t},\n\t\t{\n\t\t\ttype: \"markup-standalone\",\n\t\t\tname: \"icon\",\n\t\t\toptions: [{ name: \"name\", value: { type: \"literal\", value: \"arrow\" } }],\n\t\t\tattributes: [{ name: \"filled\", value: true }],\n\t\t},\n\t];\n\n\tconst { code } = compilePattern({\n\t\tmode: \"parts\",\n\t\tpattern,\n\t\tdeclarations: [{ type: \"input-variable\", name: \"relationship\" }],\n\t});\n\n\texpect(code).toBe(\n\t\t'[{ type: \"text\", value: \"Read \" }, { type: \"markup-start\", name: \"link\", options: { \"to\": \"/docs\", \"rel\": i?.relationship }, attributes: { \"track\": true, \"variant\": \"hero\" } }, { type: \"text\", value: \"docs\" }, { type: \"markup-end\", name: \"link\", options: { \"to\": \"/docs\" }, attributes: { \"track\": true } }, { type: \"markup-standalone\", name: \"icon\", options: { \"name\": \"arrow\" }, attributes: { \"filled\": true } }]'\n\t);\n});\n"]}
|
|
@@ -16,4 +16,3 @@ export declare const compileProject: (args: {
|
|
|
16
16
|
compilerOptions?: Omit<CompilerOptions, "fs" | "project" | "outdir">;
|
|
17
17
|
}) => Promise<Record<string, string>>;
|
|
18
18
|
export declare function getFallbackMap<T extends string>(locales: T[], baseLocale: NoInfer<T>): Record<T, T | undefined>;
|
|
19
|
-
//# sourceMappingURL=compile-project.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile-project.js","sourceRoot":"","sources":["../../src/compiler/compile-project.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compile-project.js","sourceRoot":"","sources":["../../src/compiler/compile-project.ts"],"names":[],"mappings":"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","sourcesContent":["import { compileBundle } from \"./compile-bundle.js\";\nimport { selectBundleNested, type InlangProject } from \"@inlang/sdk\";\nimport { lookup } from \"../services/lookup.js\";\nimport * as localeModules from \"./output-structure/locale-modules.js\";\nimport * as messageModules from \"./output-structure/message-modules.js\";\nimport {\n\tdefaultCompilerOptions,\n\ttype CompilerOptions,\n} from \"./compiler-options.js\";\nimport { createRuntimeFile } from \"./runtime/create-runtime.js\";\nimport { createServerFile } from \"./server/create-server-file.js\";\nimport { createRegistry } from \"./registry.js\";\nimport { emitTsDeclarations } from \"./emit-ts-declarations.js\";\nimport { createReadme } from \"./create-readme.js\";\nimport { perLocaleBuildStaticLocaleExpression } from \"./per-locale-build.js\";\n\nconst outputStructures = {\n\t\"locale-modules\": localeModules,\n\t\"message-modules\": messageModules,\n};\n\n/**\n * Takes an inlang project and compiles it into a set of files.\n *\n * Use this function for more programmatic control than `compile()`.\n * You can adjust the output structure and get the compiled files as a return value.\n *\n * @example\n * const output = await compileProject({ project, projectPath: \"./project.inlang\" });\n * await writeOutput('path', output, fs.promises);\n */\nexport const compileProject = async (args: {\n\tproject: InlangProject;\n\tprojectPath?: string;\n\tcompilerOptions?: Omit<CompilerOptions, \"fs\" | \"project\" | \"outdir\">;\n}): Promise<Record<string, string>> => {\n\tconst optionsWithDefaults = {\n\t\t...defaultCompilerOptions,\n\t\t...args.compilerOptions,\n\t};\n\tawait ensureURLPatternAvailable();\n\tvalidateRouteStrategyMatchers(optionsWithDefaults.routeStrategies);\n\n\tconst settings = await args.project.settings.get();\n\tconst bundles = await selectBundleNested(args.project.db).execute();\n\n\t//Maps each language to it's fallback\n\t//If there is no fallback, it will be undefined\n\tconst fallbackMap = getFallbackMap(settings.locales, settings.baseLocale);\n\n\tconst outputStructure = outputStructures[optionsWithDefaults.outputStructure];\n\n\tconst compiledBundles = bundles.map((bundle) =>\n\t\tcompileBundle({\n\t\t\tbundle,\n\t\t\tfallbackMap,\n\t\t\tmessageReferenceExpression: outputStructure.messageReferenceExpression,\n\t\t\tsettings,\n\t\t\texperimentalMiddlewareLocaleSplitting:\n\t\t\t\toptionsWithDefaults.experimentalMiddlewareLocaleSplitting,\n\t\t\texperimentalStaticLocale: optionsWithDefaults.experimentalStaticLocale,\n\t\t})\n\t);\n\n\tconst output: Record<string, string> = {\n\t\t[\"runtime.js\"]: createRuntimeFile({\n\t\t\tbaseLocale: settings.baseLocale,\n\t\t\tlocales: settings.locales,\n\t\t\tcompilerOptions: optionsWithDefaults,\n\t\t}),\n\t\t[\"server.js\"]: createServerFile({\n\t\t\tcompiledBundles,\n\t\t\tcompilerOptions: optionsWithDefaults,\n\t\t}),\n\t\t[\"registry.js\"]: createRegistry(),\n\t\t[\"messages.js\"]: [\n\t\t\t\"export * from './messages/_index.js'\",\n\t\t\t\"// enabling auto-import by exposing all messages as m\",\n\t\t\t\"export * as m from './messages/_index.js'\",\n\t\t].join(\"\\n\"),\n\t};\n\n\t// generate the output modules\n\tObject.assign(\n\t\toutput,\n\t\toutputStructure.generateOutput(\n\t\t\tcompiledBundles,\n\t\t\tsettings,\n\t\t\tfallbackMap,\n\t\t\toptionsWithDefaults.experimentalMiddlewareLocaleSplitting\n\t\t)\n\t);\n\n\tif (optionsWithDefaults.emitGitIgnore) {\n\t\toutput[\".gitignore\"] = ignoreDirectory;\n\t}\n\n\tif (optionsWithDefaults.emitPrettierIgnore) {\n\t\toutput[\".prettierignore\"] = ignoreDirectory;\n\t}\n\n\tif (optionsWithDefaults.emitReadme) {\n\t\toutput[\"README.md\"] = createReadme({ projectPath: args.projectPath });\n\t}\n\n\t// Declare the generated message modules side-effect-free so bundlers can drop\n\t// unused re-exports from the `m` barrel per entry, instead of bundling every\n\t// message used anywhere in the app into one shared chunk that every entry\n\t// downloads. Scoped to `messages/` so `runtime.js` (one level up, which has\n\t// real side effects) is unaffected. This also lets locale-specialized builds\n\t// discard the unselected locale modules before Rolldown creates source maps.\n\t//\n\t// `type: \"module\"` is required: this package.json creates a new module scope\n\t// for `messages/`, and a package.json without a `type` field defaults to\n\t// CommonJS in Node — even when the consuming project is `type: \"module\"`.\n\t// Without it, the generated ESM `.js` files in `messages/` would be treated\n\t// as CommonJS and fail to resolve.\n\t// See https://github.com/opral/paraglide-js/issues/668\n\tif (\n\t\toptionsWithDefaults.outputStructure === \"message-modules\" ||\n\t\toptionsWithDefaults.experimentalStaticLocale ===\n\t\t\tperLocaleBuildStaticLocaleExpression\n\t) {\n\t\toutput[\"messages/package.json\"] =\n\t\t\tJSON.stringify({ type: \"module\", sideEffects: false }, undefined, \"\\t\") +\n\t\t\t\"\\n\";\n\t}\n\n\tfor (const [filename, content] of Object.entries(\n\t\toptionsWithDefaults.additionalFiles ?? {}\n\t)) {\n\t\toutput[filename] = content;\n\t}\n\n\tfor (const [filename, content] of Object.entries(output)) {\n\t\tif (optionsWithDefaults.includeEslintDisableComment) {\n\t\t\tif (filename.endsWith(\".js\")) {\n\t\t\t\toutput[filename] = `/* eslint-disable */\\n${content}`;\n\t\t\t}\n\t\t}\n\t}\n\n\tif (optionsWithDefaults.emitTsDeclarations) {\n\t\tconst declarations = await emitTsDeclarations(output);\n\t\tObject.assign(output, declarations);\n\t}\n\n\treturn output;\n};\n\nexport function getFallbackMap<T extends string>(\n\tlocales: T[],\n\tbaseLocale: NoInfer<T>\n): Record<T, T | undefined> {\n\treturn Object.fromEntries(\n\t\tlocales.map((lang) => {\n\t\t\tif (lang === baseLocale) return [lang, undefined];\n\t\t\tconst fallbackLanguage = lookup(lang, {\n\t\t\t\tlocales: locales.filter((l) => l !== lang),\n\t\t\t\tbaseLocale,\n\t\t\t});\n\n\t\t\tif (lang === fallbackLanguage) return [lang, undefined];\n\t\t\telse return [lang, fallbackLanguage];\n\t\t})\n\t) as Record<T, T | undefined>;\n}\n\nconst ignoreDirectory = `# ignore everything because the directory is auto-generated by inlang paraglide-js\n# for more info visit https://paraglidejs.com\n*\n`;\n\nasync function ensureURLPatternAvailable() {\n\ttry {\n\t\tnew URLPattern({ pathname: \"/:path(.*)?\" });\n\t} catch {\n\t\tawait import(\"urlpattern-polyfill\");\n\t}\n}\n\nfunction validateRouteStrategyMatchers(\n\trouteStrategies: CompilerOptions[\"routeStrategies\"]\n) {\n\tif (!routeStrategies?.length) {\n\t\treturn;\n\t}\n\n\tfor (const [index, routeStrategy] of routeStrategies.entries()) {\n\t\ttry {\n\t\t\tnew URLPattern(routeStrategy.match, \"https://example.com\");\n\t\t} catch (error) {\n\t\t\tconst details = error instanceof Error ? error.message : String(error);\n\t\t\tthrow new Error(\n\t\t\t\t`Invalid routeStrategies[${index}].match \"${routeStrategy.match}\". URLPattern parsing failed: ${details}`\n\t\t\t);\n\t\t}\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile-project.test.js","sourceRoot":"","sources":["../../src/compiler/compile-project.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compile-project.test.js","sourceRoot":"","sources":["../../src/compiler/compile-project.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect, test, describe, vi, beforeEach } from \"vitest\";\nimport {\n\tcreateProject as typescriptProject,\n\tts,\n\ttype ProjectOptions,\n} from \"@ts-morph/bootstrap\";\nimport {\n\ttype BundleNested,\n\tDeclaration,\n\tinsertBundleNested,\n\tloadProjectInMemory,\n\ttype Match,\n\tnewProject,\n\tPattern,\n\tVariableReference,\n} from \"@inlang/sdk\";\nimport { compileProject, getFallbackMap } from \"./compile-project.js\";\nimport virtual from \"@rollup/plugin-virtual\";\nimport { rolldown } from \"rolldown\";\nimport { perLocaleBuildStaticLocaleExpression } from \"./per-locale-build.js\";\n\nbeforeEach(() => {\n\t// reset the imports to make sure that the runtime is reloaded\n\tvi.resetModules();\n\tvi.clearAllMocks();\n\n\t// mocking DOM globals\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window = undefined;\n});\n\nfunction hasFallbackCycle(\n\tfallbackMap: Record<string, string | undefined>,\n\tstart: string\n): boolean {\n\tconst visited = new Set<string>();\n\tlet current: string | undefined = start;\n\n\twhile (current) {\n\t\tif (visited.has(current)) return true;\n\t\tvisited.add(current);\n\t\tcurrent = fallbackMap[current];\n\t}\n\n\treturn false;\n}\n\ntest(\"emitGitignore\", async () => {\n\tconst project = await loadProjectInMemory({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t},\n\t\t}),\n\t});\n\n\tconst _default = await compileProject({\n\t\tproject,\n\t});\n\n\tconst _true = await compileProject({\n\t\tproject,\n\t\tcompilerOptions: { emitGitIgnore: true },\n\t});\n\n\tconst _false = await compileProject({\n\t\tproject,\n\t\tcompilerOptions: { emitGitIgnore: false },\n\t});\n\n\texpect(_default).toHaveProperty(\".gitignore\");\n\texpect(_true).toHaveProperty(\".gitignore\");\n\texpect(_false).not.toHaveProperty(\".gitignore\");\n});\n\ntest(\"marks tree-shakeable generated message layouts as side-effect-free\", async () => {\n\tconst project = await loadProjectInMemory({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t},\n\t\t}),\n\t});\n\n\tconst messageModules = await compileProject({\n\t\tproject,\n\t});\n\n\tconst localeModules = await compileProject({\n\t\tproject,\n\t\tcompilerOptions: { outputStructure: \"locale-modules\" },\n\t});\n\tconst specializedLocaleModules = await compileProject({\n\t\tproject,\n\t\tcompilerOptions: {\n\t\t\toutputStructure: \"locale-modules\",\n\t\t\texperimentalStaticLocale: perLocaleBuildStaticLocaleExpression,\n\t\t},\n\t});\n\n\t// message-modules: the message modules are side-effect-free, so bundlers can\n\t// drop unused re-exports from the `m` barrel per entry instead of emitting one\n\t// shared chunk with every message. `type: \"module\"` keeps the generated ESM\n\t// files in the new `messages/` package scope from defaulting to CommonJS.\n\texpect(messageModules).toHaveProperty(\"messages/package.json\");\n\texpect(JSON.parse(messageModules[\"messages/package.json\"]!)).toEqual({\n\t\ttype: \"module\",\n\t\tsideEffects: false,\n\t});\n\n\texpect(localeModules).not.toHaveProperty(\"messages/package.json\");\n\texpect(specializedLocaleModules).toHaveProperty(\"messages/package.json\");\n\texpect(\n\t\tJSON.parse(specializedLocaleModules[\"messages/package.json\"]!)\n\t).toEqual({\n\t\ttype: \"module\",\n\t\tsideEffects: false,\n\t});\n});\n\ntest(\"emitPrettierIgnore\", async () => {\n\tconst project = await loadProjectInMemory({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t},\n\t\t}),\n\t});\n\n\tconst _default = await compileProject({\n\t\tproject,\n\t});\n\n\tconst _true = await compileProject({\n\t\tproject,\n\t\tcompilerOptions: { emitPrettierIgnore: true },\n\t});\n\n\tconst _false = await compileProject({\n\t\tproject,\n\t\tcompilerOptions: { emitPrettierIgnore: false },\n\t});\n\n\texpect(_default).toHaveProperty(\".prettierignore\");\n\texpect(_true).toHaveProperty(\".prettierignore\");\n\texpect(_false).not.toHaveProperty(\".prettierignore\");\n});\n\ntest(\"emitReadme\", async () => {\n\tconst project = await loadProjectInMemory({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t},\n\t\t}),\n\t});\n\n\tconst projectPath = \"./project.inlang\";\n\n\tconst _default = await compileProject({\n\t\tproject,\n\t\tprojectPath,\n\t});\n\n\tconst _true = await compileProject({\n\t\tproject,\n\t\tprojectPath,\n\t\tcompilerOptions: { emitReadme: true },\n\t});\n\n\tconst _false = await compileProject({\n\t\tproject,\n\t\tprojectPath,\n\t\tcompilerOptions: { emitReadme: false },\n\t});\n\n\tconst _noProjectPath = await compileProject({\n\t\tproject,\n\t});\n\n\texpect(_default).toHaveProperty(\"README.md\");\n\texpect(_true).toHaveProperty(\"README.md\");\n\texpect(_false).not.toHaveProperty(\"README.md\");\n\t// README should still be emitted even without projectPath\n\texpect(_noProjectPath).toHaveProperty(\"README.md\");\n\t// but should not contain the \"Compiled from:\" line\n\texpect(_noProjectPath[\"README.md\"]).not.toContain(\"Compiled from:\");\n});\n\ntest(\"emitReadme includes project path\", async () => {\n\tconst project = await loadProjectInMemory({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t},\n\t\t}),\n\t});\n\n\tconst projectPath = \"./my-custom-project.inlang\";\n\n\tconst output = await compileProject({\n\t\tproject,\n\t\tprojectPath,\n\t});\n\n\texpect(output[\"README.md\"]).toContain(projectPath);\n\texpect(output[\"README.md\"]).toContain(\"Compiled from:\");\n\texpect(output[\"README.md\"]).toContain(\"Paraglide JS\");\n});\n\ntest(\"throws during compile for invalid routeStrategies match patterns\", async () => {\n\tconst project = await loadProjectInMemory({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t},\n\t\t}),\n\t});\n\n\tawait expect(\n\t\tcompileProject({\n\t\t\tproject,\n\t\t\tcompilerOptions: {\n\t\t\t\trouteStrategies: [{ match: \"/api/:path(.*\", exclude: true }],\n\t\t\t},\n\t\t})\n\t).rejects.toThrow(`Invalid routeStrategies[0].match \"/api/:path(.*\"`);\n});\n\n// https://github.com/opral/paraglide-js/issues/539\ntest(\"omits async_hooks import when disableAsyncLocalStorage is true\", async () => {\n\tconst project = await loadProjectInMemory({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t},\n\t\t}),\n\t});\n\n\tconst output = await compileProject({\n\t\tproject,\n\t\tcompilerOptions: { disableAsyncLocalStorage: true },\n\t});\n\n\texpect(output[\"server.js\"]).not.toContain(\n\t\t'const { AsyncLocalStorage } = await import(\"async_hooks\");'\n\t);\n});\n\n// https://github.com/opral/paraglide-js/issues/544\ntest(\"fallback map should not create cycles for language-only + regional baseLocale\", () => {\n\tconst fallbackMap = getFallbackMap([\"it\", \"it-IT\", \"fr\", \"fr-FR\"], \"it-IT\");\n\n\texpect(hasFallbackCycle(fallbackMap, \"it\")).toBe(false);\n\texpect(hasFallbackCycle(fallbackMap, \"it-IT\")).toBe(false);\n\texpect(fallbackMap[\"it\"]).toBe(\"it-IT\");\n\texpect(fallbackMap[\"it-IT\"]).toBeUndefined();\n});\n\ntest(\"emitTsDeclarations generates declaration files\", async () => {\n\tconst output = await compileProject({\n\t\tproject,\n\t\tcompilerOptions: {\n\t\t\temitTsDeclarations: true,\n\t\t\toutputStructure: \"locale-modules\",\n\t\t},\n\t});\n\n\texpect(output).toHaveProperty(\"messages/_index.d.ts\");\n\texpect(output).toHaveProperty(\"messages.d.ts\");\n\texpect(output).toHaveProperty(\"registry.d.ts\");\n\texpect(output[\"messages/_index.d.ts\"]).toContain(\"sad_penguin_bundle\");\n\texpect(output[\"messages/_index.d.ts\"]).toContain(\"relative_time_dynamic\");\n\texpect(output[\"registry.d.ts\"]).toContain(\"RelativeTimeFormatUnit\");\n\texpect(output[\"registry.d.ts\"]).toContain(\"relativetime\");\n\n\tconst tsProject = await typescriptProject({\n\t\tuseInMemoryFileSystem: true,\n\t\tcompilerOptions: {\n\t\t\tmodule: ts.ModuleKind.Node16,\n\t\t\tmoduleResolution: ts.ModuleResolutionKind.Node16,\n\t\t\tstrict: true,\n\t\t},\n\t});\n\n\tfor (const [fileName, code] of Object.entries(output)) {\n\t\tif (fileName.endsWith(\".d.ts\")) {\n\t\t\ttsProject.createSourceFile(fileName, code);\n\t\t}\n\t}\n\n\ttsProject.createSourceFile(\n\t\t\"test.ts\",\n\t\t`\n\t\t\timport { m, relative_time_dynamic } from \"./messages.js\";\n\t\t\timport { relativetime } from \"./registry.js\";\n\n\t\t\tm.sad_penguin_bundle() satisfies string;\n\t\t\trelative_time_dynamic({ duration: -3, unit: \"hour\" }) satisfies string;\n\t\t\trelativetime(\"en\", -3, { unit: \"hour\", style: \"short\" }) satisfies string;\n\t\t`\n\t);\n\n\tconst program = tsProject.createProgram();\n\tconst diagnostics = ts.getPreEmitDiagnostics(program);\n\tfor (const diagnostic of diagnostics) {\n\t\tconsole.error(diagnostic.messageText, diagnostic.file?.fileName);\n\t}\n\texpect(diagnostics.length).toEqual(0);\n});\n\ntest(\"emitTsDeclarations remains opt-in\", async () => {\n\tconst output = await compileProject({ project });\n\texpect(\n\t\tObject.keys(output).some((fileName) => fileName.endsWith(\".d.ts\"))\n\t).toBe(false);\n});\n\ntest(\"emitTsDeclarations quotes unsafe export aliases\", async () => {\n\tconst project = await loadProjectInMemory({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tlocales: [\"en\"],\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t},\n\t\t}),\n\t});\n\n\tawait insertBundleNested(\n\t\tproject.db,\n\t\tcreateBundleNested({\n\t\t\tid: \"greeting.hello\",\n\t\t\tmessages: [\n\t\t\t\t{\n\t\t\t\t\tlocale: \"en\",\n\t\t\t\t\tvariants: [{ pattern: [{ type: \"text\", value: \"Hello\" }] }],\n\t\t\t\t},\n\t\t\t],\n\t\t})\n\t);\n\n\tfor (const outputStructure of [\n\t\t\"message-modules\",\n\t\t\"locale-modules\",\n\t] as const) {\n\t\tconst output = await compileProject({\n\t\t\tproject,\n\t\t\tcompilerOptions: {\n\t\t\t\temitTsDeclarations: true,\n\t\t\t\toutputStructure,\n\t\t\t},\n\t\t});\n\t\tconst declarationFile =\n\t\t\toutputStructure === \"message-modules\"\n\t\t\t\t? \"messages/greeting_hello.d.ts\"\n\t\t\t\t: \"messages/_index.d.ts\";\n\n\t\texpect(output[declarationFile]).toContain(\n\t\t\t`export { greeting_hello as \"greeting.hello\" };`\n\t\t);\n\n\t\tconst tsProject = await typescriptProject({\n\t\t\tuseInMemoryFileSystem: true,\n\t\t\tcompilerOptions: {\n\t\t\t\tmodule: ts.ModuleKind.Node16,\n\t\t\t\tmoduleResolution: ts.ModuleResolutionKind.Node16,\n\t\t\t\tstrict: true,\n\t\t\t},\n\t\t});\n\n\t\tfor (const [fileName, code] of Object.entries(output)) {\n\t\t\tif (fileName.endsWith(\".d.ts\")) {\n\t\t\t\ttsProject.createSourceFile(fileName, code);\n\t\t\t}\n\t\t}\n\n\t\ttsProject.createSourceFile(\n\t\t\t\"test.ts\",\n\t\t\t`\n\t\t\t\timport { \"greeting.hello\" as greetingHello } from \"./messages.js\";\n\n\t\t\t\tgreetingHello() satisfies string;\n\t\t\t`\n\t\t);\n\n\t\tconst program = tsProject.createProgram();\n\t\tconst diagnostics = ts.getPreEmitDiagnostics(program);\n\t\tfor (const diagnostic of diagnostics) {\n\t\t\tconsole.error(diagnostic.messageText, diagnostic.file?.fileName);\n\t\t}\n\t\texpect(diagnostics.length).toEqual(0);\n\t}\n});\n\ntest(\"handles message bundles with a : in the id\", async () => {\n\tconst project = await loadProjectInMemory({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t},\n\t\t}),\n\t});\n\n\tawait insertBundleNested(\n\t\tproject.db,\n\t\tcreateBundleNested({\n\t\t\tid: \"hello:world\",\n\t\t\tmessages: [\n\t\t\t\t{\n\t\t\t\t\tlocale: \"en\",\n\t\t\t\t\tvariants: [{ pattern: [{ type: \"text\", value: \"Hello world!\" }] }],\n\t\t\t\t},\n\t\t\t],\n\t\t})\n\t);\n\n\tconst output = await compileProject({\n\t\tproject,\n\t});\n\n\tconst code = await bundleCode(\n\t\toutput,\n\t\t`export * as m from \"./paraglide/messages.js\"\n\t\t export * as runtime from \"./paraglide/runtime.js\"`\n\t);\n\n\tconst { m } = await importCode(code);\n\n\texpect(m[\"hello:world\"]()).toBe(\"Hello world!\");\n});\n\ntest(\"emits .parts() on bundle functions for markup messages\", async () => {\n\tconst project = await loadProjectInMemory({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t},\n\t\t}),\n\t});\n\n\tawait insertBundleNested(\n\t\tproject.db,\n\t\tcreateBundleNested({\n\t\t\tid: \"balance\",\n\t\t\tdeclarations: [\n\t\t\t\t{\n\t\t\t\t\ttype: \"input-variable\",\n\t\t\t\t\tname: \"amount\",\n\t\t\t\t},\n\t\t\t],\n\t\t\tmessages: [\n\t\t\t\t{\n\t\t\t\t\tlocale: \"en\",\n\t\t\t\t\tvariants: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: [\n\t\t\t\t\t\t\t\t{ type: \"text\", value: \"You have \" },\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttype: \"markup-start\",\n\t\t\t\t\t\t\t\t\tname: \"strong\",\n\t\t\t\t\t\t\t\t\toptions: [],\n\t\t\t\t\t\t\t\t\tattributes: [],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttype: \"expression\",\n\t\t\t\t\t\t\t\t\targ: { type: \"variable-reference\", name: \"amount\" },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{ type: \"text\", value: \" coins\" },\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttype: \"markup-end\",\n\t\t\t\t\t\t\t\t\tname: \"strong\",\n\t\t\t\t\t\t\t\t\toptions: [],\n\t\t\t\t\t\t\t\t\tattributes: [],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{ type: \"text\", value: \".\" },\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t],\n\t\t})\n\t);\n\n\tconst output = await compileProject({\n\t\tproject,\n\t});\n\n\tconst code = await bundleCode(\n\t\toutput,\n\t\t`export * as m from \"./paraglide/messages.js\"\n\t\t export * as runtime from \"./paraglide/runtime.js\"`\n\t);\n\tconst { m } = await importCode(code);\n\n\texpect(m.balance({ amount: 7 }, { locale: \"en\" })).toBe(\"You have 7 coins.\");\n\texpect(m.balance.parts({ amount: 7 }, { locale: \"en\" })).toEqual([\n\t\t{ type: \"text\", value: \"You have \" },\n\t\t{ type: \"markup-start\", name: \"strong\", options: {}, attributes: {} },\n\t\t{ type: \"text\", value: \"7\" },\n\t\t{ type: \"text\", value: \" coins\" },\n\t\t{ type: \"markup-end\", name: \"strong\", options: {}, attributes: {} },\n\t\t{ type: \"text\", value: \".\" },\n\t]);\n});\n\n// https://github.com/opral/inlang-paraglide-js/issues/347\ntest(\"can emit message bundles with more than 255 characters\", async () => {\n\tconst project = await loadProjectInMemory({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t},\n\t\t}),\n\t});\n\n\tawait insertBundleNested(\n\t\tproject.db,\n\t\tcreateBundleNested({\n\t\t\t// 300 characters long id\n\t\t\tid: \"a\".repeat(300),\n\t\t\tmessages: [\n\t\t\t\t{\n\t\t\t\t\tlocale: \"en\",\n\t\t\t\t\tvariants: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: [{ type: \"text\", value: \"Hello\" }],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t],\n\t\t})\n\t);\n\n\tconst output = await compileProject({\n\t\tproject,\n\t\tcompilerOptions: {\n\t\t\turlPatterns: [],\n\t\t},\n\t});\n\n\tconst code = await bundleCode(\n\t\toutput,\n\t\t`export * as m from \"./paraglide/messages.js\"\n\t\t export * as runtime from \"./paraglide/runtime.js\"`\n\t);\n\n\tconst { m } = await importCode(code);\n\n\texpect(m[\"a\".repeat(300)]()).toBe(\"Hello\");\n});\n\ndescribe.each([\n\t// useTsImports must be true to test emitTs. Otherwise, rolldown can't resolve the imports\n\t{\n\t\toutputStructure: \"locale-modules\",\n\t\tstrategy: [\"globalVariable\", \"baseLocale\"],\n\t},\n\t{\n\t\toutputStructure: \"message-modules\",\n\t\tstrategy: [\"globalVariable\", \"baseLocale\"],\n\t},\n] satisfies Array<Parameters<typeof compileProject>[\"0\"][\"compilerOptions\"]>)(\n\t\"options\",\n\tasync (compilerOptions) => {\n\t\tconst output = await compileProject({ project, compilerOptions });\n\n\t\tdescribe(\"tree-shaking\", () => {\n\t\t\ttest(\"should tree-shake unused messages\", async () => {\n\t\t\t\tconst code = await bundleCode(\n\t\t\t\t\toutput,\n\t\t\t\t\t`import * as m from \"./paraglide/messages.js\"\n\n\t\t\t\t\tconsole.log(m.sad_penguin_bundle())`\n\t\t\t\t);\n\t\t\t\tconst log = vi.spyOn(console, \"log\").mockImplementation(() => {});\n\t\t\t\t// all required code for the message to be rendered is included like sourceLanguageTag.\n\t\t\t\t// but, all other messages except of 'sad_penguin_bundle' are tree-shaken away.\n\t\t\t\tfor (const { id } of mockBundles) {\n\t\t\t\t\tif (id === \"sad_penguin_bundle\") {\n\t\t\t\t\t\texpect(code).toContain(id);\n\t\t\t\t\t} else {\n\t\t\t\t\t\texpect(code).not.toContain(id);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\teval(code);\n\t\t\t\texpect(log).toHaveBeenCalledWith(\"A simple message.\");\n\t\t\t});\n\n\t\t\t// https://github.com/opral/inlang-paraglide-js/issues/345\n\t\t\ttest(\"importing { m } works and tree-shakes unused messages\", async () => {\n\t\t\t\tconst code = await bundleCode(\n\t\t\t\t\toutput,\n\t\t\t\t\t`import { m } from \"./paraglide/messages.js\"\n\t\t\t\t\tconsole.log(m.sad_penguin_bundle())`\n\t\t\t\t);\n\t\t\t\tconst log = vi.spyOn(console, \"log\").mockImplementation(() => {});\n\n\t\t\t\t// all required code for the message to be rendered is included like sourceLanguageTag.\n\t\t\t\t// but, all other messages except of 'sad_penguin_bundle' are tree-shaken away.\n\t\t\t\tfor (const { id } of mockBundles) {\n\t\t\t\t\tif (id === \"sad_penguin_bundle\") {\n\t\t\t\t\t\texpect(code).toContain(id);\n\t\t\t\t\t} else {\n\t\t\t\t\t\texpect(code).not.toContain(id);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\teval(code);\n\t\t\t\texpect(log).toHaveBeenCalledWith(\"A simple message.\");\n\t\t\t});\n\n\t\t\ttest(\"should not treeshake messages that are used\", async () => {\n\t\t\t\tconst code = await bundleCode(\n\t\t\t\t\toutput,\n\t\t\t\t\t`import * as m from \"./paraglide/messages.js\"\n\t\t\n\t\t\tconsole.log(\n\t\t\t\tm.sad_penguin_bundle(),\n\t\t\t\tm.depressed_dog({ name: \"Samuel\" }),\n\t\t\t\tm.insane_cats({ name: \"Samuel\", count: 5 })\n\t\t\t)`\n\t\t\t\t);\n\t\t\t\tconst log = vi.spyOn(console, \"log\").mockImplementation(() => {});\n\t\t\t\tfor (const id of mockBundles.map((m) => m.id)) {\n\t\t\t\t\tif (\n\t\t\t\t\t\t[\"sad_penguin_bundle\", \"depressed_dog\", \"insane_cats\"].includes(id)\n\t\t\t\t\t) {\n\t\t\t\t\t\texpect(code).toContain(id);\n\t\t\t\t\t} else {\n\t\t\t\t\t\texpect(code).not.toContain(id);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\teval(code);\n\t\t\t\texpect(log).toHaveBeenCalledWith(\n\t\t\t\t\t\"A simple message.\",\n\t\t\t\t\t\"Good morning Samuel!\",\n\t\t\t\t\t\"Hello Samuel! You have 5 messages.\"\n\t\t\t\t);\n\t\t\t});\n\t\t});\n\n\t\t// https://github.com/opral/inlang-paraglide-js/issues/379\n\t\ttest(\"plurals work\", async () => {\n\t\t\tconst project = await loadProjectInMemory({\n\t\t\t\tblob: await newProject({\n\t\t\t\t\tsettings: { locales: [\"en\", \"de\"], baseLocale: \"en\" },\n\t\t\t\t}),\n\t\t\t});\n\n\t\t\tawait insertBundleNested(\n\t\t\t\tproject.db,\n\t\t\t\tcreateBundleNested({\n\t\t\t\t\tid: \"plural_test\",\n\t\t\t\t\tdeclarations: [\n\t\t\t\t\t\t{ type: \"input-variable\", name: \"count\" },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"local-variable\",\n\t\t\t\t\t\t\tname: \"countPlural\",\n\t\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\t\targ: { type: \"variable-reference\", name: \"count\" },\n\t\t\t\t\t\t\t\tannotation: {\n\t\t\t\t\t\t\t\t\ttype: \"function-reference\",\n\t\t\t\t\t\t\t\t\tname: \"plural\",\n\t\t\t\t\t\t\t\t\toptions: [],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\ttype: \"expression\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\tmessages: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlocale: \"en\",\n\t\t\t\t\t\t\tselectors: [{ type: \"variable-reference\", name: \"countPlural\" }],\n\t\t\t\t\t\t\tvariants: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tmatches: [\n\t\t\t\t\t\t\t\t\t\t{ type: \"literal-match\", value: \"one\", key: \"countPlural\" },\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\tpattern: [{ type: \"text\", value: \"There is one cat.\" }],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tmatches: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\ttype: \"literal-match\",\n\t\t\t\t\t\t\t\t\t\t\tvalue: \"other\",\n\t\t\t\t\t\t\t\t\t\t\tkey: \"countPlural\",\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\tpattern: [{ type: \"text\", value: \"There are many cats.\" }],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t})\n\t\t\t);\n\n\t\t\tconst { m } = await importCode(\n\t\t\t\tawait bundleCode(\n\t\t\t\t\tawait compileProject({\n\t\t\t\t\t\tproject,\n\t\t\t\t\t\tcompilerOptions,\n\t\t\t\t\t}),\n\t\t\t\t\t`export * as m from \"./paraglide/messages.js\"`\n\t\t\t\t)\n\t\t\t);\n\n\t\t\texpect(m.plural_test({ count: 1 })).toBe(\"There is one cat.\");\n\t\t\texpect(m.plural_test({ count: 2 })).toBe(\"There are many cats.\");\n\t\t});\n\n\t\tdescribe(\"e2e\", async () => {\n\t\t\t// The compiled output needs to be bundled into one file to be dynamically imported.\n\t\t\tconst code = await bundleCode(\n\t\t\t\toutput,\n\t\t\t\t`export * as m from \"./paraglide/messages.js\"\n\t\t export * as runtime from \"./paraglide/runtime.js\"`\n\t\t\t);\n\n\t\t\t// test is a direct result of a bug\n\t\t\ttest(\"locales should include locales with a hyphen\", async () => {\n\t\t\t\tconst { runtime } = await importCode(code);\n\n\t\t\t\texpect(runtime.locales).toContain(\"en-US\");\n\t\t\t});\n\n\t\t\ttest(\"should set the baseLocale as default getLocale value\", async () => {\n\t\t\t\tconst { runtime } = await importCode(code);\n\n\t\t\t\texpect(runtime.getLocale()).toBe(runtime.baseLocale);\n\t\t\t});\n\n\t\t\ttest(\"should return the correct message for the current locale\", async () => {\n\t\t\t\tconst { m, runtime } = await importCode(code);\n\n\t\t\t\tconsole.log(m);\n\n\t\t\t\truntime.setLocale(\"en\");\n\n\t\t\t\texpect(m.sad_penguin_bundle()).toBe(\"A simple message.\");\n\n\t\t\t\truntime.setLocale(\"de\");\n\n\t\t\t\texpect(m.sad_penguin_bundle()).toBe(\"Eine einfache Nachricht.\");\n\t\t\t});\n\n\t\t\ttest(\"overwriteGetLocale() works\", async () => {\n\t\t\t\tconst { m, runtime } = await importCode(code);\n\n\t\t\t\tlet locale = \"en\";\n\n\t\t\t\truntime.overwriteGetLocale(() => locale);\n\n\t\t\t\texpect(m.sad_penguin_bundle()).toBe(\"A simple message.\");\n\n\t\t\t\tlocale = \"de\";\n\n\t\t\t\texpect(m.sad_penguin_bundle()).toBe(\"Eine einfache Nachricht.\");\n\t\t\t});\n\n\t\t\ttest(\"overwriteSetLocale() works\", async () => {\n\t\t\t\tconst { runtime } = await importCode(code);\n\n\t\t\t\tlet locale = \"en\";\n\n\t\t\t\truntime.overwriteSetLocale((newLocale: any) => {\n\t\t\t\t\tlocale = newLocale;\n\t\t\t\t});\n\n\t\t\t\truntime.setLocale(\"de\");\n\n\t\t\t\texpect(locale).toBe(\"de\");\n\t\t\t});\n\n\t\t\ttest.skip(\"defining onSetLocale should be possible and should be called when the locale changes\", async () => {\n\t\t\t\tconst { runtime } = await importCode(code);\n\n\t\t\t\tconst mockOnSetLocale = vi.fn().mockImplementation(() => {});\n\t\t\t\truntime.onSetLocale((locale: any) => {\n\t\t\t\t\tmockOnSetLocale(locale);\n\t\t\t\t});\n\n\t\t\t\truntime.setLocale(\"de\");\n\t\t\t\texpect(mockOnSetLocale).toHaveBeenLastCalledWith(\"de\");\n\n\t\t\t\truntime.setLocale(\"en\");\n\t\t\t\texpect(mockOnSetLocale).toHaveBeenLastCalledWith(\"en\");\n\n\t\t\t\texpect(mockOnSetLocale).toHaveBeenCalledTimes(2);\n\t\t\t});\n\n\t\t\ttest.skip(\"Calling onSetLocale() multiple times should override the previous callback\", async () => {\n\t\t\t\tconst cb1 = vi.fn().mockImplementation(() => {});\n\t\t\t\tconst cb2 = vi.fn().mockImplementation(() => {});\n\n\t\t\t\tconst { runtime } = await importCode(code);\n\n\t\t\t\truntime.onSetLocale(cb1);\n\t\t\t\truntime.setLocale(\"en\");\n\n\t\t\t\texpect(cb1).toHaveBeenCalledTimes(1);\n\n\t\t\t\truntime.onSetLocale(cb2);\n\t\t\t\truntime.setLocale(\"de\");\n\n\t\t\t\texpect(cb2).toHaveBeenCalledTimes(1);\n\t\t\t\texpect(cb1).toHaveBeenCalledTimes(1);\n\t\t\t});\n\n\t\t\ttest(\"should return the correct message if a locale is set in the message options\", async () => {\n\t\t\t\tconst { m, runtime } = await importCode(code);\n\n\t\t\t\t// set the language tag to de to make sure that the message options override the runtime language tag\n\t\t\t\truntime.setLocale(\"de\");\n\t\t\t\texpect(m.sad_penguin_bundle()).toBe(\"Eine einfache Nachricht.\");\n\t\t\t\texpect(m.sad_penguin_bundle(undefined, { locale: \"en\" })).toBe(\n\t\t\t\t\t\"A simple message.\"\n\t\t\t\t);\n\t\t\t});\n\n\t\t\ttest(\"relativetime formatter works with literal units and locale overrides\", async () => {\n\t\t\t\tconst { m, runtime } = await importCode(code);\n\n\t\t\t\truntime.setLocale(\"de\");\n\t\t\t\texpect(m.relative_time_literal({ duration: -1 })).toBe(\n\t\t\t\t\t\"Updated gestern.\"\n\t\t\t\t);\n\t\t\t\texpect(\n\t\t\t\t\tm.relative_time_literal({ duration: -1 }, { locale: \"en\" })\n\t\t\t\t).toBe(\"Updated yesterday.\");\n\t\t\t});\n\n\t\t\ttest(\"relativetime formatter works with dynamic units\", async () => {\n\t\t\t\tconst { m, runtime } = await importCode(code);\n\n\t\t\t\truntime.setLocale(\"en\");\n\t\t\t\texpect(m.relative_time_dynamic({ duration: -3, unit: \"hour\" })).toBe(\n\t\t\t\t\t\"Updated 3 hr. ago.\"\n\t\t\t\t);\n\n\t\t\t\truntime.setLocale(\"de\");\n\t\t\t\texpect(m.relative_time_dynamic({ duration: 2, unit: \"weeks\" })).toBe(\n\t\t\t\t\t\"Updated in 2 Wochen.\"\n\t\t\t\t);\n\t\t\t});\n\n\t\t\ttest(\"runtime.isLocale should only return `true` if a locale is passed to it\", async () => {\n\t\t\t\tconst { runtime } = await importCode(code);\n\n\t\t\t\tfor (const tag of runtime.locales) {\n\t\t\t\t\texpect(runtime.isLocale(tag)).toBe(true);\n\t\t\t\t}\n\n\t\t\t\texpect(runtime.isLocale(\"\")).toBe(false);\n\t\t\t\texpect(runtime.isLocale(\"pl\")).toBe(false);\n\t\t\t\texpect(runtime.isLocale(\"--\")).toBe(false);\n\t\t\t});\n\n\t\t\ttest(\"falls back to base locale\", async () => {\n\t\t\t\tconst project = await loadProjectInMemory({\n\t\t\t\t\tblob: await newProject({\n\t\t\t\t\t\tsettings: { locales: [\"en\", \"de\", \"en-US\"], baseLocale: \"en\" },\n\t\t\t\t\t}),\n\t\t\t\t});\n\n\t\t\t\tawait insertBundleNested(\n\t\t\t\t\tproject.db,\n\t\t\t\t\tcreateBundleNested({\n\t\t\t\t\t\tid: \"missingInGerman\",\n\t\t\t\t\t\tmessages: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlocale: \"en\",\n\t\t\t\t\t\t\t\tvariants: [\n\t\t\t\t\t\t\t\t\t{ pattern: [{ type: \"text\", value: \"A simple message.\" }] },\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t})\n\t\t\t\t);\n\n\t\t\t\tconst output = await compileProject({\n\t\t\t\t\tproject,\n\t\t\t\t\tcompilerOptions,\n\t\t\t\t});\n\t\t\t\tconst code = await bundleCode(\n\t\t\t\t\toutput,\n\t\t\t\t\t`export * as m from \"./paraglide/messages.js\"\n\t\t\t\t\texport * as runtime from \"./paraglide/runtime.js\"`\n\t\t\t\t);\n\t\t\t\tconst { m, runtime } = await importCode(code);\n\n\t\t\t\truntime.setLocale(\"de\");\n\t\t\t\texpect(m.missingInGerman()).toBe(\"A simple message.\");\n\n\t\t\t\truntime.setLocale(\"en-US\");\n\t\t\t\texpect(m.missingInGerman()).toBe(\"A simple message.\");\n\t\t\t});\n\n\t\t\ttest(\"arbitrary module identifiers work\", async () => {\n\t\t\t\tconst project = await loadProjectInMemory({\n\t\t\t\t\tblob: await newProject({\n\t\t\t\t\t\tsettings: { locales: [\"en\", \"de\"], baseLocale: \"en\" },\n\t\t\t\t\t}),\n\t\t\t\t});\n\n\t\t\t\tawait insertBundleNested(\n\t\t\t\t\tproject.db,\n\t\t\t\t\tcreateBundleNested({\n\t\t\t\t\t\tid: \"$502.23-hello_world\",\n\t\t\t\t\t\tmessages: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlocale: \"en\",\n\t\t\t\t\t\t\t\tvariants: [\n\t\t\t\t\t\t\t\t\t{ pattern: [{ type: \"text\", value: \"A simple message.\" }] },\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t})\n\t\t\t\t);\n\n\t\t\t\tconst output = await compileProject({\n\t\t\t\t\tproject,\n\t\t\t\t\tcompilerOptions,\n\t\t\t\t});\n\n\t\t\t\tconst code = await bundleCode(\n\t\t\t\t\toutput,\n\t\t\t\t\t`export * as m from \"./paraglide/messages.js\"\n\t\t\t\t\texport * as runtime from \"./paraglide/runtime.js\"`\n\t\t\t\t);\n\t\t\t\tconst { m } = await importCode(code);\n\n\t\t\t\texpect(m[\"$502.23-hello_world\"]()).toBe(\"A simple message.\");\n\t\t\t});\n\n\t\t\ttest(\"falls back to parent locale if message doesn't exist\", async () => {\n\t\t\t\tconst project = await loadProjectInMemory({\n\t\t\t\t\tblob: await newProject({\n\t\t\t\t\t\tsettings: { locales: [\"en\", \"en-US\"], baseLocale: \"en\" },\n\t\t\t\t\t}),\n\t\t\t\t});\n\n\t\t\t\tawait insertBundleNested(\n\t\t\t\t\tproject.db,\n\t\t\t\t\tcreateBundleNested({\n\t\t\t\t\t\tid: \"exists_in_both\",\n\t\t\t\t\t\tmessages: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlocale: \"en\",\n\t\t\t\t\t\t\t\tvariants: [\n\t\t\t\t\t\t\t\t\t{ pattern: [{ type: \"text\", value: \"A simple message.\" }] },\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlocale: \"en-US\",\n\t\t\t\t\t\t\t\tvariants: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tpattern: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: \"A simple message for Americans.\",\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t})\n\t\t\t\t);\n\n\t\t\t\tawait insertBundleNested(\n\t\t\t\t\tproject.db,\n\t\t\t\t\tcreateBundleNested({\n\t\t\t\t\t\tid: \"missing_in_en_US\",\n\t\t\t\t\t\tmessages: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlocale: \"en\",\n\t\t\t\t\t\t\t\tvariants: [\n\t\t\t\t\t\t\t\t\t{ pattern: [{ type: \"text\", value: \"Fallback message.\" }] },\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t})\n\t\t\t\t);\n\n\t\t\t\tconst output = await compileProject({\n\t\t\t\t\tproject,\n\t\t\t\t\tcompilerOptions,\n\t\t\t\t});\n\n\t\t\t\tconst code = await bundleCode(\n\t\t\t\t\toutput,\n\t\t\t\t\t`export * as m from \"./paraglide/messages.js\"\n\t\t\t\t\texport * as runtime from \"./paraglide/runtime.js\"`\n\t\t\t\t);\n\t\t\t\tconst { m, runtime } = await importCode(code);\n\n\t\t\t\truntime.setLocale(\"en-US\");\n\t\t\t\texpect(m.exists_in_both()).toBe(\"A simple message for Americans.\");\n\n\t\t\t\truntime.setLocale(\"en-US\");\n\t\t\t\texpect(m.missing_in_en_US()).toBe(\"Fallback message.\");\n\t\t\t});\n\n\t\t\ttest(\"arbitrary module identifiers\", async () => {\n\t\t\t\tconst project = await loadProjectInMemory({\n\t\t\t\t\tblob: await newProject({\n\t\t\t\t\t\tsettings: { locales: [\"en\"], baseLocale: \"en\" },\n\t\t\t\t\t}),\n\t\t\t\t});\n\n\t\t\t\tawait insertBundleNested(\n\t\t\t\t\tproject.db,\n\t\t\t\t\tcreateBundleNested({\n\t\t\t\t\t\tid: \"happy🍌\",\n\t\t\t\t\t\tmessages: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlocale: \"en\",\n\t\t\t\t\t\t\t\tvariants: [{ pattern: [{ type: \"text\", value: \"Hello\" }] }],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t})\n\t\t\t\t);\n\n\t\t\t\tconst output = await compileProject({\n\t\t\t\t\tproject,\n\t\t\t\t\tcompilerOptions,\n\t\t\t\t});\n\n\t\t\t\tconst code = await bundleCode(\n\t\t\t\t\toutput,\n\t\t\t\t\t`export * as m from \"./paraglide/messages.js\"\n\t\t\t\t\texport * as runtime from \"./paraglide/runtime.js\"`\n\t\t\t\t);\n\t\t\t\tconst { m } = await importCode(code);\n\n\t\t\t\texpect(m[\"happy🍌\"]()).toBe(\"Hello\");\n\t\t\t});\n\t\t});\n\n\t\ttest(\"relativetime dynamic unit casts generated options without narrowing public inputs\", () => {\n\t\t\tconst relativeTimeDynamicFile =\n\t\t\t\tcompilerOptions.outputStructure === \"locale-modules\"\n\t\t\t\t\t? \"messages/en.js\"\n\t\t\t\t\t: \"messages/relative_time_dynamic.js\";\n\n\t\t\texpect(output).toHaveProperty(relativeTimeDynamicFile);\n\t\t\tconst relativeTimeDynamicModule = output[relativeTimeDynamicFile]!;\n\t\t\texpect(relativeTimeDynamicModule).toContain(\n\t\t\t\t'unit: /** @type {import(\"../registry.js\").RelativeTimeFormatUnit} */ (i?.unit)'\n\t\t\t);\n\t\t\texpect(relativeTimeDynamicModule).toContain(\n\t\t\t\t\"{ duration: NonNullable<unknown>, unit: NonNullable<unknown> }\"\n\t\t\t);\n\t\t});\n\n\t\ttest(\"case sensitivity handling for bundle IDs\", async () => {\n\t\t\tconst project = await loadProjectInMemory({\n\t\t\t\tblob: await newProject({\n\t\t\t\t\tsettings: { locales: [\"en\"], baseLocale: \"en\" },\n\t\t\t\t}),\n\t\t\t});\n\n\t\t\t// Create two bundles with the same name but different case\n\t\t\tawait insertBundleNested(\n\t\t\t\tproject.db,\n\t\t\t\tcreateBundleNested({\n\t\t\t\t\tid: \"Helloworld\",\n\t\t\t\t\tmessages: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlocale: \"en\",\n\t\t\t\t\t\t\tvariants: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tpattern: [\n\t\t\t\t\t\t\t\t\t\t{ type: \"text\", value: \"Hello from uppercase bundle\" },\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t})\n\t\t\t);\n\n\t\t\tawait insertBundleNested(\n\t\t\t\tproject.db,\n\t\t\t\tcreateBundleNested({\n\t\t\t\t\tid: \"helloworld\",\n\t\t\t\t\tmessages: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlocale: \"en\",\n\t\t\t\t\t\t\tvariants: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tpattern: [\n\t\t\t\t\t\t\t\t\t\t{ type: \"text\", value: \"Hello from lowercase bundle\" },\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t})\n\t\t\t);\n\n\t\t\tconst output = await compileProject({\n\t\t\t\tproject,\n\t\t\t\tcompilerOptions,\n\t\t\t});\n\n\t\t\tconst code = await bundleCode(\n\t\t\t\toutput,\n\t\t\t\t`export * as m from \"./paraglide/messages.js\"\n\t\t\t\texport { helloworld, Helloworld } from \"./paraglide/messages.js\"`\n\t\t\t);\n\n\t\t\tconst imported = await importCode(code);\n\n\t\t\t// Both message functions should be available\n\t\t\texpect(imported.helloworld()).toBe(\"Hello from lowercase bundle\");\n\t\t\texpect(imported.Helloworld()).toBe(\"Hello from uppercase bundle\");\n\n\t\t\t// They should also be available through the m namespace\n\t\t\texpect(imported.m.helloworld()).toBe(\"Hello from lowercase bundle\");\n\t\t\texpect(imported.m.Helloworld()).toBe(\"Hello from uppercase bundle\");\n\t\t});\n\n\t\t// whatever the strictest users use, this is the ultimate nothing gets stricter than this\n\t\t// (to avoid developers opening issues \"i get a ts warning in my code\")\n\t\tconst superStrictRuleOutAnyErrorTsSettings: ProjectOptions[\"compilerOptions\"] =\n\t\t\t{\n\t\t\t\toutDir: \"dist\",\n\t\t\t\tdeclaration: true,\n\t\t\t\tallowJs: true,\n\t\t\t\tcheckJs: true,\n\t\t\t\tnoImplicitAny: true,\n\t\t\t\tnoUnusedLocals: true,\n\t\t\t\tnoUnusedParameters: true,\n\t\t\t\tnoImplicitReturns: true,\n\t\t\t\tnoImplicitThis: true,\n\t\t\t\tnoUncheckedIndexedAccess: true,\n\t\t\t\tnoPropertyAccessFromIndexSignature: true,\n\t\t\t\tmodule: ts.ModuleKind.Node16,\n\t\t\t\tstrict: true,\n\t\t\t};\n\n\t\ttest(\"./messages.js types\", async () => {\n\t\t\tconst project = await typescriptProject({\n\t\t\t\tuseInMemoryFileSystem: true,\n\t\t\t\tcompilerOptions: superStrictRuleOutAnyErrorTsSettings,\n\t\t\t});\n\n\t\t\tfor (const [fileName, code] of Object.entries(output)) {\n\t\t\t\tif (fileName.endsWith(\".js\") || fileName.endsWith(\".ts\")) {\n\t\t\t\t\tproject.createSourceFile(fileName, code);\n\t\t\t\t}\n\t\t\t}\n\t\t\tproject.createSourceFile(\n\t\t\t\t\"test.ts\",\n\t\t\t\t`\n import * as m from \"./messages.js\"\n\n // --------- MESSAGES ---------\n\n // the return value of a message should be a string\n m.insane_cats({ name: \"John\", count: 5 }) satisfies string\n \n // @ts-expect-error - missing all params\n m.insane_cats()\n \n // @ts-expect-error - one param missing\n m.insane_cats({ name: \"John\" })\n\n // a message without params shouldn't require params\n m.sad_penguin_bundle() satisfies string\n\n // dynamic relativetime unit inputs stay consistent with other formatter inputs\n m.relative_time_literal({ duration: -1 }) satisfies string\n m.relative_time_dynamic({ duration: -3, unit: \"hour\" }) satisfies string\n m.relative_time_dynamic({ duration: -3, unit: \"not-a-relative-time-unit\" }) satisfies string\n\n\t\t// --------- MATCH TYPE INFERENCE ---------\n\t\t// known match values should be accepted\n\t\tm.auth_password_error({ type: \"invalid\" }) satisfies string\n\t\tm.auth_password_error({ type: \"empty\" }) satisfies string\n\t\tm.auth_password_error({ type: \"min_length\" }) satisfies string\n\t\tm.auth_password_error({ type: \"secure\" }) satisfies string\n\n\t\t// @ts-expect-error - unknown match value\n\t\tm.auth_password_error({ type: \"typo\" })\n\n\t\t// quoted keys should still get literal unions\n\t\tm.error_with_dash({ \"error-type\": \"network\" }) satisfies string\n\t\tm.error_with_dash({ \"error-type\": \"timeout\" }) satisfies string\n\n\t\t// @ts-expect-error - unknown match value for quoted key\n\t\tm.error_with_dash({ \"error-type\": \"offline\" })\n\n\t\t// catchall should widen match value typing\n\t\tm.auth_password_error_catchall({ type: \"invalid\" }) satisfies string\n\t\tm.auth_password_error_catchall({ type: \"typo\" }) satisfies string\n\n\t\t// multiple match keys should each get literal unions\n\t\tm.multi_key_status_type({ type: \"invalid\", status: \"ready\" }) satisfies string\n\t\tm.multi_key_status_type({ type: \"empty\", status: \"done\" }) satisfies string\n\t\tm.multi_key_status_type({ type: \"secure\", status: \"failed\" }) satisfies string\n\n\t\t// @ts-expect-error - invalid type literal\n\t\tm.multi_key_status_type({ type: \"typo\", status: \"ready\" })\n\n\t\t// @ts-expect-error - invalid status literal\n\t\tm.multi_key_status_type({ type: \"invalid\", status: \"pending\" })\n\n\t\t// numeric matches should accept both number and string forms\n\t\tm.numeric_input_match({ input: 1 }) satisfies string\n\t\tm.numeric_input_match({ input: 2 }) satisfies string\n\t\tm.numeric_input_match({ input: \"1\" }) satisfies string\n\t\tm.numeric_input_match({ input: \"2\" }) satisfies string\n\n\t\t// @ts-expect-error - invalid numeric literal\n\t\tm.numeric_input_match({ input: 3 })\n\n\t\t// @ts-expect-error - invalid string literal\n\t\tm.numeric_input_match({ input: \"3\" })\n\n\t\t// @ts-expect-error - no loose boolean coercion\n\t\tm.numeric_input_match({ input: true })\n\n\t\t// empty matches should widen to NonNullable<unknown>\n\t\tm.empty_matches_catchall({ type: \"invalid\" }) satisfies string\n\t\tm.empty_matches_catchall({ type: \"typo\" }) satisfies string\n\n\t\t// --------- MESSAGE OPTIONS ---------\n\t\t// the locale option should be optional\n\t\tm.sad_penguin_bundle({}, {}) satisfies string\n\n\t\t// the locale option should be allowed\n\t\tm.sad_penguin_bundle({}, { locale: \"en\" }) satisfies string\n\n\t\t// the locale option must be a valid language tag\n\t\t// @ts-expect-error - invalid language tag\n\t\tm.sad_penguin_bundle({}, { locale: \"---\" })\n `\n\t\t\t);\n\n\t\t\tconst program = project.createProgram();\n\t\t\tconst diagnostics = ts.getPreEmitDiagnostics(program).filter((d) => {\n\t\t\t\t// async_hooks is a node module that is not available in the browser\n\t\t\t\treturn !d.messageText\n\t\t\t\t\t.toString()\n\t\t\t\t\t.includes(\"Cannot find module 'async_hooks'\");\n\t\t\t});\n\t\t\tfor (const diagnostic of diagnostics) {\n\t\t\t\tconsole.error(diagnostic.messageText, diagnostic.file?.fileName);\n\t\t\t}\n\t\t\texpect(diagnostics.length).toEqual(0);\n\t\t});\n\n\t\ttest(\"./messages.js types (single locale should not emit TS6133)\", async () => {\n\t\t\tconst singleLocaleProject = await loadProjectInMemory({\n\t\t\t\tblob: await newProject({\n\t\t\t\t\tsettings: { locales: [\"en\"], baseLocale: \"en\" },\n\t\t\t\t}),\n\t\t\t});\n\n\t\t\tawait insertBundleNested(\n\t\t\t\tsingleLocaleProject.db,\n\t\t\t\tcreateBundleNested({\n\t\t\t\t\tid: \"single_locale_message\",\n\t\t\t\t\tmessages: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlocale: \"en\",\n\t\t\t\t\t\t\tvariants: [{ pattern: [{ type: \"text\", value: \"Hello\" }] }],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t})\n\t\t\t);\n\n\t\t\tconst singleLocaleOutput = await compileProject({\n\t\t\t\tproject: singleLocaleProject,\n\t\t\t\tcompilerOptions,\n\t\t\t});\n\n\t\t\tconst project = await typescriptProject({\n\t\t\t\tuseInMemoryFileSystem: true,\n\t\t\t\tcompilerOptions: superStrictRuleOutAnyErrorTsSettings,\n\t\t\t});\n\n\t\t\tfor (const [fileName, code] of Object.entries(singleLocaleOutput)) {\n\t\t\t\tif (fileName.endsWith(\".js\") || fileName.endsWith(\".ts\")) {\n\t\t\t\t\tproject.createSourceFile(fileName, code);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tproject.createSourceFile(\n\t\t\t\t\"test.ts\",\n\t\t\t\t`import { single_locale_message } from \"./messages.js\"; single_locale_message();`\n\t\t\t);\n\n\t\t\tconst program = project.createProgram();\n\t\t\tconst diagnostics = ts.getPreEmitDiagnostics(program).filter((d) => {\n\t\t\t\treturn !d.messageText\n\t\t\t\t\t.toString()\n\t\t\t\t\t.includes(\"Cannot find module 'async_hooks'\");\n\t\t\t});\n\n\t\t\tconst ts6133LocaleDiagnostics = diagnostics.filter((d) => {\n\t\t\t\treturn (\n\t\t\t\t\td.code === 6133 &&\n\t\t\t\t\td.messageText\n\t\t\t\t\t\t.toString()\n\t\t\t\t\t\t.includes(\"'locale' is declared but its value is never read\")\n\t\t\t\t);\n\t\t\t});\n\n\t\t\texpect(ts6133LocaleDiagnostics.length).toEqual(0);\n\t\t});\n\n\t\ttest(\"#625: number formatter digit options should pass checkJs\", async () => {\n\t\t\tconst projectWithNumberOptions = await loadProjectInMemory({\n\t\t\t\tblob: await newProject({\n\t\t\t\t\tsettings: {\n\t\t\t\t\t\tbaseLocale: \"en\",\n\t\t\t\t\t\tlocales: [\"en\"],\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t});\n\n\t\t\tawait insertBundleNested(\n\t\t\t\tprojectWithNumberOptions.db,\n\t\t\t\tcreateBundleNested({\n\t\t\t\t\tid: \"formatted_percentage\",\n\t\t\t\t\tdeclarations: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"input-variable\",\n\t\t\t\t\t\t\tname: \"value\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"local-variable\",\n\t\t\t\t\t\t\tname: \"formattedValue\",\n\t\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\t\ttype: \"expression\",\n\t\t\t\t\t\t\t\targ: { type: \"variable-reference\", name: \"value\" },\n\t\t\t\t\t\t\t\tannotation: {\n\t\t\t\t\t\t\t\t\ttype: \"function-reference\",\n\t\t\t\t\t\t\t\t\tname: \"number\",\n\t\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tname: \"minimumFractionDigits\",\n\t\t\t\t\t\t\t\t\t\t\tvalue: { type: \"literal\", value: \"1\" },\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tname: \"maximumFractionDigits\",\n\t\t\t\t\t\t\t\t\t\t\tvalue: { type: \"literal\", value: \"1\" },\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\tmessages: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlocale: \"en\",\n\t\t\t\t\t\t\tvariants: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tpattern: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\ttype: \"expression\",\n\t\t\t\t\t\t\t\t\t\t\targ: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"variable-reference\",\n\t\t\t\t\t\t\t\t\t\t\t\tname: \"formattedValue\",\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{ type: \"text\", value: \"%\" },\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t})\n\t\t\t);\n\n\t\t\tconst output = await compileProject({\n\t\t\t\tproject: projectWithNumberOptions,\n\t\t\t\tcompilerOptions,\n\t\t\t});\n\n\t\t\tconst tsProject = await typescriptProject({\n\t\t\t\tuseInMemoryFileSystem: true,\n\t\t\t\tcompilerOptions: superStrictRuleOutAnyErrorTsSettings,\n\t\t\t});\n\n\t\t\tfor (const [fileName, code] of Object.entries(output)) {\n\t\t\t\tif (fileName.endsWith(\".js\") || fileName.endsWith(\".ts\")) {\n\t\t\t\t\ttsProject.createSourceFile(fileName, code);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst program = tsProject.createProgram();\n\t\t\tconst diagnostics = ts.getPreEmitDiagnostics(program).filter((d) => {\n\t\t\t\treturn !d.messageText\n\t\t\t\t\t.toString()\n\t\t\t\t\t.includes(\"Cannot find module 'async_hooks'\");\n\t\t\t});\n\n\t\t\tfor (const diagnostic of diagnostics) {\n\t\t\t\tconsole.error(diagnostic.messageText, diagnostic.file?.fileName);\n\t\t\t}\n\t\t\texpect(diagnostics.length).toEqual(0);\n\t\t});\n\n\t\ttest(\"#694: pattern-level annotations compile to registry calls and pass checkJs\", async () => {\n\t\t\tconst projectWithPatternAnnotation = await loadProjectInMemory({\n\t\t\t\tblob: await newProject({\n\t\t\t\t\tsettings: {\n\t\t\t\t\t\tbaseLocale: \"en\",\n\t\t\t\t\t\tlocales: [\"en\"],\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t});\n\n\t\t\tawait insertBundleNested(\n\t\t\t\tprojectWithPatternAnnotation.db,\n\t\t\t\tcreateBundleNested({\n\t\t\t\t\tid: \"views\",\n\t\t\t\t\tdeclarations: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"input-variable\",\n\t\t\t\t\t\t\tname: \"count\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\tmessages: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlocale: \"en\",\n\t\t\t\t\t\t\tvariants: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tpattern: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\ttype: \"expression\",\n\t\t\t\t\t\t\t\t\t\t\targ: { type: \"variable-reference\", name: \"count\" },\n\t\t\t\t\t\t\t\t\t\t\tannotation: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"function-reference\",\n\t\t\t\t\t\t\t\t\t\t\t\tname: \"number\",\n\t\t\t\t\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: \"maximumFractionDigits\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: { type: \"literal\", value: \"1\" },\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{ type: \"text\", value: \" views\" },\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t})\n\t\t\t);\n\n\t\t\tconst output = await compileProject({\n\t\t\t\tproject: projectWithPatternAnnotation,\n\t\t\t\tcompilerOptions,\n\t\t\t});\n\n\t\t\texpect(Object.values(output).join(\"\\n\")).toContain(\n\t\t\t\t'registry.number(\"en\", i?.count, { maximumFractionDigits: 1 })'\n\t\t\t);\n\n\t\t\tconst tsProject = await typescriptProject({\n\t\t\t\tuseInMemoryFileSystem: true,\n\t\t\t\tcompilerOptions: superStrictRuleOutAnyErrorTsSettings,\n\t\t\t});\n\n\t\t\tfor (const [fileName, code] of Object.entries(output)) {\n\t\t\t\tif (fileName.endsWith(\".js\") || fileName.endsWith(\".ts\")) {\n\t\t\t\t\ttsProject.createSourceFile(fileName, code);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst program = tsProject.createProgram();\n\t\t\tconst diagnostics = ts.getPreEmitDiagnostics(program).filter((d) => {\n\t\t\t\treturn !d.messageText\n\t\t\t\t\t.toString()\n\t\t\t\t\t.includes(\"Cannot find module 'async_hooks'\");\n\t\t\t});\n\n\t\t\tfor (const diagnostic of diagnostics) {\n\t\t\t\tconsole.error(diagnostic.messageText, diagnostic.file?.fileName);\n\t\t\t}\n\t\t\texpect(diagnostics.length).toEqual(0);\n\t\t});\n\n\t\ttest(\"relativetime formatter options should pass checkJs\", async () => {\n\t\t\tconst projectWithRelativeTimeOptions = await loadProjectInMemory({\n\t\t\t\tblob: await newProject({\n\t\t\t\t\tsettings: {\n\t\t\t\t\t\tbaseLocale: \"en\",\n\t\t\t\t\t\tlocales: [\"en\"],\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t});\n\n\t\t\tawait insertBundleNested(\n\t\t\t\tprojectWithRelativeTimeOptions.db,\n\t\t\t\tcreateBundleNested({\n\t\t\t\t\tid: \"formatted_relative_time\",\n\t\t\t\t\tdeclarations: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"input-variable\",\n\t\t\t\t\t\t\tname: \"duration\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"input-variable\",\n\t\t\t\t\t\t\tname: \"unit\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"local-variable\",\n\t\t\t\t\t\t\tname: \"formattedDuration\",\n\t\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\t\ttype: \"expression\",\n\t\t\t\t\t\t\t\targ: { type: \"variable-reference\", name: \"duration\" },\n\t\t\t\t\t\t\t\tannotation: {\n\t\t\t\t\t\t\t\t\ttype: \"function-reference\",\n\t\t\t\t\t\t\t\t\tname: \"relativetime\",\n\t\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tname: \"unit\",\n\t\t\t\t\t\t\t\t\t\t\tvalue: { type: \"variable-reference\", name: \"unit\" },\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tname: \"style\",\n\t\t\t\t\t\t\t\t\t\t\tvalue: { type: \"literal\", value: \"short\" },\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\tmessages: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlocale: \"en\",\n\t\t\t\t\t\t\tvariants: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tpattern: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\ttype: \"expression\",\n\t\t\t\t\t\t\t\t\t\t\targ: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"variable-reference\",\n\t\t\t\t\t\t\t\t\t\t\t\tname: \"formattedDuration\",\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t})\n\t\t\t);\n\n\t\t\tconst output = await compileProject({\n\t\t\t\tproject: projectWithRelativeTimeOptions,\n\t\t\t\tcompilerOptions,\n\t\t\t});\n\n\t\t\tconst tsProject = await typescriptProject({\n\t\t\t\tuseInMemoryFileSystem: true,\n\t\t\t\tcompilerOptions: superStrictRuleOutAnyErrorTsSettings,\n\t\t\t});\n\n\t\t\tfor (const [fileName, code] of Object.entries(output)) {\n\t\t\t\tif (fileName.endsWith(\".js\") || fileName.endsWith(\".ts\")) {\n\t\t\t\t\ttsProject.createSourceFile(fileName, code);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst program = tsProject.createProgram();\n\t\t\tconst diagnostics = ts.getPreEmitDiagnostics(program).filter((d) => {\n\t\t\t\treturn !d.messageText\n\t\t\t\t\t.toString()\n\t\t\t\t\t.includes(\"Cannot find module 'async_hooks'\");\n\t\t\t});\n\n\t\t\tfor (const diagnostic of diagnostics) {\n\t\t\t\tconsole.error(diagnostic.messageText, diagnostic.file?.fileName);\n\t\t\t}\n\t\t\texpect(diagnostics.length).toEqual(0);\n\t\t});\n\t}\n);\n\nasync function bundleCode(output: Record<string, string>, file: string) {\n\toutput[\"runtime.js\"] = output[\"runtime.js\"]!.replace(\n\t\t'import \"@inlang/paraglide-js/urlpattern-polyfill\";',\n\t\t\"/** @type {any} */const URLPattern = {};\"\n\t).replace(\n\t\t'const { AsyncLocalStorage } = await import(\"async_hooks\");',\n\t\t\"const AsyncLocalStorage = class {};\"\n\t);\n\n\tconst bundle = await rolldown({\n\t\tinput: [\"main.js\"],\n\t\tplugins: [\n\t\t\t// @ts-expect-error - rollup types are not up to date\n\t\t\tvirtual({\n\t\t\t\t...Object.fromEntries(\n\t\t\t\t\tObject.entries(output).map(([fileName, code]) => [\n\t\t\t\t\t\t\"paraglide/\" + fileName,\n\t\t\t\t\t\tcode,\n\t\t\t\t\t])\n\t\t\t\t),\n\t\t\t\t\"main.js\": file,\n\t\t\t}),\n\t\t],\n\t});\n\tconst compiled = await bundle.generate({ format: \"esm\" });\n\tconst code = compiled.output[0].code;\n\treturn code;\n}\n\nasync function importCode(code: string) {\n\t// The random comment ensures that each code is a unique module\n\t// and state is not shared between imports\n\tconst randomComment = `// ${Math.random()}`;\n\tconst codeWithComment = `${randomComment}\\n${code}`;\n\treturn await import(\n\t\t`data:application/javascript;base64,${Buffer.from(codeWithComment, \"utf8\").toString(\"base64\")}`\n\t);\n}\n\nconst project = await loadProjectInMemory({\n\tblob: await newProject({\n\t\tsettings: {\n\t\t\tbaseLocale: \"en\",\n\t\t\tlocales: [\"en\", \"de\", \"en-US\"],\n\t\t},\n\t}),\n});\n\nconst mockBundles: BundleNested[] = [\n\tcreateBundleNested({\n\t\tid: \"sad_penguin_bundle\",\n\t\tmessages: [\n\t\t\t{\n\t\t\t\tlocale: \"en\",\n\t\t\t\tvariants: [{ pattern: [{ type: \"text\", value: \"A simple message.\" }] }],\n\t\t\t},\n\t\t\t{\n\t\t\t\tlocale: \"de\",\n\t\t\t\tvariants: [\n\t\t\t\t\t{ pattern: [{ type: \"text\", value: \"Eine einfache Nachricht.\" }] },\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t}),\n\tcreateBundleNested({\n\t\tid: \"Sad_penguin_bundle\",\n\t\tmessages: [\n\t\t\t{\n\t\t\t\tlocale: \"en\",\n\t\t\t\tvariants: [\n\t\t\t\t\t{ pattern: [{ type: \"text\", value: \"Capital Sad penguin\" }] },\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tlocale: \"de\",\n\t\t\t\tvariants: [\n\t\t\t\t\t{\n\t\t\t\t\t\tpattern: [\n\t\t\t\t\t\t\t{ type: \"text\", value: \"Grossgeschriebenes Sad penguin\" },\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t}),\n\t{\n\t\tid: \"depressed_dog\",\n\t\tdeclarations: [\n\t\t\t{\n\t\t\t\ttype: \"input-variable\",\n\t\t\t\tname: \"name\",\n\t\t\t},\n\t\t],\n\t\tmessages: [\n\t\t\t{\n\t\t\t\tid: \"depressed_dog_en\",\n\t\t\t\tbundleId: \"depressed_dog\",\n\t\t\t\tlocale: \"en\",\n\t\t\t\tselectors: [],\n\t\t\t\tvariants: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"depressed_dog_en_variant_one\",\n\t\t\t\t\t\tmessageId: \"depressed_dog_en\",\n\t\t\t\t\t\tmatches: [],\n\t\t\t\t\t\tpattern: [\n\t\t\t\t\t\t\t{ type: \"text\", value: \"Good morning \" },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: \"expression\",\n\t\t\t\t\t\t\t\targ: { type: \"variable-reference\", name: \"name\" },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{ type: \"text\", value: \"!\" },\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"depressed_dog_de\",\n\t\t\t\tbundleId: \"depressed_dog\",\n\t\t\t\tlocale: \"de\",\n\t\t\t\tselectors: [],\n\n\t\t\t\tvariants: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"depressed_dog_de_variant_one\",\n\t\t\t\t\t\tmessageId: \"depressed_dog_de\",\n\t\t\t\t\t\tmatches: [],\n\t\t\t\t\t\tpattern: [\n\t\t\t\t\t\t\t{ type: \"text\", value: \"Guten Morgen \" },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: \"expression\",\n\t\t\t\t\t\t\t\targ: { type: \"variable-reference\", name: \"name\" },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{ type: \"text\", value: \"!\" },\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tid: \"insane_cats\",\n\t\tdeclarations: [\n\t\t\t{\n\t\t\t\ttype: \"input-variable\",\n\t\t\t\tname: \"name\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: \"input-variable\",\n\t\t\t\tname: \"count\",\n\t\t\t},\n\t\t],\n\t\tmessages: [\n\t\t\t{\n\t\t\t\tid: \"insane_cats_en\",\n\t\t\t\tbundleId: \"insane_cats\",\n\t\t\t\tlocale: \"en\",\n\n\t\t\t\tselectors: [],\n\t\t\t\tvariants: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"insane_cats_en_variant_one\",\n\t\t\t\t\t\tmessageId: \"insane_cats_en\",\n\t\t\t\t\t\tmatches: [],\n\t\t\t\t\t\tpattern: [\n\t\t\t\t\t\t\t{ type: \"text\", value: \"Hello \" },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: \"expression\",\n\t\t\t\t\t\t\t\targ: { type: \"variable-reference\", name: \"name\" },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{ type: \"text\", value: \"! You have \" },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: \"expression\",\n\t\t\t\t\t\t\t\targ: { type: \"variable-reference\", name: \"count\" },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{ type: \"text\", value: \" messages.\" },\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"insane_cats_de\",\n\t\t\t\tbundleId: \"insane_cats\",\n\t\t\t\tlocale: \"de\",\n\t\t\t\tselectors: [],\n\t\t\t\tvariants: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"insane_cats_de_variant_one\",\n\t\t\t\t\t\tmessageId: \"insane_cats_de\",\n\t\t\t\t\t\tmatches: [],\n\t\t\t\t\t\tpattern: [\n\t\t\t\t\t\t\t{ type: \"text\", value: \"Hallo \" },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: \"expression\",\n\t\t\t\t\t\t\t\targ: { type: \"variable-reference\", name: \"name\" },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{ type: \"text\", value: \"! Du hast \" },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: \"expression\",\n\t\t\t\t\t\t\t\targ: { type: \"variable-reference\", name: \"count\" },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{ type: \"text\", value: \" Nachrichten.\" },\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t},\n\tcreateBundleNested({\n\t\tid: \"relative_time_literal\",\n\t\tdeclarations: [\n\t\t\t{\n\t\t\t\ttype: \"input-variable\",\n\t\t\t\tname: \"duration\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: \"local-variable\",\n\t\t\t\tname: \"formattedDuration\",\n\t\t\t\tvalue: {\n\t\t\t\t\ttype: \"expression\",\n\t\t\t\t\targ: { type: \"variable-reference\", name: \"duration\" },\n\t\t\t\t\tannotation: {\n\t\t\t\t\t\ttype: \"function-reference\",\n\t\t\t\t\t\tname: \"relativetime\",\n\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t{ name: \"unit\", value: { type: \"literal\", value: \"day\" } },\n\t\t\t\t\t\t\t{ name: \"numeric\", value: { type: \"literal\", value: \"auto\" } },\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\tmessages: [\n\t\t\t{\n\t\t\t\tlocale: \"en\",\n\t\t\t\tvariants: [\n\t\t\t\t\t{\n\t\t\t\t\t\tpattern: [\n\t\t\t\t\t\t\t{ type: \"text\", value: \"Updated \" },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: \"expression\",\n\t\t\t\t\t\t\t\targ: {\n\t\t\t\t\t\t\t\t\ttype: \"variable-reference\",\n\t\t\t\t\t\t\t\t\tname: \"formattedDuration\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{ type: \"text\", value: \".\" },\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tlocale: \"de\",\n\t\t\t\tvariants: [\n\t\t\t\t\t{\n\t\t\t\t\t\tpattern: [\n\t\t\t\t\t\t\t{ type: \"text\", value: \"Updated \" },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: \"expression\",\n\t\t\t\t\t\t\t\targ: {\n\t\t\t\t\t\t\t\t\ttype: \"variable-reference\",\n\t\t\t\t\t\t\t\t\tname: \"formattedDuration\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{ type: \"text\", value: \".\" },\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t}),\n\tcreateBundleNested({\n\t\tid: \"relative_time_dynamic\",\n\t\tdeclarations: [\n\t\t\t{\n\t\t\t\ttype: \"input-variable\",\n\t\t\t\tname: \"duration\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: \"input-variable\",\n\t\t\t\tname: \"unit\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: \"local-variable\",\n\t\t\t\tname: \"formattedDuration\",\n\t\t\t\tvalue: {\n\t\t\t\t\ttype: \"expression\",\n\t\t\t\t\targ: { type: \"variable-reference\", name: \"duration\" },\n\t\t\t\t\tannotation: {\n\t\t\t\t\t\ttype: \"function-reference\",\n\t\t\t\t\t\tname: \"relativetime\",\n\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: \"unit\",\n\t\t\t\t\t\t\t\tvalue: { type: \"variable-reference\", name: \"unit\" },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{ name: \"style\", value: { type: \"literal\", value: \"short\" } },\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\tmessages: [\n\t\t\t{\n\t\t\t\tlocale: \"en\",\n\t\t\t\tvariants: [\n\t\t\t\t\t{\n\t\t\t\t\t\tpattern: [\n\t\t\t\t\t\t\t{ type: \"text\", value: \"Updated \" },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: \"expression\",\n\t\t\t\t\t\t\t\targ: {\n\t\t\t\t\t\t\t\t\ttype: \"variable-reference\",\n\t\t\t\t\t\t\t\t\tname: \"formattedDuration\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{ type: \"text\", value: \".\" },\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tlocale: \"de\",\n\t\t\t\tvariants: [\n\t\t\t\t\t{\n\t\t\t\t\t\tpattern: [\n\t\t\t\t\t\t\t{ type: \"text\", value: \"Updated \" },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: \"expression\",\n\t\t\t\t\t\t\t\targ: {\n\t\t\t\t\t\t\t\t\ttype: \"variable-reference\",\n\t\t\t\t\t\t\t\t\tname: \"formattedDuration\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{ type: \"text\", value: \".\" },\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t}),\n\t{\n\t\tid: \"auth_password_error\",\n\t\tdeclarations: [\n\t\t\t{\n\t\t\t\ttype: \"input-variable\",\n\t\t\t\tname: \"type\",\n\t\t\t},\n\t\t],\n\t\tmessages: [\n\t\t\t{\n\t\t\t\tid: \"auth_password_error_en\",\n\t\t\t\tbundleId: \"auth_password_error\",\n\t\t\t\tlocale: \"en\",\n\t\t\t\tselectors: [],\n\t\t\t\tvariants: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auth_password_error_en_variant_invalid\",\n\t\t\t\t\t\tmessageId: \"auth_password_error_en\",\n\t\t\t\t\t\tmatches: [{ type: \"literal-match\", key: \"type\", value: \"invalid\" }],\n\t\t\t\t\t\tpattern: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\t\tvalue: \"The password provided is not valid\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auth_password_error_en_variant_empty\",\n\t\t\t\t\t\tmessageId: \"auth_password_error_en\",\n\t\t\t\t\t\tmatches: [{ type: \"literal-match\", key: \"type\", value: \"empty\" }],\n\t\t\t\t\t\tpattern: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\t\tvalue: \"You must provide a password\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auth_password_error_en_variant_min\",\n\t\t\t\t\t\tmessageId: \"auth_password_error_en\",\n\t\t\t\t\t\tmatches: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: \"literal-match\",\n\t\t\t\t\t\t\t\tkey: \"type\",\n\t\t\t\t\t\t\t\tvalue: \"min_length\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t\tpattern: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\t\tvalue: \"Your password is not secure enough\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auth_password_error_en_variant_secure\",\n\t\t\t\t\t\tmessageId: \"auth_password_error_en\",\n\t\t\t\t\t\tmatches: [{ type: \"literal-match\", key: \"type\", value: \"secure\" }],\n\t\t\t\t\t\tpattern: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\t\tvalue: \"Your password is not secure enough\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tid: \"error_with_dash\",\n\t\tdeclarations: [\n\t\t\t{\n\t\t\t\ttype: \"input-variable\",\n\t\t\t\tname: \"error-type\",\n\t\t\t},\n\t\t],\n\t\tmessages: [\n\t\t\t{\n\t\t\t\tid: \"error_with_dash_en\",\n\t\t\t\tbundleId: \"error_with_dash\",\n\t\t\t\tlocale: \"en\",\n\t\t\t\tselectors: [],\n\t\t\t\tvariants: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"error_with_dash_en_variant_network\",\n\t\t\t\t\t\tmessageId: \"error_with_dash_en\",\n\t\t\t\t\t\tmatches: [\n\t\t\t\t\t\t\t{ type: \"literal-match\", key: \"error-type\", value: \"network\" },\n\t\t\t\t\t\t],\n\t\t\t\t\t\tpattern: [{ type: \"text\", value: \"Network error\" }],\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"error_with_dash_en_variant_timeout\",\n\t\t\t\t\t\tmessageId: \"error_with_dash_en\",\n\t\t\t\t\t\tmatches: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: \"literal-match\",\n\t\t\t\t\t\t\t\tkey: \"error-type\",\n\t\t\t\t\t\t\t\tvalue: \"timeout\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t\tpattern: [{ type: \"text\", value: \"Timeout error\" }],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tid: \"auth_password_error_catchall\",\n\t\tdeclarations: [\n\t\t\t{\n\t\t\t\ttype: \"input-variable\",\n\t\t\t\tname: \"type\",\n\t\t\t},\n\t\t],\n\t\tmessages: [\n\t\t\t{\n\t\t\t\tid: \"auth_password_error_catchall_en\",\n\t\t\t\tbundleId: \"auth_password_error_catchall\",\n\t\t\t\tlocale: \"en\",\n\t\t\t\tselectors: [],\n\t\t\t\tvariants: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auth_password_error_catchall_en_variant_invalid\",\n\t\t\t\t\t\tmessageId: \"auth_password_error_catchall_en\",\n\t\t\t\t\t\tmatches: [{ type: \"literal-match\", key: \"type\", value: \"invalid\" }],\n\t\t\t\t\t\tpattern: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\t\tvalue: \"The password provided is not valid\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auth_password_error_catchall_en_variant_catchall\",\n\t\t\t\t\t\tmessageId: \"auth_password_error_catchall_en\",\n\t\t\t\t\t\tmatches: [{ type: \"catchall-match\", key: \"type\" }],\n\t\t\t\t\t\tpattern: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\t\tvalue: \"Unknown password error\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tid: \"multi_key_status_type\",\n\t\tdeclarations: [\n\t\t\t{\n\t\t\t\ttype: \"input-variable\",\n\t\t\t\tname: \"type\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: \"input-variable\",\n\t\t\t\tname: \"status\",\n\t\t\t},\n\t\t],\n\t\tmessages: [\n\t\t\t{\n\t\t\t\tid: \"multi_key_status_type_en\",\n\t\t\t\tbundleId: \"multi_key_status_type\",\n\t\t\t\tlocale: \"en\",\n\t\t\t\tselectors: [],\n\t\t\t\tvariants: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"multi_key_status_type_en_variant_ready_invalid\",\n\t\t\t\t\t\tmessageId: \"multi_key_status_type_en\",\n\t\t\t\t\t\tmatches: [\n\t\t\t\t\t\t\t{ type: \"literal-match\", key: \"type\", value: \"invalid\" },\n\t\t\t\t\t\t\t{ type: \"literal-match\", key: \"status\", value: \"ready\" },\n\t\t\t\t\t\t],\n\t\t\t\t\t\tpattern: [{ type: \"text\", value: \"Ready invalid\" }],\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"multi_key_status_type_en_variant_done_empty\",\n\t\t\t\t\t\tmessageId: \"multi_key_status_type_en\",\n\t\t\t\t\t\tmatches: [\n\t\t\t\t\t\t\t{ type: \"literal-match\", key: \"type\", value: \"empty\" },\n\t\t\t\t\t\t\t{ type: \"literal-match\", key: \"status\", value: \"done\" },\n\t\t\t\t\t\t],\n\t\t\t\t\t\tpattern: [{ type: \"text\", value: \"Done empty\" }],\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"multi_key_status_type_en_variant_failed_secure\",\n\t\t\t\t\t\tmessageId: \"multi_key_status_type_en\",\n\t\t\t\t\t\tmatches: [\n\t\t\t\t\t\t\t{ type: \"literal-match\", key: \"type\", value: \"secure\" },\n\t\t\t\t\t\t\t{ type: \"literal-match\", key: \"status\", value: \"failed\" },\n\t\t\t\t\t\t],\n\t\t\t\t\t\tpattern: [{ type: \"text\", value: \"Failed secure\" }],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tid: \"empty_matches_catchall\",\n\t\tdeclarations: [\n\t\t\t{\n\t\t\t\ttype: \"input-variable\",\n\t\t\t\tname: \"type\",\n\t\t\t},\n\t\t],\n\t\tmessages: [\n\t\t\t{\n\t\t\t\tid: \"empty_matches_catchall_en\",\n\t\t\t\tbundleId: \"empty_matches_catchall\",\n\t\t\t\tlocale: \"en\",\n\t\t\t\tselectors: [],\n\t\t\t\tvariants: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"empty_matches_catchall_en_variant_invalid\",\n\t\t\t\t\t\tmessageId: \"empty_matches_catchall_en\",\n\t\t\t\t\t\tmatches: [{ type: \"literal-match\", key: \"type\", value: \"invalid\" }],\n\t\t\t\t\t\tpattern: [{ type: \"text\", value: \"Invalid\" }],\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"empty_matches_catchall_en_variant_any\",\n\t\t\t\t\t\tmessageId: \"empty_matches_catchall_en\",\n\t\t\t\t\t\tmatches: [],\n\t\t\t\t\t\tpattern: [{ type: \"text\", value: \"Any\" }],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tid: \"numeric_input_match\",\n\t\tdeclarations: [\n\t\t\t{\n\t\t\t\ttype: \"input-variable\",\n\t\t\t\tname: \"input\",\n\t\t\t},\n\t\t],\n\t\tmessages: [\n\t\t\t{\n\t\t\t\tid: \"numeric_input_match_en\",\n\t\t\t\tbundleId: \"numeric_input_match\",\n\t\t\t\tlocale: \"en\",\n\t\t\t\tselectors: [],\n\t\t\t\tvariants: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"numeric_input_match_en_variant_1\",\n\t\t\t\t\t\tmessageId: \"numeric_input_match_en\",\n\t\t\t\t\t\tmatches: [{ type: \"literal-match\", key: \"input\", value: \"1\" }],\n\t\t\t\t\t\tpattern: [{ type: \"text\", value: \"Thing 1\" }],\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"numeric_input_match_en_variant_2\",\n\t\t\t\t\t\tmessageId: \"numeric_input_match_en\",\n\t\t\t\t\t\tmatches: [{ type: \"literal-match\", key: \"input\", value: \"2\" }],\n\t\t\t\t\t\tpattern: [{ type: \"text\", value: \"Thing 2\" }],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t},\n];\n\nfor (const bundle of mockBundles) {\n\tawait insertBundleNested(project.db, bundle);\n}\n\nfunction createBundleNested(args: {\n\tid: string;\n\tdeclarations?: Declaration[];\n\tmessages: {\n\t\tselectors?: VariableReference[];\n\t\tlocale: string;\n\t\tvariants: {\n\t\t\tmatches?: Match[];\n\t\t\tpattern: Pattern;\n\t\t}[];\n\t}[];\n}): BundleNested {\n\treturn {\n\t\tid: args.id,\n\t\tdeclarations: args.declarations ?? [],\n\t\tmessages: args.messages.map((message) => ({\n\t\t\tid: args.id + \"_\" + message.locale,\n\t\t\tbundleId: args.id,\n\t\t\tlocale: message.locale,\n\t\t\tselectors: message.selectors ?? [],\n\t\t\tvariants: message.variants.map((variant) => ({\n\t\t\t\tid:\n\t\t\t\t\targs.id +\n\t\t\t\t\t\"_\" +\n\t\t\t\t\tmessage.locale +\n\t\t\t\t\t\"_\" +\n\t\t\t\t\tMath.random().toString(36).slice(2),\n\t\t\t\tmessageId: args.id,\n\t\t\t\tmatches: variant.matches ?? [],\n\t\t\t\tpattern: variant.pattern,\n\t\t\t})),\n\t\t})),\n\t};\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.bench.js","sourceRoot":"","sources":["../../src/compiler/compile.bench.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,KAAK,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;IACzC,MAAM,WAAW,GAAG,IAAI,CAAC;IAEzB,uBAAuB;IACvB,MAAM,cAAc,GAAG,OAAO,IAAI,CAAC,GAAG;SACpC,KAAK,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;SACxD,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAEzB,mEAAmE;IACnE,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CACvC,IAAI,CAAC,IAAI,CACR,cAAc,EACd,6DAA6D,CAC7D,EACD,MAAM,CACN,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CACtC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,WAAW,CAAC,EAAE;QACd,wBAAwB;KACxB,CAAC,CACF,CAAC;IAEF,MAAM,EAAE,GAAG,KAAK,CAAC;QAChB,YAAY,EAAE,YAAY;QAC1B,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;QACxC,+BAA+B,EAAE,IAAI,CAAC,SAAS,CAAC;YAC/C,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,CAAC,IAAI,CAAC;YACf,OAAO,EAAE,CAAC,YAAY,CAAC;YACvB,6BAA6B,EAAE;gBAC9B,WAAW,EAAE,gBAAgB;aAC7B;SACD,CAAC;KACF,CAAC,CAAC,EAAyC,CAAC;IAE7C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAEhC,MAAM,OAAO,CAAC;QACb,OAAO,EAAE,iBAAiB;QAC1B,MAAM,EAAE,SAAS;QACjB,EAAE,EAAE,EAAE;KACN,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAE9B,MAAM,QAAQ,GAAG,GAAG,GAAG,KAAK,CAAC;IAE7B,OAAO,CAAC,GAAG,CAAC,YAAY,WAAW,gBAAgB,QAAQ,IAAI,CAAC,CAAC;AAClE,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"compile.bench.js","sourceRoot":"","sources":["../../src/compiler/compile.bench.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,KAAK,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;IACzC,MAAM,WAAW,GAAG,IAAI,CAAC;IAEzB,uBAAuB;IACvB,MAAM,cAAc,GAAG,OAAO,IAAI,CAAC,GAAG;SACpC,KAAK,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;SACxD,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAEzB,mEAAmE;IACnE,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CACvC,IAAI,CAAC,IAAI,CACR,cAAc,EACd,6DAA6D,CAC7D,EACD,MAAM,CACN,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CACtC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,WAAW,CAAC,EAAE;QACd,wBAAwB;KACxB,CAAC,CACF,CAAC;IAEF,MAAM,EAAE,GAAG,KAAK,CAAC;QAChB,YAAY,EAAE,YAAY;QAC1B,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;QACxC,+BAA+B,EAAE,IAAI,CAAC,SAAS,CAAC;YAC/C,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,CAAC,IAAI,CAAC;YACf,OAAO,EAAE,CAAC,YAAY,CAAC;YACvB,6BAA6B,EAAE;gBAC9B,WAAW,EAAE,gBAAgB;aAC7B;SACD,CAAC;KACF,CAAC,CAAC,EAAyC,CAAC;IAE7C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAEhC,MAAM,OAAO,CAAC;QACb,OAAO,EAAE,iBAAiB;QAC1B,MAAM,EAAE,SAAS;QACjB,EAAE,EAAE,EAAE;KACN,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAE9B,MAAM,QAAQ,GAAG,GAAG,GAAG,KAAK,CAAC;IAE7B,OAAO,CAAC,GAAG,CAAC,YAAY,WAAW,gBAAgB,QAAQ,IAAI,CAAC,CAAC;AAClE,CAAC,CAAC,CAAC","sourcesContent":["import { bench } from \"vitest\";\nimport nodeFs from \"node:fs\";\nimport path from \"node:path\";\nimport { memfs } from \"memfs\";\nimport { compile } from \"./compile.js\";\n\nbench(\"compile 1000 messages\", async () => {\n\tconst numMessages = 1000;\n\n\t// the root of the repo\n\tconst repositoryRoot = import.meta.url\n\t\t.slice(0, import.meta.url.lastIndexOf(\"inlang/packages\"))\n\t\t.replace(\"file://\", \"\");\n\n\t// load the inlang message format plugin to simulate a real project\n\tconst pluginAsText = nodeFs.readFileSync(\n\t\tpath.join(\n\t\t\trepositoryRoot,\n\t\t\t\"inlang/packages/plugins/inlang-message-format/dist/index.js\"\n\t\t),\n\t\t\"utf8\"\n\t);\n\n\tconst mockMessages = Object.fromEntries(\n\t\tArray.from({ length: numMessages }, (_, i) => [\n\t\t\t`message_${i}`,\n\t\t\t`Hello world {username}`,\n\t\t])\n\t);\n\n\tconst fs = memfs({\n\t\t\"/plugin.js\": pluginAsText,\n\t\t\"/en.json\": JSON.stringify(mockMessages),\n\t\t\"/project.inlang/settings.json\": JSON.stringify({\n\t\t\tbaseLocale: \"en\",\n\t\t\tlocales: [\"en\"],\n\t\t\tmodules: [\"/plugin.js\"],\n\t\t\t\"plugin.inlang.messageFormat\": {\n\t\t\t\tpathPattern: \"/{locale}.json\",\n\t\t\t},\n\t\t}),\n\t}).fs as unknown as typeof import(\"node:fs\");\n\n\tconst start = performance.now();\n\n\tawait compile({\n\t\tproject: \"/project.inlang\",\n\t\toutdir: \"/output\",\n\t\tfs: fs,\n\t});\n\n\tconst end = performance.now();\n\n\tconst duration = end - start;\n\n\tconsole.log(`Compiled ${numMessages} messages in ${duration}ms`);\n});\n"]}
|
package/dist/compiler/compile.js
CHANGED
|
@@ -2,10 +2,6 @@ import { loadProjectFromDirectory } from "@inlang/sdk";
|
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { compileProject } from "./compile-project.js";
|
|
4
4
|
import { writeOutput } from "../services/file-handling/write-output.js";
|
|
5
|
-
// import {
|
|
6
|
-
// getLocalAccount,
|
|
7
|
-
// saveLocalAccount,
|
|
8
|
-
// } from "../services/account/index.js";
|
|
9
5
|
import { defaultCompilerOptions, } from "./compiler-options.js";
|
|
10
6
|
import { Logger } from "../services/logger/index.js";
|
|
11
7
|
// This is a workaround to prevent multiple compilations from running at the same time.
|
|
@@ -37,11 +33,9 @@ export async function compile(options) {
|
|
|
37
33
|
try {
|
|
38
34
|
const fs = withDefaultOptions.fs ?? (await import("node:fs"));
|
|
39
35
|
const absoluteOutdir = path.resolve(process.cwd(), withDefaultOptions.outdir);
|
|
40
|
-
// const localAccount = getLocalAccount({ fs });
|
|
41
36
|
const project = await loadProjectFromDirectory({
|
|
42
37
|
path: withDefaultOptions.project,
|
|
43
38
|
fs,
|
|
44
|
-
// account: localAccount,
|
|
45
39
|
});
|
|
46
40
|
const output = await compileProject({
|
|
47
41
|
compilerOptions: withDefaultOptions,
|
|
@@ -55,15 +49,6 @@ export async function compile(options) {
|
|
|
55
49
|
fs: fs.promises,
|
|
56
50
|
previousOutputHashes: options.previousCompilation?.outputHashes,
|
|
57
51
|
});
|
|
58
|
-
// if (!localAccount) {
|
|
59
|
-
// const activeAccount = await project.lix.db
|
|
60
|
-
// .selectFrom("active_account as aa")
|
|
61
|
-
// .innerJoin("account_all as a", "a.id", "aa.account_id")
|
|
62
|
-
// .where("a.lixcol_version_id", "=", "global")
|
|
63
|
-
// .select(["a.id", "a.name"])
|
|
64
|
-
// .executeTakeFirstOrThrow();
|
|
65
|
-
// saveLocalAccount({ fs, account: activeAccount });
|
|
66
|
-
// }
|
|
67
52
|
const warningsAndErrors = await project.errors.get();
|
|
68
53
|
for (const warningOrError of warningsAndErrors) {
|
|
69
54
|
logger.warn(warningOrError);
|