@inlang/paraglide-js 2.23.1 → 2.23.2
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.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.map +1 -1
- package/dist/bundler-plugins/unplugin.test.d.ts +0 -1
- 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.map +1 -1
- package/dist/cli/commands/compile/command.test.d.ts +0 -1
- 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.map +1 -1
- package/dist/compiler/compile.test.d.ts +0 -1
- package/dist/compiler/compile.test.js.map +1 -1
- package/dist/compiler/compiler-options.d.ts +0 -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 +0 -1
- package/dist/compiler/runtime/create-runtime.js.map +1 -1
- 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.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.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.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.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.map +1 -1
- package/dist/compiler/runtime/localize-url.d.ts +0 -1
- 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.map +1 -1
- package/dist/compiler/runtime/route-strategy.d.ts +0 -1
- 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.map +1 -1
- package/dist/compiler/runtime/should-redirect.test.d.ts +0 -1
- 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 +0 -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 +0 -1
- 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.map +1 -1
- package/dist/compiler/server/middleware.test.d.ts +0 -1
- 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/services/account/index.d.ts +0 -1
- package/dist/services/account/index.js.map +1 -1
- 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.d.ts +0 -1
- 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.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 +1 -1
- 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.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":"create-paraglide.js","sourceRoot":"","sources":["../../src/compiler/create-paraglide.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,sBAAsB,GAEtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACpC,IAKsD;IAEtD,iCAAiC;IACjC,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;IAE9C,kDAAkD;IAClD,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IAEjC,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACtD,CAAC;IAED,iCAAiC;IACjC,yDAAyD;IACzD,IAAI,CAAC;QACJ,uCAAuC;QACvC,IAAI,UAAU,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACR,mDAAmD;QACnD,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,UAAU;QACV,OAAO;QACP,eAAe,EAAE;YAChB,GAAG,sBAAsB;YACzB,GAAG,IAAI;SACP;KACD,CAAC;QACD,yEAAyE;SACxE,OAAO,CAAC,oDAAoD,EAAE,EAAE,CAAC,CAAC;IAEpE,wEAAwE;IACxE,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;QAC1C,eAAe,EAAE,EAAE;QACnB,eAAe,EAAE;YAChB,qCAAqC,EACpC,IAAI,CAAC,qCAAqC;gBAC1C,sBAAsB,CAAC,qCAAqC;YAC7D,wBAAwB,EACvB,IAAI,CAAC,wBAAwB;gBAC7B,sBAAsB,CAAC,wBAAwB;SAChD;KACD,CAAC;SACA,OAAO,CAAC,0CAA0C,EAAE,EAAE,CAAC;QACxD,wEAAwE;SACvE,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAE7B,uDAAuD;IACvD,MAAM,eAAe,GAAG;;;;;;;;;;;;KAYpB,CAAC;IAEL,4DAA4D;IAC5D,MAAM,YAAY,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,eAAe,CAAC;IAE7E,gEAAgE;IAChE,OAAO,MAAM,MAAM;IAClB,kBAAkB;IAClB,8BAA8B;QAC7B,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACtD,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"create-paraglide.js","sourceRoot":"","sources":["../../src/compiler/create-paraglide.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,sBAAsB,GAEtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACpC,IAKsD;IAEtD,iCAAiC;IACjC,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;IAE9C,kDAAkD;IAClD,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IAEjC,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACtD,CAAC;IAED,iCAAiC;IACjC,yDAAyD;IACzD,IAAI,CAAC;QACJ,uCAAuC;QACvC,IAAI,UAAU,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACR,mDAAmD;QACnD,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,UAAU;QACV,OAAO;QACP,eAAe,EAAE;YAChB,GAAG,sBAAsB;YACzB,GAAG,IAAI;SACP;KACD,CAAC;QACD,yEAAyE;SACxE,OAAO,CAAC,oDAAoD,EAAE,EAAE,CAAC,CAAC;IAEpE,wEAAwE;IACxE,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;QAC1C,eAAe,EAAE,EAAE;QACnB,eAAe,EAAE;YAChB,qCAAqC,EACpC,IAAI,CAAC,qCAAqC;gBAC1C,sBAAsB,CAAC,qCAAqC;YAC7D,wBAAwB,EACvB,IAAI,CAAC,wBAAwB;gBAC7B,sBAAsB,CAAC,wBAAwB;SAChD;KACD,CAAC;SACA,OAAO,CAAC,0CAA0C,EAAE,EAAE,CAAC;QACxD,wEAAwE;SACvE,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAE7B,uDAAuD;IACvD,MAAM,eAAe,GAAG;;;;;;;;;;;;KAYpB,CAAC;IAEL,4DAA4D;IAC5D,MAAM,YAAY,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,eAAe,CAAC;IAE7E,gEAAgE;IAChE,OAAO,MAAM,MAAM;IAClB,kBAAkB;IAClB,8BAA8B;QAC7B,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACtD,CAAC;AACH,CAAC","sourcesContent":["import type { Runtime } from \"./runtime/type.js\";\nimport type { ServerRuntime } from \"./server/type.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 { loadProjectInMemory } from \"@inlang/sdk\";\n\n/**\n * Creates an in-memory Paraglide module for use in tests and non-bundled environments.\n *\n * @example\n *\t const blob = await fs.readFile(\"./project.inlang\");\n * const paraglide = await createParaglide({\n * blob,\n * // other options\n * })\n *\n * // Access functions\n * paraglide.localizeUrl(\"https://example.com\", { locale: \"de\" })\n * app.use(paraglide.paraglideMiddleware())\n *\n * You can load a project from a directory as well.\n *\n * @example\n * import { loadProjectFromDirectory } from \"@inlang/sdk\";\n *\n * \t const project = await loadProjectFromDirectory(\"./project\");\n *\n * const paraglide = await createParaglide({\n * blob: await project.toBlob(),\n * // other options\n * })\n *\n * // Access functions\n * paraglide.localizeUrl(\"https://example.com\", { locale: \"de\" })\n * app.use(paraglide.paraglideMiddleware())\n *\n */\nexport async function createParaglide(\n\targs: {\n\t\t/**\n\t\t * The inlang file.\n\t\t */\n\t\tblob: Blob;\n\t} & Omit<CompilerOptions, \"outdir\" | \"project\" | \"fs\">\n): Promise<Runtime & ServerRuntime & { m: Record<string, unknown> }> {\n\t// Load the project from the blob\n\tconst project = await loadProjectInMemory({ blob: args.blob });\n\tconst settings = await project.settings.get();\n\n\t// Extract baseLocale and locales from the project\n\tconst baseLocale = settings.baseLocale;\n\tconst locales = settings.locales;\n\n\tif (!baseLocale) {\n\t\tthrow new Error(\"Project must have a baseLocale defined\");\n\t}\n\n\tif (!locales || locales.length === 0) {\n\t\tthrow new Error(\"Project must have locales defined\");\n\t}\n\n\t// Ensure URLPattern is available\n\t// Note: This is required for URL-based locale strategies\n\ttry {\n\t\t// Just test if URLPattern is available\n\t\tnew URLPattern({ pathname: \"/:locale\" });\n\t} catch {\n\t\t// Load the polyfill if URLPattern is not available\n\t\tawait import(\"urlpattern-polyfill\");\n\t}\n\n\tconst clientSideRuntime = createRuntimeFile({\n\t\tbaseLocale,\n\t\tlocales,\n\t\tcompilerOptions: {\n\t\t\t...defaultCompilerOptions,\n\t\t\t...args,\n\t\t},\n\t})\n\t\t// remove the polyfill import statement to avoid module resolution issues\n\t\t.replace(`import \"@inlang/paraglide-js/urlpattern-polyfill\";`, \"\");\n\n\t// remove the runtime import statement to avoid module resolution issues\n\tconst serverSideRuntime = createServerFile({\n\t\tcompiledBundles: [],\n\t\tcompilerOptions: {\n\t\t\texperimentalMiddlewareLocaleSplitting:\n\t\t\t\targs.experimentalMiddlewareLocaleSplitting ??\n\t\t\t\tdefaultCompilerOptions.experimentalMiddlewareLocaleSplitting,\n\t\t\tdisableAsyncLocalStorage:\n\t\t\t\targs.disableAsyncLocalStorage ??\n\t\t\t\tdefaultCompilerOptions.disableAsyncLocalStorage,\n\t\t},\n\t})\n\t\t.replace(`import * as runtime from \"./runtime.js\";`, \"\")\n\t\t// the runtime functions are bundled, hence remove the runtime namespace\n\t\t.replaceAll(\"runtime.\", \"\");\n\n\t// Add mock message functions that throw helpful errors\n\tconst mockMessageCode = `\n\texport const m = new Proxy({}, {\n\t\tget(target, prop) {\n\t\t\t// Only handle property access, not other operations like 'in' operator\n\t\t\tif (typeof prop === 'string' && prop !== 'then') {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"Message functions are not available in createParaglideModule. \" +\n\t\t\t\t\t\"Upvote and explain your use case in https://github.com/opral/inlang-paraglide-js/issues/471\"\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn undefined;\n\t\t}\n\t});`;\n\n\t// Combine client and server runtime code with mock messages\n\tconst combinedCode = clientSideRuntime + serverSideRuntime + mockMessageCode;\n\n\t// Import the combined code dynamically using the data: protocol\n\treturn await import(\n\t\t/* @vite-ignore */\n\t\t\"data:text/javascript;base64,\" +\n\t\t\tBuffer.from(combinedCode, \"utf-8\").toString(\"base64\")\n\t);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-paraglide.test.js","sourceRoot":"","sources":["../../src/compiler/create-paraglide.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,IAAI,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;IACjG,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC;QACvC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;aAC3B;SACD,CAAC;KACF,CAAC,CAAC;IAEH,8CAA8C;IAC9C,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,OAAO,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,CAAC,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,CAAC,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAEpD,4CAA4C;IAC5C,MAAM,CAAC,OAAO,SAAS,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;IAClF,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC;QACvC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;aAC3B;SACD,CAAC;QACF,QAAQ,EAAE,CAAC,KAAK,CAAC;QACjB,UAAU,EAAE,eAAe;KAC3B,CAAC,CAAC;IAEH,0CAA0C;IAC1C,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;IAC1E,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC;QACvC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;aAC3B;SACD,CAAC;QACF,QAAQ,EAAE,CAAC,KAAK,CAAC;KACjB,CAAC,CAAC;IAEH,wBAAwB;IACxB,MAAM,GAAG,GAAG,8BAA8B,CAAC;IAC3C,MAAM,YAAY,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAElE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAElE,0BAA0B;IAC1B,MAAM,cAAc,GAAG,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAC7D,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uFAAuF,EAAE,KAAK,IAAI,EAAE;IACxG,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC;QACvC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;aAC3B;SACD,CAAC;KACF,CAAC,CAAC;IAEH,yBAAyB;IACzB,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAElC,6DAA6D;IAC7D,MAAM,CAAC,GAAG,EAAE;QACX,oDAAoD;QACpD,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC,OAAO,CAAC,8DAA8D,CAAC,CAAC;AAC5E,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"create-paraglide.test.js","sourceRoot":"","sources":["../../src/compiler/create-paraglide.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { test, expect } from \"vitest\";\nimport { createParaglide } from \"./create-paraglide.js\";\nimport { newProject } from \"@inlang/sdk\";\n\ntest(\"createParaglideModule should create a module with runtime and server functions\", async () => {\n\tconst paraglide = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"de\", \"fr\"],\n\t\t\t},\n\t\t}),\n\t});\n\n\t// Check that runtime properties are available\n\texpect(paraglide.baseLocale).toBe(\"en\");\n\texpect(paraglide.locales).toEqual([\"en\", \"de\", \"fr\"]);\n\texpect(typeof paraglide.localizeUrl).toBe(\"function\");\n\texpect(typeof paraglide.getLocale).toBe(\"function\");\n\texpect(typeof paraglide.setLocale).toBe(\"function\");\n\n\t// Check that server functions are available\n\texpect(typeof paraglide.paraglideMiddleware).toBe(\"function\");\n});\n\ntest(\"createParaglideModule should allow configuring compiler options\", async () => {\n\tconst paraglide = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"de\", \"fr\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"url\"],\n\t\tcookieName: \"custom-cookie\",\n\t});\n\n\t// Check that compiler options are applied\n\texpect(paraglide.strategy).toEqual([\"url\"]);\n\texpect(paraglide.cookieName).toBe(\"custom-cookie\");\n});\n\ntest(\"createParaglideModule should work with URL localization\", async () => {\n\tconst paraglide = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"de\", \"fr\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"url\"],\n\t});\n\n\t// Test URL localization\n\tconst url = \"https://example.com/products\";\n\tconst localizedUrl = paraglide.localizeUrl(url, { locale: \"de\" });\n\n\texpect(localizedUrl.href).toBe(\"https://example.com/de/products\");\n\n\t// Test URL delocalization\n\tconst deLocalizedUrl = paraglide.deLocalizeUrl(localizedUrl);\n\texpect(deLocalizedUrl.href).toBe(url);\n});\n\ntest(\"createParaglideModule should provide mock message functions that throw helpful errors\", async () => {\n\tconst paraglide = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"de\", \"fr\"],\n\t\t\t},\n\t\t}),\n\t});\n\n\t// Verify m object exists\n\texpect(paraglide.m).toBeDefined();\n\n\t// Verify accessing a message function throws a helpful error\n\texpect(() => {\n\t\t// @ts-expect-error - We're testing runtime behavior\n\t\tparaglide.m.someMessage();\n\t}).toThrow(/Message functions are not available in createParaglideModule/);\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-readme.js","sourceRoot":"","sources":["../../src/compiler/create-readme.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAA8B;IAC1D,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW;QACxC,CAAC,CAAC,sBAAsB,IAAI,CAAC,WAAW,MAAM;QAC9C,CAAC,CAAC,EAAE,CAAC;IAEN,OAAO;;;EAGN,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6JjB,CAAC;AACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"create-readme.js","sourceRoot":"","sources":["../../src/compiler/create-readme.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAA8B;IAC1D,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW;QACxC,CAAC,CAAC,sBAAsB,IAAI,CAAC,WAAW,MAAM;QAC9C,CAAC,CAAC,EAAE,CAAC;IAEN,OAAO;;;EAGN,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6JjB,CAAC;AACF,CAAC","sourcesContent":["/**\n * Creates the README.md content for the compiled output.\n *\n * This helps LLMs understand the compiled Paraglide JS output.\n * See https://llmstxt.org/ for the format guidelines.\n */\nexport function createReadme(args: { projectPath?: string }): string {\n\tconst compiledFromLine = args.projectPath\n\t\t? `\\nCompiled from: \\`${args.projectPath}\\`\\n`\n\t\t: \"\";\n\n\treturn `# Paraglide JS Compiled Output\n\n> Auto-generated i18n message functions. Import \\`messages.js\\` to use translated strings.\n${compiledFromLine}\n\n## What is this folder?\n\nThis folder contains compiled [Paraglide JS](https://github.com/opral/paraglide-js) output. Paraglide JS compiles your translation messages into tree-shakeable JavaScript functions.\n\n## At a glance\n\nPurpose:\n- This folder stores compiled i18n message functions.\n- Source translations live outside this folder in your inlang project.\n\nSafe to import:\n- \\`messages.js\\` — all message functions\n- \\`runtime.js\\` — locale utilities\n- \\`server.js\\` — server-side middleware\n\nDo not edit:\n- All files in this folder are auto-generated.\n- Changes will be overwritten on next compilation.\n\n\\`\\`\\`\nparaglide/\n├── messages.js # Message exports (import this)\n├── messages/ # Individual message functions\n├── runtime.js # Locale detection & configuration\n├── registry.js # Formatting utilities (plural, number, datetime, relativetime)\n├── server.js # Server-side middleware\n└── .gitignore # Marks folder as generated\n\\`\\`\\`\n\n## Usage\n\n\\`\\`\\`js\nimport * as m from \"./paraglide/messages.js\";\n\n// Messages are functions that return localized strings\nm.hello_world(); // \"Hello, World!\" (in current locale)\nm.greeting({ name: \"Sam\" }); // \"Hello, Sam!\"\n\n// Override locale per-call\nm.hello_world({}, { locale: \"de\" }); // \"Hallo, Welt!\"\nm.greeting({ name: \"Sam\" }, { locale: \"de\" }); // \"Hallo, Sam!\"\n\\`\\`\\`\n\n## Runtime API\n\n\\`\\`\\`js\nimport { getLocale, getTextDirection, setLocale, locales, baseLocale } from \"./paraglide/runtime.js\";\n\ngetLocale(); // Current locale, e.g., \"en\"\ngetTextDirection(); // \"ltr\" | \"rtl\" for current locale\nsetLocale(\"de\"); // Set locale\nlocales; // Available locales, e.g., [\"en\", \"de\", \"fr\"]\nbaseLocale; // Default locale, e.g., \"en\"\n\\`\\`\\`\n\n## Strategy\n\nThe strategy determines how the current locale is detected and persisted:\n\n- **Cookie**: Stores locale preference in a cookie.\n- **URL**: Derives locale from URL patterns (e.g., \\`/en/about\\`, \\`en.example.com\\`).\n- **GlobalVariable**: Uses a global variable (client-side only).\n- **BaseLocale**: Always returns the base locale.\n\nStrategies can be combined. The order defines precedence:\n\n\\`\\`\\`js\nawait compile({\n project: \"./project.inlang\",\n outdir: \"./src/paraglide\",\n strategy: [\"url\", \"cookie\", \"baseLocale\"],\n});\n\\`\\`\\`\n\nSee the [strategy documentation](https://paraglidejs.com/strategy) for details.\n\n## Markup (Rich Text)\n\nMessages can contain markup tags for bold, links, and other inline elements. Translators control where tags appear; developers control how they render.\n\nImportant:\n- Tag names are app-defined. There is no built-in list of HTML tags.\n- \\`{#b}...{/b}\\` does not automatically render as \\`<b>...</b>\\`.\n- Renderers/snippets are looked up by the same tag name used in the message.\n\n### Message syntax\n\n\\`\\`\\`json\n{\n \"cta\": \"{#link to=|/docs| rel=$relationship @track}Read the docs{/link}\",\n \"welcome\": \"{#b}Hi {name}{/b}{#icon/}\"\n}\n\\`\\`\\`\n\n- \\`{#tagName}\\` opens a tag, \\`{/tagName}\\` closes it.\n- \\`{#tagName/}\\` creates a standalone tag.\n- Options: \\`to=|/docs|\\` or \\`rel=$relationship\\` (accessed via \\`options.*\\`).\n- Attributes: \\`@track\\` or \\`@variant=|hero|\\` (accessed via \\`attributes.*\\`).\n\nThis is the default inlang message syntax. Paraglide's message format is plugin-based — you can use [ICU MessageFormat 1](https://inlang.com/m/p7c8m1d2/plugin-inlang-icu-messageformat-1), [i18next](https://inlang.com/m/3i8bor92/plugin-inlang-i18next), or other [plugins](https://inlang.com/c/plugins) instead.\n\n### Rendering markup\n\nCalling the message function still returns **plain text** (markup stripped):\n\n\\`\\`\\`js\nm.cta({ relationship: \"noopener\" }); // \"Read the docs\"\n\\`\\`\\`\n\nTo render markup, use the framework adapter or the low-level \\`parts()\\` API:\n\n\\`\\`\\`js\nconst parts = m.cta.parts({ relationship: \"noopener\" });\n// [\n// { type: \"markup-start\", name: \"link\", options: { to: \"/docs\", rel: \"noopener\" }, attributes: { track: true } },\n// { type: \"text\", value: \"Read the docs\" },\n// { type: \"markup-end\", name: \"link\" }\n// ]\n\\`\\`\\`\n\nFramework adapters provide a \\`<ParaglideMessage>\\` component that accepts markup renderers:\n\n- \\`@inlang/paraglide-js-react\\`\n- \\`@inlang/paraglide-js-vue\\`\n- \\`@inlang/paraglide-js-svelte\\`\n- \\`@inlang/paraglide-js-solid\\`\n\n\\`\\`\\`jsx\nimport { ParaglideMessage } from \"@inlang/paraglide-js-react\"; // or -vue, -svelte, -solid\n\n<ParaglideMessage\n message={m.welcome}\n inputs={{ name: \"Ada\" }}\n markup={{\n b: ({ children }) => <b>{children}</b>,\n icon: () => <span aria-hidden=\"true\" className=\"icon-wave\" />,\n }}\n/>\n\\`\\`\\`\n\nThe available renderer/snippet names come from the message itself. You can inspect them through \\`message.parts()\\`, and TypeScript uses the same names to type-check your markup renderers.\n\nSee the [markup documentation](https://paraglidejs.com/markup) for details.\n\n## Key concepts\n\n- **Tree-shakeable**: Each message is a function, enabling [up to 70% smaller i18n bundle sizes](https://paraglidejs.com/benchmark) than traditional i18n libraries.\n- **Typesafe**: Full TypeScript/JSDoc support with autocomplete.\n- **Variants**: Messages can have variants for pluralization, gender, etc.\n- **Fallbacks**: Missing translations fall back to the base locale.\n\n## Links\n\n- [Paraglide JS Documentation](https://paraglidejs.com)\n- [Source Repository](https://github.com/opral/paraglide-js)\n`;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit-ts-declarations.interop.test.js","sourceRoot":"","sources":["../../src/compiler/emit-ts-declarations.interop.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAEN,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,GACV,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,oEAAoE;AACpE,wEAAwE;AACxE,sEAAsE;AACtE,sEAAsE;AACtE,yEAAyE;AACzE,2DAA2D;AAC3D,EAAE;AACF,wEAAwE;AACxE,wEAAwE;AACxE,8CAA8C;AAC9C,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;IAChC,MAAM,MAAM,GACX,MAAM,EAAE,CAAC,YAAY,CAA8B,YAAY,CAAC,CAAC;IAClE,OAAO;QACN,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,SAAS;KACxB,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2FAA2F,EAAE,KAAK,IAAI,EAAE;IAC5G,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC;QACzC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,OAAO,EAAE,CAAC,IAAI,CAAC;gBACf,UAAU,EAAE,IAAI;aAChB;SACD,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,MAAM,GAAiB;QAC5B,EAAE,EAAE,gBAAgB;QACpB,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE;YACT;gBACC,EAAE,EAAE,mBAAmB;gBACvB,QAAQ,EAAE,gBAAgB;gBAC1B,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,EAAE;gBACb,QAAQ,EAAE;oBACT;wBACC,EAAE,EAAE,2BAA2B;wBAC/B,SAAS,EAAE,gBAAgB;wBAC3B,OAAO,EAAE,EAAE;wBACX,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;qBAC3C;iBACD;aACD;SACD;KACD,CAAC;IACF,MAAM,kBAAkB,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAE7C,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;QACnC,OAAO;QACP,eAAe,EAAE;YAChB,kBAAkB,EAAE,IAAI;SACxB;KACD,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IAC9C,yEAAyE;IACzE,yEAAyE;IACzE,MAAM,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC,SAAS,CACvD,gDAAgD,CAChD,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"emit-ts-declarations.interop.test.js","sourceRoot":"","sources":["../../src/compiler/emit-ts-declarations.interop.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAEN,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,GACV,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,oEAAoE;AACpE,wEAAwE;AACxE,sEAAsE;AACtE,sEAAsE;AACtE,yEAAyE;AACzE,2DAA2D;AAC3D,EAAE;AACF,wEAAwE;AACxE,wEAAwE;AACxE,8CAA8C;AAC9C,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;IAChC,MAAM,MAAM,GACX,MAAM,EAAE,CAAC,YAAY,CAA8B,YAAY,CAAC,CAAC;IAClE,OAAO;QACN,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,SAAS;KACxB,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2FAA2F,EAAE,KAAK,IAAI,EAAE;IAC5G,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC;QACzC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,OAAO,EAAE,CAAC,IAAI,CAAC;gBACf,UAAU,EAAE,IAAI;aAChB;SACD,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,MAAM,GAAiB;QAC5B,EAAE,EAAE,gBAAgB;QACpB,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE;YACT;gBACC,EAAE,EAAE,mBAAmB;gBACvB,QAAQ,EAAE,gBAAgB;gBAC1B,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,EAAE;gBACb,QAAQ,EAAE;oBACT;wBACC,EAAE,EAAE,2BAA2B;wBAC/B,SAAS,EAAE,gBAAgB;wBAC3B,OAAO,EAAE,EAAE;wBACX,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;qBAC3C;iBACD;aACD;SACD;KACD,CAAC;IACF,MAAM,kBAAkB,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAE7C,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;QACnC,OAAO;QACP,eAAe,EAAE;YAChB,kBAAkB,EAAE,IAAI;SACxB;KACD,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IAC9C,yEAAyE;IACzE,yEAAyE;IACzE,MAAM,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC,SAAS,CACvD,gDAAgD,CAChD,CAAC;AACH,CAAC,CAAC,CAAC","sourcesContent":["import { expect, test, vi } from \"vitest\";\nimport {\n\ttype BundleNested,\n\tinsertBundleNested,\n\tloadProjectInMemory,\n\tnewProject,\n} from \"@inlang/sdk\";\nimport { compileProject } from \"./compile-project.js\";\n\n// Bundlers and CJS interop can deliver the `typescript` module in a\n// default-only shape (`{ default: ts }` without hoisted named exports).\n// TypeScript 5/6 in that shape must still be routed to the in-process\n// compiler API: the CLI fallback intended for TypeScript 7+ would run\n// TypeScript 5's `tsc`, whose declaration emitter produces syntactically\n// invalid unquoted export aliases (`export { x as a.b }`).\n//\n// `createProgram: undefined` is stubbed explicitly because vitest wraps\n// factory mocks in a proxy that throws on missing exports, while a real\n// default-only namespace returns `undefined`.\nvi.mock(\"typescript\", async () => {\n\tconst actual =\n\t\tawait vi.importActual<typeof import(\"typescript\")>(\"typescript\");\n\treturn {\n\t\tdefault: actual,\n\t\tcreateProgram: undefined,\n\t};\n});\n\ntest(\"emitTsDeclarations uses the compiler API for a default-only interop shape of TypeScript 5\", 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\tconst bundle: BundleNested = {\n\t\tid: \"greeting.hello\",\n\t\tdeclarations: [],\n\t\tmessages: [\n\t\t\t{\n\t\t\t\tid: \"greeting.hello_en\",\n\t\t\t\tbundleId: \"greeting.hello\",\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: \"greeting.hello_en_variant\",\n\t\t\t\t\t\tmessageId: \"greeting.hello\",\n\t\t\t\t\t\tmatches: [],\n\t\t\t\t\t\tpattern: [{ type: \"text\", value: \"Hello\" }],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t};\n\tawait insertBundleNested(project.db, bundle);\n\n\tconst output = await compileProject({\n\t\tproject,\n\t\tcompilerOptions: {\n\t\t\temitTsDeclarations: true,\n\t\t},\n\t});\n\n\texpect(output).toHaveProperty(\"runtime.d.ts\");\n\t// the quoted alias distinguishes the two paths: TypeScript 5's CLI would\n\t// emit the invalid `export { greeting_hello as greeting.hello }` instead\n\texpect(output[\"messages/greeting_hello.d.ts\"]).toContain(\n\t\t`export { greeting_hello as \"greeting.hello\" };`\n\t);\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit-ts-declarations.js","sourceRoot":"","sources":["../../src/compiler/emit-ts-declarations.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"emit-ts-declarations.js","sourceRoot":"","sources":["../../src/compiler/emit-ts-declarations.ts"],"names":[],"mappings":"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","sourcesContent":["import path from \"node:path\";\nimport fs from \"node:fs/promises\";\nimport os from \"node:os\";\nimport { execFile } from \"node:child_process\";\nimport { promisify } from \"node:util\";\nimport { resolveTscJsPath } from \"./resolve-tsc-js-path.js\";\n\nconst execFileAsync = promisify(execFile);\n\ntype TypeScript = typeof import(\"typescript\");\n\nconst missingTypeScriptMessage = `Paraglide's \"emitTsDeclarations\" option requires the \"typescript\" package.\n\nInstall TypeScript in your project, or disable \"emitTsDeclarations\".`;\n\nconst failedToLoadTypeScriptMessage = `Paraglide's \"emitTsDeclarations\" option requires the \"typescript\" package.\n\nTypeScript appears to be installed, but failed to load. See the error cause for details.`;\n\n/**\n * Generates `.d.ts` files for the compiled Paraglide output using the TypeScript compiler.\n *\n * @param output - The generated compiler output keyed by relative file path.\n * @returns The generated declaration files keyed by relative path.\n *\n * @example\n * const declarations = await emitTsDeclarations(output);\n * // Merge them into the compiler output before writing to disk\n */\nexport async function emitTsDeclarations(\n\toutput: Record<string, string>\n): Promise<Record<string, string>> {\n\tconst ts = await importTypeScript();\n\n\tconst jsEntries = Object.entries(output).filter(([fileName]) =>\n\t\tfileName.endsWith(\".js\")\n\t);\n\n\tif (jsEntries.length === 0) {\n\t\treturn {};\n\t}\n\n\t// TypeScript 7+ (the Go-based compiler) no longer ships the in-process\n\t// compiler API — its main entry point only exports version metadata.\n\t// https://github.com/opral/paraglide-js/issues/711\n\tconst compilerApi = resolveCompilerApi(ts);\n\tif (compilerApi === undefined) {\n\t\treturn emitWithTscCli(jsEntries);\n\t}\n\n\treturn emitWithCompilerApi(compilerApi, jsEntries);\n}\n\n/**\n * Returns the in-process compiler API (TypeScript 5/6), or `undefined` when\n * the installed TypeScript does not provide one (TypeScript 7+).\n *\n * Unwraps default-only interop shapes (`{ default: ts }`) that bundlers and\n * CJS interop can produce. Without the unwrap, TypeScript 5/6 would be\n * misrouted to the CLI path, whose TypeScript 5 declaration emitter produces\n * syntactically invalid quoted export aliases.\n */\nfunction resolveCompilerApi(ts: TypeScript): TypeScript | undefined {\n\tif (typeof ts.createProgram === \"function\") {\n\t\treturn ts;\n\t}\n\tconst defaultExport = (ts as { default?: TypeScript }).default;\n\tif (defaultExport && typeof defaultExport.createProgram === \"function\") {\n\t\treturn defaultExport;\n\t}\n\treturn undefined;\n}\n\n/**\n * Emits declarations with the in-process TypeScript compiler API (TypeScript 5/6).\n */\nasync function emitWithCompilerApi(\n\tts: TypeScript,\n\tjsEntries: [string, string][]\n): Promise<Record<string, string>> {\n\tconst virtualRoot = path.join(process.cwd(), \"__paraglide_virtual_output\");\n\tconst normalizeFileName = (fileName: string) =>\n\t\tpath.normalize(\n\t\t\tpath.isAbsolute(fileName) ? fileName : path.join(virtualRoot, fileName)\n\t\t);\n\n\tconst files = new Map(\n\t\tjsEntries.map(([fileName, content]) => [\n\t\t\tnormalizeFileName(fileName),\n\t\t\tcontent,\n\t\t])\n\t);\n\tconst quotedExportAliases = collectQuotedExportAliases(ts, files);\n\n\tconst virtualDirectories = new Set(\n\t\tArray.from(files.keys()).flatMap((filePath) => {\n\t\t\tconst directories: string[] = [];\n\t\t\tlet current = path.dirname(filePath);\n\t\t\twhile (current.startsWith(virtualRoot) && current !== virtualRoot) {\n\t\t\t\tdirectories.push(current);\n\t\t\t\tconst parent = path.dirname(current);\n\t\t\t\tif (parent === current) break;\n\t\t\t\tcurrent = parent;\n\t\t\t}\n\t\t\treturn directories;\n\t\t})\n\t);\n\t// Ensure the virtual root itself is treated as existing\n\tvirtualDirectories.add(virtualRoot);\n\n\tconst compilerOptions: import(\"typescript\").CompilerOptions = {\n\t\tallowJs: true,\n\t\tcheckJs: true,\n\t\tdeclaration: true,\n\t\temitDeclarationOnly: true,\n\t\tisolatedDeclarations: true,\n\t\tesModuleInterop: true,\n\t\tlib: [\"ESNext\", \"DOM\"],\n\t\tmodule: ts.ModuleKind.ESNext,\n\t\tmoduleResolution: ts.ModuleResolutionKind.Bundler,\n\t\tnoEmitOnError: false,\n\t\toutDir: virtualRoot,\n\t\trootDir: virtualRoot,\n\t\tskipLibCheck: true,\n\t\ttarget: ts.ScriptTarget.ESNext,\n\t};\n\n\tconst defaultHost = ts.createCompilerHost(compilerOptions, true);\n\tconst declarations: Record<string, string> = {};\n\n\tconst host: import(\"typescript\").CompilerHost = {\n\t\t...defaultHost,\n\t\tfileExists: (fileName) => {\n\t\t\tconst normalized = normalizeFileName(fileName);\n\t\t\treturn files.has(normalized) || defaultHost.fileExists(fileName);\n\t\t},\n\t\tdirectoryExists: (directoryName) => {\n\t\t\tconst normalized = normalizeFileName(directoryName);\n\t\t\treturn (\n\t\t\t\tvirtualDirectories.has(normalized) ||\n\t\t\t\tdefaultHost.directoryExists?.(directoryName) === true\n\t\t\t);\n\t\t},\n\t\tgetDirectories: (directoryName) => {\n\t\t\tconst normalized = normalizeFileName(directoryName);\n\t\t\tconst children = Array.from(virtualDirectories).filter(\n\t\t\t\t(dir) => path.dirname(dir) === normalized\n\t\t\t);\n\t\t\treturn [\n\t\t\t\t...(defaultHost.getDirectories?.(directoryName) ?? []),\n\t\t\t\t...children.map((dir) => path.basename(dir)),\n\t\t\t];\n\t\t},\n\t\treadFile: (fileName) => {\n\t\t\tconst normalized = normalizeFileName(fileName);\n\t\t\treturn files.get(normalized) ?? defaultHost.readFile(fileName);\n\t\t},\n\t\tgetSourceFile: (\n\t\t\tfileName,\n\t\t\tlanguageVersion,\n\t\t\tonError,\n\t\t\tshouldCreateNewFile\n\t\t) => {\n\t\t\tconst normalized = normalizeFileName(fileName);\n\t\t\tconst sourceText = files.get(normalized);\n\t\t\tif (sourceText !== undefined) {\n\t\t\t\treturn ts.createSourceFile(fileName, sourceText, languageVersion, true);\n\t\t\t}\n\t\t\treturn defaultHost.getSourceFile(\n\t\t\t\tfileName,\n\t\t\t\tlanguageVersion,\n\t\t\t\tonError,\n\t\t\t\tshouldCreateNewFile\n\t\t\t);\n\t\t},\n\t\twriteFile: (fileName, text) => {\n\t\t\tconst relativePath = path\n\t\t\t\t.relative(virtualRoot, fileName)\n\t\t\t\t.split(path.sep)\n\t\t\t\t.join(path.posix.sep);\n\n\t\t\tif (!relativePath.startsWith(\"..\")) {\n\t\t\t\tdeclarations[relativePath] = text;\n\t\t\t}\n\t\t},\n\t};\n\n\tconst program = ts.createProgram(\n\t\tArray.from(files.keys()),\n\t\tcompilerOptions,\n\t\thost\n\t);\n\n\tprogram.emit(undefined, undefined, undefined, true, {\n\t\tafterDeclarations: [\n\t\t\tcreateQuotedExportAliasTransformer(\n\t\t\t\tts,\n\t\t\t\tquotedExportAliases,\n\t\t\t\tnormalizeFileName\n\t\t\t),\n\t\t],\n\t});\n\n\treturn declarations;\n}\n\nconst failedToEmitWithTscMessage = `Paraglide's \"emitTsDeclarations\" option failed to generate declaration files with the installed TypeScript version.\n\nTypeScript 7+ no longer provides the in-process compiler API, so Paraglide invokes its \"tsc\" CLI instead — which did not produce a declaration file for every compiled file. As a workaround, install TypeScript 5 or 6, or disable \"emitTsDeclarations\".`;\n\n/**\n * Emits declarations by invoking the `tsc` CLI of the installed TypeScript\n * package (TypeScript 7+, where the in-process compiler API is unavailable).\n *\n * The compiled output is written to a temporary directory because the\n * Go-based compiler cannot read from a virtual filesystem.\n */\nasync function emitWithTscCli(\n\tjsEntries: [string, string][]\n): Promise<Record<string, string>> {\n\t// entries escaping the output root cannot be declared safely; the\n\t// compiler-API path silently drops them too (see the writeFile hook).\n\t// Checked against both separator conventions because path.join interprets\n\t// backslashes on Windows (`foo\\..\\..\\x.js` would escape the temp dir).\n\tconst safeEntries = jsEntries.filter(([fileName]) =>\n\t\t[path.posix, path.win32].every((platformPath) => {\n\t\t\tconst normalized = platformPath.normalize(fileName);\n\t\t\treturn (\n\t\t\t\tnormalized.startsWith(\"..\") === false &&\n\t\t\t\tplatformPath.isAbsolute(normalized) === false\n\t\t\t);\n\t\t})\n\t);\n\n\t// resolved before spawning so a missing tsc entry point surfaces its own\n\t// pointed error instead of the generic \"no declaration files\" one\n\tconst tscJsPath = resolveTscJsPath();\n\n\tconst tempDir = await fs.mkdtemp(path.join(os.tmpdir(), \"paraglide-dts-\"));\n\n\ttry {\n\t\tconst srcDir = path.join(tempDir, \"src\");\n\t\tconst outDir = path.join(tempDir, \"dist\");\n\t\tawait fs.mkdir(outDir, { recursive: true });\n\n\t\tfor (const [fileName, content] of safeEntries) {\n\t\t\tconst filePath = path.join(srcDir, fileName);\n\t\t\tawait fs.mkdir(path.dirname(filePath), { recursive: true });\n\t\t\tawait fs.writeFile(filePath, content);\n\t\t}\n\n\t\tconst tsconfigPath = path.join(tempDir, \"tsconfig.json\");\n\t\tawait fs.writeFile(\n\t\t\ttsconfigPath,\n\t\t\tJSON.stringify({\n\t\t\t\tcompilerOptions: {\n\t\t\t\t\tallowJs: true,\n\t\t\t\t\tcheckJs: true,\n\t\t\t\t\tdeclaration: true,\n\t\t\t\t\temitDeclarationOnly: true,\n\t\t\t\t\tesModuleInterop: true,\n\t\t\t\t\tlib: [\"ESNext\", \"DOM\"],\n\t\t\t\t\tmodule: \"ESNext\",\n\t\t\t\t\tmoduleResolution: \"bundler\",\n\t\t\t\t\t// Declaration emit does not need a typecheck; skipping it also\n\t\t\t\t\t// suppresses diagnostics about the project's environment (e.g.\n\t\t\t\t\t// a missing @types/node) that are irrelevant to the output.\n\t\t\t\t\tnoCheck: true,\n\t\t\t\t\tnoEmitOnError: false,\n\t\t\t\t\toutDir: \"./dist\",\n\t\t\t\t\trootDir: \"./src\",\n\t\t\t\t\tskipLibCheck: true,\n\t\t\t\t\ttarget: \"ESNext\",\n\t\t\t\t},\n\t\t\t\tfiles: safeEntries.map(([fileName]) => `./src/${fileName}`),\n\t\t\t})\n\t\t);\n\n\t\tlet tscError: unknown;\n\t\ttry {\n\t\t\tawait execFileAsync(\n\t\t\t\tprocess.execPath,\n\t\t\t\t[tscJsPath, \"--project\", tsconfigPath],\n\t\t\t\t{\n\t\t\t\t\tmaxBuffer: 64 * 1024 * 1024,\n\t\t\t\t\t// Electron-based hosts must execute tsc with their embedded\n\t\t\t\t\t// Node instead of launching another instance of the host app.\n\t\t\t\t\t// Harmless under node and bun.\n\t\t\t\t\tenv: { ...process.env, ELECTRON_RUN_AS_NODE: \"1\" },\n\t\t\t\t}\n\t\t\t);\n\t\t} catch (error) {\n\t\t\t// tsc exits non-zero when the input has diagnostics even though the\n\t\t\t// declaration files are still emitted (noEmitOnError is false).\n\t\t\t// Success is judged by the presence of declaration files below.\n\t\t\ttscError = error;\n\t\t}\n\n\t\tconst declarations: Record<string, string> = {};\n\n\t\tfor (const entry of await fs.readdir(outDir, { recursive: true })) {\n\t\t\tif (entry.endsWith(\".d.ts\")) {\n\t\t\t\tdeclarations[entry.split(path.sep).join(path.posix.sep)] =\n\t\t\t\t\tawait fs.readFile(path.join(outDir, entry), \"utf-8\");\n\t\t\t}\n\t\t}\n\n\t\t// tsc emits exactly one .d.ts per input .js (even for inputs with\n\t\t// syntax errors), so a count mismatch means the compiler died mid-emit\n\t\t// and the result would be silently incomplete.\n\t\tif (Object.keys(declarations).length !== safeEntries.length) {\n\t\t\tthrow new Error(withTscOutput(failedToEmitWithTscMessage, tscError), {\n\t\t\t\tcause: tscError,\n\t\t\t});\n\t\t}\n\n\t\treturn declarations;\n\t} finally {\n\t\tawait fs.rm(tempDir, { recursive: true, force: true });\n\t}\n}\n\n/**\n * Appends the spawned compiler's output to the error message.\n *\n * tsc writes diagnostics to stdout, which `execFile` errors expose only as a\n * property — not in the message — so error reporters that print only\n * message/stack would otherwise hide the reason the emit failed.\n */\nfunction withTscOutput(message: string, tscError: unknown): string {\n\tconst { stdout, stderr } = (tscError ?? {}) as {\n\t\tstdout?: unknown;\n\t\tstderr?: unknown;\n\t};\n\tconst output = [stdout, stderr]\n\t\t.filter((value): value is string => typeof value === \"string\")\n\t\t.join(\"\\n\")\n\t\t.trim();\n\tif (output === \"\") {\n\t\treturn message;\n\t}\n\tconst truncated =\n\t\toutput.length > 4000 ? output.slice(0, 4000) + \"\\n… (truncated)\" : output;\n\treturn `${message}\\n\\nCompiler output:\\n${truncated}`;\n}\n\ntype QuotedExportAliases = Map<string, Map<string, Set<string>>>;\n\nfunction collectQuotedExportAliases(\n\tts: TypeScript,\n\tfiles: Map<string, string>\n): QuotedExportAliases {\n\tconst aliases: QuotedExportAliases = new Map();\n\n\tfor (const [fileName, content] of files) {\n\t\tconst sourceFile = ts.createSourceFile(\n\t\t\tfileName,\n\t\t\tcontent,\n\t\t\tts.ScriptTarget.ESNext,\n\t\t\ttrue,\n\t\t\tts.ScriptKind.JS\n\t\t);\n\t\tconst fileAliases = new Map<string, Set<string>>();\n\n\t\tconst visit = (node: import(\"typescript\").Node) => {\n\t\t\tif (\n\t\t\t\tts.isExportDeclaration(node) &&\n\t\t\t\tnode.exportClause &&\n\t\t\t\tts.isNamedExports(node.exportClause)\n\t\t\t) {\n\t\t\t\tfor (const specifier of node.exportClause.elements) {\n\t\t\t\t\tif (ts.isStringLiteral(specifier.name)) {\n\t\t\t\t\t\tconst localName = moduleExportNameText(\n\t\t\t\t\t\t\tspecifier.propertyName ?? specifier.name\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst exportedName = specifier.name.text;\n\t\t\t\t\t\tconst localAliases =\n\t\t\t\t\t\t\tfileAliases.get(localName) ?? new Set<string>();\n\t\t\t\t\t\tlocalAliases.add(exportedName);\n\t\t\t\t\t\tfileAliases.set(localName, localAliases);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tts.forEachChild(node, visit);\n\t\t};\n\n\t\tvisit(sourceFile);\n\n\t\tif (fileAliases.size > 0) {\n\t\t\taliases.set(fileName, fileAliases);\n\t\t}\n\t}\n\n\treturn aliases;\n}\n\nfunction createQuotedExportAliasTransformer(\n\tts: TypeScript,\n\tquotedExportAliases: QuotedExportAliases,\n\tnormalizeFileName: (fileName: string) => string\n): import(\"typescript\").TransformerFactory<\n\timport(\"typescript\").SourceFile | import(\"typescript\").Bundle\n> {\n\treturn (context) => {\n\t\tconst visitSourceFile = (sourceFile: import(\"typescript\").SourceFile) => {\n\t\t\tconst fileAliases = quotedExportAliases.get(\n\t\t\t\tnormalizeFileName(sourceFile.fileName)\n\t\t\t);\n\n\t\t\tif (!fileAliases) {\n\t\t\t\treturn sourceFile;\n\t\t\t}\n\n\t\t\tconst visit = (\n\t\t\t\tnode: import(\"typescript\").Node\n\t\t\t): import(\"typescript\").VisitResult<import(\"typescript\").Node> => {\n\t\t\t\tif (\n\t\t\t\t\tts.isExportDeclaration(node) &&\n\t\t\t\t\tnode.exportClause &&\n\t\t\t\t\tts.isNamedExports(node.exportClause)\n\t\t\t\t) {\n\t\t\t\t\tconst elements: import(\"typescript\").ExportSpecifier[] = [];\n\t\t\t\t\tconst emitted = new Set<string>();\n\n\t\t\t\t\tfor (const specifier of node.exportClause.elements) {\n\t\t\t\t\t\tconst localName = moduleExportNameText(\n\t\t\t\t\t\t\tspecifier.propertyName ?? specifier.name\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst exportedName = moduleExportNameText(specifier.name);\n\t\t\t\t\t\tconst shouldQuote = fileAliases.get(localName)?.has(exportedName);\n\t\t\t\t\t\tconst nextSpecifier = shouldQuote\n\t\t\t\t\t\t\t? ts.factory.updateExportSpecifier(\n\t\t\t\t\t\t\t\t\tspecifier,\n\t\t\t\t\t\t\t\t\tspecifier.isTypeOnly,\n\t\t\t\t\t\t\t\t\tspecifier.propertyName,\n\t\t\t\t\t\t\t\t\tts.factory.createStringLiteral(exportedName)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t: specifier;\n\t\t\t\t\t\tconst emittedKey = `${moduleExportNameText(\n\t\t\t\t\t\t\tnextSpecifier.propertyName ?? nextSpecifier.name\n\t\t\t\t\t\t)}\\0${moduleExportNameText(nextSpecifier.name)}`;\n\n\t\t\t\t\t\tif (!emitted.has(emittedKey)) {\n\t\t\t\t\t\t\telements.push(nextSpecifier);\n\t\t\t\t\t\t\temitted.add(emittedKey);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn ts.factory.updateExportDeclaration(\n\t\t\t\t\t\tnode,\n\t\t\t\t\t\tnode.modifiers,\n\t\t\t\t\t\tnode.isTypeOnly,\n\t\t\t\t\t\tts.factory.updateNamedExports(node.exportClause, elements),\n\t\t\t\t\t\tnode.moduleSpecifier,\n\t\t\t\t\t\tnode.attributes\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn ts.visitEachChild(node, visit, context);\n\t\t\t};\n\n\t\t\treturn ts.visitEachChild(sourceFile, visit, context);\n\t\t};\n\n\t\treturn (sourceFileOrBundle) => {\n\t\t\tif (\"fileName\" in sourceFileOrBundle) {\n\t\t\t\treturn visitSourceFile(sourceFileOrBundle);\n\t\t\t}\n\t\t\treturn sourceFileOrBundle;\n\t\t};\n\t};\n}\n\nfunction moduleExportNameText(name: import(\"typescript\").ModuleExportName) {\n\treturn name.text;\n}\n\nasync function importTypeScript(): Promise<TypeScript> {\n\ttry {\n\t\treturn await import(\"typescript\");\n\t} catch (cause) {\n\t\tif (isMissingTypeScriptPackageError(cause)) {\n\t\t\tthrow new Error(missingTypeScriptMessage);\n\t\t}\n\t\tthrow new Error(failedToLoadTypeScriptMessage, { cause });\n\t}\n}\n\nfunction isMissingTypeScriptPackageError(cause: unknown): boolean {\n\tif (cause instanceof Error === false) {\n\t\treturn false;\n\t}\n\tif (\"code\" in cause && cause.code !== \"ERR_MODULE_NOT_FOUND\") {\n\t\treturn false;\n\t}\n\treturn cause.message.includes(\"Cannot find package 'typescript'\");\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit-ts-declarations.test.js","sourceRoot":"","sources":["../../src/compiler/emit-ts-declarations.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"emit-ts-declarations.test.js","sourceRoot":"","sources":["../../src/compiler/emit-ts-declarations.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { beforeEach, expect, test, vi } from \"vitest\";\nimport { createProject as typescriptProject, ts } from \"@ts-morph/bootstrap\";\nimport {\n\ttype BundleNested,\n\tinsertBundleNested,\n\tloadProjectInMemory,\n\tnewProject,\n} from \"@inlang/sdk\";\nimport { createRequire } from \"node:module\";\nimport path from \"node:path\";\nimport { compileProject } from \"./compile-project.js\";\n\n// TypeScript 7 (the Go-based compiler, npm `latest` since 7.0.2) no longer\n// ships the in-process compiler API. Its main entry point only exports\n// `version` and `versionMajorMinor` — no `createProgram`, no `ScriptTarget`,\n// no `ModuleKind`. Emitting declarations must go through the `tsc` CLI\n// instead. https://github.com/opral/paraglide-js/issues/711\n//\n// The repo's own `typescript` dev dependency stays on 5.x for the existing\n// tests; this file swaps in the aliased TypeScript 7 package to simulate a\n// user who upgraded.\n//\n// Note: vitest wraps factory mocks in a proxy that throws on missing exports.\n// The real TypeScript 7 module returns `undefined` for them instead, so the\n// classic compiler API surface is stubbed out explicitly to mirror that.\nvi.mock(\"typescript\", async () => {\n\tconst actual =\n\t\tawait vi.importActual<typeof import(\"typescript-go\")>(\"typescript-go\");\n\treturn {\n\t\t...actual,\n\t\tcreateProgram: undefined,\n\t\tcreateCompilerHost: undefined,\n\t\tcreateSourceFile: undefined,\n\t\tScriptTarget: undefined,\n\t\tScriptKind: undefined,\n\t\tModuleKind: undefined,\n\t\tModuleResolutionKind: undefined,\n\t};\n});\n\n// In production, the `typescript` module and the `tsc` CLI resolve to the\n// same package. In this test the module is mocked with the TypeScript 7\n// alias, so the CLI resolution must point at that alias too — otherwise it\n// would find the repo's TypeScript 5 dev dependency. Mutable so the error\n// path can be tested with a broken resolution.\nconst tscResolution = vi.hoisted(() => ({ tscJsPath: \"\" }));\n\nvi.mock(\"./resolve-tsc-js-path.js\", () => ({\n\tresolveTscJsPath: () => tscResolution.tscJsPath,\n}));\n\nconst typescriptGoTscJsPath = path.join(\n\tpath.dirname(\n\t\tcreateRequire(import.meta.url).resolve(\"typescript-go/package.json\")\n\t),\n\t\"lib\",\n\t\"tsc.js\"\n);\n\nbeforeEach(() => {\n\ttscResolution.tscJsPath = typescriptGoTscJsPath;\n});\n\nasync function newProjectWithMessages() {\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\t// a message id that is not a valid JS identifier -> quoted export alias\n\tconst quotedAliasBundle: BundleNested = {\n\t\tid: \"greeting.hello\",\n\t\tdeclarations: [],\n\t\tmessages: [\n\t\t\t{\n\t\t\t\tid: \"greeting.hello_en\",\n\t\t\t\tbundleId: \"greeting.hello\",\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: \"greeting.hello_en_variant\",\n\t\t\t\t\t\tmessageId: \"greeting.hello\",\n\t\t\t\t\t\tmatches: [],\n\t\t\t\t\t\tpattern: [{ type: \"text\", value: \"Hello\" }],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t};\n\n\t// a message with an input so the declarations carry a typed parameter\n\tconst parameterizedBundle: BundleNested = {\n\t\tid: \"balance\",\n\t\tdeclarations: [{ type: \"input-variable\", name: \"amount\" }],\n\t\tmessages: [\n\t\t\t{\n\t\t\t\tid: \"balance_en\",\n\t\t\t\tbundleId: \"balance\",\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: \"balance_en_variant\",\n\t\t\t\t\t\tmessageId: \"balance\",\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: \"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: \"amount\" },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{ type: \"text\", value: \" coins.\" },\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\tawait insertBundleNested(project.db, quotedAliasBundle);\n\tawait insertBundleNested(project.db, parameterizedBundle);\n\treturn project;\n}\n\ntest(\"emitTsDeclarations works with TypeScript 7 (tsgo)\", async () => {\n\tconst project = await newProjectWithMessages();\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\t// path-traversing keys (incl. Windows separators) must be\n\t\t\t\t// silently skipped like on the compiler-API path — neither\n\t\t\t\t// escaping the temp dir nor failing the completeness check\n\t\t\t\tadditionalFiles: {\n\t\t\t\t\t\"../escape.js\": \"export const escape = 1;\",\n\t\t\t\t\t\"foo\\\\..\\\\..\\\\escape.js\": \"export const escape = 1;\",\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\n\t\texpect(output[\"../escape.d.ts\"]).toBeUndefined();\n\t\texpect(output[\"foo\\\\..\\\\..\\\\escape.d.ts\"]).toBeUndefined();\n\n\t\texpect(output).toHaveProperty(\"runtime.d.ts\");\n\t\texpect(output).toHaveProperty(\"messages.d.ts\");\n\t\texpect(output).toHaveProperty(\"registry.d.ts\");\n\t\texpect(output[\"runtime.d.ts\"]).toContain(\"getLocale\");\n\n\t\t// TypeScript 5's declaration emitter drops the quotes around export\n\t\t// aliases that are not valid identifiers (worked around by a custom\n\t\t// transformer on the compiler-API path); tsgo emits them correctly.\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(`as \"greeting.hello\"`);\n\n\t\t// the emitted declarations must typecheck for a consumer\n\t\t// (@ts-morph/bootstrap bundles its own compiler and is unaffected\n\t\t// by the TypeScript 7 mock above)\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, balance } from \"./messages.js\";\n\n\t\t\t\tgreetingHello() satisfies string;\n\t\t\t\tbalance({ amount: 5 }) 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(\"emitTsDeclarations throws a descriptive error when the tsc CLI produces no declarations\", async () => {\n\ttscResolution.tscJsPath = path.join(\n\t\tpath.dirname(typescriptGoTscJsPath),\n\t\t\"does-not-exist.js\"\n\t);\n\n\tconst project = await newProjectWithMessages();\n\n\tawait expect(\n\t\tcompileProject({\n\t\t\tproject,\n\t\t\tcompilerOptions: {\n\t\t\t\temitTsDeclarations: true,\n\t\t\t},\n\t\t})\n\t).rejects.toThrow(/did not produce a declaration file for every compiled/);\n});\n"]}
|
package/dist/compiler/index.d.ts
CHANGED
|
@@ -9,4 +9,3 @@ export { compileMessage } from "./compile-message.js";
|
|
|
9
9
|
export { compilePattern } from "./compile-pattern.js";
|
|
10
10
|
export { writeOutput } from "../services/file-handling/write-output.js";
|
|
11
11
|
export { createParaglide } from "./create-paraglide.js";
|
|
12
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/compiler/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,sBAAsB,GAEtB,MAAM,uBAAuB,CAAC;AAgB/B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/compiler/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,sBAAsB,GAEtB,MAAM,uBAAuB,CAAC;AAgB/B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC","sourcesContent":["export {\n\tdefaultCompilerOptions,\n\ttype CompilerOptions,\n} from \"./compiler-options.js\";\nexport type {\n\tLocalizedString,\n\tMessagePart,\n\tMessageMarkupAttribute,\n\tMessageMarkupOption,\n\tMessageMarkupAttributes,\n\tMessageMarkupOptions,\n\tMessageMarkupTag,\n\tMessageMarkupSchema,\n\tMessageMetadata,\n\tMessageBundleFunction,\n\tMessageFunction,\n} from \"./types.js\";\nexport type { Runtime } from \"./runtime/type.js\";\nexport type { ServerRuntime } from \"./server/type.js\";\nexport { compile } from \"./compile.js\";\nexport { compileProject } from \"./compile-project.js\";\nexport { compileBundle } from \"./compile-bundle.js\";\nexport { compileMessage } from \"./compile-message.js\";\nexport { compilePattern } from \"./compile-pattern.js\";\nexport { writeOutput } from \"../services/file-handling/write-output.js\";\nexport { createParaglide } from \"./create-paraglide.js\";\n"]}
|
|
@@ -19,4 +19,3 @@ export declare function jsDocBundleFunctionTypes(args: {
|
|
|
19
19
|
*/
|
|
20
20
|
export declare function inputsType(inputs: InputVariable[], matchTypes?: InputMatchTypes): string;
|
|
21
21
|
export declare function inputTypeForName(name: string, matchTypes?: InputMatchTypes): string;
|
|
22
|
-
//# sourceMappingURL=jsdoc-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsdoc-types.js","sourceRoot":"","sources":["../../src/compiler/jsdoc-types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAO3E,MAAM,UAAU,wBAAwB,CAAC,IAKxC;IACA,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7E,MAAM,SAAS,GACd,IAAI,CAAC,iBAAiB,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAEpE,OAAO;YACI,SAAS;uBACE,YAAY;6BACN,CAAC;AAC9B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CACzB,MAAuB,EACvB,UAA4B;IAE5B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,2FAA2F;IAC3F,MAAM,cAAc,GAAG,IAAI,GAAG,EAAyB,CAAC;IAExD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;IAEzD,MAAM,WAAW,GAAG,YAAY;SAC9B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACd,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC;YACzC,CAAC,CAAC,KAAK,CAAC,IAAI;YACZ,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,GAAG,IAAI,KAAK,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;IAC/D,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO,KAAK,WAAW,IAAI,CAAC;AAC7B,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY,EAAE,UAA4B;IACnE,IAAI,CAAC,UAAU;QAAE,OAAO,sBAAsB,CAAC;IAE/C,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,CAAC,IAAI;QAAE,OAAO,sBAAsB,CAAC;IACzC,IAAI,IAAI,CAAC,WAAW;QAAE,OAAO,sBAAsB,CAAC;IAEpD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,sBAAsB,CAAC;IAEzD,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChB,OAAO,QAAQ;SACb,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC;SACvD,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;SACjE,IAAI,CAAC,KAAK,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC/B,IAAY,EACZ,UAA4B;IAE5B,OAAO,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAC3C,CAAC"}
|
|
1
|
+
{"version":3,"file":"jsdoc-types.js","sourceRoot":"","sources":["../../src/compiler/jsdoc-types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAO3E,MAAM,UAAU,wBAAwB,CAAC,IAKxC;IACA,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7E,MAAM,SAAS,GACd,IAAI,CAAC,iBAAiB,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAEpE,OAAO;YACI,SAAS;uBACE,YAAY;6BACN,CAAC;AAC9B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CACzB,MAAuB,EACvB,UAA4B;IAE5B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,2FAA2F;IAC3F,MAAM,cAAc,GAAG,IAAI,GAAG,EAAyB,CAAC;IAExD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;IAEzD,MAAM,WAAW,GAAG,YAAY;SAC9B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACd,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC;YACzC,CAAC,CAAC,KAAK,CAAC,IAAI;YACZ,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,GAAG,IAAI,KAAK,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;IAC/D,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO,KAAK,WAAW,IAAI,CAAC;AAC7B,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY,EAAE,UAA4B;IACnE,IAAI,CAAC,UAAU;QAAE,OAAO,sBAAsB,CAAC;IAE/C,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,CAAC,IAAI;QAAE,OAAO,sBAAsB,CAAC;IACzC,IAAI,IAAI,CAAC,WAAW;QAAE,OAAO,sBAAsB,CAAC;IAEpD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,sBAAsB,CAAC;IAEzD,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChB,OAAO,QAAQ;SACb,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC;SACvD,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;SACjE,IAAI,CAAC,KAAK,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC/B,IAAY,EACZ,UAA4B;IAE5B,OAAO,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAC3C,CAAC","sourcesContent":["import type { InputVariable } from \"@inlang/sdk\";\nimport { renderInputMatchTypeVariants } from \"./match-literals.js\";\nimport { isValidIdentifier, quotePropertyKey } from \"./variable-access.js\";\n\nexport type InputMatchTypes = Map<\n\tstring,\n\t{ literals: Set<string>; hasCatchAll: boolean }\n>;\n\nexport function jsDocBundleFunctionTypes(args: {\n\tinputs: InputVariable[];\n\tlocales: string[];\n\tmatchTypes?: InputMatchTypes;\n\tinputTypeOverride?: string;\n}): string {\n\tconst localesUnion = args.locales.map((locale) => `\"${locale}\"`).join(\" | \");\n\tconst inputType =\n\t\targs.inputTypeOverride ?? inputsType(args.inputs, args.matchTypes);\n\n\treturn `\n* @param {${inputType}} inputs\n* @param {{ locale?: ${localesUnion} }} options\n* @returns {LocalizedString}`;\n}\n\n/**\n * Returns the types for the input variables.\n *\n * @example\n * const inputs = [{ name: \"age\" }]\n * inputsType(inputs)\n * >> \"{ age: NonNullable<unknown> }\"\n */\nexport function inputsType(\n\tinputs: InputVariable[],\n\tmatchTypes?: InputMatchTypes\n): string {\n\tif (inputs.length === 0) {\n\t\treturn \"{}\";\n\t}\n\n\t// Deduplicate inputs by name to avoid TypeScript errors with duplicate properties in JSDoc\n\tconst uniqueInputMap = new Map<string, InputVariable>();\n\n\tfor (const input of inputs) {\n\t\tuniqueInputMap.set(input.name, input);\n\t}\n\n\tconst uniqueInputs = Array.from(uniqueInputMap.values());\n\n\tconst inputParams = uniqueInputs\n\t\t.map((input) => {\n\t\t\tconst name = isValidIdentifier(input.name)\n\t\t\t\t? input.name\n\t\t\t\t: quotePropertyKey(input.name);\n\t\t\treturn `${name}: ${resolveInputType(input.name, matchTypes)}`;\n\t\t})\n\t\t.join(\", \");\n\treturn `{ ${inputParams} }`;\n}\n\nfunction resolveInputType(name: string, matchTypes?: InputMatchTypes): string {\n\tif (!matchTypes) return \"NonNullable<unknown>\";\n\n\tconst info = matchTypes.get(name);\n\tif (!info) return \"NonNullable<unknown>\";\n\tif (info.hasCatchAll) return \"NonNullable<unknown>\";\n\n\tconst literals = Array.from(info.literals);\n\tif (literals.length === 0) return \"NonNullable<unknown>\";\n\n\tliterals.sort();\n\treturn literals\n\t\t.flatMap((value) => renderInputMatchTypeVariants(value))\n\t\t.filter((value, index, values) => values.indexOf(value) === index)\n\t\t.join(\" | \");\n}\n\nexport function inputTypeForName(\n\tname: string,\n\tmatchTypes?: InputMatchTypes\n): string {\n\treturn resolveInputType(name, matchTypes);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsdoc-types.test.js","sourceRoot":"","sources":["../../src/compiler/jsdoc-types.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"jsdoc-types.test.js","sourceRoot":"","sources":["../../src/compiler/jsdoc-types.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAGxE,IAAI,CAAC,6FAA6F,EAAE,GAAG,EAAE;IACxG,wGAAwG;IACxG,MAAM,MAAM,GAAoB;QAC/B,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE;QACxC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,mBAAmB;KAC7D,CAAC;IAEF,mEAAmE;IACnE,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAEtD,+CAA+C;IAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CACtB,4DAA4D,CAC5D,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;IACzD,MAAM,MAAM,GAAoB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAE5E,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAElC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2EAA2E,EAAE,GAAG,EAAE;IACtF,MAAM,MAAM,GAAoB;QAC/B,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE;QACxC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,mBAAmB;KAC7D,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAEnC,MAAM,MAAM,GAAG,wBAAwB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAE7D,oDAAoD;IACpD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,gDAAgD,CAAC,CAAC;IAE3E,8CAA8C;IAC9C,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAC3B,4EAA4E,CAC5E,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uDAAuD,EAAE,GAAG,EAAE;IAClE,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAE7B,MAAM,MAAM,GAAG,wBAAwB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAE7D,8DAA8D;IAC9D,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;IAEvD,oCAAoC;IACpC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kDAAkD,EAAE,GAAG,EAAE;IAC7D,MAAM,MAAM,GAAoB;QAC/B,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE;QACxC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE;KAC1C,CAAC;IAEF,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;QAC1B;YACC,MAAM;YACN;gBACC,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;gBACrD,WAAW,EAAE,KAAK;aAClB;SACD;QACD,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;KACxE,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAE9C,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAClB,wEAAwE,CACxE,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0EAA0E,EAAE,GAAG,EAAE;IACrF,MAAM,MAAM,GAAoB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAE5E,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;QAC1B;YACC,OAAO;YACP;gBACC,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC7B,WAAW,EAAE,KAAK;aAClB;SACD;KACD,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAE9C,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oEAAoE,EAAE,GAAG,EAAE;IAC/E,MAAM,MAAM,GAAoB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAE5E,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;QAC1B;YACC,OAAO;YACP;gBACC,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;gBAC5C,WAAW,EAAE,KAAK;aAClB;SACD;KACD,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAE9C,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oEAAoE,EAAE,GAAG,EAAE;IAC/E,MAAM,MAAM,GAAoB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAE3E,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;QAC1B,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;KAC/D,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAE9C,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yEAAyE,EAAE,GAAG,EAAE;IACpF,MAAM,MAAM,GAAoB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAE3E,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAElC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC","sourcesContent":["import { test, expect } from \"vitest\";\nimport { inputsType, jsDocBundleFunctionTypes } from \"./jsdoc-types.js\";\nimport type { InputVariable } from \"@inlang/sdk\";\n\ntest(\"inputsType generates unique parameter types even when the same input appears multiple times\", () => {\n\t// Simulate a case where the same input appears multiple times (like in a translation with placeholders)\n\tconst inputs: InputVariable[] = [\n\t\t{ name: \"days\", type: \"input-variable\" },\n\t\t{ name: \"days\", type: \"input-variable\" }, // Duplicated input\n\t];\n\n\t// The generated input type should only include each parameter once\n\tconst result = inputsType(inputs);\n\texpect(result).toBe(\"{ days: NonNullable<unknown> }\");\n\n\t// It should not generate a duplicate parameter\n\texpect(result).not.toBe(\n\t\t\"{ days: NonNullable<unknown>, days: NonNullable<unknown> }\"\n\t);\n});\n\ntest(\"inputsType quotes non-identifier input names\", () => {\n\tconst inputs: InputVariable[] = [{ name: \"half!\", type: \"input-variable\" }];\n\n\tconst result = inputsType(inputs);\n\n\texpect(result).toBe('{ \"half!\": NonNullable<unknown> }');\n});\n\ntest(\"jsDocBundleFunctionTypes correctly handles messages with duplicate inputs\", () => {\n\tconst inputs: InputVariable[] = [\n\t\t{ name: \"days\", type: \"input-variable\" },\n\t\t{ name: \"days\", type: \"input-variable\" }, // Duplicated input\n\t];\n\n\tconst locales = [\"en-us\", \"de-de\"];\n\n\tconst result = jsDocBundleFunctionTypes({ inputs, locales });\n\n\t// The JSDoc should only include each parameter once\n\texpect(result).toContain(\"@param {{ days: NonNullable<unknown> }} inputs\");\n\n\t// It should not contain duplicated parameters\n\texpect(result).not.toContain(\n\t\t\"@param {{ days: NonNullable<unknown>, days: NonNullable<unknown> }} inputs\"\n\t);\n});\n\ntest(\"jsDocBundleFunctionTypes returns LocalizedString type\", () => {\n\tconst inputs: InputVariable[] = [];\n\tconst locales = [\"en\", \"de\"];\n\n\tconst result = jsDocBundleFunctionTypes({ inputs, locales });\n\n\t// The JSDoc should specify LocalizedString as the return type\n\texpect(result).toContain(\"@returns {LocalizedString}\");\n\n\t// It should not return plain string\n\texpect(result).not.toContain(\"@returns {string}\");\n});\n\ntest(\"inputsType emits literal unions for match values\", () => {\n\tconst inputs: InputVariable[] = [\n\t\t{ name: \"type\", type: \"input-variable\" },\n\t\t{ name: \"status\", type: \"input-variable\" },\n\t];\n\n\tconst matchTypes = new Map([\n\t\t[\n\t\t\t\"type\",\n\t\t\t{\n\t\t\t\tliterals: new Set([\"invalid\", \"empty\", \"min_length\"]),\n\t\t\t\thasCatchAll: false,\n\t\t\t},\n\t\t],\n\t\t[\"status\", { literals: new Set([\"ready\", \"done\"]), hasCatchAll: false }],\n\t]);\n\n\tconst result = inputsType(inputs, matchTypes);\n\n\texpect(result).toBe(\n\t\t'{ type: \"empty\" | \"invalid\" | \"min_length\", status: \"done\" | \"ready\" }'\n\t);\n});\n\ntest(\"inputsType accepts both number and string forms for numeric match values\", () => {\n\tconst inputs: InputVariable[] = [{ name: \"input\", type: \"input-variable\" }];\n\n\tconst matchTypes = new Map([\n\t\t[\n\t\t\t\"input\",\n\t\t\t{\n\t\t\t\tliterals: new Set([\"1\", \"2\"]),\n\t\t\t\thasCatchAll: false,\n\t\t\t},\n\t\t],\n\t]);\n\n\tconst result = inputsType(inputs, matchTypes);\n\n\texpect(result).toBe('{ input: 1 | \"1\" | 2 | \"2\" }');\n});\n\ntest(\"inputsType widens infinity match values to number and string forms\", () => {\n\tconst inputs: InputVariable[] = [{ name: \"input\", type: \"input-variable\" }];\n\n\tconst matchTypes = new Map([\n\t\t[\n\t\t\t\"input\",\n\t\t\t{\n\t\t\t\tliterals: new Set([\"Infinity\", \"-Infinity\"]),\n\t\t\t\thasCatchAll: false,\n\t\t\t},\n\t\t],\n\t]);\n\n\tconst result = inputsType(inputs, matchTypes);\n\n\texpect(result).toBe('{ input: number | \"-Infinity\" | \"Infinity\" }');\n});\n\ntest(\"inputsType falls back to NonNullable<unknown> when catchall exists\", () => {\n\tconst inputs: InputVariable[] = [{ name: \"type\", type: \"input-variable\" }];\n\n\tconst matchTypes = new Map([\n\t\t[\"type\", { literals: new Set([\"invalid\"]), hasCatchAll: true }],\n\t]);\n\n\tconst result = inputsType(inputs, matchTypes);\n\n\texpect(result).toBe(\"{ type: NonNullable<unknown> }\");\n});\n\ntest(\"inputsType falls back to NonNullable<unknown> when no match info exists\", () => {\n\tconst inputs: InputVariable[] = [{ name: \"type\", type: \"input-variable\" }];\n\n\tconst result = inputsType(inputs);\n\n\texpect(result).toBe(\"{ type: NonNullable<unknown> }\");\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"match-literals.js","sourceRoot":"","sources":["../../src/compiler/match-literals.ts"],"names":[],"mappings":"AAAA,MAAM,gCAAgC,GAAG,mBAAmB,CAAC;AAC7D,MAAM,sBAAsB,GAAG,gBAAgB,CAAC;AAEhD,MAAM,UAAU,yBAAyB,CACxC,eAAuB,EACvB,YAAoB;IAEpB,MAAM,cAAc,GAAG,wBAAwB,CAAC,YAAY,CAAC,CAAC;IAE9D,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,GAAG,eAAe,QAAQ,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;IACjE,CAAC;IAED,OAAO,IAAI,eAAe,QAAQ,cAAc,OAAO,eAAe,QAAQ,IAAI,CAAC,SAAS,CAC3F,YAAY,CACZ,GAAG,CAAC;AACN,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,YAAoB;IAChE,MAAM,cAAc,GAAG,wBAAwB,CAAC,YAAY,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QAClC,QAAQ,CAAC,GAAG,CACX,cAAc,KAAK,UAAU,IAAI,cAAc,KAAK,WAAW;YAC9D,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,cAAc,CACjB,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IAE3C,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,wBAAwB,CAAC,YAAoB;IACrD,IACC,YAAY,CAAC,MAAM,KAAK,CAAC;QACzB,YAAY,CAAC,IAAI,EAAE,KAAK,YAAY;QACpC,gCAAgC,CAAC,IAAI,CAAC,YAAY,CAAC,EAClD,CAAC;QACF,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,IAAI,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/C,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,IAAI,YAAY,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IAEpC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/D,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;AACvB,CAAC"}
|
|
1
|
+
{"version":3,"file":"match-literals.js","sourceRoot":"","sources":["../../src/compiler/match-literals.ts"],"names":[],"mappings":"AAAA,MAAM,gCAAgC,GAAG,mBAAmB,CAAC;AAC7D,MAAM,sBAAsB,GAAG,gBAAgB,CAAC;AAEhD,MAAM,UAAU,yBAAyB,CACxC,eAAuB,EACvB,YAAoB;IAEpB,MAAM,cAAc,GAAG,wBAAwB,CAAC,YAAY,CAAC,CAAC;IAE9D,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,GAAG,eAAe,QAAQ,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;IACjE,CAAC;IAED,OAAO,IAAI,eAAe,QAAQ,cAAc,OAAO,eAAe,QAAQ,IAAI,CAAC,SAAS,CAC3F,YAAY,CACZ,GAAG,CAAC;AACN,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,YAAoB;IAChE,MAAM,cAAc,GAAG,wBAAwB,CAAC,YAAY,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QAClC,QAAQ,CAAC,GAAG,CACX,cAAc,KAAK,UAAU,IAAI,cAAc,KAAK,WAAW;YAC9D,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,cAAc,CACjB,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IAE3C,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,wBAAwB,CAAC,YAAoB;IACrD,IACC,YAAY,CAAC,MAAM,KAAK,CAAC;QACzB,YAAY,CAAC,IAAI,EAAE,KAAK,YAAY;QACpC,gCAAgC,CAAC,IAAI,CAAC,YAAY,CAAC,EAClD,CAAC;QACF,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,IAAI,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/C,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,IAAI,YAAY,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IAEpC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/D,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;AACvB,CAAC","sourcesContent":["const UNSUPPORTED_NUMERIC_MATCH_PREFIX = /^(0[bBoOxX]|NaN$)/;\nconst INFINITY_MATCH_LITERAL = /^[+]?Infinity$/;\n\nexport function renderInputMatchCondition(\n\tinputExpression: string,\n\tliteralValue: string\n): string {\n\tconst numericLiteral = parseNumericMatchLiteral(literalValue);\n\n\tif (numericLiteral === undefined) {\n\t\treturn `${inputExpression} === ${JSON.stringify(literalValue)}`;\n\t}\n\n\treturn `(${inputExpression} === ${numericLiteral} || ${inputExpression} === ${JSON.stringify(\n\t\tliteralValue\n\t)})`;\n}\n\nexport function renderInputMatchTypeVariants(literalValue: string): string[] {\n\tconst numericLiteral = parseNumericMatchLiteral(literalValue);\n\tconst variants = new Set<string>();\n\n\tif (numericLiteral !== undefined) {\n\t\tvariants.add(\n\t\t\tnumericLiteral === \"Infinity\" || numericLiteral === \"-Infinity\"\n\t\t\t\t? \"number\"\n\t\t\t\t: numericLiteral\n\t\t);\n\t}\n\n\tvariants.add(JSON.stringify(literalValue));\n\n\treturn Array.from(variants);\n}\n\nfunction parseNumericMatchLiteral(literalValue: string): string | undefined {\n\tif (\n\t\tliteralValue.length === 0 ||\n\t\tliteralValue.trim() !== literalValue ||\n\t\tUNSUPPORTED_NUMERIC_MATCH_PREFIX.test(literalValue)\n\t) {\n\t\treturn undefined;\n\t}\n\n\tif (INFINITY_MATCH_LITERAL.test(literalValue)) {\n\t\treturn \"Infinity\";\n\t}\n\n\tif (literalValue === \"-Infinity\") {\n\t\treturn \"-Infinity\";\n\t}\n\n\tconst parsed = Number(literalValue);\n\n\tif (!Number.isFinite(parsed)) {\n\t\treturn undefined;\n\t}\n\n\tif (Number.isInteger(parsed) && !Number.isSafeInteger(parsed)) {\n\t\treturn undefined;\n\t}\n\n\treturn String(parsed);\n}\n"]}
|
|
@@ -2,4 +2,3 @@ import type { ProjectSettings } from "@inlang/sdk";
|
|
|
2
2
|
import type { CompiledBundleWithMessages } from "../compile-bundle.js";
|
|
3
3
|
export declare function messageReferenceExpression(locale: string, bundleId: string): string;
|
|
4
4
|
export declare function generateOutput(compiledBundles: CompiledBundleWithMessages[], settings: Pick<ProjectSettings, "locales" | "baseLocale">, fallbackMap: Record<string, string | undefined>, experimentalMiddlewareLocaleSplitting?: boolean): Record<string, string>;
|
|
5
|
-
//# sourceMappingURL=locale-modules.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locale-modules.js","sourceRoot":"","sources":["../../../src/compiler/output-structure/locale-modules.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"locale-modules.js","sourceRoot":"","sources":["../../../src/compiler/output-structure/locale-modules.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ProjectSettings } from \"@inlang/sdk\";\nimport type { CompiledBundleWithMessages } from \"../compile-bundle.js\";\nimport { toSafeModuleId } from \"../safe-module-id.js\";\nimport { inputsType } from \"../jsdoc-types.js\";\nimport { toBundleInputTypeAliasName } from \"../compile-bundle.js\";\n\nconst localeImportPrefix = \"__\";\n\nexport function messageReferenceExpression(locale: string, bundleId: string) {\n\treturn `${localeImportPrefix}${toSafeModuleId(locale)}.${toSafeModuleId(bundleId)}`;\n}\n\nexport function generateOutput(\n\tcompiledBundles: CompiledBundleWithMessages[],\n\tsettings: Pick<ProjectSettings, \"locales\" | \"baseLocale\">,\n\tfallbackMap: Record<string, string | undefined>,\n\texperimentalMiddlewareLocaleSplitting = false\n): Record<string, string> {\n\tconst runtimeImport = experimentalMiddlewareLocaleSplitting\n\t\t? `import { getLocale, trackMessageCall, experimentalMiddlewareLocaleSplitting, isServer, experimentalStaticLocale } from \"../runtime.js\"`\n\t\t: `import { getLocale, experimentalStaticLocale } from \"../runtime.js\"`;\n\n\tconst indexFile = [\n\t\truntimeImport,\n\t\t\"\",\n\t\t`/** @typedef {import('../runtime.js').LocalizedString} LocalizedString */`,\n\t\t...compiledBundles.map((compiledBundle) => {\n\t\t\tconst bundleModuleId = toSafeModuleId(compiledBundle.bundle.node.id);\n\t\t\tconst inputTypeAliasName =\n\t\t\t\tcompiledBundle.inputTypeAliasName ??\n\t\t\t\ttoBundleInputTypeAliasName(bundleModuleId);\n\t\t\tconst inputs =\n\t\t\t\tcompiledBundle.bundle.node.declarations?.filter(\n\t\t\t\t\t(decl) => decl.type === \"input-variable\"\n\t\t\t\t) ?? [];\n\t\t\treturn `/** @typedef {${inputsType(inputs, compiledBundle.matchTypes)}} ${inputTypeAliasName} */`;\n\t\t}),\n\t\tsettings.locales\n\t\t\t.map(\n\t\t\t\t(locale) =>\n\t\t\t\t\t`import * as ${localeImportPrefix}${toSafeModuleId(locale)} from \"./${locale}.js\"`\n\t\t\t)\n\t\t\t.join(\"\\n\"),\n\t\tcompiledBundles.map(({ bundle }) => bundle.code).join(\"\\n\"),\n\t].join(\"\\n\");\n\n\tconst output: Record<string, string> = {\n\t\t[\"messages/_index.js\"]: indexFile,\n\t};\n\n\t// generate message files\n\tfor (const locale of settings.locales) {\n\t\tconst filename = `messages/${locale}.js`;\n\t\tlet file = \"\";\n\t\tconst inputTypeDefs: string[] = [];\n\t\tconst emittedInputTypeDefs = new Set<string>();\n\n\t\tfor (const compiledBundle of compiledBundles) {\n\t\t\tconst compiledMessage = compiledBundle.messages[locale];\n\t\t\tconst bundleModuleId = toSafeModuleId(compiledBundle.bundle.node.id);\n\t\t\tconst bundleId = compiledBundle.bundle.node.id;\n\t\t\tconst inputs =\n\t\t\t\tcompiledBundle.bundle.node.declarations?.filter(\n\t\t\t\t\t(decl) => decl.type === \"input-variable\"\n\t\t\t\t) ?? [];\n\t\t\tconst matchTypes = compiledBundle.matchTypes;\n\t\t\tconst inputTypeAliasName =\n\t\t\t\tcompiledBundle.inputTypeAliasName ??\n\t\t\t\ttoBundleInputTypeAliasName(bundleModuleId);\n\t\t\tif (!emittedInputTypeDefs.has(inputTypeAliasName)) {\n\t\t\t\tinputTypeDefs.push(\n\t\t\t\t\t`/** @typedef {${inputsType(inputs, matchTypes)}} ${inputTypeAliasName} */`\n\t\t\t\t);\n\t\t\t\temittedInputTypeDefs.add(inputTypeAliasName);\n\t\t\t}\n\t\t\tif (!compiledMessage) {\n\t\t\t\tconst fallbackLocale = fallbackMap[locale];\n\t\t\t\tif (fallbackLocale) {\n\t\t\t\t\t// use the fall back locale e.g. render the message in English if the German message is missing\n\t\t\t\t\tfile += `\\nexport { ${bundleModuleId} } from \"./${fallbackLocale}.js\"`;\n\t\t\t\t} else {\n\t\t\t\t\t// no fallback exists, render the bundleId\n\t\t\t\t\tfile += `\\n/** @type {(inputs: ${inputTypeAliasName}) => LocalizedString} */\\nexport const ${bundleModuleId} = () => /** @type {LocalizedString} */ ('${bundleId}')`;\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tfile += `\\n\\nexport const ${bundleModuleId} = ${compiledMessage.code}`;\n\t\t}\n\n\t\t// add import if used\n\t\tif (file.includes(\"registry.\")) {\n\t\t\tfile = `import * as registry from \"../registry.js\"\\n` + file;\n\t\t}\n\n\t\t// add LocalizedString typedef reference if used\n\t\tif (file.includes(\"LocalizedString\")) {\n\t\t\tconst inputTypeDefsBlock = inputTypeDefs.length\n\t\t\t\t? `${inputTypeDefs.join(\"\\n\")}\\n`\n\t\t\t\t: \"\";\n\t\t\tfile =\n\t\t\t\t`/** @typedef {import('../runtime.js').LocalizedString} LocalizedString */\\n` +\n\t\t\t\tinputTypeDefsBlock +\n\t\t\t\tfile;\n\t\t}\n\n\t\toutput[filename] = file;\n\t}\n\treturn output;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locale-modules.test.js","sourceRoot":"","sources":["../../../src/compiler/output-structure/locale-modules.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"locale-modules.test.js","sourceRoot":"","sources":["../../../src/compiler/output-structure/locale-modules.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EACN,cAAc,EACd,0BAA0B,GAC1B,MAAM,qBAAqB,CAAC;AAI7B,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACjD,MAAM,OAAO,GAAiC;QAC7C;YACC,MAAM,EAAE;gBACP,IAAI,EAAE,6BAA6B;gBACnC,IAAI,EAAE;oBACL,EAAE,EAAE,gBAAgB;iBACC;aACtB;YACD,QAAQ,EAAE;gBACT,EAAE,EAAE;oBACH,IAAI,EAAE,oCAAoC;oBAC1C,IAAI,EAAE,EAAwB;iBAC9B;gBACD,EAAE,EAAE;oBACH,IAAI,EAAE,mCAAmC;oBACzC,IAAI,EAAE,EAAwB;iBAC9B;aACD;YACD,UAAU,EAAE,IAAI,GAAG,EAAE;SACrB;KACD,CAAC;IAEF,MAAM,QAAQ,GAAoD;QACjE,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;QACrB,UAAU,EAAE,IAAI;KAChB,CAAC;IAEF,MAAM,WAAW,GAAuC;QACvD,EAAE,EAAE,IAAI;QACR,EAAE,EAAE,IAAI;KACR,CAAC;IAEF,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAE9D,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAChD,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAEhD,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CACzC,oCAAoC,CACpC,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+EAA+E,EAAE,GAAG,EAAE;IAC1F,MAAM,OAAO,GAAiC;QAC7C;YACC,MAAM,EAAE;gBACP,IAAI,EAAE,6BAA6B;gBACnC,IAAI,EAAE;oBACL,EAAE,EAAE,gBAAgB;iBACC;aACtB;YACD,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,IAAI,GAAG,EAAE;SACrB;KACD,CAAC;IAEF,MAAM,QAAQ,GAAoD;QACjE,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QAC3B,UAAU,EAAE,IAAI;KAChB,CAAC;IAEF,MAAM,WAAW,GAAuC;QACvD,EAAE,EAAE,IAAI;QACR,EAAE,EAAE,IAAI;KACR,CAAC;IAEF,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAE9D,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAChD,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAChD,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yDAAyD,EAAE,GAAG,EAAE;IACpE,MAAM,OAAO,GAAiC;QAC7C;YACC,MAAM,EAAE;gBACP,IAAI,EAAE,6BAA6B;gBACnC,IAAI,EAAE;oBACL,EAAE,EAAE,oBAAoB;iBACH;aACtB;YACD,QAAQ,EAAE;gBACT,EAAE,EAAE;oBACH,IAAI,EAAE,oCAAoC;oBAC1C,IAAI,EAAE,EAAwB;iBAC9B;aACD;YACD,UAAU,EAAE,IAAI,GAAG,EAAE;SACrB;QACD;YACC,MAAM,EAAE;gBACP,IAAI,EAAE,6BAA6B;gBACnC,IAAI,EAAE;oBACL,EAAE,EAAE,oBAAoB;iBACH;aACtB;YACD,QAAQ,EAAE;gBACT,EAAE,EAAE;oBACH,IAAI,EAAE,oCAAoC;oBAC1C,IAAI,EAAE,EAAwB;iBAC9B;aACD;YACD,UAAU,EAAE,IAAI,GAAG,EAAE;SACrB;KACD,CAAC;IAEF,MAAM,QAAQ,GAAoD;QACjE,OAAO,EAAE,CAAC,IAAI,CAAC;QACf,UAAU,EAAE,IAAI;KAChB,CAAC;IAEF,MAAM,WAAW,GAAuC,EAAE,CAAC;IAE3D,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAE9D,+BAA+B;IAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;IACpD,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAEhD,6CAA6C;IAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACzC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC;IAC7D,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC,CAAC,4BAA4B;AAC5F,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0DAA0D,EAAE,GAAG,EAAE;IACrE,mDAAmD;IACnD,MAAM,OAAO,GAAiC;QAC7C;YACC,MAAM,EAAE;gBACP,IAAI,EAAE,wBAAwB;gBAC9B,IAAI,EAAE;oBACL,EAAE,EAAE,IAAI;iBACa;aACtB;YACD,QAAQ,EAAE;gBACT,EAAE,EAAE;oBACH,IAAI,EAAE,yBAAyB;oBAC/B,IAAI,EAAE,EAAwB;iBAC9B;aACD;YACD,UAAU,EAAE,IAAI,GAAG,EAAE;SACrB;KACD,CAAC;IAEF,MAAM,QAAQ,GAAoD;QACjE,OAAO,EAAE,CAAC,IAAI,CAAC;QACf,UAAU,EAAE,IAAI;KAChB,CAAC;IAEF,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;IAErD,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAC7C,iCAAiC,CACjC,CAAC;IACF,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CACjD,+BAA+B,CAC/B,CAAC;IACF,MAAM,CAAC,0BAA0B,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8EAA8E,EAAE,GAAG,EAAE;IACzF,MAAM,OAAO,GAAiC;QAC7C;YACC,MAAM,EAAE;gBACP,IAAI,EAAE,2DAA2D;gBACjE,IAAI,EAAE;oBACL,EAAE,EAAE,gBAAgB;iBACC;aACtB;YACD,QAAQ,EAAE;gBACT,EAAE,EAAE;oBACH,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE,EAAwB;iBAC9B;aACD;YACD,UAAU,EAAE,IAAI,GAAG,EAAE;SACrB;KACD,CAAC;IAEF,MAAM,MAAM,GAAG,cAAc,CAC5B,OAAO,EACP,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,EACrC,EAAE,EACF,KAAK,CACL,CAAC;IAEF,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAC7C,qEAAqE,CACrE,CAAC;IACF,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;IACvE,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAC;IAC5F,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC","sourcesContent":["import { test, expect } from \"vitest\";\nimport {\n\tgenerateOutput,\n\tmessageReferenceExpression,\n} from \"./locale-modules.js\";\nimport type { Bundle, Message, ProjectSettings } from \"@inlang/sdk\";\nimport type { CompiledBundleWithMessages } from \"../compile-bundle.js\";\n\ntest(\"should emit per locale message files\", () => {\n\tconst bundles: CompiledBundleWithMessages[] = [\n\t\t{\n\t\t\tbundle: {\n\t\t\t\tcode: 'console.log(\"bundle code\");',\n\t\t\t\tnode: {\n\t\t\t\t\tid: \"happy_elephant\",\n\t\t\t\t} as unknown as Bundle,\n\t\t\t},\n\t\t\tmessages: {\n\t\t\t\ten: {\n\t\t\t\t\tcode: 'console.log(\"message in English\");',\n\t\t\t\t\tnode: {} as unknown as Message,\n\t\t\t\t},\n\t\t\t\tde: {\n\t\t\t\t\tcode: 'console.log(\"message in German\");',\n\t\t\t\t\tnode: {} as unknown as Message,\n\t\t\t\t},\n\t\t\t},\n\t\t\tmatchTypes: new Map(),\n\t\t},\n\t];\n\n\tconst settings: Pick<ProjectSettings, \"locales\" | \"baseLocale\"> = {\n\t\tlocales: [\"en\", \"de\"],\n\t\tbaseLocale: \"en\",\n\t};\n\n\tconst fallbackMap: Record<string, string | undefined> = {\n\t\ten: \"de\",\n\t\tde: \"en\",\n\t};\n\n\tconst output = generateOutput(bundles, settings, fallbackMap);\n\n\texpect(output).toHaveProperty(\"messages/en.js\");\n\texpect(output).toHaveProperty(\"messages/de.js\");\n\n\texpect(output[\"messages/en.js\"]).toContain(\n\t\t`console.log(\"message in English\");`\n\t);\n});\n\ntest(\"the files should include files for each locale, even if there are no messages\", () => {\n\tconst bundles: CompiledBundleWithMessages[] = [\n\t\t{\n\t\t\tbundle: {\n\t\t\t\tcode: 'console.log(\"bundle code\");',\n\t\t\t\tnode: {\n\t\t\t\t\tid: \"happy_elephant\",\n\t\t\t\t} as unknown as Bundle,\n\t\t\t},\n\t\t\tmessages: {},\n\t\t\tmatchTypes: new Map(),\n\t\t},\n\t];\n\n\tconst settings: Pick<ProjectSettings, \"locales\" | \"baseLocale\"> = {\n\t\tlocales: [\"en\", \"de\", \"fr\"],\n\t\tbaseLocale: \"en\",\n\t};\n\n\tconst fallbackMap: Record<string, string | undefined> = {\n\t\ten: \"de\",\n\t\tde: \"en\",\n\t};\n\n\tconst output = generateOutput(bundles, settings, fallbackMap);\n\n\texpect(output).toHaveProperty(\"messages/en.js\");\n\texpect(output).toHaveProperty(\"messages/de.js\");\n\texpect(output).toHaveProperty(\"messages/fr.js\");\n});\n\ntest(\"should handle case sensitivity in message IDs correctly\", () => {\n\tconst bundles: CompiledBundleWithMessages[] = [\n\t\t{\n\t\t\tbundle: {\n\t\t\t\tcode: 'console.log(\"bundle code\");',\n\t\t\t\tnode: {\n\t\t\t\t\tid: \"sad_penguin_bundle\",\n\t\t\t\t} as unknown as Bundle,\n\t\t\t},\n\t\t\tmessages: {\n\t\t\t\ten: {\n\t\t\t\t\tcode: 'console.log(\"sad_penguin_bundle\");',\n\t\t\t\t\tnode: {} as unknown as Message,\n\t\t\t\t},\n\t\t\t},\n\t\t\tmatchTypes: new Map(),\n\t\t},\n\t\t{\n\t\t\tbundle: {\n\t\t\t\tcode: 'console.log(\"bundle code\");',\n\t\t\t\tnode: {\n\t\t\t\t\tid: \"Sad_penguin_bundle\",\n\t\t\t\t} as unknown as Bundle,\n\t\t\t},\n\t\t\tmessages: {\n\t\t\t\ten: {\n\t\t\t\t\tcode: 'console.log(\"Sad_penguin_bundle\");',\n\t\t\t\t\tnode: {} as unknown as Message,\n\t\t\t\t},\n\t\t\t},\n\t\t\tmatchTypes: new Map(),\n\t\t},\n\t];\n\n\tconst settings: Pick<ProjectSettings, \"locales\" | \"baseLocale\"> = {\n\t\tlocales: [\"en\"],\n\t\tbaseLocale: \"en\",\n\t};\n\n\tconst fallbackMap: Record<string, string | undefined> = {};\n\n\tconst output = generateOutput(bundles, settings, fallbackMap);\n\n\t// Check that the output exists\n\texpect(output).toHaveProperty(\"messages/_index.js\");\n\texpect(output).toHaveProperty(\"messages/en.js\");\n\n\t// The exported constants should not conflict\n\tconst content = output[\"messages/en.js\"];\n\texpect(content).toContain(\"export const sad_penguin_bundle\");\n\texpect(content).toContain(\"export const sad_penguin_bundle1\"); // or some other unique name\n});\n\ntest(\"prefixes locale imports to avoid message name collisions\", () => {\n\t// https://github.com/opral/paraglide-js/issues/492\n\tconst bundles: CompiledBundleWithMessages[] = [\n\t\t{\n\t\t\tbundle: {\n\t\t\t\tcode: \"const no = () => 'No';\",\n\t\t\t\tnode: {\n\t\t\t\t\tid: \"no\",\n\t\t\t\t} as unknown as Bundle,\n\t\t\t},\n\t\t\tmessages: {\n\t\t\t\tno: {\n\t\t\t\t\tcode: \"const no = () => 'Nei';\",\n\t\t\t\t\tnode: {} as unknown as Message,\n\t\t\t\t},\n\t\t\t},\n\t\t\tmatchTypes: new Map(),\n\t\t},\n\t];\n\n\tconst settings: Pick<ProjectSettings, \"locales\" | \"baseLocale\"> = {\n\t\tlocales: [\"no\"],\n\t\tbaseLocale: \"no\",\n\t};\n\n\tconst output = generateOutput(bundles, settings, {});\n\n\texpect(output[\"messages/_index.js\"]).toContain(\n\t\t`import * as __no from \"./no.js\"`\n\t);\n\texpect(output[\"messages/_index.js\"]).not.toContain(\n\t\t`import * as no from \"./no.js\"`\n\t);\n\texpect(messageReferenceExpression(\"no\", \"no\")).toBe(\"__no.no\");\n});\n\ntest(\"emits minimal runtime imports in index when middleware splitting is disabled\", () => {\n\tconst bundles: CompiledBundleWithMessages[] = [\n\t\t{\n\t\t\tbundle: {\n\t\t\t\tcode: \"export const happy_elephant = () => __en.happy_elephant()\",\n\t\t\t\tnode: {\n\t\t\t\t\tid: \"happy_elephant\",\n\t\t\t\t} as unknown as Bundle,\n\t\t\t},\n\t\t\tmessages: {\n\t\t\t\ten: {\n\t\t\t\t\tcode: '() => \"happy\"',\n\t\t\t\t\tnode: {} as unknown as Message,\n\t\t\t\t},\n\t\t\t},\n\t\t\tmatchTypes: new Map(),\n\t\t},\n\t];\n\n\tconst output = generateOutput(\n\t\tbundles,\n\t\t{ locales: [\"en\"], baseLocale: \"en\" },\n\t\t{},\n\t\tfalse\n\t);\n\n\texpect(output[\"messages/_index.js\"]).toContain(\n\t\t'import { getLocale, experimentalStaticLocale } from \"../runtime.js\"'\n\t);\n\texpect(output[\"messages/_index.js\"]).not.toContain(\"trackMessageCall\");\n\texpect(output[\"messages/_index.js\"]).not.toContain(\"experimentalMiddlewareLocaleSplitting\");\n\texpect(output[\"messages/_index.js\"]).not.toContain(\"isServer\");\n});\n"]}
|
|
@@ -2,4 +2,3 @@ import type { ProjectSettings } from "@inlang/sdk";
|
|
|
2
2
|
import type { CompiledBundleWithMessages } from "../compile-bundle.js";
|
|
3
3
|
export declare function messageReferenceExpression(locale: string, bundleId: string): string;
|
|
4
4
|
export declare function generateOutput(compiledBundles: CompiledBundleWithMessages[], settings: Pick<ProjectSettings, "locales" | "baseLocale">, fallbackMap: Record<string, string | undefined>, experimentalMiddlewareLocaleSplitting?: boolean): Record<string, string>;
|
|
5
|
-
//# sourceMappingURL=message-modules.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-modules.js","sourceRoot":"","sources":["../../../src/compiler/output-structure/message-modules.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"message-modules.js","sourceRoot":"","sources":["../../../src/compiler/output-structure/message-modules.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ProjectSettings } from \"@inlang/sdk\";\nimport type { CompiledBundleWithMessages } from \"../compile-bundle.js\";\nimport { escapeForSingleQuoteString } from \"../../services/codegen/escape.js\";\nimport { toSafeModuleId } from \"../safe-module-id.js\";\nimport { inputsType } from \"../jsdoc-types.js\";\nimport { toBundleInputTypeAliasName } from \"../compile-bundle.js\";\n\nexport function messageReferenceExpression(locale: string, bundleId: string) {\n\treturn `${toSafeModuleId(locale)}_${toSafeModuleId(bundleId)}`;\n}\n\nexport function generateOutput(\n\tcompiledBundles: CompiledBundleWithMessages[],\n\tsettings: Pick<ProjectSettings, \"locales\" | \"baseLocale\">,\n\tfallbackMap: Record<string, string | undefined>,\n\texperimentalMiddlewareLocaleSplitting = false\n): Record<string, string> {\n\tconst output: Record<string, string> = {};\n\n\tconst moduleFilenames = new Set<string>();\n\n\tfor (const compiledBundle of compiledBundles) {\n\t\tconst bundleId = compiledBundle.bundle.node.id;\n\t\tconst safeModuleId = toSafeModuleId(compiledBundle.bundle.node.id);\n\t\tconst inputs =\n\t\t\tcompiledBundle.bundle.node.declarations?.filter(\n\t\t\t\t(decl) => decl.type === \"input-variable\"\n\t\t\t) ?? [];\n\t\tconst matchTypes = compiledBundle.matchTypes;\n\t\tconst inputTypeAliasName =\n\t\t\tcompiledBundle.inputTypeAliasName ??\n\t\t\ttoBundleInputTypeAliasName(safeModuleId);\n\t\tconst inputTypeDefinition = inputsType(inputs, matchTypes);\n\n\t\t// bundle file\n\t\tconst filename = `messages/${safeModuleId}.js`;\n\n\t\tmoduleFilenames.add(`${safeModuleId}.js`);\n\n\t\t// create fresh bundle file\n\t\toutput[filename] = compiledBundle.bundle.code;\n\n\t\tconst needsFallback: string[] = [];\n\n\t\tconst messages: string[] = [];\n\n\t\t// messages\n\t\tfor (const locale of settings.locales) {\n\t\t\tconst safeLocale = toSafeModuleId(locale);\n\t\t\tconst compiledMessage = compiledBundle.messages[locale];\n\n\t\t\tif (!compiledMessage) {\n\t\t\t\tneedsFallback.push(locale);\n\t\t\t} else {\n\t\t\t\tmessages.push(\n\t\t\t\t\t`const ${safeLocale}_${safeModuleId} = ${compiledMessage.code}`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\t// add the fallbacks (needs to be done after the messages to avoid referencing\n\t\t// the message before they are defined)\n\t\tconst needsFallbackSet = new Set(needsFallback);\n\t\tconst emittedFallbacks = new Set<string>();\n\t\tconst emittingFallbacks = new Set<string>();\n\n\t\t/**\n\t\t * Emits the fallback definition for a locale ensuring that dependent fallbacks\n\t\t * are declared beforehand.\n\t\t *\n\t\t * @example\n\t\t * emitFallback(\"fr-ca\");\n\t\t */\n\t\tconst emitFallback = (locale: string) => {\n\t\t\tif (emittedFallbacks.has(locale)) return;\n\t\t\tif (emittingFallbacks.has(locale)) return;\n\n\t\t\temittingFallbacks.add(locale);\n\n\t\t\tconst safeLocale = toSafeModuleId(locale);\n\t\t\tconst fallbackLocale = fallbackMap[locale];\n\n\t\t\tif (\n\t\t\t\tfallbackLocale &&\n\t\t\t\tneedsFallbackSet.has(fallbackLocale) &&\n\t\t\t\t!compiledBundle.messages[fallbackLocale]\n\t\t\t) {\n\t\t\t\temitFallback(fallbackLocale);\n\t\t\t}\n\n\t\t\tif (fallbackLocale) {\n\t\t\t\tconst safeFallbackLocale = toSafeModuleId(fallbackLocale);\n\t\t\t\tmessages.push(\n\t\t\t\t\t`/** @type {(inputs: ${inputTypeAliasName}) => LocalizedString} */\\nconst ${safeLocale}_${safeModuleId} = ${safeFallbackLocale}_${safeModuleId};`\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tmessages.push(\n\t\t\t\t\t`/** @type {(inputs: ${inputTypeAliasName}) => LocalizedString} */\\nconst ${safeLocale}_${safeModuleId} = () => /** @type {LocalizedString} */ ('${escapeForSingleQuoteString(\n\t\t\t\t\t\tbundleId\n\t\t\t\t\t)}')`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\temittingFallbacks.delete(locale);\n\t\t\temittedFallbacks.add(locale);\n\t\t};\n\n\t\tfor (const locale of needsFallback) {\n\t\t\temitFallback(locale);\n\t\t}\n\n\t\toutput[filename] = messages.join(\"\\n\\n\") + \"\\n\\n\" + output[filename];\n\n\t\t// add the imports and type reference (LocalizedString is defined in runtime.js)\n\t\tconst runtimeImport = experimentalMiddlewareLocaleSplitting\n\t\t\t? `import { getLocale, trackMessageCall, experimentalMiddlewareLocaleSplitting, isServer, experimentalStaticLocale } from '../runtime.js';\\n\\n`\n\t\t\t: `import { getLocale, experimentalStaticLocale } from '../runtime.js';\\n\\n`;\n\n\t\toutput[filename] =\n\t\t\truntimeImport +\n\t\t\t`/** @typedef {import('../runtime.js').LocalizedString} LocalizedString */\\n\\n` +\n\t\t\t`/** @typedef {${inputTypeDefinition}} ${inputTypeAliasName} */\\n\\n` +\n\t\t\toutput[filename];\n\n\t\t// Add the registry import to the message file\n\t\t// if registry is used\n\t\tif (output[filename]?.includes(\"registry.\")) {\n\t\t\toutput[filename] =\n\t\t\t\t`import * as registry from '../registry.js'\\n` + output[filename];\n\t\t}\n\t}\n\n\t// all messages index file\n\toutput[\"messages/_index.js\"] =\n\t\t`/** @typedef {import('../runtime.js').LocalizedString} LocalizedString */\\n` +\n\t\tArray.from(moduleFilenames)\n\t\t\t.map((filename) => `export * from './${filename}'`)\n\t\t\t.join(\"\\n\");\n\n\treturn output;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-modules.test.js","sourceRoot":"","sources":["../../../src/compiler/output-structure/message-modules.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"message-modules.test.js","sourceRoot":"","sources":["../../../src/compiler/output-structure/message-modules.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { test, expect } from \"vitest\";\nimport { generateOutput } from \"./message-modules.js\";\nimport type { Bundle, Message, ProjectSettings } from \"@inlang/sdk\";\nimport type { CompiledBundleWithMessages } from \"../compile-bundle.js\";\n\ntest(\"should emit per locale message files\", () => {\n\tconst resources: CompiledBundleWithMessages[] = [\n\t\t{\n\t\t\tbundle: {\n\t\t\t\tcode: 'console.log(\"bundle code\");',\n\t\t\t\tnode: {\n\t\t\t\t\tid: \"happy_elephant\",\n\t\t\t\t} as unknown as Bundle,\n\t\t\t},\n\t\t\tmessages: {\n\t\t\t\ten: {\n\t\t\t\t\tcode: 'console.log(\"message in English\");',\n\t\t\t\t\tnode: {} as unknown as Message,\n\t\t\t\t},\n\t\t\t\tde: {\n\t\t\t\t\tcode: 'console.log(\"message in German\");',\n\t\t\t\t\tnode: {} as unknown as Message,\n\t\t\t\t},\n\t\t\t},\n\t\t\tmatchTypes: new Map(),\n\t\t},\n\t];\n\n\tconst settings: Pick<ProjectSettings, \"locales\" | \"baseLocale\"> = {\n\t\tlocales: [\"en\", \"de\"],\n\t\tbaseLocale: \"en\",\n\t};\n\n\tconst fallbackMap: Record<string, string | undefined> = {\n\t\ten: \"de\",\n\t\tde: \"en\",\n\t};\n\n\tconst output = generateOutput(resources, settings, fallbackMap);\n\n\texpect(output).not.toHaveProperty(\"messages/en.js\");\n\texpect(output).not.toHaveProperty(\"messages/de.js\");\n\texpect(output).toHaveProperty(\"messages/happy_elephant.js\");\n});\n\ntest(\"handles case senstivity by creating directories and files only in lowercase\", () => {\n\tconst resources: CompiledBundleWithMessages[] = [\n\t\t{\n\t\t\tbundle: {\n\t\t\t\tcode: \"export const HappyElephant = () => en.HappyElephant\",\n\t\t\t\tnode: {\n\t\t\t\t\tid: \"HappyElephant\",\n\t\t\t\t} as unknown as Bundle,\n\t\t\t},\n\t\t\tmessages: {\n\t\t\t\ten: {\n\t\t\t\t\tcode: 'export const HappyElephant = () => \"HappyElephant0\"',\n\t\t\t\t\tnode: {} as unknown as Message,\n\t\t\t\t},\n\t\t\t},\n\t\t\tmatchTypes: new Map(),\n\t\t},\n\t\t{\n\t\t\tbundle: {\n\t\t\t\tcode: \"export const happyelephant = () => en.happyelephant\",\n\t\t\t\tnode: {\n\t\t\t\t\tid: \"happyelephant\",\n\t\t\t\t} as unknown as Bundle,\n\t\t\t},\n\t\t\tmessages: {\n\t\t\t\ten: {\n\t\t\t\t\tcode: 'export const happyelephant = () => \"happyelephant1\"',\n\t\t\t\t\tnode: {} as unknown as Message,\n\t\t\t\t},\n\t\t\t},\n\t\t\tmatchTypes: new Map(),\n\t\t},\n\t];\n\tconst settings: Pick<ProjectSettings, \"locales\" | \"baseLocale\"> = {\n\t\tlocales: [\"en\"],\n\t\tbaseLocale: \"en\",\n\t};\n\tconst output = generateOutput(resources, settings, {});\n\n\t// expecting only lowercase directories and files\n\texpect(output).toHaveProperty(\"messages/happyelephant.js\");\n\texpect(output).toHaveProperty(\"messages/happyelephant2.js\");\n\texpect(output).not.toHaveProperty(\"messages/HappyElephant.js\");\n});\n\ntest(\"emits minimal runtime imports when middleware splitting is disabled\", () => {\n\tconst resources: CompiledBundleWithMessages[] = [\n\t\t{\n\t\t\tbundle: {\n\t\t\t\tcode: \"export const happy_elephant = () => en_happy_elephant()\",\n\t\t\t\tnode: {\n\t\t\t\t\tid: \"happy_elephant\",\n\t\t\t\t} as unknown as Bundle,\n\t\t\t},\n\t\t\tmessages: {\n\t\t\t\ten: {\n\t\t\t\t\tcode: '() => \"happy\"',\n\t\t\t\t\tnode: {} as unknown as Message,\n\t\t\t\t},\n\t\t\t},\n\t\t\tmatchTypes: new Map(),\n\t\t},\n\t];\n\n\tconst output = generateOutput(\n\t\tresources,\n\t\t{ locales: [\"en\"], baseLocale: \"en\" },\n\t\t{},\n\t\tfalse\n\t);\n\n\texpect(output[\"messages/happy_elephant.js\"]).toContain(\n\t\t\"import { getLocale, experimentalStaticLocale } from '../runtime.js';\"\n\t);\n\texpect(output[\"messages/happy_elephant.js\"]).not.toContain(\n\t\t\"trackMessageCall\"\n\t);\n\texpect(output[\"messages/happy_elephant.js\"]).not.toContain(\n\t\t\"experimentalMiddlewareLocaleSplitting\"\n\t);\n\texpect(output[\"messages/happy_elephant.js\"]).not.toContain(\"isServer\");\n});\n\n// Regression test for https://github.com/opral/inlang-paraglide-js/issues/507\ntest(\"emits fallback definitions after their dependencies\", () => {\n\tconst resources: CompiledBundleWithMessages[] = [\n\t\t{\n\t\t\tbundle: {\n\t\t\t\tcode: \"export const admin_tasks = (inputs) => inputs;\",\n\t\t\t\tnode: {\n\t\t\t\t\tid: \"admin_tasks\",\n\t\t\t\t\tdeclarations: [],\n\t\t\t\t} as unknown as Bundle,\n\t\t\t},\n\t\t\tmessages: {\n\t\t\t\ten: {\n\t\t\t\t\tcode: '/** @type {(inputs: {}) => string} */ () => \"admin\"',\n\t\t\t\t\tnode: {} as unknown as Message,\n\t\t\t\t},\n\t\t\t},\n\t\t\tmatchTypes: new Map(),\n\t\t},\n\t];\n\n\tconst settings: Pick<ProjectSettings, \"locales\" | \"baseLocale\"> = {\n\t\tlocales: [\"fr-ca\", \"fr\", \"en\"],\n\t\tbaseLocale: \"en\",\n\t};\n\n\tconst fallbackMap: Record<string, string | undefined> = {\n\t\t\"fr-ca\": \"fr\",\n\t\tfr: \"en\",\n\t\ten: undefined,\n\t};\n\n\tconst output = generateOutput(resources, settings, fallbackMap);\n\n\tconst file = output[\"messages/admin_tasks.js\"];\n\n\texpect(file).toBeDefined();\n\n\tif (!file) {\n\t\tthrow new Error(\"messages/admin_tasks.js should have been generated\");\n\t}\n\n\texpect(file).toContain(\"const fr_admin_tasks = en_admin_tasks;\");\n\texpect(file).toContain(\"const fr_ca_admin_tasks = fr_admin_tasks;\");\n\n\tconst frIndex = file.indexOf(\"const fr_admin_tasks\");\n\tconst frCaIndex = file.indexOf(\"const fr_ca_admin_tasks\");\n\n\texpect(frIndex).toBeGreaterThan(-1);\n\texpect(frCaIndex).toBeGreaterThan(-1);\n\texpect(frIndex).toBeLessThan(frCaIndex);\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"per-locale-build.js","sourceRoot":"","sources":["../../src/compiler/per-locale-build.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,MAAM,CAAC,MAAM,oCAAoC,GAChD,6DAA6D,CAAC"}
|
|
1
|
+
{"version":3,"file":"per-locale-build.js","sourceRoot":"","sources":["../../src/compiler/per-locale-build.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,MAAM,CAAC,MAAM,oCAAoC,GAChD,6DAA6D,CAAC","sourcesContent":["/** Internal compiler/bundler contract for locale-specialized client builds. */\nexport const perLocaleBuildStaticLocaleExpression =\n\t\"/** @type {any} */ (globalThis).__PARAGLIDE_STATIC_LOCALE__\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/compiler/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,MAAM,UAAU,cAAc;IAC7B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CL,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/compiler/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,MAAM,UAAU,cAAc;IAC7B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CL,CAAC;AACJ,CAAC","sourcesContent":["/**\n * Re: CUSTOMIZING THE REGISTRY\n *\n * We want to enable anyone (designer, developer, translator) to\n * specify options for functions. That requires design work in\n * the inlang SDK.\n *\n * For now, Paraglide ships a custom solution with INTL functions.\n */\n\n/**\n * Creates the Registry file\n */\nexport function createRegistry(): string {\n\treturn `\n/**\n * @typedef {\"year\" | \"years\" | \"quarter\" | \"quarters\" | \"month\" | \"months\" | \"week\" | \"weeks\" | \"day\" | \"days\" | \"hour\" | \"hours\" | \"minute\" | \"minutes\" | \"second\" | \"seconds\"} RelativeTimeFormatUnit\n */\n\n/**\n * @param {import(\"./runtime.js\").Locale} locale\n * @param {unknown} input\n * @param {Intl.PluralRulesOptions} [options]\n * @returns {string}\n */\nexport function plural(locale, input, options) { \n\treturn new Intl.PluralRules(locale, options).select(Number(input))\n};\n\n/**\n * @param {import(\"./runtime.js\").Locale} locale\n * @param {unknown} input\n * @param {Intl.NumberFormatOptions} [options]\n * @returns {string}\n */\nexport function number(locale, input, options) {\n\treturn new Intl.NumberFormat(locale, options).format(Number(input))\n};\n\n/**\n * @param {import(\"./runtime.js\").Locale} locale\n * @param {unknown} input\n * @param {Intl.DateTimeFormatOptions} [options]\n * @returns {string}\n */\nexport function datetime(locale, input, options) {\n\treturn new Intl.DateTimeFormat(locale, options).format(new Date(/** @type {string} */ (input)))\n};\n\n/**\n * @param {import(\"./runtime.js\").Locale} locale\n * @param {unknown} input\n * @param {Intl.RelativeTimeFormatOptions & { unit: RelativeTimeFormatUnit }} options\n * @returns {string}\n */\nexport function relativetime(locale, input, options) {\n\tconst { unit, ...intlOptions } = options;\n\treturn new Intl.RelativeTimeFormat(locale, intlOptions).format(Number(input), unit);\n};`;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-tsc-js-path.js","sourceRoot":"","sources":["../../src/compiler/resolve-tsc-js-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB;IAC/B,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC5E,0EAA0E;IAC1E,qEAAqE;IACrE,IAAI,UAAU,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACd,sFAAsF,SAAS,gFAAgF,CAC/K,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"resolve-tsc-js-path.js","sourceRoot":"","sources":["../../src/compiler/resolve-tsc-js-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB;IAC/B,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC5E,0EAA0E;IAC1E,qEAAqE;IACrE,IAAI,UAAU,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACd,sFAAsF,SAAS,gFAAgF,CAC/K,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC","sourcesContent":["import { createRequire } from \"node:module\";\nimport { existsSync } from \"node:fs\";\nimport path from \"node:path\";\n\n/**\n * Resolves the path to the `tsc` CLI entry point of the installed\n * `typescript` package.\n *\n * Lives in its own module so tests can point the TypeScript 7 emit\n * path at a different TypeScript installation than the one the repo\n * itself depends on.\n */\nexport function resolveTscJsPath(): string {\n\tconst require = createRequire(import.meta.url);\n\tconst packageJsonPath = require.resolve(\"typescript/package.json\");\n\tconst tscJsPath = path.join(path.dirname(packageJsonPath), \"lib\", \"tsc.js\");\n\t// `lib/tsc.js` is internal package layout rather than a public export, so\n\t// fail with a pointed error if a future TypeScript version moves it.\n\tif (existsSync(tscJsPath) === false) {\n\t\tthrow new Error(\n\t\t\t`Paraglide's \"emitTsDeclarations\" option could not locate TypeScript's \"tsc\" CLI at ${tscJsPath}. As a workaround, install TypeScript 5 or 6, or disable \"emitTsDeclarations\".`\n\t\t);\n\t}\n\treturn tscJsPath;\n}\n"]}
|