@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.
Files changed (416) hide show
  1. package/dist/bundler-plugins/esbuild.d.ts +0 -1
  2. package/dist/bundler-plugins/esbuild.js.map +1 -1
  3. package/dist/bundler-plugins/index.d.ts +0 -1
  4. package/dist/bundler-plugins/index.js.map +1 -1
  5. package/dist/bundler-plugins/per-locale-build/constants.d.ts +0 -1
  6. package/dist/bundler-plugins/per-locale-build/constants.js.map +1 -1
  7. package/dist/bundler-plugins/per-locale-build/index.d.ts +0 -1
  8. package/dist/bundler-plugins/per-locale-build/index.js.map +1 -1
  9. package/dist/bundler-plugins/per-locale-build/locale-id.d.ts +0 -1
  10. package/dist/bundler-plugins/per-locale-build/locale-id.js.map +1 -1
  11. package/dist/bundler-plugins/per-locale-build/types.d.ts +0 -1
  12. package/dist/bundler-plugins/per-locale-build/types.js.map +1 -1
  13. package/dist/bundler-plugins/per-locale-build/vite-environments.d.ts +0 -1
  14. package/dist/bundler-plugins/per-locale-build/vite-environments.js.map +1 -1
  15. package/dist/bundler-plugins/per-locale-build/vite-environments.test.d.ts +0 -1
  16. package/dist/bundler-plugins/per-locale-build/vite-environments.test.js.map +1 -1
  17. package/dist/bundler-plugins/rolldown.d.ts +0 -1
  18. package/dist/bundler-plugins/rolldown.js.map +1 -1
  19. package/dist/bundler-plugins/rollup.d.ts +0 -1
  20. package/dist/bundler-plugins/rollup.js.map +1 -1
  21. package/dist/bundler-plugins/rspack.d.ts +0 -1
  22. package/dist/bundler-plugins/rspack.js.map +1 -1
  23. package/dist/bundler-plugins/unplugin.d.ts +0 -1
  24. package/dist/bundler-plugins/unplugin.js.map +1 -1
  25. package/dist/bundler-plugins/unplugin.test.d.ts +0 -1
  26. package/dist/bundler-plugins/unplugin.test.js.map +1 -1
  27. package/dist/bundler-plugins/vite.d.ts +0 -1
  28. package/dist/bundler-plugins/vite.js.map +1 -1
  29. package/dist/bundler-plugins/vite.test.d.ts +0 -1
  30. package/dist/bundler-plugins/vite.test.js.map +1 -1
  31. package/dist/bundler-plugins/webpack.d.ts +0 -1
  32. package/dist/bundler-plugins/webpack.js.map +1 -1
  33. package/dist/cli/commands/compile/command.d.ts +0 -1
  34. package/dist/cli/commands/compile/command.js.map +1 -1
  35. package/dist/cli/commands/compile/command.test.d.ts +0 -1
  36. package/dist/cli/commands/compile/command.test.js.map +1 -1
  37. package/dist/cli/commands/init/command.d.ts +0 -1
  38. package/dist/cli/commands/init/command.js.map +1 -1
  39. package/dist/cli/defaults.d.ts +0 -1
  40. package/dist/cli/defaults.js.map +1 -1
  41. package/dist/cli/index.d.ts +0 -1
  42. package/dist/cli/index.js.map +1 -1
  43. package/dist/cli/steps/add-vite-plugin.d.ts +0 -1
  44. package/dist/cli/steps/add-vite-plugin.js.map +1 -1
  45. package/dist/cli/steps/add-vite-plugin.test.d.ts +0 -1
  46. package/dist/cli/steps/add-vite-plugin.test.js.map +1 -1
  47. package/dist/cli/steps/check-for-uncomitted-changes.d.ts +0 -1
  48. package/dist/cli/steps/check-for-uncomitted-changes.js.map +1 -1
  49. package/dist/cli/steps/detect-bundler.d.ts +0 -1
  50. package/dist/cli/steps/detect-bundler.js.map +1 -1
  51. package/dist/cli/steps/detect-bundler.test.d.ts +0 -1
  52. package/dist/cli/steps/detect-bundler.test.js.map +1 -1
  53. package/dist/cli/steps/initialize-inlang-project.d.ts +0 -1
  54. package/dist/cli/steps/initialize-inlang-project.js.map +1 -1
  55. package/dist/cli/steps/maybe-add-machine-translation.d.ts +0 -1
  56. package/dist/cli/steps/maybe-add-machine-translation.js.map +1 -1
  57. package/dist/cli/steps/maybe-add-sherlock.d.ts +0 -1
  58. package/dist/cli/steps/maybe-add-sherlock.js.map +1 -1
  59. package/dist/cli/steps/prompt-for-outdir.d.ts +0 -1
  60. package/dist/cli/steps/prompt-for-outdir.js.map +1 -1
  61. package/dist/cli/steps/update-package-json.d.ts +0 -1
  62. package/dist/cli/steps/update-package-json.js.map +1 -1
  63. package/dist/cli/steps/update-ts-config.d.ts +0 -1
  64. package/dist/cli/steps/update-ts-config.js.map +1 -1
  65. package/dist/cli/steps/update-ts-config.test.d.ts +0 -1
  66. package/dist/cli/steps/update-ts-config.test.js.map +1 -1
  67. package/dist/cli/utils.d.ts +0 -1
  68. package/dist/cli/utils.js.map +1 -1
  69. package/dist/compiler/compile-annotation.d.ts +0 -1
  70. package/dist/compiler/compile-annotation.js.map +1 -1
  71. package/dist/compiler/compile-bundle.d.ts +0 -1
  72. package/dist/compiler/compile-bundle.js.map +1 -1
  73. package/dist/compiler/compile-bundle.test.d.ts +0 -1
  74. package/dist/compiler/compile-bundle.test.js.map +1 -1
  75. package/dist/compiler/compile-local-variable.d.ts +0 -1
  76. package/dist/compiler/compile-local-variable.js.map +1 -1
  77. package/dist/compiler/compile-local-variable.test.d.ts +0 -1
  78. package/dist/compiler/compile-local-variable.test.js.map +1 -1
  79. package/dist/compiler/compile-message.d.ts +0 -1
  80. package/dist/compiler/compile-message.js.map +1 -1
  81. package/dist/compiler/compile-message.test.d.ts +0 -1
  82. package/dist/compiler/compile-message.test.js.map +1 -1
  83. package/dist/compiler/compile-pattern.d.ts +0 -1
  84. package/dist/compiler/compile-pattern.js.map +1 -1
  85. package/dist/compiler/compile-pattern.test.d.ts +0 -1
  86. package/dist/compiler/compile-pattern.test.js.map +1 -1
  87. package/dist/compiler/compile-project.d.ts +0 -1
  88. package/dist/compiler/compile-project.js.map +1 -1
  89. package/dist/compiler/compile-project.test.d.ts +0 -1
  90. package/dist/compiler/compile-project.test.js.map +1 -1
  91. package/dist/compiler/compile.bench.d.ts +0 -1
  92. package/dist/compiler/compile.bench.js.map +1 -1
  93. package/dist/compiler/compile.d.ts +0 -1
  94. package/dist/compiler/compile.js.map +1 -1
  95. package/dist/compiler/compile.test.d.ts +0 -1
  96. package/dist/compiler/compile.test.js.map +1 -1
  97. package/dist/compiler/compiler-options.d.ts +0 -1
  98. package/dist/compiler/compiler-options.js.map +1 -1
  99. package/dist/compiler/create-paraglide.d.ts +0 -1
  100. package/dist/compiler/create-paraglide.js.map +1 -1
  101. package/dist/compiler/create-paraglide.test.d.ts +0 -1
  102. package/dist/compiler/create-paraglide.test.js.map +1 -1
  103. package/dist/compiler/create-readme.d.ts +0 -1
  104. package/dist/compiler/create-readme.js.map +1 -1
  105. package/dist/compiler/emit-ts-declarations.d.ts +0 -1
  106. package/dist/compiler/emit-ts-declarations.interop.test.d.ts +0 -1
  107. package/dist/compiler/emit-ts-declarations.interop.test.js.map +1 -1
  108. package/dist/compiler/emit-ts-declarations.js.map +1 -1
  109. package/dist/compiler/emit-ts-declarations.test.d.ts +0 -1
  110. package/dist/compiler/emit-ts-declarations.test.js.map +1 -1
  111. package/dist/compiler/index.d.ts +0 -1
  112. package/dist/compiler/index.js.map +1 -1
  113. package/dist/compiler/jsdoc-types.d.ts +0 -1
  114. package/dist/compiler/jsdoc-types.js.map +1 -1
  115. package/dist/compiler/jsdoc-types.test.d.ts +0 -1
  116. package/dist/compiler/jsdoc-types.test.js.map +1 -1
  117. package/dist/compiler/match-literals.d.ts +0 -1
  118. package/dist/compiler/match-literals.js.map +1 -1
  119. package/dist/compiler/output-structure/locale-modules.d.ts +0 -1
  120. package/dist/compiler/output-structure/locale-modules.js.map +1 -1
  121. package/dist/compiler/output-structure/locale-modules.test.d.ts +0 -1
  122. package/dist/compiler/output-structure/locale-modules.test.js.map +1 -1
  123. package/dist/compiler/output-structure/message-modules.d.ts +0 -1
  124. package/dist/compiler/output-structure/message-modules.js.map +1 -1
  125. package/dist/compiler/output-structure/message-modules.test.d.ts +0 -1
  126. package/dist/compiler/output-structure/message-modules.test.js.map +1 -1
  127. package/dist/compiler/per-locale-build.d.ts +0 -1
  128. package/dist/compiler/per-locale-build.js.map +1 -1
  129. package/dist/compiler/registry.d.ts +0 -1
  130. package/dist/compiler/registry.js.map +1 -1
  131. package/dist/compiler/resolve-tsc-js-path.d.ts +0 -1
  132. package/dist/compiler/resolve-tsc-js-path.js.map +1 -1
  133. package/dist/compiler/runtime/check-locale.d.ts +0 -1
  134. package/dist/compiler/runtime/check-locale.js.map +1 -1
  135. package/dist/compiler/runtime/check-locale.test.d.ts +0 -1
  136. package/dist/compiler/runtime/check-locale.test.js.map +1 -1
  137. package/dist/compiler/runtime/create-runtime.d.ts +0 -1
  138. package/dist/compiler/runtime/create-runtime.js.map +1 -1
  139. package/dist/compiler/runtime/extract-locale-from-cookie.d.ts +0 -1
  140. package/dist/compiler/runtime/extract-locale-from-cookie.js.map +1 -1
  141. package/dist/compiler/runtime/extract-locale-from-cookie.test.d.ts +0 -1
  142. package/dist/compiler/runtime/extract-locale-from-cookie.test.js.map +1 -1
  143. package/dist/compiler/runtime/extract-locale-from-header.d.ts +0 -1
  144. package/dist/compiler/runtime/extract-locale-from-header.js.map +1 -1
  145. package/dist/compiler/runtime/extract-locale-from-header.test.d.ts +0 -1
  146. package/dist/compiler/runtime/extract-locale-from-header.test.js.map +1 -1
  147. package/dist/compiler/runtime/extract-locale-from-navigator.d.ts +0 -1
  148. package/dist/compiler/runtime/extract-locale-from-navigator.js.map +1 -1
  149. package/dist/compiler/runtime/extract-locale-from-navigator.test.d.ts +0 -1
  150. package/dist/compiler/runtime/extract-locale-from-navigator.test.js.map +1 -1
  151. package/dist/compiler/runtime/extract-locale-from-request-async.d.ts +0 -1
  152. package/dist/compiler/runtime/extract-locale-from-request-async.js.map +1 -1
  153. package/dist/compiler/runtime/extract-locale-from-request-async.test.d.ts +0 -1
  154. package/dist/compiler/runtime/extract-locale-from-request-async.test.js.map +1 -1
  155. package/dist/compiler/runtime/extract-locale-from-request.d.ts +0 -1
  156. package/dist/compiler/runtime/extract-locale-from-request.js.map +1 -1
  157. package/dist/compiler/runtime/extract-locale-from-request.test.d.ts +0 -1
  158. package/dist/compiler/runtime/extract-locale-from-request.test.js.map +1 -1
  159. package/dist/compiler/runtime/extract-locale-from-url.d.ts +0 -1
  160. package/dist/compiler/runtime/extract-locale-from-url.js.map +1 -1
  161. package/dist/compiler/runtime/extract-locale-from-url.test.d.ts +0 -1
  162. package/dist/compiler/runtime/extract-locale-from-url.test.js.map +1 -1
  163. package/dist/compiler/runtime/generate-static-localized-urls.d.ts +0 -1
  164. package/dist/compiler/runtime/generate-static-localized-urls.js.map +1 -1
  165. package/dist/compiler/runtime/generate-static-localized-urls.test.d.ts +0 -1
  166. package/dist/compiler/runtime/generate-static-localized-urls.test.js.map +1 -1
  167. package/dist/compiler/runtime/get-locale.d.ts +0 -1
  168. package/dist/compiler/runtime/get-locale.js.map +1 -1
  169. package/dist/compiler/runtime/get-locale.test.d.ts +0 -1
  170. package/dist/compiler/runtime/get-locale.test.js.map +1 -1
  171. package/dist/compiler/runtime/get-text-direction.d.ts +0 -1
  172. package/dist/compiler/runtime/get-text-direction.js.map +1 -1
  173. package/dist/compiler/runtime/get-text-direction.test.d.ts +0 -1
  174. package/dist/compiler/runtime/get-text-direction.test.js.map +1 -1
  175. package/dist/compiler/runtime/get-url-origin.d.ts +0 -1
  176. package/dist/compiler/runtime/get-url-origin.js.map +1 -1
  177. package/dist/compiler/runtime/get-url-origin.test.d.ts +0 -1
  178. package/dist/compiler/runtime/get-url-origin.test.js.map +1 -1
  179. package/dist/compiler/runtime/localize-href.d.ts +0 -1
  180. package/dist/compiler/runtime/localize-href.js.map +1 -1
  181. package/dist/compiler/runtime/localize-href.test.d.ts +0 -1
  182. package/dist/compiler/runtime/localize-href.test.js.map +1 -1
  183. package/dist/compiler/runtime/localize-url.d.ts +0 -1
  184. package/dist/compiler/runtime/localize-url.js.map +1 -1
  185. package/dist/compiler/runtime/localize-url.test.d.ts +0 -1
  186. package/dist/compiler/runtime/localize-url.test.js.map +1 -1
  187. package/dist/compiler/runtime/route-strategy.d.ts +0 -1
  188. package/dist/compiler/runtime/route-strategy.js.map +1 -1
  189. package/dist/compiler/runtime/set-locale.d.ts +0 -1
  190. package/dist/compiler/runtime/set-locale.js.map +1 -1
  191. package/dist/compiler/runtime/set-locale.test.d.ts +0 -1
  192. package/dist/compiler/runtime/set-locale.test.js.map +1 -1
  193. package/dist/compiler/runtime/should-redirect.d.ts +0 -1
  194. package/dist/compiler/runtime/should-redirect.js.map +1 -1
  195. package/dist/compiler/runtime/should-redirect.test.d.ts +0 -1
  196. package/dist/compiler/runtime/should-redirect.test.js.map +1 -1
  197. package/dist/compiler/runtime/strategy.d.ts +0 -1
  198. package/dist/compiler/runtime/strategy.js.map +1 -1
  199. package/dist/compiler/runtime/strategy.test.d.ts +0 -1
  200. package/dist/compiler/runtime/strategy.test.js.map +1 -1
  201. package/dist/compiler/runtime/track-message-call.d.ts +0 -1
  202. package/dist/compiler/runtime/track-message-call.js.map +1 -1
  203. package/dist/compiler/runtime/track-message-call.test.d.ts +0 -1
  204. package/dist/compiler/runtime/track-message-call.test.js.map +1 -1
  205. package/dist/compiler/runtime/type-definitions.d.ts +0 -1
  206. package/dist/compiler/runtime/type-definitions.js.map +1 -1
  207. package/dist/compiler/runtime/type.d.ts +0 -1
  208. package/dist/compiler/runtime/type.js.map +1 -1
  209. package/dist/compiler/runtime/type.test.d.ts +0 -1
  210. package/dist/compiler/runtime/type.test.js.map +1 -1
  211. package/dist/compiler/runtime/variables.d.ts +0 -1
  212. package/dist/compiler/runtime/variables.js.map +1 -1
  213. package/dist/compiler/safe-module-id.d.ts +0 -1
  214. package/dist/compiler/safe-module-id.js.map +1 -1
  215. package/dist/compiler/safe-module-id.test.d.ts +0 -1
  216. package/dist/compiler/safe-module-id.test.js.map +1 -1
  217. package/dist/compiler/seed-previous-compilation.d.ts +0 -1
  218. package/dist/compiler/seed-previous-compilation.js.map +1 -1
  219. package/dist/compiler/server/create-server-file.d.ts +0 -1
  220. package/dist/compiler/server/create-server-file.js.map +1 -1
  221. package/dist/compiler/server/create-server-file.test.d.ts +0 -1
  222. package/dist/compiler/server/create-server-file.test.js.map +1 -1
  223. package/dist/compiler/server/middleware.d.ts +0 -1
  224. package/dist/compiler/server/middleware.js.map +1 -1
  225. package/dist/compiler/server/middleware.test.d.ts +0 -1
  226. package/dist/compiler/server/middleware.test.js.map +1 -1
  227. package/dist/compiler/server/type.d.ts +0 -1
  228. package/dist/compiler/server/type.js.map +1 -1
  229. package/dist/compiler/types.d.ts +0 -1
  230. package/dist/compiler/types.js.map +1 -1
  231. package/dist/compiler/variable-access.d.ts +0 -1
  232. package/dist/compiler/variable-access.js.map +1 -1
  233. package/dist/index.d.ts +0 -1
  234. package/dist/index.js.map +1 -1
  235. package/dist/services/account/index.d.ts +0 -1
  236. package/dist/services/account/index.js.map +1 -1
  237. package/dist/services/codegen/escape.d.ts +0 -1
  238. package/dist/services/codegen/escape.js.map +1 -1
  239. package/dist/services/codegen/quotes.d.ts +0 -1
  240. package/dist/services/codegen/quotes.js.map +1 -1
  241. package/dist/services/env-variables/create-index-file.d.ts +0 -1
  242. package/dist/services/env-variables/create-index-file.js.map +1 -1
  243. package/dist/services/env-variables/index.d.ts +0 -1
  244. package/dist/services/env-variables/index.js +1 -1
  245. package/dist/services/env-variables/index.js.map +1 -1
  246. package/dist/services/environment/package.d.ts +0 -1
  247. package/dist/services/environment/package.js.map +1 -1
  248. package/dist/services/environment/package.test.d.ts +0 -1
  249. package/dist/services/environment/package.test.js.map +1 -1
  250. package/dist/services/error-handling.d.ts +0 -1
  251. package/dist/services/error-handling.js.map +1 -1
  252. package/dist/services/error-handling.test.d.ts +0 -1
  253. package/dist/services/error-handling.test.js.map +1 -1
  254. package/dist/services/file-handling/exists.d.ts +0 -1
  255. package/dist/services/file-handling/exists.js.map +1 -1
  256. package/dist/services/file-handling/exists.test.d.ts +0 -1
  257. package/dist/services/file-handling/exists.test.js.map +1 -1
  258. package/dist/services/file-handling/types.d.ts +0 -1
  259. package/dist/services/file-handling/types.js.map +1 -1
  260. package/dist/services/file-handling/write-output.d.ts +0 -1
  261. package/dist/services/file-handling/write-output.js.map +1 -1
  262. package/dist/services/file-handling/write-output.test.d.ts +0 -1
  263. package/dist/services/file-handling/write-output.test.js.map +1 -1
  264. package/dist/services/file-watching/tracked-fs.d.ts +0 -1
  265. package/dist/services/file-watching/tracked-fs.js.map +1 -1
  266. package/dist/services/file-watching/tracked-fs.test.d.ts +0 -1
  267. package/dist/services/file-watching/tracked-fs.test.js.map +1 -1
  268. package/dist/services/logger/index.d.ts +0 -1
  269. package/dist/services/logger/index.js.map +1 -1
  270. package/dist/services/lookup.d.ts +0 -1
  271. package/dist/services/lookup.js.map +1 -1
  272. package/dist/urlpattern-polyfill/index.d.ts +0 -1
  273. package/dist/urlpattern-polyfill/index.js.map +1 -1
  274. package/dist/utilities/detect-json-formatting.d.ts +0 -1
  275. package/dist/utilities/detect-json-formatting.js.map +1 -1
  276. package/dist/utilities/node-normalize-path.d.ts +0 -1
  277. package/dist/utilities/node-normalize-path.js.map +1 -1
  278. package/package.json +1 -1
  279. package/dist/bundler-plugins/esbuild.d.ts.map +0 -1
  280. package/dist/bundler-plugins/index.d.ts.map +0 -1
  281. package/dist/bundler-plugins/per-locale-build/constants.d.ts.map +0 -1
  282. package/dist/bundler-plugins/per-locale-build/index.d.ts.map +0 -1
  283. package/dist/bundler-plugins/per-locale-build/locale-id.d.ts.map +0 -1
  284. package/dist/bundler-plugins/per-locale-build/types.d.ts.map +0 -1
  285. package/dist/bundler-plugins/per-locale-build/vite-environments.d.ts.map +0 -1
  286. package/dist/bundler-plugins/per-locale-build/vite-environments.test.d.ts.map +0 -1
  287. package/dist/bundler-plugins/rolldown.d.ts.map +0 -1
  288. package/dist/bundler-plugins/rollup.d.ts.map +0 -1
  289. package/dist/bundler-plugins/rspack.d.ts.map +0 -1
  290. package/dist/bundler-plugins/unplugin.d.ts.map +0 -1
  291. package/dist/bundler-plugins/unplugin.test.d.ts.map +0 -1
  292. package/dist/bundler-plugins/vite.d.ts.map +0 -1
  293. package/dist/bundler-plugins/vite.test.d.ts.map +0 -1
  294. package/dist/bundler-plugins/webpack.d.ts.map +0 -1
  295. package/dist/cli/commands/compile/command.d.ts.map +0 -1
  296. package/dist/cli/commands/compile/command.test.d.ts.map +0 -1
  297. package/dist/cli/commands/init/command.d.ts.map +0 -1
  298. package/dist/cli/defaults.d.ts.map +0 -1
  299. package/dist/cli/index.d.ts.map +0 -1
  300. package/dist/cli/steps/add-vite-plugin.d.ts.map +0 -1
  301. package/dist/cli/steps/add-vite-plugin.test.d.ts.map +0 -1
  302. package/dist/cli/steps/check-for-uncomitted-changes.d.ts.map +0 -1
  303. package/dist/cli/steps/detect-bundler.d.ts.map +0 -1
  304. package/dist/cli/steps/detect-bundler.test.d.ts.map +0 -1
  305. package/dist/cli/steps/initialize-inlang-project.d.ts.map +0 -1
  306. package/dist/cli/steps/maybe-add-machine-translation.d.ts.map +0 -1
  307. package/dist/cli/steps/maybe-add-sherlock.d.ts.map +0 -1
  308. package/dist/cli/steps/prompt-for-outdir.d.ts.map +0 -1
  309. package/dist/cli/steps/update-package-json.d.ts.map +0 -1
  310. package/dist/cli/steps/update-ts-config.d.ts.map +0 -1
  311. package/dist/cli/steps/update-ts-config.test.d.ts.map +0 -1
  312. package/dist/cli/utils.d.ts.map +0 -1
  313. package/dist/compiler/compile-annotation.d.ts.map +0 -1
  314. package/dist/compiler/compile-bundle.d.ts.map +0 -1
  315. package/dist/compiler/compile-bundle.test.d.ts.map +0 -1
  316. package/dist/compiler/compile-local-variable.d.ts.map +0 -1
  317. package/dist/compiler/compile-local-variable.test.d.ts.map +0 -1
  318. package/dist/compiler/compile-message.d.ts.map +0 -1
  319. package/dist/compiler/compile-message.test.d.ts.map +0 -1
  320. package/dist/compiler/compile-pattern.d.ts.map +0 -1
  321. package/dist/compiler/compile-pattern.test.d.ts.map +0 -1
  322. package/dist/compiler/compile-project.d.ts.map +0 -1
  323. package/dist/compiler/compile-project.test.d.ts.map +0 -1
  324. package/dist/compiler/compile.bench.d.ts.map +0 -1
  325. package/dist/compiler/compile.d.ts.map +0 -1
  326. package/dist/compiler/compile.test.d.ts.map +0 -1
  327. package/dist/compiler/compiler-options.d.ts.map +0 -1
  328. package/dist/compiler/create-paraglide.d.ts.map +0 -1
  329. package/dist/compiler/create-paraglide.test.d.ts.map +0 -1
  330. package/dist/compiler/create-readme.d.ts.map +0 -1
  331. package/dist/compiler/emit-ts-declarations.d.ts.map +0 -1
  332. package/dist/compiler/emit-ts-declarations.interop.test.d.ts.map +0 -1
  333. package/dist/compiler/emit-ts-declarations.test.d.ts.map +0 -1
  334. package/dist/compiler/index.d.ts.map +0 -1
  335. package/dist/compiler/jsdoc-types.d.ts.map +0 -1
  336. package/dist/compiler/jsdoc-types.test.d.ts.map +0 -1
  337. package/dist/compiler/match-literals.d.ts.map +0 -1
  338. package/dist/compiler/output-structure/locale-modules.d.ts.map +0 -1
  339. package/dist/compiler/output-structure/locale-modules.test.d.ts.map +0 -1
  340. package/dist/compiler/output-structure/message-modules.d.ts.map +0 -1
  341. package/dist/compiler/output-structure/message-modules.test.d.ts.map +0 -1
  342. package/dist/compiler/per-locale-build.d.ts.map +0 -1
  343. package/dist/compiler/registry.d.ts.map +0 -1
  344. package/dist/compiler/resolve-tsc-js-path.d.ts.map +0 -1
  345. package/dist/compiler/runtime/check-locale.d.ts.map +0 -1
  346. package/dist/compiler/runtime/check-locale.test.d.ts.map +0 -1
  347. package/dist/compiler/runtime/create-runtime.d.ts.map +0 -1
  348. package/dist/compiler/runtime/extract-locale-from-cookie.d.ts.map +0 -1
  349. package/dist/compiler/runtime/extract-locale-from-cookie.test.d.ts.map +0 -1
  350. package/dist/compiler/runtime/extract-locale-from-header.d.ts.map +0 -1
  351. package/dist/compiler/runtime/extract-locale-from-header.test.d.ts.map +0 -1
  352. package/dist/compiler/runtime/extract-locale-from-navigator.d.ts.map +0 -1
  353. package/dist/compiler/runtime/extract-locale-from-navigator.test.d.ts.map +0 -1
  354. package/dist/compiler/runtime/extract-locale-from-request-async.d.ts.map +0 -1
  355. package/dist/compiler/runtime/extract-locale-from-request-async.test.d.ts.map +0 -1
  356. package/dist/compiler/runtime/extract-locale-from-request.d.ts.map +0 -1
  357. package/dist/compiler/runtime/extract-locale-from-request.test.d.ts.map +0 -1
  358. package/dist/compiler/runtime/extract-locale-from-url.d.ts.map +0 -1
  359. package/dist/compiler/runtime/extract-locale-from-url.test.d.ts.map +0 -1
  360. package/dist/compiler/runtime/generate-static-localized-urls.d.ts.map +0 -1
  361. package/dist/compiler/runtime/generate-static-localized-urls.test.d.ts.map +0 -1
  362. package/dist/compiler/runtime/get-locale.d.ts.map +0 -1
  363. package/dist/compiler/runtime/get-locale.test.d.ts.map +0 -1
  364. package/dist/compiler/runtime/get-text-direction.d.ts.map +0 -1
  365. package/dist/compiler/runtime/get-text-direction.test.d.ts.map +0 -1
  366. package/dist/compiler/runtime/get-url-origin.d.ts.map +0 -1
  367. package/dist/compiler/runtime/get-url-origin.test.d.ts.map +0 -1
  368. package/dist/compiler/runtime/localize-href.d.ts.map +0 -1
  369. package/dist/compiler/runtime/localize-href.test.d.ts.map +0 -1
  370. package/dist/compiler/runtime/localize-url.d.ts.map +0 -1
  371. package/dist/compiler/runtime/localize-url.test.d.ts.map +0 -1
  372. package/dist/compiler/runtime/route-strategy.d.ts.map +0 -1
  373. package/dist/compiler/runtime/set-locale.d.ts.map +0 -1
  374. package/dist/compiler/runtime/set-locale.test.d.ts.map +0 -1
  375. package/dist/compiler/runtime/should-redirect.d.ts.map +0 -1
  376. package/dist/compiler/runtime/should-redirect.test.d.ts.map +0 -1
  377. package/dist/compiler/runtime/strategy.d.ts.map +0 -1
  378. package/dist/compiler/runtime/strategy.test.d.ts.map +0 -1
  379. package/dist/compiler/runtime/track-message-call.d.ts.map +0 -1
  380. package/dist/compiler/runtime/track-message-call.test.d.ts.map +0 -1
  381. package/dist/compiler/runtime/type-definitions.d.ts.map +0 -1
  382. package/dist/compiler/runtime/type.d.ts.map +0 -1
  383. package/dist/compiler/runtime/type.test.d.ts.map +0 -1
  384. package/dist/compiler/runtime/variables.d.ts.map +0 -1
  385. package/dist/compiler/safe-module-id.d.ts.map +0 -1
  386. package/dist/compiler/safe-module-id.test.d.ts.map +0 -1
  387. package/dist/compiler/seed-previous-compilation.d.ts.map +0 -1
  388. package/dist/compiler/server/create-server-file.d.ts.map +0 -1
  389. package/dist/compiler/server/create-server-file.test.d.ts.map +0 -1
  390. package/dist/compiler/server/middleware.d.ts.map +0 -1
  391. package/dist/compiler/server/middleware.test.d.ts.map +0 -1
  392. package/dist/compiler/server/type.d.ts.map +0 -1
  393. package/dist/compiler/types.d.ts.map +0 -1
  394. package/dist/compiler/variable-access.d.ts.map +0 -1
  395. package/dist/index.d.ts.map +0 -1
  396. package/dist/services/account/index.d.ts.map +0 -1
  397. package/dist/services/codegen/escape.d.ts.map +0 -1
  398. package/dist/services/codegen/quotes.d.ts.map +0 -1
  399. package/dist/services/env-variables/create-index-file.d.ts.map +0 -1
  400. package/dist/services/env-variables/index.d.ts.map +0 -1
  401. package/dist/services/environment/package.d.ts.map +0 -1
  402. package/dist/services/environment/package.test.d.ts.map +0 -1
  403. package/dist/services/error-handling.d.ts.map +0 -1
  404. package/dist/services/error-handling.test.d.ts.map +0 -1
  405. package/dist/services/file-handling/exists.d.ts.map +0 -1
  406. package/dist/services/file-handling/exists.test.d.ts.map +0 -1
  407. package/dist/services/file-handling/types.d.ts.map +0 -1
  408. package/dist/services/file-handling/write-output.d.ts.map +0 -1
  409. package/dist/services/file-handling/write-output.test.d.ts.map +0 -1
  410. package/dist/services/file-watching/tracked-fs.d.ts.map +0 -1
  411. package/dist/services/file-watching/tracked-fs.test.d.ts.map +0 -1
  412. package/dist/services/logger/index.d.ts.map +0 -1
  413. package/dist/services/lookup.d.ts.map +0 -1
  414. package/dist/urlpattern-polyfill/index.d.ts.map +0 -1
  415. package/dist/utilities/detect-json-formatting.d.ts.map +0 -1
  416. package/dist/utilities/node-normalize-path.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"route-strategy.js","sourceRoot":"","sources":["../../../src/compiler/runtime/route-strategy.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE3D,iCAAiC;AACjC,IAAI,sBAAsB,CAAC;AAC3B,2FAA2F;AAC3F,IAAI,mBAAmB,CAAC;AAExB;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAG;IAC5C,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IAC3D,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,mBAAmB,CAAC;IAC5B,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,aAAa,GAClB,YAAY,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI;QACnC,CAAC,CAAC,CAAC,SAAS,CAAC;QACb,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC9B,IAAI,KAAK,CAAC;IACV,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QAC1C,KAAK,MAAM,aAAa,IAAI,eAAe,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;YACvE,IAAI,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,KAAK,GAAG,aAAa,CAAC;gBACtB,MAAM;YACP,CAAC;QACF,CAAC;QACD,IAAI,KAAK;YAAE,MAAM;IAClB,CAAC;IAED,sBAAsB,GAAG,SAAS,CAAC;IACnC,mBAAmB,GAAG,KAAK,CAAC;IAC5B,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAG;IACpC,MAAM,aAAa,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC;IACrD,IACC,aAAa;QACb,aAAa,CAAC,OAAO,KAAK,IAAI;QAC9B,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,EACpC,CAAC;QACF,OAAO,aAAa,CAAC,QAAQ,CAAC;IAC/B,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAG;IAC5C,OAAO,yBAAyB,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"route-strategy.js","sourceRoot":"","sources":["../../../src/compiler/runtime/route-strategy.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE3D,iCAAiC;AACjC,IAAI,sBAAsB,CAAC;AAC3B,2FAA2F;AAC3F,IAAI,mBAAmB,CAAC;AAExB;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAG;IAC5C,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IAC3D,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,mBAAmB,CAAC;IAC5B,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,aAAa,GAClB,YAAY,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI;QACnC,CAAC,CAAC,CAAC,SAAS,CAAC;QACb,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC9B,IAAI,KAAK,CAAC;IACV,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QAC1C,KAAK,MAAM,aAAa,IAAI,eAAe,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;YACvE,IAAI,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,KAAK,GAAG,aAAa,CAAC;gBACtB,MAAM;YACP,CAAC;QACF,CAAC;QACD,IAAI,KAAK;YAAE,MAAM;IAClB,CAAC;IAED,sBAAsB,GAAG,SAAS,CAAC;IACnC,mBAAmB,GAAG,KAAK,CAAC;IAC5B,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAG;IACpC,MAAM,aAAa,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC;IACrD,IACC,aAAa;QACb,aAAa,CAAC,OAAO,KAAK,IAAI;QAC9B,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,EACpC,CAAC;QACF,OAAO,aAAa,CAAC,QAAQ,CAAC;IAC/B,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAG;IAC5C,OAAO,yBAAyB,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;AACzD,CAAC","sourcesContent":["import { deLocalizeUrl } from \"./localize-url.js\";\nimport { routeStrategies, strategy } from \"./variables.js\";\n\n/** @type {string | undefined} */\nlet cachedRouteStrategyUrl;\n/** @type {{ match: string; strategy?: typeof strategy; exclude?: boolean } | undefined} */\nlet cachedRouteStrategy;\n\n/**\n * Match route policy against both the public URL and its canonical URL.\n *\n * The function is deliberately separate from variables.js: configuration is\n * inert data, while canonicalization and route selection form a routing layer.\n *\n * @param {string | URL} url\n * @returns {{ match: string; strategy?: typeof strategy; exclude?: boolean } | undefined}\n */\nexport function findMatchingRouteStrategy(url) {\n\tif (routeStrategies.length === 0) {\n\t\treturn undefined;\n\t}\n\n\tconst urlString = typeof url === \"string\" ? url : url.href;\n\tif (cachedRouteStrategyUrl === urlString) {\n\t\treturn cachedRouteStrategy;\n\t}\n\n\tconst publicUrl = new URL(urlString, \"http://example.com\");\n\tconst canonicalUrl = deLocalizeUrl(publicUrl);\n\tconst candidateUrls =\n\t\tcanonicalUrl.href === publicUrl.href\n\t\t\t? [publicUrl]\n\t\t\t: [publicUrl, canonicalUrl];\n\tlet match;\n\tfor (const candidateUrl of candidateUrls) {\n\t\tfor (const routeStrategy of routeStrategies) {\n\t\t\tconst pattern = new URLPattern(routeStrategy.match, candidateUrl.href);\n\t\t\tif (pattern.exec(candidateUrl.href)) {\n\t\t\t\tmatch = routeStrategy;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (match) break;\n\t}\n\n\tcachedRouteStrategyUrl = urlString;\n\tcachedRouteStrategy = match;\n\treturn match;\n}\n\n/**\n * Returns the strategy to use for a specific URL.\n *\n * If no route strategy matches (or the matching rule is `exclude: true`),\n * the global strategy is returned.\n *\n * @param {string | URL} url\n * @returns {typeof strategy}\n */\nexport function getStrategyForUrl(url) {\n\tconst routeStrategy = findMatchingRouteStrategy(url);\n\tif (\n\t\trouteStrategy &&\n\t\trouteStrategy.exclude !== true &&\n\t\tArray.isArray(routeStrategy.strategy)\n\t) {\n\t\treturn routeStrategy.strategy;\n\t}\n\treturn strategy;\n}\n\n/**\n * Returns whether the given URL is excluded from middleware i18n processing.\n *\n * @param {string | URL} url\n * @returns {boolean}\n */\nexport function isExcludedByRouteStrategy(url) {\n\treturn findMatchingRouteStrategy(url)?.exclude === true;\n}\n"]}
@@ -44,4 +44,3 @@ export declare let setLocale: SetLocaleFn;
44
44
  * @param {SetLocaleFn} fn
45
45
  */
46
46
  export declare const overwriteSetLocale: (fn: SetLocaleFn) => void;
47
- //# sourceMappingURL=set-locale.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"set-locale.js","sourceRoot":"","sources":["../../../src/compiler/runtime/set-locale.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"set-locale.js","sourceRoot":"","sources":["../../../src/compiler/runtime/set-locale.js"],"names":[],"mappings":"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","sourcesContent":["import { getLocale } from \"./get-locale.js\";\nimport { clearLocaleCookieCache } from \"./extract-locale-from-cookie.js\";\nimport { localizeUrl } from \"./localize-url.js\";\nimport { getStrategyForUrl } from \"./route-strategy.js\";\nimport { customClientStrategies, isCustomStrategy } from \"./strategy.js\";\nimport {\n\tcookieDomain,\n\tcookieMaxAge,\n\tcookieName,\n\tisServer,\n\tlocalStorageKey,\n\texperimentalStaticLocale,\n\tstrategy,\n\tTREE_SHAKE_COOKIE_STRATEGY_USED,\n\tTREE_SHAKE_GLOBAL_VARIABLE_STRATEGY_USED,\n\tTREE_SHAKE_LOCAL_STORAGE_STRATEGY_USED,\n\tTREE_SHAKE_URL_STRATEGY_USED,\n} from \"./variables.js\";\n\n/**\n * Navigates to the localized URL, or reloads the current page\n *\n * @param {string} [newLocation] The new location\n */\nconst navigateOrReload = (newLocation) => {\n\tif (newLocation) {\n\t\t// reload the page by navigating to the new url\n\t\twindow.location.href = newLocation;\n\t} else {\n\t\t// reload the page to reflect the new locale\n\t\twindow.location.reload();\n\t}\n};\n\n/**\n * @typedef {(newLocale: Locale, options?: { reload?: boolean }) => void | Promise<void>} SetLocaleFn\n */\n\n/**\n * Set the locale.\n *\n * Updates the locale using your configured strategies (cookie, localStorage, URL, etc.).\n * By default, this navigates the client to the localized URL or reloads the current\n * document to reflect the new locale. `reload: false` is a narrow browser-only escape\n * hatch for a fully client-rendered, non-URL-routed surface that owns its reactive\n * updates and document state. It does not re-render the UI or update the document.\n * Do not use it for normal locale pickers, URL-routed pages, or switching an SSR,\n * SSG, or hydrated document. It is incompatible with per-locale builds.\n *\n * If any custom strategy's `setLocale` function is async, then this function\n * will become async as well.\n *\n * @see https://paraglidejs.com/strategy\n *\n * @example\n * setLocale('en');\n *\n * @example\n * setLocale('en', { reload: false });\n *\n * @type {SetLocaleFn}\n */\nexport let setLocale = (newLocale, options) => {\n\tconst optionsWithDefaults = {\n\t\treload: true,\n\t\t...options,\n\t};\n\tif (\n\t\texperimentalStaticLocale !== undefined &&\n\t\tnewLocale !== experimentalStaticLocale &&\n\t\toptionsWithDefaults.reload === false\n\t) {\n\t\tconsole.warn(\n\t\t\t`Paraglide: setLocale(${JSON.stringify(newLocale)}, { reload: false }) cannot switch away from the statically built locale ${JSON.stringify(experimentalStaticLocale)}. A document navigation is required; reload has been forced to true.`\n\t\t);\n\t\toptionsWithDefaults.reload = true;\n\t}\n\t// locale is already set\n\t// https://github.com/opral/inlang-paraglide-js/issues/430\n\t/** @type {Locale | undefined} */\n\tlet currentLocale;\n\ttry {\n\t\tcurrentLocale = getLocale();\n\t} catch {\n\t\t// do nothing, no locale has been set yet.\n\t}\n\t/** @type {Array<Promise<void>>} */\n\tconst customSetLocalePromises = [];\n\t/** @type {string | undefined} */\n\tlet newLocation = undefined;\n\tlet strategyToUse = strategy;\n\tif (!isServer && typeof window !== \"undefined\" && window.location?.href) {\n\t\tstrategyToUse = getStrategyForUrl(window.location.href);\n\t}\n\tfor (const strat of strategyToUse) {\n\t\tif (\n\t\t\tTREE_SHAKE_GLOBAL_VARIABLE_STRATEGY_USED &&\n\t\t\tstrat === \"globalVariable\"\n\t\t) {\n\t\t\t// a default for a custom strategy to get started quickly\n\t\t\t// is likely overwritten by `defineSetLocale()`\n\t\t\t_locale = newLocale;\n\t\t} else if (TREE_SHAKE_COOKIE_STRATEGY_USED && strat === \"cookie\") {\n\t\t\tif (\n\t\t\t\tisServer ||\n\t\t\t\ttypeof document === \"undefined\" ||\n\t\t\t\ttypeof window === \"undefined\"\n\t\t\t) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// set the cookie\n\t\t\tconst cookieString = `${cookieName}=${newLocale}; path=/; max-age=${cookieMaxAge}`;\n\t\t\tdocument.cookie = cookieDomain\n\t\t\t\t? `${cookieString}; domain=${cookieDomain}`\n\t\t\t\t: cookieString;\n\t\t\tclearLocaleCookieCache();\n\t\t} else if (strat === \"baseLocale\") {\n\t\t\t// nothing to be set here. baseLocale is only a fallback\n\t\t\tcontinue;\n\t\t} else if (\n\t\t\tTREE_SHAKE_URL_STRATEGY_USED &&\n\t\t\tstrat === \"url\" &&\n\t\t\ttypeof window !== \"undefined\"\n\t\t) {\n\t\t\t// route to the new url\n\t\t\t//\n\t\t\t// this triggers a page reload but a user rarely\n\t\t\t// switches locales, so this should be fine.\n\t\t\t//\n\t\t\t// if the behavior is not desired, the implementation\n\t\t\t// can be overwritten by `defineSetLocale()` to avoid\n\t\t\t// a full page reload.\n\t\t\tnewLocation = localizeUrl(window.location.href, {\n\t\t\t\tlocale: newLocale,\n\t\t\t}).href;\n\t\t} else if (\n\t\t\tTREE_SHAKE_LOCAL_STORAGE_STRATEGY_USED &&\n\t\t\tstrat === \"localStorage\" &&\n\t\t\ttypeof window !== \"undefined\"\n\t\t) {\n\t\t\t// set the localStorage\n\t\t\tlocalStorage.setItem(localStorageKey, newLocale);\n\t\t} else if (isCustomStrategy(strat) && customClientStrategies.has(strat)) {\n\t\t\tconst handler = customClientStrategies.get(strat);\n\t\t\tif (handler) {\n\t\t\t\tlet result = handler.setLocale(newLocale);\n\t\t\t\t// Handle async setLocale\n\t\t\t\tif (result instanceof Promise) {\n\t\t\t\t\tresult = result.catch((error) => {\n\t\t\t\t\t\tthrow new Error(`Custom strategy \"${strat}\" setLocale failed.`, {\n\t\t\t\t\t\t\tcause: error,\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t\tcustomSetLocalePromises.push(result);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tconst runReload = () => {\n\t\tif (\n\t\t\t!isServer &&\n\t\t\toptionsWithDefaults.reload &&\n\t\t\twindow.location &&\n\t\t\tnewLocale !== currentLocale\n\t\t) {\n\t\t\tnavigateOrReload(newLocation);\n\t\t}\n\t};\n\n\tif (customSetLocalePromises.length) {\n\t\treturn Promise.all(customSetLocalePromises).then(() => {\n\t\t\trunReload();\n\t\t});\n\t}\n\n\trunReload();\n\n\treturn;\n};\n\n/**\n * Overwrite the `setLocale()` function.\n *\n * Use this function to overwrite how the locale is set. For example,\n * modify a cookie, env variable, or a user's preference.\n *\n * @example\n * overwriteSetLocale((newLocale) => {\n * // set the locale in a cookie\n * return Cookies.set('locale', newLocale)\n * });\n *\n * @param {SetLocaleFn} fn\n */\nexport const overwriteSetLocale = (fn) => {\n\tsetLocale = fn;\n};\n"]}
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=set-locale.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"set-locale.test.js","sourceRoot":"","sources":["../../../src/compiler/runtime/set-locale.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"set-locale.test.js","sourceRoot":"","sources":["../../../src/compiler/runtime/set-locale.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { newProject } from \"@inlang/sdk\";\nimport { expect, test, vi } from \"vitest\";\nimport { createParaglide } from \"../create-paraglide.js\";\n\ntest(\"sets the cookie to a different locale\", async () => {\n\t// @ts-expect-error - global variable definition\n\tglobalThis.document = {};\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window = {};\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window.location = { hostname: \"example.com\" };\n\tglobalThis.window.location.reload = vi.fn();\n\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"cookie\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t});\n\n\tglobalThis.document.cookie = \"PARAGLIDE_LOCALE=en\";\n\n\truntime.setLocale(\"de\");\n\n\t// set the locale\n\texpect(globalThis.document.cookie).toBe(\n\t\t\"PARAGLIDE_LOCALE=de; path=/; max-age=34560000\"\n\t);\n\t// reloads the site if window is available\n\texpect(globalThis.window.location.reload).toBeCalled();\n});\n\ntest(\"sets the cookie with explicit domain to a different locale navigating subdomain\", async () => {\n\t// @ts-expect-error - global variable definition\n\tglobalThis.document = {};\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window = {};\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window.location = { hostname: \"web.example.com\" };\n\tglobalThis.window.location.reload = vi.fn();\n\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"cookie\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t\tcookieDomain: \"example.com\",\n\t});\n\n\tglobalThis.document.cookie = \"PARAGLIDE_LOCALE=en\";\n\n\truntime.setLocale(\"de\");\n\n\t// set the locale\n\texpect(globalThis.document.cookie).toBe(\n\t\t\"PARAGLIDE_LOCALE=de; path=/; max-age=34560000; domain=example.com\"\n\t);\n\t// reloads the site if window is available\n\texpect(globalThis.window.location.reload).toBeCalled();\n});\n\ntest(\"sets the cookie with explicit domain to a different locale navigating domain\", async () => {\n\t// @ts-expect-error - global variable definition\n\tglobalThis.document = {};\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window = {};\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window.location = { hostname: \"example.com\" };\n\tglobalThis.window.location.reload = vi.fn();\n\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"cookie\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t\tcookieDomain: \"example.com\",\n\t});\n\n\tglobalThis.document.cookie = \"PARAGLIDE_LOCALE=en\";\n\n\truntime.setLocale(\"de\");\n\n\t// set the locale\n\texpect(globalThis.document.cookie).toBe(\n\t\t\"PARAGLIDE_LOCALE=de; path=/; max-age=34560000; domain=example.com\"\n\t);\n\t// reloads the site if window is available\n\texpect(globalThis.window.location.reload).toBeCalled();\n});\n\ntest(\"url pattern strategy sets the window location\", async () => {\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window = {};\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window.location = {};\n\tglobalThis.window.location.hostname = \"example.com\";\n\tglobalThis.window.location.reload = vi.fn();\n\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: { baseLocale: \"en\", locales: [\"en\", \"de\"] },\n\t\t}),\n\t\tstrategy: [\"url\"],\n\t\turlPatterns: [\n\t\t\t{\n\t\t\t\tpattern: \"https://example.:tld/:path*\",\n\t\t\t\tlocalized: [\n\t\t\t\t\t[\"en\", \"https://example.com/:path*\"],\n\t\t\t\t\t[\"de\", \"https://example.de/:path*\"],\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t});\n\n\tglobalThis.window.location.href = \"https://example.com/page\";\n\n\truntime.setLocale(\"de\");\n\n\texpect(globalThis.window.location.href).toBe(\"https://example.de/page\");\n\t// setting window.location.hostname automatically reloads the page\n\texpect(globalThis.window.location.reload).not.toBeCalled();\n});\n\ntest(\"url strategy setLocale normalizes mixed-case explicit locales\", async () => {\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window = {};\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window.location = {};\n\tglobalThis.window.location.hostname = \"example.com\";\n\tglobalThis.window.location.reload = vi.fn();\n\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: { baseLocale: \"en\", locales: [\"en\", \"de\"] },\n\t\t}),\n\t\tstrategy: [\"url\"],\n\t\turlPatterns: [\n\t\t\t{\n\t\t\t\tpattern: \"https://example.:tld/:path*\",\n\t\t\t\tlocalized: [\n\t\t\t\t\t[\"en\", \"https://example.com/:path*\"],\n\t\t\t\t\t[\"de\", \"https://example.de/:path*\"],\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t});\n\n\tglobalThis.window.location.href = \"https://example.com/page\";\n\n\truntime.setLocale(\"DE\" as any);\n\n\texpect(globalThis.window.location.href).toBe(\"https://example.de/page\");\n\t// setting window.location.hostname automatically reloads the page\n\texpect(globalThis.window.location.reload).not.toBeCalled();\n});\n\ntest(\"routeStrategies can disable url navigation on matching routes\", async () => {\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window = {};\n\t// @ts-expect-error - global variable definition\n\tglobalThis.document = {};\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window.location = {\n\t\thref: \"https://example.com/dashboard\",\n\t\thostname: \"example.com\",\n\t\treload: vi.fn(),\n\t};\n\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: { baseLocale: \"en\", locales: [\"en\", \"fr\"] },\n\t\t}),\n\t\tstrategy: [\"url\", \"cookie\", \"baseLocale\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t\trouteStrategies: [\n\t\t\t{\n\t\t\t\tmatch: \"/dashboard/:path(.*)?\",\n\t\t\t\tstrategy: [\"cookie\", \"baseLocale\"],\n\t\t\t},\n\t\t],\n\t});\n\n\tglobalThis.document.cookie = \"PARAGLIDE_LOCALE=en\";\n\truntime.setLocale(\"fr\");\n\n\texpect(globalThis.document.cookie).toBe(\n\t\t\"PARAGLIDE_LOCALE=fr; path=/; max-age=34560000\"\n\t);\n\texpect(globalThis.window.location.href).toBe(\"https://example.com/dashboard\");\n\texpect(globalThis.window.location.reload).toBeCalled();\n});\n\n// `!document.cookie` was used which returned false for an empty string\ntest(\"sets the cookie when it's an empty string\", async () => {\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"cookie\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t});\n\n\t/** @ts-expect-error - client side api */\n\tglobalThis.document = { cookie: \"\" };\n\n\truntime.setLocale(\"en\");\n\n\texpect(globalThis.document.cookie).toBe(\n\t\t\"PARAGLIDE_LOCALE=en; path=/; max-age=34560000\"\n\t);\n});\n\ntest(\"when strategy precedes URL, it should set the locale and re-direct to the URL\", async () => {\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"cookie\", \"url\", \"baseLocale\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t\tisServer: \"false\",\n\t\turlPatterns: [\n\t\t\t{\n\t\t\t\tpattern: \"https://example.com/en/:path(.*)?\",\n\t\t\t\tlocalized: [\n\t\t\t\t\t[\"en\", \"https://example.com/en/:path(.*)?\"],\n\t\t\t\t\t[\"fr\", \"https://example.com/fr/:path(.*)?\"],\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t});\n\n\t/** @ts-expect-error - client side api */\n\tglobalThis.document = { cookie: \"PARAGLIDE_LOCALE=fr\" };\n\tglobalThis.window = {\n\t\tlocation: new URL(\"https://example.com/fr/some-path\"),\n\t} as any;\n\n\t// Cookie strategy should determine locale as French\n\texpect(runtime.getLocale()).toBe(\"fr\");\n\n\truntime.setLocale(\"en\");\n\n\texpect(globalThis.document.cookie).toBe(\n\t\t\"PARAGLIDE_LOCALE=en; path=/; max-age=34560000\"\n\t);\n\texpect(globalThis.window.location.href).toBe(\n\t\t\"https://example.com/en/some-path\"\n\t);\n});\n\ntest(\"overwriteSetLocale receives the options object\", async () => {\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"cookie\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t});\n\n\t// Provide minimal browser globals to avoid strategy branches failing.\n\t/** @ts-expect-error - browser shim for tests */\n\tglobalThis.document = { cookie: \"\" };\n\tglobalThis.window = {\n\t\tlocation: {\n\t\t\thref: \"https://example.com/en\",\n\t\t\treload: vi.fn(),\n\t\t},\n\t} as any;\n\n\tconst spy = vi.fn();\n\truntime.overwriteSetLocale(spy);\n\n\truntime.setLocale(\"fr\", { reload: false });\n\n\texpect(spy).toHaveBeenCalledWith(\"fr\", { reload: false });\n});\n\n// https://github.com/opral/inlang-paraglide-js/issues/430\ntest(\"should not reload when setting locale to current locale\", async () => {\n\t// @ts-expect-error - global variable definition\n\tglobalThis.document = {};\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window = {};\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window.location = { hostname: \"example.com\" };\n\tglobalThis.window.location.reload = vi.fn();\n\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"cookie\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t});\n\n\tglobalThis.document.cookie = \"PARAGLIDE_LOCALE=en; path=/\";\n\n\t// Setting to the current locale (en)\n\truntime.setLocale(\"en\");\n\n\t// Cookie should remain unchanged\n\texpect(globalThis.document.cookie).toBe(\n\t\t\"PARAGLIDE_LOCALE=en; path=/; max-age=34560000\"\n\t);\n\t// Should not trigger a reload\n\texpect(globalThis.window.location.reload).not.toBeCalled();\n\n\t// Setting to a different locale should still work\n\truntime.setLocale(\"de\");\n\texpect(globalThis.document.cookie).toBe(\n\t\t\"PARAGLIDE_LOCALE=de; path=/; max-age=34560000\"\n\t);\n\texpect(globalThis.window.location.reload).toBeCalled();\n});\n\ntest(\"static locale builds force a document reload when switching locales\", async () => {\n\t// @ts-expect-error - browser shim for tests\n\tglobalThis.document = { cookie: \"\" };\n\tglobalThis.window = {\n\t\tlocation: {\n\t\t\thref: \"https://example.com/en\",\n\t\t\thostname: \"example.com\",\n\t\t\treload: vi.fn(),\n\t\t},\n\t} as any;\n\tconst warn = vi.spyOn(console, \"warn\").mockImplementation(() => undefined);\n\n\ttry {\n\t\tconst runtime = await createParaglide({\n\t\t\tblob: await newProject({\n\t\t\t\tsettings: {\n\t\t\t\t\tbaseLocale: \"en\",\n\t\t\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t\t},\n\t\t\t}),\n\t\t\tstrategy: [\"cookie\"],\n\t\t\tisServer: \"false\",\n\t\t\texperimentalStaticLocale: JSON.stringify(\"en\"),\n\t\t});\n\n\t\truntime.setLocale(\"de\", { reload: false });\n\n\t\texpect(warn).toHaveBeenCalledOnce();\n\t\texpect(globalThis.window.location.reload).toHaveBeenCalledOnce();\n\t} finally {\n\t\twarn.mockRestore();\n\t}\n});\n\ntest(\"sets the locale to localStorage\", async () => {\n\t// @ts-expect-error - global variable definition\n\tglobalThis.localStorage = {\n\t\tsetItem: vi.fn(),\n\t\tgetItem: () => \"en\",\n\t};\n\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window = {};\n\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"localStorage\"],\n\t});\n\n\truntime.setLocale(\"de\");\n\n\texpect(globalThis.localStorage.setItem).toHaveBeenCalledWith(\n\t\t\"PARAGLIDE_LOCALE\",\n\t\t\"de\"\n\t);\n});\n\n// Test that all strategies set their respective storage mechanisms\ntest(\"should set locale in all configured storage mechanisms regardless of which strategy resolved the locale\", async () => {\n\t// Setup global objects\n\t// @ts-expect-error - global variable definition\n\tglobalThis.document = { cookie: \"\" };\n\t// @ts-expect-error - global variable definition\n\tglobalThis.localStorage = {\n\t\tsetItem: vi.fn(),\n\t\tgetItem: () => null,\n\t};\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window = {};\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window.location = {};\n\tglobalThis.window.location.hostname = \"example.com\";\n\tglobalThis.window.location.href = \"https://example.com/en/page\";\n\tglobalThis.window.location.reload = vi.fn();\n\n\t// Create runtime with multiple strategies\n\tconst runtime = 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\", \"localStorage\", \"cookie\", \"baseLocale\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t\turlPatterns: [\n\t\t\t{\n\t\t\t\tpattern: \"https://example.com/:locale/:path*\",\n\t\t\t\tlocalized: [\n\t\t\t\t\t[\"en\", \"https://example.com/en/:path*\"],\n\t\t\t\t\t[\"de\", \"https://example.com/de/:path*\"],\n\t\t\t\t\t[\"fr\", \"https://example.com/fr/:path*\"],\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t});\n\n\t// Call setLocale\n\truntime.setLocale(\"fr\");\n\n\t// Verify that all storage mechanisms are updated\n\texpect(globalThis.window.location.href).toBe(\"https://example.com/fr/page\");\n\texpect(globalThis.localStorage.setItem).toHaveBeenCalledWith(\n\t\t\"PARAGLIDE_LOCALE\",\n\t\t\"fr\"\n\t);\n\texpect(globalThis.document.cookie).toBe(\n\t\t\"PARAGLIDE_LOCALE=fr; path=/; max-age=34560000\"\n\t);\n});\n\ntest(\"calls setLocale on custom strategy\", async () => {\n\tlet customLocale = \"en\";\n\tlet setLocaleCalled = false;\n\n\tglobalThis.window = {\n\t\tlocation: { reload: vi.fn() },\n\t} as any;\n\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\", \"de\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"custom-setter\", \"baseLocale\"],\n\t\tisServer: \"false\",\n\t});\n\n\truntime.defineCustomClientStrategy(\"custom-setter\", {\n\t\tgetLocale: () => customLocale,\n\t\tsetLocale: (locale) => {\n\t\t\tcustomLocale = locale;\n\t\t\tsetLocaleCalled = true;\n\t\t},\n\t});\n\n\truntime.setLocale(\"fr\");\n\n\texpect(setLocaleCalled).toBe(true);\n\texpect(customLocale).toBe(\"fr\");\n\texpect(globalThis.window.location.reload).toHaveBeenCalled();\n});\n\ntest(\"calls setLocale on multiple custom strategies\", async () => {\n\tlet customLocale1 = \"en\";\n\tlet customLocale2 = \"en\";\n\tlet setLocaleCalled1 = false;\n\tlet setLocaleCalled2 = false;\n\n\tglobalThis.window = {\n\t\tlocation: { reload: vi.fn() },\n\t} as any;\n\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\", \"de\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"custom-multi1\", \"custom-multi2\", \"baseLocale\"],\n\t\tisServer: \"false\",\n\t});\n\n\truntime.defineCustomClientStrategy(\"custom-multi1\", {\n\t\tgetLocale: () => customLocale1,\n\t\tsetLocale: (locale) => {\n\t\t\tcustomLocale1 = locale;\n\t\t\tsetLocaleCalled1 = true;\n\t\t},\n\t});\n\n\truntime.defineCustomClientStrategy(\"custom-multi2\", {\n\t\tgetLocale: () => customLocale2,\n\t\tsetLocale: (locale) => {\n\t\t\tcustomLocale2 = locale;\n\t\t\tsetLocaleCalled2 = true;\n\t\t},\n\t});\n\n\truntime.setLocale(\"de\");\n\n\texpect(setLocaleCalled1).toBe(true);\n\texpect(setLocaleCalled2).toBe(true);\n\texpect(customLocale1).toBe(\"de\");\n\texpect(customLocale2).toBe(\"de\");\n});\n\ntest(\"setLocale should return a promise if any custom setLocale function is async\", async () => {\n\tlet customLocale1 = \"en\";\n\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\", \"de\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"custom-async\", \"baseLocale\"],\n\t\tisServer: \"false\",\n\t});\n\n\truntime.defineCustomClientStrategy(\"custom-async\", {\n\t\tgetLocale: () => customLocale1,\n\t\tsetLocale: async (locale) => {\n\t\t\tcustomLocale1 = locale;\n\t\t},\n\t});\n\n\tconst setLocalePromise = runtime.setLocale(\"de\");\n\tconst setLocalePromiseWithoutReload = runtime.setLocale(\"de\", {\n\t\treload: false,\n\t});\n\n\texpect(setLocalePromise).toBeInstanceOf(Promise);\n\texpect(setLocalePromiseWithoutReload).toBeInstanceOf(Promise);\n});\n\ntest(\"awaits async setLocale functions to resolve in custom strategy\", async () => {\n\tlet customLocale1 = \"en\";\n\n\tglobalThis.window = {\n\t\tlocation: {\n\t\t\treload: vi.fn(),\n\t\t},\n\t} as any;\n\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\", \"de\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"custom-async\", \"baseLocale\"],\n\t\tisServer: \"false\",\n\t});\n\n\truntime.defineCustomClientStrategy(\"custom-async\", {\n\t\tgetLocale: () => customLocale1,\n\t\tsetLocale: async (locale) => {\n\t\t\tcustomLocale1 = locale;\n\t\t},\n\t});\n\n\tconst setLocalePromise = runtime.setLocale(\"de\");\n\texpect(window.location.reload).not.toHaveBeenCalled();\n\n\tawait setLocalePromise;\n\n\t// Verify that setLocale resolved before reload was called\n\texpect(window.location.reload).toHaveBeenCalledTimes(1);\n\texpect(customLocale1).toBe(\"de\");\n});\n\ntest(\"awaits async setLocale functions to resolve in multiple custom strategies\", async () => {\n\tlet customLocale1 = \"en\";\n\tlet customLocale2 = \"en\";\n\n\tglobalThis.window = {\n\t\tlocation: {\n\t\t\treload: vi.fn(),\n\t\t},\n\t} as any;\n\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\", \"de\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"custom-async1\", \"custom-async2\", \"baseLocale\"],\n\t\tisServer: \"false\",\n\t});\n\n\truntime.defineCustomClientStrategy(\"custom-async1\", {\n\t\tgetLocale: () => customLocale1,\n\t\tsetLocale: async (locale) => {\n\t\t\tcustomLocale1 = locale;\n\t\t},\n\t});\n\n\truntime.defineCustomClientStrategy(\"custom-async2\", {\n\t\tgetLocale: () => customLocale2,\n\t\tsetLocale: async (locale) => {\n\t\t\tcustomLocale2 = locale;\n\t\t},\n\t});\n\n\tconst setLocalePromise = runtime.setLocale(\"de\");\n\texpect(window.location.reload).not.toHaveBeenCalled();\n\n\tawait setLocalePromise;\n\n\t// Verify that setLocale resolved before reload was called\n\texpect(window.location.reload).toHaveBeenCalledTimes(1);\n\texpect(customLocale1).toBe(\"de\");\n\texpect(customLocale2).toBe(\"de\");\n});\n\ntest(\"reload should not run if async setLocale function rejects in custom strategy\", async () => {\n\tconst customLocale1 = \"en\";\n\n\tglobalThis.window = {\n\t\tlocation: {\n\t\t\treload: vi.fn(),\n\t\t},\n\t} as any;\n\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\", \"de\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"custom-async\", \"baseLocale\"],\n\t\tisServer: \"false\",\n\t});\n\n\truntime.defineCustomClientStrategy(\"custom-async\", {\n\t\tgetLocale: () => customLocale1,\n\t\tsetLocale: async () => {\n\t\t\tthrow new Error(\"fetch error\");\n\t\t},\n\t});\n\n\tconst error = expect(() => runtime.setLocale(\"de\")).rejects;\n\tawait error.toThrowError(`Custom strategy \"custom-async\" setLocale failed.`);\n\tawait error.toMatchObject({ cause: { message: \"fetch error\" } });\n\n\t// Verify that reload was never called\n\texpect(window.location.reload).toHaveBeenCalledTimes(0);\n\texpect(customLocale1).toBe(\"en\");\n});\n\ntest(\"custom strategy setLocale works with cookie and localStorage\", async () => {\n\tlet customData = \"en\";\n\n\tglobalThis.document = { cookie: \"\" } as any;\n\tglobalThis.localStorage = {\n\t\tsetItem: vi.fn(),\n\t\tgetItem: () => null,\n\t} as any;\n\tglobalThis.window = {\n\t\tlocation: {\n\t\t\thostname: \"example.com\",\n\t\t\treload: vi.fn(),\n\t\t},\n\t} as any;\n\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\", \"de\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"custom-api\", \"localStorage\", \"cookie\", \"baseLocale\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t\tisServer: \"false\",\n\t});\n\n\truntime.defineCustomClientStrategy(\"custom-api\", {\n\t\tgetLocale: () => customData,\n\t\tsetLocale: (locale) => {\n\t\t\tcustomData = locale;\n\t\t},\n\t});\n\n\truntime.setLocale(\"fr\");\n\n\texpect(customData).toBe(\"fr\");\n\texpect(globalThis.localStorage.setItem).toHaveBeenCalledWith(\n\t\t\"PARAGLIDE_LOCALE\",\n\t\t\"fr\"\n\t);\n\texpect(globalThis.document.cookie).toBe(\n\t\t\"PARAGLIDE_LOCALE=fr; path=/; max-age=34560000\"\n\t);\n});\n\ntest(\"custom strategy setLocale integrates with URL strategy\", async () => {\n\tlet customStoredLocale = \"en\";\n\n\tglobalThis.window = {\n\t\tlocation: {\n\t\t\thostname: \"example.com\",\n\t\t\thref: \"https://example.com/en/page\",\n\t\t\treload: vi.fn(),\n\t\t},\n\t} as any;\n\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\", \"de\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"url\", \"custom-urlIntegration\", \"baseLocale\"],\n\t\turlPatterns: [\n\t\t\t{\n\t\t\t\tpattern: \"https://example.com/:locale/:path*\",\n\t\t\t\tlocalized: [\n\t\t\t\t\t[\"en\", \"https://example.com/en/:path*\"],\n\t\t\t\t\t[\"fr\", \"https://example.com/fr/:path*\"],\n\t\t\t\t\t[\"de\", \"https://example.com/de/:path*\"],\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t\tisServer: \"false\",\n\t});\n\n\truntime.defineCustomClientStrategy(\"custom-urlIntegration\", {\n\t\tgetLocale: () => customStoredLocale,\n\t\tsetLocale: (locale) => {\n\t\t\tcustomStoredLocale = locale;\n\t\t},\n\t});\n\n\truntime.setLocale(\"de\");\n\n\texpect(globalThis.window.location.href).toBe(\"https://example.com/de/page\");\n\texpect(customStoredLocale).toBe(\"de\");\n});\n"]}
@@ -98,4 +98,3 @@ export type ShouldRedirectResult = {
98
98
  * @returns {Promise<ShouldRedirectResult>}
99
99
  */
100
100
  export declare function shouldRedirect(input?: ShouldRedirectInput): Promise<ShouldRedirectResult>;
101
- //# sourceMappingURL=should-redirect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"should-redirect.js","sourceRoot":"","sources":["../../../src/compiler/runtime/should-redirect.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"should-redirect.js","sourceRoot":"","sources":["../../../src/compiler/runtime/should-redirect.js"],"names":[],"mappings":"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","sourcesContent":["import { localizeUrl } from \"./localize-url.js\";\nimport { toLocale } from \"./check-locale.js\";\nimport { getLocale, getLocaleForUrl } from \"./get-locale.js\";\nimport { getUrlOrigin } from \"./get-url-origin.js\";\nimport { extractLocaleFromRequestAsync } from \"./extract-locale-from-request-async.js\";\nimport {\n\tgetStrategyForUrl,\n\tisExcludedByRouteStrategy,\n} from \"./route-strategy.js\";\n\n/**\n * @typedef {object} ShouldRedirectServerInput\n * @property {Request} request\n * @property {string | URL} [effectiveRequestUrl] - Effective request URL to use for route matching, locale detection with the URL strategy, and redirect targets.\n * @property {Locale} [locale]\n *\n * @typedef {object} ShouldRedirectClientInput\n * @property {undefined} [request]\n * @property {string | URL} [url]\n * @property {Locale} [locale]\n *\n * @typedef {ShouldRedirectServerInput | ShouldRedirectClientInput} ShouldRedirectInput\n *\n * @typedef {object} ShouldRedirectResult\n * @property {boolean} shouldRedirect - Indicates whether the consumer should perform a redirect.\n * @property {Locale} locale - Locale resolved using the configured strategies.\n * @property {URL | undefined} redirectUrl - Destination URL when a redirect is required.\n */\n\n/**\n * Determines whether a redirect is required to align the current URL with the active locale.\n *\n * This helper mirrors the logic that powers `paraglideMiddleware`, but works in both server\n * and client environments. It evaluates the configured strategies in order, computes the\n * canonical localized URL, and reports when the current URL does not match.\n *\n * When called in the browser without arguments, the current `window.location.href` is used.\n *\n * @see https://paraglidejs.com/i18n-routing#redirects\n *\n * @example\n * // Client side usage (e.g. TanStack Router beforeLoad hook)\n * async function beforeLoad({ location }) {\n * const decision = await shouldRedirect({ url: location.href });\n *\n * if (decision.shouldRedirect) {\n * throw redirect({ to: decision.redirectUrl.href });\n * }\n * }\n *\n * @example\n * // Server side usage with a Request\n * export async function handle(request) {\n * const decision = await shouldRedirect({ request });\n *\n * if (decision.shouldRedirect) {\n * return Response.redirect(decision.redirectUrl, 307);\n * }\n *\n * return render(request, decision.locale);\n * }\n *\n * @example\n * // Server side usage behind a proxy where request.url is not public-facing\n * export async function handle(request) {\n * const effectiveRequestUrl = new URL(request.url);\n * effectiveRequestUrl.protocol = \"https:\";\n * effectiveRequestUrl.host = \"example.com\";\n *\n * const decision = await shouldRedirect({\n * request,\n * effectiveRequestUrl,\n * });\n *\n * if (decision.shouldRedirect) {\n * return Response.redirect(decision.redirectUrl, 307);\n * }\n * }\n *\n * @param {ShouldRedirectInput} [input]\n * @returns {Promise<ShouldRedirectResult>}\n */\nexport async function shouldRedirect(input = {}) {\n\tconst currentUrl = resolveUrl(input);\n\tconst locale = await resolveLocale(input, currentUrl);\n\tconst strategy = getStrategyForUrl(currentUrl.href);\n\n\tif (isExcludedByRouteStrategy(currentUrl.href) || !strategy.includes(\"url\")) {\n\t\treturn { shouldRedirect: false, locale, redirectUrl: undefined };\n\t}\n\n\tconst localizedUrl = localizeUrl(currentUrl.href, { locale });\n\n\tconst shouldRedirectToLocalizedUrl =\n\t\tnormalizeUrl(localizedUrl.href) !== normalizeUrl(currentUrl.href);\n\n\treturn {\n\t\tshouldRedirect: shouldRedirectToLocalizedUrl,\n\t\tlocale,\n\t\tredirectUrl: shouldRedirectToLocalizedUrl ? localizedUrl : undefined,\n\t};\n}\n\n/**\n * Resolves the locale either from the provided input or by using the configured strategies.\n *\n * @param {ShouldRedirectInput} input\n * @param {URL} currentUrl\n * @returns {Promise<Locale>}\n */\nasync function resolveLocale(input, currentUrl) {\n\tconst locale = toLocale(input.locale);\n\tif (locale) {\n\t\treturn locale;\n\t}\n\n\tif (input.request) {\n\t\treturn extractLocaleFromRequestAsync(input.request, {\n\t\t\teffectiveRequestUrl: currentUrl,\n\t\t});\n\t}\n\n\tif (\"url\" in input && typeof input.url !== \"undefined\") {\n\t\treturn getLocaleForUrl(currentUrl.href);\n\t}\n\n\treturn getLocale();\n}\n\n/**\n * Resolves the current URL from the provided input or runtime context.\n *\n * @param {ShouldRedirectInput} input\n * @returns {URL}\n */\nfunction resolveUrl(input) {\n\tif (\n\t\t\"effectiveRequestUrl\" in input &&\n\t\tinput.effectiveRequestUrl instanceof URL\n\t) {\n\t\treturn new URL(input.effectiveRequestUrl.href);\n\t}\n\n\tif (\n\t\t\"effectiveRequestUrl\" in input &&\n\t\ttypeof input.effectiveRequestUrl === \"string\"\n\t) {\n\t\treturn new URL(\n\t\t\tinput.effectiveRequestUrl,\n\t\t\tinput.request ? input.request.url : getUrlOrigin()\n\t\t);\n\t}\n\n\tif (input.request) {\n\t\treturn new URL(input.request.url);\n\t}\n\n\tif (\"url\" in input && input.url instanceof URL) {\n\t\treturn new URL(input.url.href);\n\t}\n\n\tif (\"url\" in input && typeof input.url === \"string\") {\n\t\treturn new URL(input.url, getUrlOrigin());\n\t}\n\n\tif (typeof window !== \"undefined\" && window?.location?.href) {\n\t\treturn new URL(window.location.href);\n\t}\n\n\tthrow new Error(\n\t\t\"shouldRedirect() requires either a request, an absolute URL, or must run in a browser environment.\"\n\t);\n}\n\n/**\n * Normalize url for comparison by stripping the trailing slash.\n *\n * @param {string} url\n * @returns {string}\n */\nfunction normalizeUrl(url) {\n\tconst urlObj = new URL(url);\n\turlObj.pathname = urlObj.pathname.replace(/\\/$/, \"\");\n\treturn urlObj.href;\n}\n"]}
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=should-redirect.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"should-redirect.test.js","sourceRoot":"","sources":["../../../src/compiler/runtime/should-redirect.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,IAAI,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;IAC1F,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;aACrB;SACD,CAAC;QACF,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;QAC3B,UAAU,EAAE,kBAAkB;QAC9B,WAAW,EAAE;YACZ;gBACC,OAAO,EAAE,gCAAgC;gBACzC,SAAS,EAAE;oBACV,CAAC,IAAI,EAAE,mCAAmC,CAAC;oBAC3C,CAAC,IAAI,EAAE,mCAAmC,CAAC;iBAC3C;aACD;SACD;KACD,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,kCAAkC,EAAE;QAC/D,OAAO,EAAE;YACR,MAAM,EAAE,qBAAqB;SAC7B;KACD,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAE3D,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAC5E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oFAAoF,EAAE,KAAK,IAAI,EAAE;IACrG,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;aACrB;SACD,CAAC;QACF,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;QAC3B,UAAU,EAAE,kBAAkB;QAC9B,WAAW,EAAE;YACZ;gBACC,OAAO,EAAE,gCAAgC;gBACzC,SAAS,EAAE;oBACV,CAAC,IAAI,EAAE,mCAAmC,CAAC;oBAC3C,CAAC,IAAI,EAAE,mCAAmC,CAAC;iBAC3C;aACD;SACD;KACD,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,0CAA0C,EAAE;QACvE,OAAO,EAAE;YACR,MAAM,EAAE,qBAAqB;SAC7B;KACD,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC;QAC7C,OAAO;QACP,mBAAmB,EAAE,kCAAkC;KACvD,CAAC,CAAC;IAEH,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAC5E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kFAAkF,EAAE,KAAK,IAAI,EAAE;IACnG,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;aACrB;SACD,CAAC;QACF,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;QAC3B,UAAU,EAAE,kBAAkB;QAC9B,WAAW,EAAE;YACZ;gBACC,OAAO,EAAE,gCAAgC;gBACzC,SAAS,EAAE;oBACV,CAAC,IAAI,EAAE,mCAAmC,CAAC;oBAC3C,CAAC,IAAI,EAAE,mCAAmC,CAAC;iBAC3C;aACD;SACD;KACD,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,kCAAkC,EAAE;QAC/D,OAAO,EAAE;YACR,MAAM,EAAE,qBAAqB;SAC7B;KACD,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC;QAC7C,OAAO;QACP,mBAAmB,EAAE,eAAe;KACpC,CAAC,CAAC;IAEH,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAC5E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;IACjF,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;aACrB;SACD,CAAC;QACF,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;QAC3B,UAAU,EAAE,kBAAkB;QAC9B,WAAW,EAAE;YACZ;gBACC,OAAO,EAAE,gCAAgC;gBACzC,SAAS,EAAE;oBACV,CAAC,IAAI,EAAE,mCAAmC,CAAC;oBAC3C,CAAC,IAAI,EAAE,mCAAmC,CAAC;iBAC3C;aACD;SACD;KACD,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,kCAAkC,EAAE;QAC/D,OAAO,EAAE;YACR,MAAM,EAAE,qBAAqB;SAC7B;KACD,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC;QAC7C,OAAO;QACP,GAAG,EAAE,YAAY;KACV,CAAC,CAAC;IAEV,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAC5E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;IAC3E,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;aACrB;SACD,CAAC;QACF,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;QAC3B,UAAU,EAAE,kBAAkB;QAC9B,WAAW,EAAE;YACZ;gBACC,OAAO,EAAE,gCAAgC;gBACzC,SAAS,EAAE;oBACV,CAAC,IAAI,EAAE,mCAAmC,CAAC;oBAC3C,CAAC,IAAI,EAAE,mCAAmC,CAAC;iBAC3C;aACD;SACD;KACD,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,kCAAkC,EAAE;QAC/D,OAAO,EAAE;YACR,MAAM,EAAE,qBAAqB;SAC7B;KACD,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAE3D,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,aAAa,EAAE,CAAC;IAC7C,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;IACzF,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;aACrB;SACD,CAAC;QACF,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC;QACnC,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,SAAS;KACtB,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC;IACzC,IAAI,CAAC;QACJ,UAAU,CAAC,MAAM,GAAG;YACnB,QAAQ,EAAE;gBACT,IAAI,EAAE,gCAAgC;gBACtC,MAAM,EAAE,qBAAqB;aAC7B;SACM,CAAC;QAET,OAAO,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAEvC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,cAAc,EAAE,CAAC;QAEhD,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC1E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;YAAS,CAAC;QACV,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACP,UAAU,CAAC,MAAM,GAAG,cAAc,CAAC;QACpC,CAAC;IACF,CAAC;AACF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oFAAoF,EAAE,KAAK,IAAI,EAAE;IACrG,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;aACrB;SACD,CAAC;QACF,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC;QACzC,UAAU,EAAE,kBAAkB;QAC9B,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE;YACZ;gBACC,OAAO,EAAE,gCAAgC;gBACzC,SAAS,EAAE;oBACV,CAAC,IAAI,EAAE,mCAAmC,CAAC;oBAC3C,CAAC,IAAI,EAAE,mCAAmC,CAAC;iBAC3C;aACD;SACD;QACD,eAAe,EAAE;YAChB;gBACC,KAAK,EAAE,uBAAuB;gBAC9B,QAAQ,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;aAClC;SACD;KACD,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC;IACzC,MAAM,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC;IAE7C,IAAI,CAAC;QACJ,UAAU,CAAC,MAAM,GAAG;YACnB,QAAQ,EAAE;gBACT,IAAI,EAAE,+BAA+B;gBACrC,MAAM,EAAE,qBAAqB;aAC7B;SACM,CAAC;QACT,UAAU,CAAC,QAAQ,GAAG;YACrB,MAAM,EAAE,qBAAqB;SACtB,CAAC;QAET,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC;YAC7C,GAAG,EAAE,gCAAgC;SACrC,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,aAAa,EAAE,CAAC;QAC7C,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;YAAS,CAAC;QACV,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACP,UAAU,CAAC,MAAM,GAAG,cAAc,CAAC;QACpC,CAAC;QAED,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACP,UAAU,CAAC,QAAQ,GAAG,gBAAgB,CAAC;QACxC,CAAC;IACF,CAAC;AACF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;IACpF,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;aACrB;SACD,CAAC;QACF,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,UAAU,EAAE,kBAAkB;KAC9B,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,kCAAkC,EAAE;QAC/D,OAAO,EAAE;YACR,MAAM,EAAE,qBAAqB;SAC7B;KACD,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAE3D,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,aAAa,EAAE,CAAC;IAC7C,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;IAC9F,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;aACrB;SACD,CAAC;QACF,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC;QACzC,UAAU,EAAE,kBAAkB;QAC9B,eAAe,EAAE;YAChB;gBACC,KAAK,EAAE,uBAAuB;gBAC9B,QAAQ,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;aAClC;SACD;KACD,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,+BAA+B,EAAE;QAC5D,OAAO,EAAE;YACR,MAAM,EAAE,qBAAqB;SAC7B;KACD,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAE3D,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,aAAa,EAAE,CAAC;IAC7C,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"should-redirect.test.js","sourceRoot":"","sources":["../../../src/compiler/runtime/should-redirect.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect, test } from \"vitest\";\nimport { createParaglide } from \"../create-paraglide.js\";\nimport { newProject } from \"@inlang/sdk\";\n\ntest(\"shouldRedirect redirects to the strategy-preferred locale on the server\", async () => {\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"cookie\", \"url\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t\turlPatterns: [\n\t\t\t{\n\t\t\t\tpattern: \"https://example.com/:path(.*)?\",\n\t\t\t\tlocalized: [\n\t\t\t\t\t[\"en\", \"https://example.com/en/:path(.*)?\"],\n\t\t\t\t\t[\"fr\", \"https://example.com/fr/:path(.*)?\"],\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t});\n\n\tconst request = new Request(\"https://example.com/en/dashboard\", {\n\t\theaders: {\n\t\t\tcookie: \"PARAGLIDE_LOCALE=fr\",\n\t\t},\n\t});\n\n\tconst decision = await runtime.shouldRedirect({ request });\n\n\texpect(decision.shouldRedirect).toBe(true);\n\texpect(decision.redirectUrl?.href).toBe(\"https://example.com/fr/dashboard\");\n\texpect(decision.locale).toBe(\"fr\");\n});\n\ntest(\"shouldRedirect uses the provided public url when the transport request url differs\", async () => {\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"cookie\", \"url\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t\turlPatterns: [\n\t\t\t{\n\t\t\t\tpattern: \"https://example.com/:path(.*)?\",\n\t\t\t\tlocalized: [\n\t\t\t\t\t[\"en\", \"https://example.com/en/:path(.*)?\"],\n\t\t\t\t\t[\"fr\", \"https://example.com/fr/:path(.*)?\"],\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t});\n\n\tconst request = new Request(\"http://internal.example.com/en/dashboard\", {\n\t\theaders: {\n\t\t\tcookie: \"PARAGLIDE_LOCALE=fr\",\n\t\t},\n\t});\n\n\tconst decision = await runtime.shouldRedirect({\n\t\trequest,\n\t\teffectiveRequestUrl: \"https://example.com/en/dashboard\",\n\t});\n\n\texpect(decision.shouldRedirect).toBe(true);\n\texpect(decision.redirectUrl?.href).toBe(\"https://example.com/fr/dashboard\");\n\texpect(decision.locale).toBe(\"fr\");\n});\n\ntest(\"shouldRedirect resolves relative effectiveRequestUrl strings against request.url\", async () => {\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"cookie\", \"url\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t\turlPatterns: [\n\t\t\t{\n\t\t\t\tpattern: \"https://example.com/:path(.*)?\",\n\t\t\t\tlocalized: [\n\t\t\t\t\t[\"en\", \"https://example.com/en/:path(.*)?\"],\n\t\t\t\t\t[\"fr\", \"https://example.com/fr/:path(.*)?\"],\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t});\n\n\tconst request = new Request(\"https://example.com/en/dashboard\", {\n\t\theaders: {\n\t\t\tcookie: \"PARAGLIDE_LOCALE=fr\",\n\t\t},\n\t});\n\n\tconst decision = await runtime.shouldRedirect({\n\t\trequest,\n\t\teffectiveRequestUrl: \"/en/dashboard\",\n\t});\n\n\texpect(decision.shouldRedirect).toBe(true);\n\texpect(decision.redirectUrl?.href).toBe(\"https://example.com/fr/dashboard\");\n\texpect(decision.locale).toBe(\"fr\");\n});\n\ntest(\"shouldRedirect keeps request precedence over url on the server\", async () => {\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"cookie\", \"url\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t\turlPatterns: [\n\t\t\t{\n\t\t\t\tpattern: \"https://example.com/:path(.*)?\",\n\t\t\t\tlocalized: [\n\t\t\t\t\t[\"en\", \"https://example.com/en/:path(.*)?\"],\n\t\t\t\t\t[\"fr\", \"https://example.com/fr/:path(.*)?\"],\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t});\n\n\tconst request = new Request(\"https://example.com/en/dashboard\", {\n\t\theaders: {\n\t\t\tcookie: \"PARAGLIDE_LOCALE=fr\",\n\t\t},\n\t});\n\n\tconst decision = await runtime.shouldRedirect({\n\t\trequest,\n\t\turl: \"/dashboard\",\n\t} as any);\n\n\texpect(decision.shouldRedirect).toBe(true);\n\texpect(decision.redirectUrl?.href).toBe(\"https://example.com/fr/dashboard\");\n\texpect(decision.locale).toBe(\"fr\");\n});\n\ntest(\"shouldRedirect does nothing when the URL already matches\", async () => {\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"cookie\", \"url\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t\turlPatterns: [\n\t\t\t{\n\t\t\t\tpattern: \"https://example.com/:path(.*)?\",\n\t\t\t\tlocalized: [\n\t\t\t\t\t[\"en\", \"https://example.com/en/:path(.*)?\"],\n\t\t\t\t\t[\"fr\", \"https://example.com/fr/:path(.*)?\"],\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t});\n\n\tconst request = new Request(\"https://example.com/fr/dashboard\", {\n\t\theaders: {\n\t\t\tcookie: \"PARAGLIDE_LOCALE=fr\",\n\t\t},\n\t});\n\n\tconst decision = await runtime.shouldRedirect({ request });\n\n\texpect(decision.shouldRedirect).toBe(false);\n\texpect(decision.redirectUrl).toBeUndefined();\n\texpect(decision.locale).toBe(\"fr\");\n});\n\ntest(\"shouldRedirect falls back to the browser URL when no input is provided\", async () => {\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"url\", \"globalVariable\"],\n\t\tisServer: \"false\",\n\t\turlPatterns: undefined,\n\t});\n\n\tconst originalWindow = globalThis.window;\n\ttry {\n\t\tglobalThis.window = {\n\t\t\tlocation: {\n\t\t\t\thref: \"https://example.com/en/profile\",\n\t\t\t\torigin: \"https://example.com\",\n\t\t\t},\n\t\t} as any;\n\n\t\truntime.overwriteGetLocale(() => \"de\");\n\n\t\tconst decision = await runtime.shouldRedirect();\n\n\t\texpect(decision.shouldRedirect).toBe(true);\n\t\texpect(decision.redirectUrl?.href).toBe(\"https://example.com/de/profile\");\n\t\texpect(decision.locale).toBe(\"de\");\n\t} finally {\n\t\tif (originalWindow === undefined) {\n\t\t\tReflect.deleteProperty(globalThis, \"window\");\n\t\t} else {\n\t\t\tglobalThis.window = originalWindow;\n\t\t}\n\t}\n});\n\ntest(\"shouldRedirect({ url }) resolves locale using target URL routeStrategies on client\", async () => {\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"url\", \"cookie\", \"baseLocale\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t\tisServer: \"false\",\n\t\turlPatterns: [\n\t\t\t{\n\t\t\t\tpattern: \"https://example.com/:path(.*)?\",\n\t\t\t\tlocalized: [\n\t\t\t\t\t[\"en\", \"https://example.com/en/:path(.*)?\"],\n\t\t\t\t\t[\"fr\", \"https://example.com/fr/:path(.*)?\"],\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t\trouteStrategies: [\n\t\t\t{\n\t\t\t\tmatch: \"/dashboard/:path(.*)?\",\n\t\t\t\tstrategy: [\"cookie\", \"baseLocale\"],\n\t\t\t},\n\t\t],\n\t});\n\n\tconst originalWindow = globalThis.window;\n\tconst originalDocument = globalThis.document;\n\n\ttry {\n\t\tglobalThis.window = {\n\t\t\tlocation: {\n\t\t\t\thref: \"https://example.com/dashboard\",\n\t\t\t\torigin: \"https://example.com\",\n\t\t\t},\n\t\t} as any;\n\t\tglobalThis.document = {\n\t\t\tcookie: \"PARAGLIDE_LOCALE=fr\",\n\t\t} as any;\n\n\t\tconst decision = await runtime.shouldRedirect({\n\t\t\turl: \"https://example.com/en/profile\",\n\t\t});\n\n\t\texpect(decision.shouldRedirect).toBe(false);\n\t\texpect(decision.redirectUrl).toBeUndefined();\n\t\texpect(decision.locale).toBe(\"en\");\n\t} finally {\n\t\tif (originalWindow === undefined) {\n\t\t\tReflect.deleteProperty(globalThis, \"window\");\n\t\t} else {\n\t\t\tglobalThis.window = originalWindow;\n\t\t}\n\n\t\tif (originalDocument === undefined) {\n\t\t\tReflect.deleteProperty(globalThis, \"document\");\n\t\t} else {\n\t\t\tglobalThis.document = originalDocument;\n\t\t}\n\t}\n});\n\ntest(\"shouldRedirect never suggests a redirect without the url strategy\", async () => {\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"cookie\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t});\n\n\tconst request = new Request(\"https://example.com/en/dashboard\", {\n\t\theaders: {\n\t\t\tcookie: \"PARAGLIDE_LOCALE=fr\",\n\t\t},\n\t});\n\n\tconst decision = await runtime.shouldRedirect({ request });\n\n\texpect(decision.shouldRedirect).toBe(false);\n\texpect(decision.redirectUrl).toBeUndefined();\n\texpect(decision.locale).toBe(\"fr\");\n});\n\ntest(\"shouldRedirect respects routeStrategies that disable url strategy per route\", async () => {\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"url\", \"cookie\", \"baseLocale\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t\trouteStrategies: [\n\t\t\t{\n\t\t\t\tmatch: \"/dashboard/:path(.*)?\",\n\t\t\t\tstrategy: [\"cookie\", \"baseLocale\"],\n\t\t\t},\n\t\t],\n\t});\n\n\tconst request = new Request(\"https://example.com/dashboard\", {\n\t\theaders: {\n\t\t\tcookie: \"PARAGLIDE_LOCALE=fr\",\n\t\t},\n\t});\n\n\tconst decision = await runtime.shouldRedirect({ request });\n\n\texpect(decision.shouldRedirect).toBe(false);\n\texpect(decision.redirectUrl).toBeUndefined();\n\texpect(decision.locale).toBe(\"fr\");\n});\n"]}
@@ -61,4 +61,3 @@ export declare function defineCustomServerStrategy(strategy: string, handler: Cu
61
61
  * @returns {void}
62
62
  */
63
63
  export declare function defineCustomClientStrategy(strategy: string, handler: CustomClientStrategyHandler): void;
64
- //# sourceMappingURL=strategy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../src/compiler/runtime/strategy.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AAEH;;GAEG;AAEH;;GAEG;AAEH;;GAEG;AAEH;;GAEG;AAEH,uDAAuD;AACvD,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAE,CAAC;AAChD,uDAAuD;AACvD,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAE,CAAC;AAEhD;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAQ;IACxC,OAAO,CACN,OAAO,QAAQ,KAAK,QAAQ,IAAI,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxE,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,0BAA0B,CAAC,QAAQ,EAAE,OAAO;IAC3D,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACd,6BAA6B,QAAQ,iEAAiE,CACtG,CAAC;IACH,CAAC;IAED,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,0BAA0B,CAAC,QAAQ,EAAE,OAAO;IAC3D,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACd,6BAA6B,QAAQ,iEAAiE,CACtG,CAAC;IACH,CAAC;IAED,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../src/compiler/runtime/strategy.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AAEH;;GAEG;AAEH;;GAEG;AAEH;;GAEG;AAEH;;GAEG;AAEH,uDAAuD;AACvD,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAE,CAAC;AAChD,uDAAuD;AACvD,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAE,CAAC;AAEhD;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAQ;IACxC,OAAO,CACN,OAAO,QAAQ,KAAK,QAAQ,IAAI,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxE,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,0BAA0B,CAAC,QAAQ,EAAE,OAAO;IAC3D,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACd,6BAA6B,QAAQ,iEAAiE,CACtG,CAAC;IACH,CAAC;IAED,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,0BAA0B,CAAC,QAAQ,EAAE,OAAO;IAC3D,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACd,6BAA6B,QAAQ,iEAAiE,CACtG,CAAC;IACH,CAAC;IAED,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC","sourcesContent":["/**\n * @typedef {\"cookie\" | \"baseLocale\" | \"globalVariable\" | \"url\" | \"preferredLanguage\" | \"localStorage\"} BuiltInStrategy\n */\n\n/**\n * @typedef {`custom_${string}`} CustomStrategy\n */\n\n/**\n * @typedef {BuiltInStrategy | CustomStrategy} Strategy\n */\n\n/**\n * @typedef {Array<Strategy>} Strategies\n */\n\n/**\n * @typedef {{ getLocale: (request?: Request) => Promise<string | undefined> | (string | undefined) }} CustomServerStrategyHandler\n */\n\n/**\n * @typedef {{ getLocale: () => Promise<string|undefined> | (string | undefined), setLocale: (locale: string) => Promise<void> | void }} CustomClientStrategyHandler\n */\n\n/** @type {Map<string, CustomServerStrategyHandler>} */\nexport const customServerStrategies = new Map();\n/** @type {Map<string, CustomClientStrategyHandler>} */\nexport const customClientStrategies = new Map();\n\n/**\n * Checks if the given strategy is a custom strategy.\n *\n * @param {unknown} strategy The name of the custom strategy to validate.\n * Must be a string that starts with \"custom-\" followed by alphanumeric characters, hyphens, or underscores.\n * @returns {boolean} Returns true if it is a custom strategy, false otherwise.\n */\nexport function isCustomStrategy(strategy) {\n\treturn (\n\t\ttypeof strategy === \"string\" && /^custom-[A-Za-z0-9_-]+$/.test(strategy)\n\t);\n}\n\n/**\n * Defines a custom strategy that is executed on the server.\n *\n * @see https://paraglidejs.com/strategy#write-your-own-strategy\n *\n * @param {string} strategy The name of the custom strategy to define. Must follow the pattern custom-name with alphanumeric characters, hyphens, or underscores.\n * @param {CustomServerStrategyHandler} handler The handler for the custom strategy, which should implement\n * the method getLocale.\n * @returns {void}\n */\nexport function defineCustomServerStrategy(strategy, handler) {\n\tif (!isCustomStrategy(strategy)) {\n\t\tthrow new Error(\n\t\t\t`Invalid custom strategy: \"${strategy}\". Must be a custom strategy following the pattern custom-name.`\n\t\t);\n\t}\n\n\tcustomServerStrategies.set(strategy, handler);\n}\n\n/**\n * Defines a custom strategy that is executed on the client.\n *\n * @see https://paraglidejs.com/strategy#write-your-own-strategy\n *\n * @param {string} strategy The name of the custom strategy to define. Must follow the pattern custom-name with alphanumeric characters, hyphens, or underscores.\n * @param {CustomClientStrategyHandler} handler The handler for the custom strategy, which should implement the\n * methods getLocale and setLocale.\n * @returns {void}\n */\nexport function defineCustomClientStrategy(strategy, handler) {\n\tif (!isCustomStrategy(strategy)) {\n\t\tthrow new Error(\n\t\t\t`Invalid custom strategy: \"${strategy}\". Must be a custom strategy following the pattern custom-name.`\n\t\t);\n\t}\n\n\tcustomClientStrategies.set(strategy, handler);\n}\n"]}
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=strategy.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"strategy.test.js","sourceRoot":"","sources":["../../../src/compiler/runtime/strategy.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"strategy.test.js","sourceRoot":"","sources":["../../../src/compiler/runtime/strategy.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { test, expect, describe, beforeEach } from \"vitest\";\nimport { newProject } from \"@inlang/sdk\";\nimport {\n\tdefineCustomServerStrategy,\n\tdefineCustomClientStrategy,\n\tisCustomStrategy,\n} from \"./strategy.js\";\nimport { createParaglide } from \"../create-paraglide.js\";\n\ndescribe(\"isCustomStrategy\", () => {\n\ttest(\"returns true for valid custom strategy patterns\", () => {\n\t\texpect(isCustomStrategy(\"custom-header\")).toBe(true);\n\t\texpect(isCustomStrategy(\"custom-auth123\")).toBe(true);\n\t\texpect(isCustomStrategy(\"custom-API\")).toBe(true);\n\t\texpect(isCustomStrategy(\"custom-sessionStorage\")).toBe(true);\n\t\texpect(isCustomStrategy(\"custom-oAuth2\")).toBe(true);\n\t\texpect(isCustomStrategy(\"custom-a\")).toBe(true);\n\t\texpect(isCustomStrategy(\"custom-1\")).toBe(true);\n\t\texpect(isCustomStrategy(\"custom-Z\")).toBe(true);\n\t\texpect(isCustomStrategy(\"custom-9\")).toBe(true);\n\t\texpect(isCustomStrategy(\"custom-aZ19\")).toBe(true);\n\t});\n\n\ttest(\"returns false for invalid custom strategy patterns\", () => {\n\t\texpect(isCustomStrategy(\"\")).toBe(false);\n\t\texpect(isCustomStrategy(\"custom_\")).toBe(false);\n\t\texpect(isCustomStrategy(\"custom-\")).toBe(false);\n\t\texpect(isCustomStrategy(\"header\")).toBe(false);\n\t\texpect(isCustomStrategy(\"custom\")).toBe(false);\n\t\t// These are now valid with our relaxed pattern:\n\t\texpect(isCustomStrategy(\"custom-invalid-name\")).toBe(true);\n\t\texpect(isCustomStrategy(\"custom-invalid_name\")).toBe(true);\n\t\t// But spaces and special chars are still invalid:\n\t\texpect(isCustomStrategy(\"custom-invalid name\")).toBe(false);\n\t\texpect(isCustomStrategy(\"custom-invalid@\")).toBe(false);\n\t\texpect(isCustomStrategy(\"Custom-header\")).toBe(false);\n\t\texpect(isCustomStrategy(\"CUSTOM-header\")).toBe(false);\n\t\texpect(isCustomStrategy(null)).toBe(false);\n\t\texpect(isCustomStrategy(undefined)).toBe(false);\n\t\texpect(isCustomStrategy(123)).toBe(false);\n\t\texpect(isCustomStrategy({})).toBe(false);\n\t\texpect(isCustomStrategy([])).toBe(false);\n\t});\n\n\ttest(\"returns false for built-in strategy names\", () => {\n\t\texpect(isCustomStrategy(\"cookie\")).toBe(false);\n\t\texpect(isCustomStrategy(\"baseLocale\")).toBe(false);\n\t\texpect(isCustomStrategy(\"globalVariable\")).toBe(false);\n\t\texpect(isCustomStrategy(\"url\")).toBe(false);\n\t\texpect(isCustomStrategy(\"preferredLanguage\")).toBe(false);\n\t\texpect(isCustomStrategy(\"localStorage\")).toBe(false);\n\t});\n});\n\ndescribe.each([\n\t[\"defineCustomServerStrategy\", defineCustomServerStrategy],\n\t[\"defineCustomClientStrategy\", defineCustomClientStrategy],\n])(\"%s\", (strategyName, defineStrategy) => {\n\tbeforeEach(() => {\n\t\t// Reset global variables before each test\n\t\tif (typeof globalThis !== \"undefined\") {\n\t\t\t// @ts-expect-error - Testing environment cleanup\n\t\t\tdelete globalThis.document;\n\t\t\t// @ts-expect-error - Testing environment cleanup\n\t\t\tdelete globalThis.window;\n\t\t\t// @ts-expect-error - Testing environment cleanup\n\t\t\tdelete globalThis.localStorage;\n\t\t\t// @ts-expect-error - Testing environment cleanup\n\t\t\tdelete globalThis.navigator;\n\t\t}\n\t});\n\n\tconst defaultHandler = { getLocale: () => \"en\", setLocale: () => {} };\n\n\tconst invalidInputs = [\n\t\t[\"\", \"empty name\"],\n\t\t[\"@invalid\", \"names with special characters (@)\"],\n\t\t[\"invalid!\", \"names with special characters (!)\"],\n\t\t[\"inva lid\", \"names with spaces\"],\n\t];\n\n\ttest.each(invalidInputs)(\n\t\t`${strategyName} throws error for %s (%s)`,\n\t\t(input) => {\n\t\t\texpect(() => defineStrategy(input, defaultHandler)).toThrow(\n\t\t\t\t`Invalid custom strategy: \"${input}\". Must be a custom strategy following the pattern custom-name.`\n\t\t\t);\n\t\t}\n\t);\n\n\ttest(`${strategyName} should compile with custom strategies in strategy array`, async () => {\n\t\t// Test that compile accepts custom strategies\n\t\tconst runtime = await createParaglide({\n\t\t\tblob: await newProject({\n\t\t\t\tsettings: {\n\t\t\t\t\tbaseLocale: \"en\",\n\t\t\t\t\tlocales: [\"en\", \"de\", \"fr\"],\n\t\t\t\t},\n\t\t\t}),\n\t\t\tstrategy: [\"custom-auth\", \"custom-header\", \"cookie\", \"baseLocale\"],\n\t\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t\t});\n\n\t\t// Verify the runtime contains the strategy array\n\t\texpect(runtime.strategy).toEqual([\n\t\t\t\"custom-auth\",\n\t\t\t\"custom-header\",\n\t\t\t\"cookie\",\n\t\t\t\"baseLocale\",\n\t\t]);\n\t});\n});\n"]}
@@ -3,4 +3,3 @@
3
3
  * @param {Locale} locale
4
4
  */
5
5
  export declare function trackMessageCall(safeModuleId: string, locale: Locale): void;
6
- //# sourceMappingURL=track-message-call.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"track-message-call.js","sourceRoot":"","sources":["../../../src/compiler/runtime/track-message-call.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEnE;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,YAAY,EAAE,MAAM;IACpD,IAAI,QAAQ,KAAK,KAAK;QAAE,OAAO;IAE/B,MAAM,KAAK,GAAG,uBAAuB,EAAE,QAAQ,EAAE,CAAC;IAElD,IAAI,KAAK,EAAE,CAAC;QACX,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,GAAG,YAAY,IAAI,MAAM,EAAE,CAAC,CAAC;IACtD,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"track-message-call.js","sourceRoot":"","sources":["../../../src/compiler/runtime/track-message-call.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEnE;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,YAAY,EAAE,MAAM;IACpD,IAAI,QAAQ,KAAK,KAAK;QAAE,OAAO;IAE/B,MAAM,KAAK,GAAG,uBAAuB,EAAE,QAAQ,EAAE,CAAC;IAElD,IAAI,KAAK,EAAE,CAAC;QACX,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,GAAG,YAAY,IAAI,MAAM,EAAE,CAAC,CAAC;IACtD,CAAC;AACF,CAAC","sourcesContent":["import { serverAsyncLocalStorage, isServer } from \"./variables.js\";\n\n/**\n * @param {string} safeModuleId\n * @param {Locale} locale\n */\nexport function trackMessageCall(safeModuleId, locale) {\n\tif (isServer === false) return;\n\n\tconst store = serverAsyncLocalStorage?.getStore();\n\n\tif (store) {\n\t\tstore.messageCalls?.add(`${safeModuleId}:${locale}`);\n\t}\n}\n"]}
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=track-message-call.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"track-message-call.test.js","sourceRoot":"","sources":["../../../src/compiler/runtime/track-message-call.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEtC,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IACvC,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;aACrB;SACD,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE;QACnC,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,OAAO,CAAC,gCAAgC,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;IAElE,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IAEvC,MAAM,MAAM,GAAG,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE;QAC1E,WAAW,CAAC,OAAO,CAAC,CAAC;QACrB,WAAW,CAAC,OAAO,CAAC,CAAC;QACrB,OAAO,OAAO,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"track-message-call.test.js","sourceRoot":"","sources":["../../../src/compiler/runtime/track-message-call.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEtC,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IACvC,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;aACrB;SACD,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE;QACnC,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,OAAO,CAAC,gCAAgC,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;IAElE,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IAEvC,MAAM,MAAM,GAAG,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE;QAC1E,WAAW,CAAC,OAAO,CAAC,CAAC;QACrB,WAAW,CAAC,OAAO,CAAC,CAAC;QACrB,OAAO,OAAO,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC","sourcesContent":["import { AsyncLocalStorage } from \"async_hooks\";\nimport { createParaglide } from \"../create-paraglide.js\";\nimport { newProject } from \"@inlang/sdk\";\nimport { test, expect } from \"vitest\";\n\ntest(\"tracks message calls\", async () => {\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t},\n\t\t}),\n\t});\n\n\tconst mockMessage = (str: string) => {\n\t\truntime.trackMessageCall(str, \"de\");\n\t};\n\n\truntime.overwriteServerAsyncLocalStorage(new AsyncLocalStorage());\n\n\tconst messageCalls = new Set<string>();\n\n\tconst result = runtime.serverAsyncLocalStorage?.run({ messageCalls }, () => {\n\t\tmockMessage(\"test1\");\n\t\tmockMessage(\"test2\");\n\t\treturn \"test3\";\n\t});\n\n\texpect(result).toBe(\"test3\");\n\texpect(messageCalls).toEqual(new Set([\"test1:de\", \"test2:de\"]));\n});\n"]}
@@ -195,4 +195,3 @@ export type MessageBundleFunction<T extends string> = (params: Record<string, ne
195
195
  *
196
196
  * @typedef {(params: Record<string, never>, options: { locale: T }) => LocalizedString} MessageBundleFunction
197
197
  */
198
- //# sourceMappingURL=type-definitions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"type-definitions.js","sourceRoot":"","sources":["../../../src/compiler/runtime/type-definitions.js"],"names":[],"mappings":"AAAA,sBAAsB;;AAEtB;;;;;;;GAOG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH;;;;;;;GAOG;AAEH;;;;;;;GAOG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH;;;;;;;;GAQG;AAEH;;;;GAIG;AAEH;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;;;;;;;GAOG;AAEH;;;;;;;;;;;;GAYG"}
1
+ {"version":3,"file":"type-definitions.js","sourceRoot":"","sources":["../../../src/compiler/runtime/type-definitions.js"],"names":[],"mappings":"AAAA,sBAAsB;;AAEtB;;;;;;;GAOG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH;;;;;;;GAOG;AAEH;;;;;;;GAOG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH;;;;;;;;GAQG;AAEH;;;;GAIG;AAEH;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;;;;;;;GAOG;AAEH;;;;;;;;;;;;GAYG","sourcesContent":["// ------ TYPES ------\n\n/**\n * A locale that is available in the project.\n *\n * @example\n * setLocale(request.locale as Locale)\n *\n * @typedef {string} Locale\n */\n\n/**\n * A branded type representing a localized string.\n *\n * Message functions return this type instead of \\`string\\`, enabling TypeScript\n * to distinguish translated strings from regular strings at compile time.\n * This allows you to enforce that only properly localized content is used\n * in your UI components.\n *\n * Since \\`LocalizedString\\` is a branded subtype of \\`string\\`, it remains fully\n * backward compatible—you can pass it anywhere a \\`string\\` is expected.\n *\n * @example\n * // Enforce localized strings in your components\n * function PageTitle(props: { title: LocalizedString }) {\n * return <h1>{props.title}</h1>\n * }\n *\n * // ✅ Correct: using a message function\n * <PageTitle title={m.welcome_title()} />\n *\n * // ❌ Type error: raw strings are not LocalizedString\n * <PageTitle title=\"Welcome\" />\n *\n * @example\n * // LocalizedString is assignable to string (backward compatible)\n * const localized: LocalizedString = m.greeting()\n * const str: string = localized // ✅ works fine\n *\n * // But string is not assignable to LocalizedString\n * const raw: LocalizedString = \"Hello\" // ❌ Type error\n *\n * @example\n * // Catches accidental string concatenation\n * function showMessage(msg: LocalizedString) { ... }\n *\n * showMessage(m.hello()) // ✅\n * showMessage(\"Hello \" + userName) // ❌ Type error\n * showMessage(m.hello_user({ name: userName })) // ✅ use params instead\n *\n * @typedef {string & { readonly __brand: 'LocalizedString' }} LocalizedString\n */\n\n/**\n * A single markup option passed to a tag instance.\n *\n * @typedef {{\n * name: string;\n * value: unknown;\n * }} MessageMarkupOption\n */\n\n/**\n * A single static markup attribute attached to a tag instance.\n *\n * @typedef {{\n * name: string;\n * value: string | true;\n * }} MessageMarkupAttribute\n */\n\n/**\n * Record of markup options for a tag instance.\n *\n * @typedef {Record<string, unknown>} MessageMarkupOptions\n */\n\n/**\n * Record of markup attributes for a tag instance.\n *\n * @typedef {Record<string, string | true>} MessageMarkupAttributes\n */\n\n/**\n * Type-level schema for a single markup tag.\n *\n * @typedef {{\n * options: MessageMarkupOptions;\n * attributes: MessageMarkupAttributes;\n * children: boolean;\n * }} MessageMarkupTag\n */\n\n/**\n * Type-level schema for all markup tags in a message.\n *\n * @typedef {Record<string, MessageMarkupTag>} MessageMarkupSchema\n */\n\n/**\n * Type-only metadata attached to compiled message functions.\n *\n * @template Inputs\n * @template Options\n * @template {MessageMarkupSchema} [Markup = MessageMarkupSchema]\n * @typedef {{\n * readonly __paraglide?: {\n * inputs: Inputs;\n * options: Options;\n * markup: Markup;\n * };\n * }} MessageMetadata\n */\n\n/**\n * A compiled, framework-neutral message part.\n *\n * @typedef {{\n * type: \"text\";\n * value: string;\n * } | {\n * type: \"markup-start\";\n * name: string;\n * options: MessageMarkupOptions;\n * attributes: MessageMarkupAttributes;\n * } | {\n * type: \"markup-end\";\n * name: string;\n * options: MessageMarkupOptions;\n * attributes: MessageMarkupAttributes;\n * } | {\n * type: \"markup-standalone\";\n * name: string;\n * options: MessageMarkupOptions;\n * attributes: MessageMarkupAttributes;\n * }} MessagePart\n */\n\n/**\n * A message function is a message for a specific locale.\n *\n * @example\n * m.hello({ name: 'world' })\n *\n * @typedef {(inputs?: Record<string, never>) => LocalizedString} MessageFunction\n */\n\n/**\n * A message bundle function that selects the message to be returned.\n *\n * Uses `getLocale()` under the hood to determine the locale with an option.\n *\n * @template {string} T\n *\n * @example\n * import { m } from './messages.js'\n * m.hello({ name: 'world' }, { locale: \"en\" })\n *\n * @typedef {(params: Record<string, never>, options: { locale: T }) => LocalizedString} MessageBundleFunction\n */\n"]}
@@ -44,4 +44,3 @@ export type Runtime = {
44
44
  defineCustomServerStrategy: typeof import("./strategy.js").defineCustomServerStrategy;
45
45
  defineCustomClientStrategy: typeof import("./strategy.js").defineCustomClientStrategy;
46
46
  };
47
- //# sourceMappingURL=type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/compiler/runtime/type.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/compiler/runtime/type.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * The Paraglide runtime API.\n */\nexport type Runtime = {\n\tbaseLocale: typeof import(\"./variables.js\").baseLocale;\n\tlocales: typeof import(\"./variables.js\").locales;\n\tstrategy: typeof import(\"./variables.js\").strategy;\n\trouteStrategies: typeof import(\"./variables.js\").routeStrategies;\n\tcookieName: typeof import(\"./variables.js\").cookieName;\n\tcookieMaxAge: typeof import(\"./variables.js\").cookieMaxAge;\n\turlPatterns: typeof import(\"./variables.js\").urlPatterns;\n\tdisableAsyncLocalStorage: typeof import(\"./variables.js\").disableAsyncLocalStorage;\n\tserverAsyncLocalStorage: typeof import(\"./variables.js\").serverAsyncLocalStorage;\n\tgetServerAsyncLocalStorage: typeof import(\"./variables.js\").getServerAsyncLocalStorage;\n\texperimentalMiddlewareLocaleSplitting: typeof import(\"./variables.js\").experimentalMiddlewareLocaleSplitting;\n\tisServer: typeof import(\"./variables.js\").isServer;\n\texperimentalStaticLocale: typeof import(\"./variables.js\").experimentalStaticLocale;\n\tgetLocale: typeof import(\"./get-locale.js\").getLocale;\n\tgetTextDirection: typeof import(\"./get-text-direction.js\").getTextDirection;\n\tsetLocale: typeof import(\"./set-locale.js\").setLocale;\n\tgetUrlOrigin: typeof import(\"./get-url-origin.js\").getUrlOrigin;\n\toverwriteGetLocale: typeof import(\"./get-locale.js\").overwriteGetLocale;\n\toverwriteSetLocale: typeof import(\"./set-locale.js\").overwriteSetLocale;\n\toverwriteGetUrlOrigin: typeof import(\"./get-url-origin.js\").overwriteGetUrlOrigin;\n\toverwriteServerAsyncLocalStorage: typeof import(\"./variables.js\").overwriteServerAsyncLocalStorage;\n\ttoLocale: typeof import(\"./check-locale.js\").toLocale;\n\tassertIsLocale: typeof import(\"./check-locale.js\").assertIsLocale;\n\tisLocale: typeof import(\"./check-locale.js\").isLocale;\n\tlocalizeHref: typeof import(\"./localize-href.js\").localizeHref;\n\tdeLocalizeHref: typeof import(\"./localize-href.js\").deLocalizeHref;\n\tlocalizeUrl: typeof import(\"./localize-url.js\").localizeUrl;\n\tdeLocalizeUrl: typeof import(\"./localize-url.js\").deLocalizeUrl;\n\tshouldRedirect: typeof import(\"./should-redirect.js\").shouldRedirect;\n\textractLocaleFromUrl: typeof import(\"./extract-locale-from-url.js\").extractLocaleFromUrl;\n\textractLocaleFromRequest: typeof import(\"./extract-locale-from-request.js\").extractLocaleFromRequest;\n\textractLocaleFromRequestAsync: typeof import(\"./extract-locale-from-request-async.js\").extractLocaleFromRequestAsync;\n\textractLocaleFromCookie: typeof import(\"./extract-locale-from-cookie.js\").extractLocaleFromCookie;\n\textractLocaleFromHeader: typeof import(\"./extract-locale-from-header.js\").extractLocaleFromHeader;\n\textractLocaleFromNavigator: typeof import(\"./extract-locale-from-navigator.js\").extractLocaleFromNavigator;\n\tgenerateStaticLocalizedUrls: typeof import(\"./generate-static-localized-urls.js\").generateStaticLocalizedUrls;\n\ttrackMessageCall: typeof import(\"./track-message-call.js\").trackMessageCall;\n\tgetStrategyForUrl: typeof import(\"./route-strategy.js\").getStrategyForUrl;\n\tisExcludedByRouteStrategy: typeof import(\"./route-strategy.js\").isExcludedByRouteStrategy;\n\tdefineCustomServerStrategy: typeof import(\"./strategy.js\").defineCustomServerStrategy;\n\tdefineCustomClientStrategy: typeof import(\"./strategy.js\").defineCustomClientStrategy;\n};\n"]}
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=type.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"type.test.js","sourceRoot":"","sources":["../../../src/compiler/runtime/type.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EACN,aAAa,IAAI,iBAAiB,EAClC,EAAE,GAEF,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,MAAM,oCAAoC,GACzC;IACC,MAAM,EAAE,MAAM;IACd,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,IAAI;IACb,aAAa,EAAE,IAAI;IACnB,cAAc,EAAE,IAAI;IACpB,kBAAkB,EAAE,IAAI;IACxB,iBAAiB,EAAE,IAAI;IACvB,cAAc,EAAE,IAAI;IACpB,wBAAwB,EAAE,IAAI;IAC9B,kCAAkC,EAAE,IAAI;IACxC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM;IAC5B,MAAM,EAAE,IAAI;CACZ,CAAC;AAEH,IAAI,CAAC,oEAAoE,EAAE,GAAG,EAAE;IAC/E,MAAM,CAAC,GAAG,EAAE,CACX,iBAAiB,CAAC;QACjB,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;QACrB,eAAe,EAAE;YAChB,GAAG,sBAAsB;YACzB,WAAW,EAAE;gBACZ;oBACC,OAAO,EAAE,4BAA4B;oBACrC,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,+BAA+B,CAAC,CAAC;iBACpD;aACD;SACD;KACD,CAAC,CACF,CAAC,OAAO,CACR,mGAAmG,CACnG,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gEAAgE,EAAE,GAAG,EAAE;IAC3E,MAAM,YAAY,GAAG,iBAAiB,CAAC;QACtC,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;QACrB,eAAe,EAAE;YAChB,GAAG,sBAAsB;YACzB,QAAQ,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;SAClC;KACD,CAAC,CAAC;IAEH,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC;IAClE,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;AAC9E,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;IAC/B,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC;QACvC,qBAAqB,EAAE,IAAI;QAC3B,eAAe,EAAE,oCAAoC;KACrD,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,iBAAiB,CAAC;QACtC,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,CAAC,IAAI,CAAC;QACf,eAAe,EAAE,sBAAsB;KACvC,CAAC,CAAC,OAAO,CACT,sEAAsE,EACtE,EAAE,CACF,CAAC;IAEF,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAE;QAC7B,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,OAAO,CAAE,CAAU,CAAC;IAC7E,CAAC,CAAC;IAEF,OAAO,CAAC,gBAAgB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACvD,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC/C,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEpD,oDAAoD;IACpD,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzC,CAAC;IACF,CAAC;IAED,OAAO,CAAC,gBAAgB,CACvB,WAAW,EACX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuCG,CACH,CAAC;IAEF,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IACxC,MAAM,WAAW,GAAG,EAAE;SACpB,qBAAqB,CAAC,OAAO,CAAC;QAC/B,sIAAsI;SACrI,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC;SAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACrE,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"type.test.js","sourceRoot":"","sources":["../../../src/compiler/runtime/type.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EACN,aAAa,IAAI,iBAAiB,EAClC,EAAE,GAEF,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,MAAM,oCAAoC,GACzC;IACC,MAAM,EAAE,MAAM;IACd,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,IAAI;IACb,aAAa,EAAE,IAAI;IACnB,cAAc,EAAE,IAAI;IACpB,kBAAkB,EAAE,IAAI;IACxB,iBAAiB,EAAE,IAAI;IACvB,cAAc,EAAE,IAAI;IACpB,wBAAwB,EAAE,IAAI;IAC9B,kCAAkC,EAAE,IAAI;IACxC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM;IAC5B,MAAM,EAAE,IAAI;CACZ,CAAC;AAEH,IAAI,CAAC,oEAAoE,EAAE,GAAG,EAAE;IAC/E,MAAM,CAAC,GAAG,EAAE,CACX,iBAAiB,CAAC;QACjB,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;QACrB,eAAe,EAAE;YAChB,GAAG,sBAAsB;YACzB,WAAW,EAAE;gBACZ;oBACC,OAAO,EAAE,4BAA4B;oBACrC,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,+BAA+B,CAAC,CAAC;iBACpD;aACD;SACD;KACD,CAAC,CACF,CAAC,OAAO,CACR,mGAAmG,CACnG,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gEAAgE,EAAE,GAAG,EAAE;IAC3E,MAAM,YAAY,GAAG,iBAAiB,CAAC;QACtC,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;QACrB,eAAe,EAAE;YAChB,GAAG,sBAAsB;YACzB,QAAQ,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;SAClC;KACD,CAAC,CAAC;IAEH,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC;IAClE,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;AAC9E,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;IAC/B,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC;QACvC,qBAAqB,EAAE,IAAI;QAC3B,eAAe,EAAE,oCAAoC;KACrD,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,iBAAiB,CAAC;QACtC,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,CAAC,IAAI,CAAC;QACf,eAAe,EAAE,sBAAsB;KACvC,CAAC,CAAC,OAAO,CACT,sEAAsE,EACtE,EAAE,CACF,CAAC;IAEF,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAE;QAC7B,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,OAAO,CAAE,CAAU,CAAC;IAC7E,CAAC,CAAC;IAEF,OAAO,CAAC,gBAAgB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACvD,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC/C,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEpD,oDAAoD;IACpD,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzC,CAAC;IACF,CAAC;IAED,OAAO,CAAC,gBAAgB,CACvB,WAAW,EACX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuCG,CACH,CAAC;IAEF,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IACxC,MAAM,WAAW,GAAG,EAAE;SACpB,qBAAqB,CAAC,OAAO,CAAC;QAC/B,sIAAsI;SACrI,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC;SAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACrE,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC","sourcesContent":["import { expect, test } from \"vitest\";\nimport {\n\tcreateProject as typescriptProject,\n\tts,\n\ttype ProjectOptions,\n} from \"@ts-morph/bootstrap\";\nimport { createRuntimeFile } from \"./create-runtime.js\";\nimport fs from \"node:fs\";\nimport { dirname, resolve } from \"node:path\";\nimport { fileURLToPath } from \"url\";\nimport { defaultCompilerOptions } from \"../compiler-options.js\";\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = dirname(__filename);\n\nconst superStrictRuleOutAnyErrorTsSettings: ProjectOptions[\"compilerOptions\"] =\n\t{\n\t\toutDir: \"dist\",\n\t\tdeclaration: true,\n\t\tallowJs: true,\n\t\tcheckJs: true,\n\t\tnoImplicitAny: true,\n\t\tnoUnusedLocals: true,\n\t\tnoUnusedParameters: true,\n\t\tnoImplicitReturns: true,\n\t\tnoImplicitThis: true,\n\t\tnoUncheckedIndexedAccess: true,\n\t\tnoPropertyAccessFromIndexSignature: true,\n\t\tmodule: ts.ModuleKind.Node16,\n\t\tstrict: true,\n\t};\n\ntest(\"createRuntimeFile throws if urlPatterns contains an unknown locale\", () => {\n\texpect(() =>\n\t\tcreateRuntimeFile({\n\t\t\tbaseLocale: \"en\",\n\t\t\tlocales: [\"en\", \"de\"],\n\t\t\tcompilerOptions: {\n\t\t\t\t...defaultCompilerOptions,\n\t\t\t\turlPatterns: [\n\t\t\t\t\t{\n\t\t\t\t\t\tpattern: \"https://example.com/:path*\",\n\t\t\t\t\t\tlocalized: [[\"fr\", \"https://example.com/fr/:path*\"]],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t})\n\t).toThrow(\n\t\t'Invalid locale \"fr\" in urlPatterns. It must be one of the locales defined in the \"locales\" array.'\n\t);\n});\n\ntest(\"cookie cache clearer remains internal in the generated runtime\", () => {\n\tconst jsdocRuntime = createRuntimeFile({\n\t\tbaseLocale: \"en\",\n\t\tlocales: [\"en\", \"de\"],\n\t\tcompilerOptions: {\n\t\t\t...defaultCompilerOptions,\n\t\t\tstrategy: [\"cookie\", \"baseLocale\"],\n\t\t},\n\t});\n\n\texpect(jsdocRuntime).toContain(\"function clearLocaleCookieCache\");\n\texpect(jsdocRuntime).not.toContain(\"export function clearLocaleCookieCache\");\n});\n\ntest(\"runtime type\", async () => {\n\tconst project = await typescriptProject({\n\t\tuseInMemoryFileSystem: true,\n\t\tcompilerOptions: superStrictRuleOutAnyErrorTsSettings,\n\t});\n\n\tconst jsdocRuntime = createRuntimeFile({\n\t\tbaseLocale: \"en\",\n\t\tlocales: [\"en\"],\n\t\tcompilerOptions: defaultCompilerOptions,\n\t}).replace(\n\t\t'import * as pathToRegexp from \"@inlang/paraglide-js/path-to-regexp\";',\n\t\t\"\"\n\t);\n\n\tconst file = (path: string) => {\n\t\treturn [path, fs.readFileSync(resolve(__dirname, path), \"utf-8\")!] as const;\n\t};\n\n\tproject.createSourceFile(\"./runtime.js\", jsdocRuntime);\n\tproject.createSourceFile(...file(\"./type.ts\"));\n\tproject.createSourceFile(...file(\"./ambient.d.ts\"));\n\n\t// add the imports for the types in the runtime type\n\tfor (const name of fs.readdirSync(__dirname)) {\n\t\tif (name.endsWith(\".js\")) {\n\t\t\tproject.createSourceFile(...file(name));\n\t\t}\n\t}\n\n\tproject.createSourceFile(\n\t\t\"./test.ts\",\n\t\t`\n import * as runtime from \"./runtime.js\"\n import type { Runtime } from \"./type.js\"\n\n runtime satisfies Runtime\n\n\t\t// getLocale() should return type should be a union of language tags, not a generic string\n runtime.getLocale() satisfies \"de\" | \"en\" | \"en-US\"\n\n // locales should have a narrow type, not a generic string\n runtime.locales satisfies Readonly<Array<\"de\" | \"en\" | \"en-US\">>\n\n // setLocale() should fail if the given language tag is not included in locales\n // @ts-expect-error - invalid locale\n runtime.setLocale(\"fr\")\n\n // setLocale() should not fail if the given language tag is included in locales\n runtime.setLocale(\"de\")\n\n\t\t// getTextDirection() should return a strict direction union\n\t\truntime.getTextDirection() satisfies \"ltr\" | \"rtl\"\n\n\t\t// isLocale should narrow the type of it's argument\n\t\tconst thing = 5;\n\n\t\tlet a: \"de\" | \"en\" | \"en-US\";\n\n\t\tif(runtime.isLocale(thing)) {\n\t\t\ta = thing\n\t\t} else {\n\t\t\t// @ts-expect-error - thing is not a language tag\n\t\t\ta = thing\n\t\t}\n\n\t\t// to make ts not complain about unused variables\n\t\truntime.toLocale(\"EN\") satisfies \"de\" | \"en\" | \"en-US\" | undefined\n\t\truntime.toLocale(123) satisfies \"de\" | \"en\" | \"en-US\" | undefined\n\n\t\tconsole.log(a)\n `\n\t);\n\n\tconst program = project.createProgram();\n\tconst diagnostics = ts\n\t\t.getPreEmitDiagnostics(program)\n\t\t// ignore 'export' modifier cannot be applied to ambient modules and module augmentations since they are always visible. /ambient.d.ts\n\t\t.filter((d) => d.code !== 2668)\n\t\t.filter((d) => d.messageText.toString().includes(\"path-to-regexp\"));\n\tfor (const diagnostic of diagnostics) {\n\t\tconsole.error(diagnostic.messageText, diagnostic.file?.fileName);\n\t}\n\texpect(diagnostics.length).toEqual(0);\n});\n"]}
@@ -116,4 +116,3 @@ export declare const TREE_SHAKE_GLOBAL_VARIABLE_STRATEGY_USED = false;
116
116
  export declare const TREE_SHAKE_PREFERRED_LANGUAGE_STRATEGY_USED = false;
117
117
  export declare const TREE_SHAKE_DEFAULT_URL_PATTERN_USED = false;
118
118
  export declare const TREE_SHAKE_LOCAL_STORAGE_STRATEGY_USED = false;
119
- //# sourceMappingURL=variables.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"variables.js","sourceRoot":"","sources":["../../../src/compiler/runtime/variables.js"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC;AAE/B;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,gCAAgC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAEvE,qBAAqB;AACrB,MAAM,CAAC,MAAM,UAAU,GAAG,eAAe,CAAC;AAE1C,qBAAqB;AACrB,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;AAE/C,qBAAqB;AACrB,MAAM,CAAC,MAAM,YAAY,GAAG,iBAAiB,CAAC;AAE9C,qBAAqB;AACrB,MAAM,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAElD;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAE3C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAElC;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC;AAE9B;;;;;;;;;;GAUG;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,IAAI,uBAAuB,GAAG,SAAS,CAAC;AAE/C;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B;IACzC,OAAO,uBAAuB,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAE9C,MAAM,CAAC,MAAM,qCAAqC,GAAG,KAAK,CAAC;AAE3D,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC;AAEtD,iCAAiC;AACjC,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,CAAC;AAElD;;;;;;;;;GASG;AACH,MAAM,UAAU,gCAAgC,CAAC,KAAK;IACrD,uBAAuB,GAAG,KAAK,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,MAAM,+BAA+B,GAAG,KAAK,CAAC;AAErD,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,CAAC;AAElD,MAAM,CAAC,MAAM,wCAAwC,GAAG,KAAK,CAAC;AAE9D,MAAM,CAAC,MAAM,2CAA2C,GAAG,KAAK,CAAC;AAEjE,MAAM,CAAC,MAAM,mCAAmC,GAAG,KAAK,CAAC;AAEzD,MAAM,CAAC,MAAM,sCAAsC,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"variables.js","sourceRoot":"","sources":["../../../src/compiler/runtime/variables.js"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC;AAE/B;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,gCAAgC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAEvE,qBAAqB;AACrB,MAAM,CAAC,MAAM,UAAU,GAAG,eAAe,CAAC;AAE1C,qBAAqB;AACrB,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;AAE/C,qBAAqB;AACrB,MAAM,CAAC,MAAM,YAAY,GAAG,iBAAiB,CAAC;AAE9C,qBAAqB;AACrB,MAAM,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAElD;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAE3C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAElC;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC;AAE9B;;;;;;;;;;GAUG;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,IAAI,uBAAuB,GAAG,SAAS,CAAC;AAE/C;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B;IACzC,OAAO,uBAAuB,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAE9C,MAAM,CAAC,MAAM,qCAAqC,GAAG,KAAK,CAAC;AAE3D,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC;AAEtD,iCAAiC;AACjC,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,CAAC;AAElD;;;;;;;;;GASG;AACH,MAAM,UAAU,gCAAgC,CAAC,KAAK;IACrD,uBAAuB,GAAG,KAAK,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,MAAM,+BAA+B,GAAG,KAAK,CAAC;AAErD,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,CAAC;AAElD,MAAM,CAAC,MAAM,wCAAwC,GAAG,KAAK,CAAC;AAE9D,MAAM,CAAC,MAAM,2CAA2C,GAAG,KAAK,CAAC;AAEjE,MAAM,CAAC,MAAM,mCAAmC,GAAG,KAAK,CAAC;AAEzD,MAAM,CAAC,MAAM,sCAAsC,GAAG,KAAK,CAAC","sourcesContent":["/**\n * The project's base locale.\n *\n * @example\n * if (locale === baseLocale) {\n * // do something\n * }\n */\nexport const baseLocale = \"en\";\n\n/**\n * The project's locales that have been specified in the settings.\n *\n * @example\n * if (locales.includes(userSelectedLocale) === false) {\n * throw new Error('Locale is not available');\n * }\n */\nexport const locales = /** @type {readonly string[]} */ ([\"en\", \"de\"]);\n\n/** @type {string} */\nexport const cookieName = \"<cookie-name>\";\n\n/** @type {number} */\nexport const cookieMaxAge = 60 * 60 * 24 * 400;\n\n/** @type {string} */\nexport const cookieDomain = \"<cookie-domain>\";\n\n/** @type {string} */\nexport const localStorageKey = \"PARAGLIDE_LOCALE\";\n\n/**\n * @type {Array<\"cookie\" | \"baseLocale\" | \"globalVariable\" | \"url\" | \"preferredLanguage\" | \"localStorage\" | `custom-${string}`>}\n */\nexport const strategy = [\"globalVariable\"];\n\n/**\n * Route-level strategy overrides.\n *\n * `match` uses URLPattern syntax.\n *\n * @type {Array<{\n * match: string;\n * strategy?: Array<\"cookie\" | \"baseLocale\" | \"globalVariable\" | \"url\" | \"preferredLanguage\" | \"localStorage\" | `custom-${string}`>;\n * exclude?: boolean;\n * }>}\n */\nexport const routeStrategies = [];\n\n/**\n * The used URL patterns.\n *\n * @type {Array<{ pattern: string, localized: Array<[Locale, string]> }>}\n */\nexport const urlPatterns = [];\n\n/**\n * @typedef {{\n * \t\tgetStore(): {\n * \t\tlocale?: Locale,\n * \t\t\torigin?: string,\n * \t\t\tmessageCalls?: Set<string>\n * \t} | undefined,\n * \t\trun: (store: { locale?: Locale, origin?: string, messageCalls?: Set<string>},\n * cb: any) => any\n * }} ParaglideAsyncLocalStorage\n */\n\n/**\n * Server side async local storage that is set by `serverMiddleware()`.\n *\n * The variable is used to retrieve the locale and origin in a server-side\n * rendering context without effecting other requests.\n *\n * @type {ParaglideAsyncLocalStorage | undefined}\n */\nexport let serverAsyncLocalStorage = undefined;\n\n/**\n * Returns the current server-side async local storage instance.\n *\n * Accessing the mutable value through a function keeps it observable when\n * module interceptors wrap exported bindings and snapshot their initial value.\n *\n * @returns {ParaglideAsyncLocalStorage | undefined}\n */\nexport function getServerAsyncLocalStorage() {\n\treturn serverAsyncLocalStorage;\n}\n\nexport const disableAsyncLocalStorage = false;\n\nexport const experimentalMiddlewareLocaleSplitting = false;\n\nexport const isServer = typeof window === \"undefined\";\n\n/** @type {Locale | undefined} */\nexport const experimentalStaticLocale = undefined;\n\n/**\n * Sets the server side async local storage.\n *\n * The function is needed because the `runtime.js` file\n * must define the `serverAsyncLocalStorage` variable to\n * avoid a circular import between `runtime.js` and\n * `server.js` files.\n *\n * @param {ParaglideAsyncLocalStorage | undefined} value\n */\nexport function overwriteServerAsyncLocalStorage(value) {\n\tserverAsyncLocalStorage = value;\n}\n\nexport const TREE_SHAKE_COOKIE_STRATEGY_USED = false;\n\nexport const TREE_SHAKE_URL_STRATEGY_USED = false;\n\nexport const TREE_SHAKE_GLOBAL_VARIABLE_STRATEGY_USED = false;\n\nexport const TREE_SHAKE_PREFERRED_LANGUAGE_STRATEGY_USED = false;\n\nexport const TREE_SHAKE_DEFAULT_URL_PATTERN_USED = false;\n\nexport const TREE_SHAKE_LOCAL_STORAGE_STRATEGY_USED = false;\n"]}
@@ -5,4 +5,3 @@
5
5
  */
6
6
  export declare function toSafeModuleId(id: string): string;
7
7
  export declare function isSafeModuleId(id: string): boolean;
8
- //# sourceMappingURL=safe-module-id.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"safe-module-id.js","sourceRoot":"","sources":["../../src/compiler/safe-module-id.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,EAAU;IACxC,MAAM,MAAM,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IAE5D,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAEnD,IAAI,gBAAgB,EAAE,CAAC;QACtB,OAAO,GAAG,GAAG,MAAM,CAAC;IACrB,CAAC;SAAM,IAAI,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAChD,OAAO,GAAG,GAAG,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,MAAM,IAAI,IAAI,EAAE,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,YAAY,EAAE,CAAC;QAChB,CAAC;IACF,CAAC;IAED,OAAO,MAAM,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAU;IACxC,OAAO,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,kBAAkB,GAAG;IAC1B,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;IACR,IAAI;IACJ,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,KAAK;IACL,UAAU;IACV,IAAI;IACJ,QAAQ;IACR,IAAI;IACJ,YAAY;IACZ,KAAK;IACL,MAAM;IACN,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,QAAQ;IACR,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IAEN,+BAA+B;IAC/B,KAAK;IACL,QAAQ;IACR,OAAO;IACP,OAAO;IAEP,kCAAkC;IAClC,MAAM;IACN,YAAY;IACZ,WAAW;IACX,SAAS;IACT,SAAS;IACT,WAAW;IACX,QAAQ;IAER,0DAA0D;IAC1D,MAAM;CACN,CAAC"}
1
+ {"version":3,"file":"safe-module-id.js","sourceRoot":"","sources":["../../src/compiler/safe-module-id.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,EAAU;IACxC,MAAM,MAAM,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IAE5D,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAEnD,IAAI,gBAAgB,EAAE,CAAC;QACtB,OAAO,GAAG,GAAG,MAAM,CAAC;IACrB,CAAC;SAAM,IAAI,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAChD,OAAO,GAAG,GAAG,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,MAAM,IAAI,IAAI,EAAE,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,YAAY,EAAE,CAAC;QAChB,CAAC;IACF,CAAC;IAED,OAAO,MAAM,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAU;IACxC,OAAO,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,kBAAkB,GAAG;IAC1B,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;IACR,IAAI;IACJ,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,KAAK;IACL,UAAU;IACV,IAAI;IACJ,QAAQ;IACR,IAAI;IACJ,YAAY;IACZ,KAAK;IACL,MAAM;IACN,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,QAAQ;IACR,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IAEN,+BAA+B;IAC/B,KAAK;IACL,QAAQ;IACR,OAAO;IACP,OAAO;IAEP,kCAAkC;IAClC,MAAM;IACN,YAAY;IACZ,WAAW;IACX,SAAS;IACT,SAAS;IACT,WAAW;IACX,QAAQ;IAER,0DAA0D;IAC1D,MAAM;CACN,CAAC","sourcesContent":["/**\n * Turns an unsafe module id like `helloWorld🍌` into a safe one like `helloworld__`.\n *\n * Mainly exists to support https://github.com/opral/inlang-paraglide-js/issues/285\n */\nexport function toSafeModuleId(id: string): string {\n\tconst result = id.toLowerCase().replace(/[^a-z0-9_]/g, \"_\");\n\n\tconst startsWithNumber = result[0]?.match(/[0-9]/);\n\n\tif (startsWithNumber) {\n\t\treturn \"_\" + result;\n\t} else if (reservedJsKeywords.includes(result)) {\n\t\treturn \"_\" + result;\n\t}\n\n\tlet numUppercase = 0;\n\tfor (const char of id) {\n\t\tif (char.match(/[A-Z]/)) {\n\t\t\tnumUppercase++;\n\t\t}\n\t}\n\n\treturn result + (numUppercase > 0 ? `${numUppercase}` : \"\");\n}\n\nexport function isSafeModuleId(id: string): boolean {\n\treturn toSafeModuleId(id) === id;\n}\n\nconst reservedJsKeywords = [\n\t\"break\",\n\t\"case\",\n\t\"catch\",\n\t\"class\",\n\t\"const\",\n\t\"continue\",\n\t\"debugger\",\n\t\"default\",\n\t\"delete\",\n\t\"do\",\n\t\"else\",\n\t\"export\",\n\t\"extends\",\n\t\"false\",\n\t\"finally\",\n\t\"for\",\n\t\"function\",\n\t\"if\",\n\t\"import\",\n\t\"in\",\n\t\"instanceof\",\n\t\"new\",\n\t\"null\",\n\t\"return\",\n\t\"super\",\n\t\"switch\",\n\t\"this\",\n\t\"throw\",\n\t\"true\",\n\t\"try\",\n\t\"typeof\",\n\t\"var\",\n\t\"void\",\n\t\"while\",\n\t\"with\",\n\n\t//Strict mode reserved keywords\n\t\"let\",\n\t\"static\",\n\t\"yield\",\n\t\"await\",\n\n\t//Reserved keywords for future use\n\t\"enum\",\n\t\"implements\",\n\t\"interface\",\n\t\"package\",\n\t\"private\",\n\t\"protected\",\n\t\"public\",\n\n\t// https://github.com/opral/inlang-paraglide-js/issues/331\n\t\"then\",\n];\n"]}
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=safe-module-id.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"safe-module-id.test.js","sourceRoot":"","sources":["../../src/compiler/safe-module-id.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAC7C,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC;AAEH,0DAA0D;AAC1D,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;IACvC,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAC/B,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4CAA4C,EAAE,GAAG,EAAE;IACvD,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC5B,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC3B,MAAM,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AACzE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC7B,MAAM,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AACzE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;IAClD,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3C,0DAA0D;IAC1D,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;IAC/D,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACxD,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACzD,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"safe-module-id.test.js","sourceRoot":"","sources":["../../src/compiler/safe-module-id.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAC7C,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC;AAEH,0DAA0D;AAC1D,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;IACvC,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAC/B,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4CAA4C,EAAE,GAAG,EAAE;IACvD,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC5B,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC3B,MAAM,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AACzE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC7B,MAAM,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AACzE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;IAClD,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3C,0DAA0D;IAC1D,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;IAC/D,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACxD,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACzD,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC","sourcesContent":["import { test, expect } from \"vitest\";\nimport { toSafeModuleId } from \"./safe-module-id.js\";\n\ntest(\"handles emojis (because why not)\", () => {\n\texpect(toSafeModuleId(\"helloWorld🍌\")).toBe(\"helloworld__1\");\n});\n\n// https://github.com/opral/inlang-paraglide-js/issues/395\ntest(\"makes everything lowercase\", () => {\n\texpect(toSafeModuleId(\"HelloWorld\")).toBe(\"helloworld2\");\n});\n\ntest('escapes \"-\" to \"_\"', () => {\n\texpect(toSafeModuleId(\"de-DE-bavaria\")).toBe(\"de_de_bavaria2\");\n});\n\ntest(\"prefixes with _ if it starts with a number\", () => {\n\texpect(toSafeModuleId(\"123\")).toBe(\"_123\");\n});\n\ntest(\"handles $ signs\", () => {\n\texpect(toSafeModuleId(\"default_e$\")).toBe(\"default_e_\");\n});\n\ntest(\"handles . dots\", () => {\n\texpect(toSafeModuleId(\"hello.world.nested\")).toBe(\"hello_world_nested\");\n});\n\ntest(\"handles : colons\", () => {\n\texpect(toSafeModuleId(\"hello:world:nested\")).toBe(\"hello_world_nested\");\n});\n\ntest(\"transforms js reserved keywords\", async () => {\n\texpect(toSafeModuleId(\"import\")).toBe(\"_import\");\n\texpect(toSafeModuleId(\"let\")).toBe(\"_let\");\n\t// https://github.com/opral/inlang-paraglide-js/issues/331\n\texpect(toSafeModuleId(\"then\")).toBe(\"_then\");\n});\n\ntest(\"adds an uppercase counter for de-duplication\", async () => {\n\texpect(toSafeModuleId(\"helloworld\")).toBe(\"helloworld\");\n\texpect(toSafeModuleId(\"helloWorld\")).toBe(\"helloworld1\");\n\texpect(toSafeModuleId(\"HelloWorld\")).toBe(\"helloworld2\");\n});\n"]}
@@ -5,4 +5,3 @@ export declare function seedPreviousCompilationFromOutdir(args: {
5
5
  fs?: typeof nodeFs;
6
6
  cwd?: string;
7
7
  }): Promise<CompilationResult | undefined>;
8
- //# sourceMappingURL=seed-previous-compilation.d.ts.map