@inlang/paraglide-js 2.23.1 → 2.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (454) 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 +12 -7
  15. package/dist/bundler-plugins/per-locale-build/vite-environments.js.map +1 -1
  16. package/dist/bundler-plugins/per-locale-build/vite-environments.test.d.ts +0 -1
  17. package/dist/bundler-plugins/per-locale-build/vite-environments.test.js.map +1 -1
  18. package/dist/bundler-plugins/rolldown.d.ts +0 -1
  19. package/dist/bundler-plugins/rolldown.js.map +1 -1
  20. package/dist/bundler-plugins/rollup.d.ts +0 -1
  21. package/dist/bundler-plugins/rollup.js.map +1 -1
  22. package/dist/bundler-plugins/rspack.d.ts +0 -1
  23. package/dist/bundler-plugins/rspack.js.map +1 -1
  24. package/dist/bundler-plugins/unplugin.d.ts +0 -1
  25. package/dist/bundler-plugins/unplugin.js +134 -4
  26. package/dist/bundler-plugins/unplugin.js.map +1 -1
  27. package/dist/bundler-plugins/unplugin.test.d.ts +0 -1
  28. package/dist/bundler-plugins/unplugin.test.js +77 -0
  29. package/dist/bundler-plugins/unplugin.test.js.map +1 -1
  30. package/dist/bundler-plugins/vite.d.ts +0 -1
  31. package/dist/bundler-plugins/vite.js.map +1 -1
  32. package/dist/bundler-plugins/vite.test.d.ts +0 -1
  33. package/dist/bundler-plugins/vite.test.js.map +1 -1
  34. package/dist/bundler-plugins/webpack.d.ts +0 -1
  35. package/dist/bundler-plugins/webpack.js.map +1 -1
  36. package/dist/cli/commands/compile/command.d.ts +0 -1
  37. package/dist/cli/commands/compile/command.js +8 -1
  38. package/dist/cli/commands/compile/command.js.map +1 -1
  39. package/dist/cli/commands/compile/command.test.d.ts +0 -1
  40. package/dist/cli/commands/compile/command.test.js +45 -0
  41. package/dist/cli/commands/compile/command.test.js.map +1 -1
  42. package/dist/cli/commands/init/command.d.ts +0 -1
  43. package/dist/cli/commands/init/command.js.map +1 -1
  44. package/dist/cli/defaults.d.ts +0 -1
  45. package/dist/cli/defaults.js.map +1 -1
  46. package/dist/cli/index.d.ts +0 -1
  47. package/dist/cli/index.js.map +1 -1
  48. package/dist/cli/steps/add-vite-plugin.d.ts +0 -1
  49. package/dist/cli/steps/add-vite-plugin.js.map +1 -1
  50. package/dist/cli/steps/add-vite-plugin.test.d.ts +0 -1
  51. package/dist/cli/steps/add-vite-plugin.test.js.map +1 -1
  52. package/dist/cli/steps/check-for-uncomitted-changes.d.ts +0 -1
  53. package/dist/cli/steps/check-for-uncomitted-changes.js.map +1 -1
  54. package/dist/cli/steps/detect-bundler.d.ts +0 -1
  55. package/dist/cli/steps/detect-bundler.js.map +1 -1
  56. package/dist/cli/steps/detect-bundler.test.d.ts +0 -1
  57. package/dist/cli/steps/detect-bundler.test.js.map +1 -1
  58. package/dist/cli/steps/initialize-inlang-project.d.ts +0 -1
  59. package/dist/cli/steps/initialize-inlang-project.js.map +1 -1
  60. package/dist/cli/steps/maybe-add-machine-translation.d.ts +0 -1
  61. package/dist/cli/steps/maybe-add-machine-translation.js.map +1 -1
  62. package/dist/cli/steps/maybe-add-sherlock.d.ts +0 -1
  63. package/dist/cli/steps/maybe-add-sherlock.js.map +1 -1
  64. package/dist/cli/steps/prompt-for-outdir.d.ts +0 -1
  65. package/dist/cli/steps/prompt-for-outdir.js.map +1 -1
  66. package/dist/cli/steps/update-package-json.d.ts +0 -1
  67. package/dist/cli/steps/update-package-json.js.map +1 -1
  68. package/dist/cli/steps/update-ts-config.d.ts +0 -1
  69. package/dist/cli/steps/update-ts-config.js.map +1 -1
  70. package/dist/cli/steps/update-ts-config.test.d.ts +0 -1
  71. package/dist/cli/steps/update-ts-config.test.js.map +1 -1
  72. package/dist/cli/utils.d.ts +0 -1
  73. package/dist/cli/utils.js.map +1 -1
  74. package/dist/compiler/compile-annotation.d.ts +0 -1
  75. package/dist/compiler/compile-annotation.js.map +1 -1
  76. package/dist/compiler/compile-bundle.d.ts +0 -1
  77. package/dist/compiler/compile-bundle.js.map +1 -1
  78. package/dist/compiler/compile-bundle.test.d.ts +0 -1
  79. package/dist/compiler/compile-bundle.test.js.map +1 -1
  80. package/dist/compiler/compile-local-variable.d.ts +0 -1
  81. package/dist/compiler/compile-local-variable.js.map +1 -1
  82. package/dist/compiler/compile-local-variable.test.d.ts +0 -1
  83. package/dist/compiler/compile-local-variable.test.js.map +1 -1
  84. package/dist/compiler/compile-message.d.ts +0 -1
  85. package/dist/compiler/compile-message.js.map +1 -1
  86. package/dist/compiler/compile-message.test.d.ts +0 -1
  87. package/dist/compiler/compile-message.test.js.map +1 -1
  88. package/dist/compiler/compile-pattern.d.ts +0 -1
  89. package/dist/compiler/compile-pattern.js.map +1 -1
  90. package/dist/compiler/compile-pattern.test.d.ts +0 -1
  91. package/dist/compiler/compile-pattern.test.js.map +1 -1
  92. package/dist/compiler/compile-project.d.ts +0 -1
  93. package/dist/compiler/compile-project.js.map +1 -1
  94. package/dist/compiler/compile-project.test.d.ts +0 -1
  95. package/dist/compiler/compile-project.test.js.map +1 -1
  96. package/dist/compiler/compile.bench.d.ts +0 -1
  97. package/dist/compiler/compile.bench.js.map +1 -1
  98. package/dist/compiler/compile.d.ts +0 -1
  99. package/dist/compiler/compile.js +0 -15
  100. package/dist/compiler/compile.js.map +1 -1
  101. package/dist/compiler/compile.test.d.ts +0 -1
  102. package/dist/compiler/compile.test.js +0 -52
  103. package/dist/compiler/compile.test.js.map +1 -1
  104. package/dist/compiler/compiler-options.d.ts +8 -1
  105. package/dist/compiler/compiler-options.js.map +1 -1
  106. package/dist/compiler/create-paraglide.d.ts +0 -1
  107. package/dist/compiler/create-paraglide.js.map +1 -1
  108. package/dist/compiler/create-paraglide.test.d.ts +0 -1
  109. package/dist/compiler/create-paraglide.test.js.map +1 -1
  110. package/dist/compiler/create-readme.d.ts +0 -1
  111. package/dist/compiler/create-readme.js.map +1 -1
  112. package/dist/compiler/emit-ts-declarations.d.ts +0 -1
  113. package/dist/compiler/emit-ts-declarations.interop.test.d.ts +0 -1
  114. package/dist/compiler/emit-ts-declarations.interop.test.js.map +1 -1
  115. package/dist/compiler/emit-ts-declarations.js.map +1 -1
  116. package/dist/compiler/emit-ts-declarations.test.d.ts +0 -1
  117. package/dist/compiler/emit-ts-declarations.test.js.map +1 -1
  118. package/dist/compiler/index.d.ts +0 -1
  119. package/dist/compiler/index.js.map +1 -1
  120. package/dist/compiler/jsdoc-types.d.ts +0 -1
  121. package/dist/compiler/jsdoc-types.js.map +1 -1
  122. package/dist/compiler/jsdoc-types.test.d.ts +0 -1
  123. package/dist/compiler/jsdoc-types.test.js.map +1 -1
  124. package/dist/compiler/match-literals.d.ts +0 -1
  125. package/dist/compiler/match-literals.js.map +1 -1
  126. package/dist/compiler/output-structure/locale-modules.d.ts +0 -1
  127. package/dist/compiler/output-structure/locale-modules.js.map +1 -1
  128. package/dist/compiler/output-structure/locale-modules.test.d.ts +0 -1
  129. package/dist/compiler/output-structure/locale-modules.test.js.map +1 -1
  130. package/dist/compiler/output-structure/message-modules.d.ts +0 -1
  131. package/dist/compiler/output-structure/message-modules.js.map +1 -1
  132. package/dist/compiler/output-structure/message-modules.test.d.ts +0 -1
  133. package/dist/compiler/output-structure/message-modules.test.js.map +1 -1
  134. package/dist/compiler/per-locale-build.d.ts +0 -1
  135. package/dist/compiler/per-locale-build.js.map +1 -1
  136. package/dist/compiler/registry.d.ts +0 -1
  137. package/dist/compiler/registry.js.map +1 -1
  138. package/dist/compiler/resolve-tsc-js-path.d.ts +0 -1
  139. package/dist/compiler/resolve-tsc-js-path.js.map +1 -1
  140. package/dist/compiler/runtime/check-locale.d.ts +0 -1
  141. package/dist/compiler/runtime/check-locale.js.map +1 -1
  142. package/dist/compiler/runtime/check-locale.test.d.ts +0 -1
  143. package/dist/compiler/runtime/check-locale.test.js.map +1 -1
  144. package/dist/compiler/runtime/create-runtime.d.ts +1 -1
  145. package/dist/compiler/runtime/create-runtime.js +11 -0
  146. package/dist/compiler/runtime/create-runtime.js.map +1 -1
  147. package/dist/compiler/runtime/exec-url-pattern.d.ts +9 -0
  148. package/dist/compiler/runtime/exec-url-pattern.js +31 -0
  149. package/dist/compiler/runtime/exec-url-pattern.js.map +1 -0
  150. package/dist/compiler/runtime/extract-locale-from-cookie.d.ts +0 -1
  151. package/dist/compiler/runtime/extract-locale-from-cookie.js.map +1 -1
  152. package/dist/compiler/runtime/extract-locale-from-cookie.test.d.ts +0 -1
  153. package/dist/compiler/runtime/extract-locale-from-cookie.test.js.map +1 -1
  154. package/dist/compiler/runtime/extract-locale-from-header.d.ts +0 -1
  155. package/dist/compiler/runtime/extract-locale-from-header.js.map +1 -1
  156. package/dist/compiler/runtime/extract-locale-from-header.test.d.ts +0 -1
  157. package/dist/compiler/runtime/extract-locale-from-header.test.js.map +1 -1
  158. package/dist/compiler/runtime/extract-locale-from-navigator.d.ts +0 -1
  159. package/dist/compiler/runtime/extract-locale-from-navigator.js.map +1 -1
  160. package/dist/compiler/runtime/extract-locale-from-navigator.test.d.ts +0 -1
  161. package/dist/compiler/runtime/extract-locale-from-navigator.test.js.map +1 -1
  162. package/dist/compiler/runtime/extract-locale-from-request-async.d.ts +0 -1
  163. package/dist/compiler/runtime/extract-locale-from-request-async.js.map +1 -1
  164. package/dist/compiler/runtime/extract-locale-from-request-async.test.d.ts +0 -1
  165. package/dist/compiler/runtime/extract-locale-from-request-async.test.js.map +1 -1
  166. package/dist/compiler/runtime/extract-locale-from-request.d.ts +0 -1
  167. package/dist/compiler/runtime/extract-locale-from-request.js.map +1 -1
  168. package/dist/compiler/runtime/extract-locale-from-request.test.d.ts +0 -1
  169. package/dist/compiler/runtime/extract-locale-from-request.test.js.map +1 -1
  170. package/dist/compiler/runtime/extract-locale-from-url.d.ts +0 -1
  171. package/dist/compiler/runtime/extract-locale-from-url.js +8 -3
  172. package/dist/compiler/runtime/extract-locale-from-url.js.map +1 -1
  173. package/dist/compiler/runtime/extract-locale-from-url.test.d.ts +0 -1
  174. package/dist/compiler/runtime/extract-locale-from-url.test.js.map +1 -1
  175. package/dist/compiler/runtime/generate-static-localized-urls.d.ts +0 -1
  176. package/dist/compiler/runtime/generate-static-localized-urls.js +12 -6
  177. package/dist/compiler/runtime/generate-static-localized-urls.js.map +1 -1
  178. package/dist/compiler/runtime/generate-static-localized-urls.test.d.ts +0 -1
  179. package/dist/compiler/runtime/generate-static-localized-urls.test.js +46 -0
  180. package/dist/compiler/runtime/generate-static-localized-urls.test.js.map +1 -1
  181. package/dist/compiler/runtime/get-locale.d.ts +0 -1
  182. package/dist/compiler/runtime/get-locale.js.map +1 -1
  183. package/dist/compiler/runtime/get-locale.test.d.ts +0 -1
  184. package/dist/compiler/runtime/get-locale.test.js.map +1 -1
  185. package/dist/compiler/runtime/get-text-direction.d.ts +0 -1
  186. package/dist/compiler/runtime/get-text-direction.js.map +1 -1
  187. package/dist/compiler/runtime/get-text-direction.test.d.ts +0 -1
  188. package/dist/compiler/runtime/get-text-direction.test.js.map +1 -1
  189. package/dist/compiler/runtime/get-url-origin.d.ts +0 -1
  190. package/dist/compiler/runtime/get-url-origin.js.map +1 -1
  191. package/dist/compiler/runtime/get-url-origin.test.d.ts +0 -1
  192. package/dist/compiler/runtime/get-url-origin.test.js.map +1 -1
  193. package/dist/compiler/runtime/localize-href.bench.d.ts +1 -0
  194. package/dist/compiler/runtime/localize-href.bench.js +77 -0
  195. package/dist/compiler/runtime/localize-href.bench.js.map +1 -0
  196. package/dist/compiler/runtime/localize-href.d.ts +0 -1
  197. package/dist/compiler/runtime/localize-href.js.map +1 -1
  198. package/dist/compiler/runtime/localize-href.test.d.ts +0 -1
  199. package/dist/compiler/runtime/localize-href.test.js +43 -0
  200. package/dist/compiler/runtime/localize-href.test.js.map +1 -1
  201. package/dist/compiler/runtime/localize-url.d.ts +14 -1
  202. package/dist/compiler/runtime/localize-url.js +376 -18
  203. package/dist/compiler/runtime/localize-url.js.map +1 -1
  204. package/dist/compiler/runtime/localize-url.test.d.ts +0 -1
  205. package/dist/compiler/runtime/localize-url.test.js +163 -0
  206. package/dist/compiler/runtime/localize-url.test.js.map +1 -1
  207. package/dist/compiler/runtime/normalize-trailing-slash.d.ts +10 -0
  208. package/dist/compiler/runtime/normalize-trailing-slash.js +23 -0
  209. package/dist/compiler/runtime/normalize-trailing-slash.js.map +1 -0
  210. package/dist/compiler/runtime/route-strategy.d.ts +0 -1
  211. package/dist/compiler/runtime/route-strategy.js +4 -2
  212. package/dist/compiler/runtime/route-strategy.js.map +1 -1
  213. package/dist/compiler/runtime/set-locale.d.ts +0 -1
  214. package/dist/compiler/runtime/set-locale.js.map +1 -1
  215. package/dist/compiler/runtime/set-locale.test.d.ts +0 -1
  216. package/dist/compiler/runtime/set-locale.test.js.map +1 -1
  217. package/dist/compiler/runtime/should-redirect.d.ts +0 -1
  218. package/dist/compiler/runtime/should-redirect.js +4 -1
  219. package/dist/compiler/runtime/should-redirect.js.map +1 -1
  220. package/dist/compiler/runtime/should-redirect.test.d.ts +0 -1
  221. package/dist/compiler/runtime/should-redirect.test.js +30 -2
  222. package/dist/compiler/runtime/should-redirect.test.js.map +1 -1
  223. package/dist/compiler/runtime/strategy.d.ts +0 -1
  224. package/dist/compiler/runtime/strategy.js.map +1 -1
  225. package/dist/compiler/runtime/strategy.test.d.ts +0 -1
  226. package/dist/compiler/runtime/strategy.test.js.map +1 -1
  227. package/dist/compiler/runtime/track-message-call.d.ts +0 -1
  228. package/dist/compiler/runtime/track-message-call.js.map +1 -1
  229. package/dist/compiler/runtime/track-message-call.test.d.ts +0 -1
  230. package/dist/compiler/runtime/track-message-call.test.js.map +1 -1
  231. package/dist/compiler/runtime/type-definitions.d.ts +0 -1
  232. package/dist/compiler/runtime/type-definitions.js.map +1 -1
  233. package/dist/compiler/runtime/type.d.ts +1 -1
  234. package/dist/compiler/runtime/type.js.map +1 -1
  235. package/dist/compiler/runtime/type.test.d.ts +0 -1
  236. package/dist/compiler/runtime/type.test.js.map +1 -1
  237. package/dist/compiler/runtime/variables.d.ts +6 -1
  238. package/dist/compiler/runtime/variables.js +6 -0
  239. package/dist/compiler/runtime/variables.js.map +1 -1
  240. package/dist/compiler/safe-module-id.d.ts +0 -1
  241. package/dist/compiler/safe-module-id.js.map +1 -1
  242. package/dist/compiler/safe-module-id.test.d.ts +0 -1
  243. package/dist/compiler/safe-module-id.test.js.map +1 -1
  244. package/dist/compiler/seed-previous-compilation.d.ts +0 -1
  245. package/dist/compiler/seed-previous-compilation.js.map +1 -1
  246. package/dist/compiler/server/create-server-file.d.ts +0 -1
  247. package/dist/compiler/server/create-server-file.js.map +1 -1
  248. package/dist/compiler/server/create-server-file.test.d.ts +0 -1
  249. package/dist/compiler/server/create-server-file.test.js.map +1 -1
  250. package/dist/compiler/server/middleware.d.ts +0 -1
  251. package/dist/compiler/server/middleware.js +6 -2
  252. package/dist/compiler/server/middleware.js.map +1 -1
  253. package/dist/compiler/server/middleware.test.d.ts +0 -1
  254. package/dist/compiler/server/middleware.test.js +34 -0
  255. package/dist/compiler/server/middleware.test.js.map +1 -1
  256. package/dist/compiler/server/type.d.ts +0 -1
  257. package/dist/compiler/server/type.js.map +1 -1
  258. package/dist/compiler/types.d.ts +0 -1
  259. package/dist/compiler/types.js.map +1 -1
  260. package/dist/compiler/variable-access.d.ts +0 -1
  261. package/dist/compiler/variable-access.js.map +1 -1
  262. package/dist/index.d.ts +0 -1
  263. package/dist/index.js.map +1 -1
  264. package/dist/index.test.d.ts +1 -0
  265. package/dist/index.test.js +9 -0
  266. package/dist/index.test.js.map +1 -0
  267. package/dist/services/codegen/escape.d.ts +0 -1
  268. package/dist/services/codegen/escape.js.map +1 -1
  269. package/dist/services/codegen/quotes.d.ts +0 -1
  270. package/dist/services/codegen/quotes.js.map +1 -1
  271. package/dist/services/env-variables/create-index-file.d.ts +0 -1
  272. package/dist/services/env-variables/create-index-file.js.map +1 -1
  273. package/dist/services/env-variables/index.d.ts +0 -1
  274. package/dist/services/env-variables/index.js +1 -1
  275. package/dist/services/env-variables/index.js.map +1 -1
  276. package/dist/services/environment/package.d.ts +0 -1
  277. package/dist/services/environment/package.js.map +1 -1
  278. package/dist/services/environment/package.test.d.ts +0 -1
  279. package/dist/services/environment/package.test.js.map +1 -1
  280. package/dist/services/error-handling.d.ts +0 -1
  281. package/dist/services/error-handling.js.map +1 -1
  282. package/dist/services/error-handling.test.d.ts +0 -1
  283. package/dist/services/error-handling.test.js.map +1 -1
  284. package/dist/services/file-handling/exists.d.ts +0 -1
  285. package/dist/services/file-handling/exists.js.map +1 -1
  286. package/dist/services/file-handling/exists.test.d.ts +0 -1
  287. package/dist/services/file-handling/exists.test.js.map +1 -1
  288. package/dist/services/file-handling/types.d.ts +0 -1
  289. package/dist/services/file-handling/types.js.map +1 -1
  290. package/dist/services/file-handling/write-output.bench.d.ts +1 -0
  291. package/dist/services/file-handling/write-output.bench.js +24 -0
  292. package/dist/services/file-handling/write-output.bench.js.map +1 -0
  293. package/dist/services/file-handling/write-output.d.ts +0 -1
  294. package/dist/services/file-handling/write-output.js +16 -20
  295. package/dist/services/file-handling/write-output.js.map +1 -1
  296. package/dist/services/file-handling/write-output.test.d.ts +0 -1
  297. package/dist/services/file-handling/write-output.test.js +27 -0
  298. package/dist/services/file-handling/write-output.test.js.map +1 -1
  299. package/dist/services/file-watching/tracked-fs.d.ts +0 -1
  300. package/dist/services/file-watching/tracked-fs.js.map +1 -1
  301. package/dist/services/file-watching/tracked-fs.test.d.ts +0 -1
  302. package/dist/services/file-watching/tracked-fs.test.js.map +1 -1
  303. package/dist/services/logger/index.d.ts +0 -1
  304. package/dist/services/logger/index.js.map +1 -1
  305. package/dist/services/lookup.d.ts +0 -1
  306. package/dist/services/lookup.js.map +1 -1
  307. package/dist/urlpattern-polyfill/index.d.ts +0 -1
  308. package/dist/urlpattern-polyfill/index.js.map +1 -1
  309. package/dist/utilities/detect-json-formatting.d.ts +0 -1
  310. package/dist/utilities/detect-json-formatting.js.map +1 -1
  311. package/dist/utilities/node-normalize-path.d.ts +0 -1
  312. package/dist/utilities/node-normalize-path.js.map +1 -1
  313. package/package.json +2 -2
  314. package/dist/bundler-plugins/esbuild.d.ts.map +0 -1
  315. package/dist/bundler-plugins/index.d.ts.map +0 -1
  316. package/dist/bundler-plugins/per-locale-build/constants.d.ts.map +0 -1
  317. package/dist/bundler-plugins/per-locale-build/index.d.ts.map +0 -1
  318. package/dist/bundler-plugins/per-locale-build/locale-id.d.ts.map +0 -1
  319. package/dist/bundler-plugins/per-locale-build/types.d.ts.map +0 -1
  320. package/dist/bundler-plugins/per-locale-build/vite-environments.d.ts.map +0 -1
  321. package/dist/bundler-plugins/per-locale-build/vite-environments.test.d.ts.map +0 -1
  322. package/dist/bundler-plugins/rolldown.d.ts.map +0 -1
  323. package/dist/bundler-plugins/rollup.d.ts.map +0 -1
  324. package/dist/bundler-plugins/rspack.d.ts.map +0 -1
  325. package/dist/bundler-plugins/unplugin.d.ts.map +0 -1
  326. package/dist/bundler-plugins/unplugin.test.d.ts.map +0 -1
  327. package/dist/bundler-plugins/vite.d.ts.map +0 -1
  328. package/dist/bundler-plugins/vite.test.d.ts.map +0 -1
  329. package/dist/bundler-plugins/webpack.d.ts.map +0 -1
  330. package/dist/cli/commands/compile/command.d.ts.map +0 -1
  331. package/dist/cli/commands/compile/command.test.d.ts.map +0 -1
  332. package/dist/cli/commands/init/command.d.ts.map +0 -1
  333. package/dist/cli/defaults.d.ts.map +0 -1
  334. package/dist/cli/index.d.ts.map +0 -1
  335. package/dist/cli/steps/add-vite-plugin.d.ts.map +0 -1
  336. package/dist/cli/steps/add-vite-plugin.test.d.ts.map +0 -1
  337. package/dist/cli/steps/check-for-uncomitted-changes.d.ts.map +0 -1
  338. package/dist/cli/steps/detect-bundler.d.ts.map +0 -1
  339. package/dist/cli/steps/detect-bundler.test.d.ts.map +0 -1
  340. package/dist/cli/steps/initialize-inlang-project.d.ts.map +0 -1
  341. package/dist/cli/steps/maybe-add-machine-translation.d.ts.map +0 -1
  342. package/dist/cli/steps/maybe-add-sherlock.d.ts.map +0 -1
  343. package/dist/cli/steps/prompt-for-outdir.d.ts.map +0 -1
  344. package/dist/cli/steps/update-package-json.d.ts.map +0 -1
  345. package/dist/cli/steps/update-ts-config.d.ts.map +0 -1
  346. package/dist/cli/steps/update-ts-config.test.d.ts.map +0 -1
  347. package/dist/cli/utils.d.ts.map +0 -1
  348. package/dist/compiler/compile-annotation.d.ts.map +0 -1
  349. package/dist/compiler/compile-bundle.d.ts.map +0 -1
  350. package/dist/compiler/compile-bundle.test.d.ts.map +0 -1
  351. package/dist/compiler/compile-local-variable.d.ts.map +0 -1
  352. package/dist/compiler/compile-local-variable.test.d.ts.map +0 -1
  353. package/dist/compiler/compile-message.d.ts.map +0 -1
  354. package/dist/compiler/compile-message.test.d.ts.map +0 -1
  355. package/dist/compiler/compile-pattern.d.ts.map +0 -1
  356. package/dist/compiler/compile-pattern.test.d.ts.map +0 -1
  357. package/dist/compiler/compile-project.d.ts.map +0 -1
  358. package/dist/compiler/compile-project.test.d.ts.map +0 -1
  359. package/dist/compiler/compile.bench.d.ts.map +0 -1
  360. package/dist/compiler/compile.d.ts.map +0 -1
  361. package/dist/compiler/compile.test.d.ts.map +0 -1
  362. package/dist/compiler/compiler-options.d.ts.map +0 -1
  363. package/dist/compiler/create-paraglide.d.ts.map +0 -1
  364. package/dist/compiler/create-paraglide.test.d.ts.map +0 -1
  365. package/dist/compiler/create-readme.d.ts.map +0 -1
  366. package/dist/compiler/emit-ts-declarations.d.ts.map +0 -1
  367. package/dist/compiler/emit-ts-declarations.interop.test.d.ts.map +0 -1
  368. package/dist/compiler/emit-ts-declarations.test.d.ts.map +0 -1
  369. package/dist/compiler/index.d.ts.map +0 -1
  370. package/dist/compiler/jsdoc-types.d.ts.map +0 -1
  371. package/dist/compiler/jsdoc-types.test.d.ts.map +0 -1
  372. package/dist/compiler/match-literals.d.ts.map +0 -1
  373. package/dist/compiler/output-structure/locale-modules.d.ts.map +0 -1
  374. package/dist/compiler/output-structure/locale-modules.test.d.ts.map +0 -1
  375. package/dist/compiler/output-structure/message-modules.d.ts.map +0 -1
  376. package/dist/compiler/output-structure/message-modules.test.d.ts.map +0 -1
  377. package/dist/compiler/per-locale-build.d.ts.map +0 -1
  378. package/dist/compiler/registry.d.ts.map +0 -1
  379. package/dist/compiler/resolve-tsc-js-path.d.ts.map +0 -1
  380. package/dist/compiler/runtime/check-locale.d.ts.map +0 -1
  381. package/dist/compiler/runtime/check-locale.test.d.ts.map +0 -1
  382. package/dist/compiler/runtime/create-runtime.d.ts.map +0 -1
  383. package/dist/compiler/runtime/extract-locale-from-cookie.d.ts.map +0 -1
  384. package/dist/compiler/runtime/extract-locale-from-cookie.test.d.ts.map +0 -1
  385. package/dist/compiler/runtime/extract-locale-from-header.d.ts.map +0 -1
  386. package/dist/compiler/runtime/extract-locale-from-header.test.d.ts.map +0 -1
  387. package/dist/compiler/runtime/extract-locale-from-navigator.d.ts.map +0 -1
  388. package/dist/compiler/runtime/extract-locale-from-navigator.test.d.ts.map +0 -1
  389. package/dist/compiler/runtime/extract-locale-from-request-async.d.ts.map +0 -1
  390. package/dist/compiler/runtime/extract-locale-from-request-async.test.d.ts.map +0 -1
  391. package/dist/compiler/runtime/extract-locale-from-request.d.ts.map +0 -1
  392. package/dist/compiler/runtime/extract-locale-from-request.test.d.ts.map +0 -1
  393. package/dist/compiler/runtime/extract-locale-from-url.d.ts.map +0 -1
  394. package/dist/compiler/runtime/extract-locale-from-url.test.d.ts.map +0 -1
  395. package/dist/compiler/runtime/generate-static-localized-urls.d.ts.map +0 -1
  396. package/dist/compiler/runtime/generate-static-localized-urls.test.d.ts.map +0 -1
  397. package/dist/compiler/runtime/get-locale.d.ts.map +0 -1
  398. package/dist/compiler/runtime/get-locale.test.d.ts.map +0 -1
  399. package/dist/compiler/runtime/get-text-direction.d.ts.map +0 -1
  400. package/dist/compiler/runtime/get-text-direction.test.d.ts.map +0 -1
  401. package/dist/compiler/runtime/get-url-origin.d.ts.map +0 -1
  402. package/dist/compiler/runtime/get-url-origin.test.d.ts.map +0 -1
  403. package/dist/compiler/runtime/localize-href.d.ts.map +0 -1
  404. package/dist/compiler/runtime/localize-href.test.d.ts.map +0 -1
  405. package/dist/compiler/runtime/localize-url.d.ts.map +0 -1
  406. package/dist/compiler/runtime/localize-url.test.d.ts.map +0 -1
  407. package/dist/compiler/runtime/route-strategy.d.ts.map +0 -1
  408. package/dist/compiler/runtime/set-locale.d.ts.map +0 -1
  409. package/dist/compiler/runtime/set-locale.test.d.ts.map +0 -1
  410. package/dist/compiler/runtime/should-redirect.d.ts.map +0 -1
  411. package/dist/compiler/runtime/should-redirect.test.d.ts.map +0 -1
  412. package/dist/compiler/runtime/strategy.d.ts.map +0 -1
  413. package/dist/compiler/runtime/strategy.test.d.ts.map +0 -1
  414. package/dist/compiler/runtime/track-message-call.d.ts.map +0 -1
  415. package/dist/compiler/runtime/track-message-call.test.d.ts.map +0 -1
  416. package/dist/compiler/runtime/type-definitions.d.ts.map +0 -1
  417. package/dist/compiler/runtime/type.d.ts.map +0 -1
  418. package/dist/compiler/runtime/type.test.d.ts.map +0 -1
  419. package/dist/compiler/runtime/variables.d.ts.map +0 -1
  420. package/dist/compiler/safe-module-id.d.ts.map +0 -1
  421. package/dist/compiler/safe-module-id.test.d.ts.map +0 -1
  422. package/dist/compiler/seed-previous-compilation.d.ts.map +0 -1
  423. package/dist/compiler/server/create-server-file.d.ts.map +0 -1
  424. package/dist/compiler/server/create-server-file.test.d.ts.map +0 -1
  425. package/dist/compiler/server/middleware.d.ts.map +0 -1
  426. package/dist/compiler/server/middleware.test.d.ts.map +0 -1
  427. package/dist/compiler/server/type.d.ts.map +0 -1
  428. package/dist/compiler/types.d.ts.map +0 -1
  429. package/dist/compiler/variable-access.d.ts.map +0 -1
  430. package/dist/index.d.ts.map +0 -1
  431. package/dist/services/account/index.d.ts +0 -15
  432. package/dist/services/account/index.d.ts.map +0 -1
  433. package/dist/services/account/index.js +0 -43
  434. package/dist/services/account/index.js.map +0 -1
  435. package/dist/services/codegen/escape.d.ts.map +0 -1
  436. package/dist/services/codegen/quotes.d.ts.map +0 -1
  437. package/dist/services/env-variables/create-index-file.d.ts.map +0 -1
  438. package/dist/services/env-variables/index.d.ts.map +0 -1
  439. package/dist/services/environment/package.d.ts.map +0 -1
  440. package/dist/services/environment/package.test.d.ts.map +0 -1
  441. package/dist/services/error-handling.d.ts.map +0 -1
  442. package/dist/services/error-handling.test.d.ts.map +0 -1
  443. package/dist/services/file-handling/exists.d.ts.map +0 -1
  444. package/dist/services/file-handling/exists.test.d.ts.map +0 -1
  445. package/dist/services/file-handling/types.d.ts.map +0 -1
  446. package/dist/services/file-handling/write-output.d.ts.map +0 -1
  447. package/dist/services/file-handling/write-output.test.d.ts.map +0 -1
  448. package/dist/services/file-watching/tracked-fs.d.ts.map +0 -1
  449. package/dist/services/file-watching/tracked-fs.test.d.ts.map +0 -1
  450. package/dist/services/logger/index.d.ts.map +0 -1
  451. package/dist/services/lookup.d.ts.map +0 -1
  452. package/dist/urlpattern-polyfill/index.d.ts.map +0 -1
  453. package/dist/utilities/detect-json-formatting.d.ts.map +0 -1
  454. package/dist/utilities/node-normalize-path.d.ts.map +0 -1
@@ -1,2 +1 @@
1
1
  export declare const paraglideEsbuildPlugin: (options: import("../index.js").CompilerOptions) => import("unplugin").EsbuildPlugin;
2
- //# sourceMappingURL=esbuild.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"esbuild.js","sourceRoot":"","sources":["../../src/bundler-plugins/esbuild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,CAAC,MAAM,sBAAsB,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"esbuild.js","sourceRoot":"","sources":["../../src/bundler-plugins/esbuild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,CAAC,MAAM,sBAAsB,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC","sourcesContent":["import { createEsbuildPlugin } from \"unplugin\";\nimport { unpluginFactory } from \"./unplugin.js\";\n\nexport const paraglideEsbuildPlugin = createEsbuildPlugin(unpluginFactory);\n"]}
@@ -4,4 +4,3 @@ export { paraglideRollupPlugin } from "./rollup.js";
4
4
  export { paraglideRspackPlugin } from "./rspack.js";
5
5
  export { paraglideVitePlugin, type ParaglideVitePluginOptions, } from "./vite.js";
6
6
  export { paraglideWebpackPlugin } from "./webpack.js";
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bundler-plugins/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EACN,mBAAmB,GAEnB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bundler-plugins/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EACN,mBAAmB,GAEnB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC","sourcesContent":["export { paraglideEsbuildPlugin } from \"./esbuild.js\";\nexport { paraglideRolldownPlugin } from \"./rolldown.js\";\nexport { paraglideRollupPlugin } from \"./rollup.js\";\nexport { paraglideRspackPlugin } from \"./rspack.js\";\nexport {\n\tparaglideVitePlugin,\n\ttype ParaglideVitePluginOptions,\n} from \"./vite.js\";\nexport { paraglideWebpackPlugin } from \"./webpack.js\";\n"]}
@@ -1,3 +1,2 @@
1
1
  export declare const PER_LOCALE_BUILD_MARKER = "__PARAGLIDE_STATIC_LOCALE__";
2
2
  export declare const PER_LOCALE_BUILD_DEFINE = "globalThis.__PARAGLIDE_STATIC_LOCALE__";
3
- //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/bundler-plugins/per-locale-build/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG,6BAA6B,CAAC;AACrE,MAAM,CAAC,MAAM,uBAAuB,GAAG,cAAc,uBAAuB,EAAE,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/bundler-plugins/per-locale-build/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG,6BAA6B,CAAC;AACrE,MAAM,CAAC,MAAM,uBAAuB,GAAG,cAAc,uBAAuB,EAAE,CAAC","sourcesContent":["export const PER_LOCALE_BUILD_MARKER = \"__PARAGLIDE_STATIC_LOCALE__\";\nexport const PER_LOCALE_BUILD_DEFINE = `globalThis.${PER_LOCALE_BUILD_MARKER}`;\n"]}
@@ -4,4 +4,3 @@ export declare function createPerLocaleBuildPlugins(args: {
4
4
  compilerOptions: CompilerOptions;
5
5
  createCompilerPlugin: (options: CompilerOptions) => Plugin;
6
6
  }): Plugin[];
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bundler-plugins/per-locale-build/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAGvD,OAAO,EAAE,oCAAoC,EAAE,MAAM,oCAAoC,CAAC;AAE1F,OAAO,EAAE,iCAAiC,EAAE,MAAM,wBAAwB,CAAC;AAE3E,MAAM,UAAU,2BAA2B,CAAC,IAG3C;IACA,uBAAuB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC9C,MAAM,eAAe,GAAG,8BAA8B,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC7E,OAAO;QACN,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC;QAC1C,iCAAiC,CAAC;YACjC,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC;SAC7C,CAAC;KACF,CAAC;AACH,CAAC;AAED,SAAS,8BAA8B,CACtC,eAAgC;IAEhC,OAAO;QACN,GAAG,eAAe;QAClB,eAAe,EAAE,eAAe,CAAC,eAAe,IAAI,gBAAgB;QACpE,wBAAwB,EAAE,oCAAoC;QAC9D,eAAe,EAAE;YAChB,GAAG,eAAe,CAAC,eAAe;SAClC;KACD,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAwB;IACxD,IAAI,OAAO,CAAC,wBAAwB,KAAK,SAAS,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CACd,0IAA0I,CAC1I,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,qCAAqC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CACd,2FAA2F,CAC3F,CAAC;IACH,CAAC;IACD,IACC,OAAO,CAAC,eAAe,KAAK,SAAS;QACrC,OAAO,CAAC,eAAe,KAAK,gBAAgB,EAC3C,CAAC;QACF,MAAM,IAAI,KAAK,CACd,wEAAwE,CACxE,CAAC;IACH,CAAC;AACF,CAAC;AAED,KAAK,UAAU,YAAY,CAC1B,OAAgD;IAEhD,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC;QAC9C,IAAI,EAAE,OAAO,CAAC,OAAO;QACrB,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,MAAM;KACxB,CAAC,CAAC;IACH,IAAI,CAAC;QACJ,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QAC9C,OAAO;YACN,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC;SAC9B,CAAC;IACH,CAAC;YAAS,CAAC;QACV,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bundler-plugins/per-locale-build/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAGvD,OAAO,EAAE,oCAAoC,EAAE,MAAM,oCAAoC,CAAC;AAE1F,OAAO,EAAE,iCAAiC,EAAE,MAAM,wBAAwB,CAAC;AAE3E,MAAM,UAAU,2BAA2B,CAAC,IAG3C;IACA,uBAAuB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC9C,MAAM,eAAe,GAAG,8BAA8B,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC7E,OAAO;QACN,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC;QAC1C,iCAAiC,CAAC;YACjC,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC;SAC7C,CAAC;KACF,CAAC;AACH,CAAC;AAED,SAAS,8BAA8B,CACtC,eAAgC;IAEhC,OAAO;QACN,GAAG,eAAe;QAClB,eAAe,EAAE,eAAe,CAAC,eAAe,IAAI,gBAAgB;QACpE,wBAAwB,EAAE,oCAAoC;QAC9D,eAAe,EAAE;YAChB,GAAG,eAAe,CAAC,eAAe;SAClC;KACD,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAwB;IACxD,IAAI,OAAO,CAAC,wBAAwB,KAAK,SAAS,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CACd,0IAA0I,CAC1I,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,qCAAqC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CACd,2FAA2F,CAC3F,CAAC;IACH,CAAC;IACD,IACC,OAAO,CAAC,eAAe,KAAK,SAAS;QACrC,OAAO,CAAC,eAAe,KAAK,gBAAgB,EAC3C,CAAC;QACF,MAAM,IAAI,KAAK,CACd,wEAAwE,CACxE,CAAC;IACH,CAAC;AACF,CAAC;AAED,KAAK,UAAU,YAAY,CAC1B,OAAgD;IAEhD,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC;QAC9C,IAAI,EAAE,OAAO,CAAC,OAAO;QACrB,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,MAAM;KACxB,CAAC,CAAC;IACH,IAAI,CAAC;QACJ,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QAC9C,OAAO;YACN,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC;SAC9B,CAAC;IACH,CAAC;YAAS,CAAC;QACV,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACF,CAAC","sourcesContent":["import nodeFs from \"node:fs\";\nimport { loadProjectFromDirectory } from \"@inlang/sdk\";\nimport type { Plugin } from \"vite\";\nimport type { CompilerOptions } from \"../../compiler/compiler-options.js\";\nimport { perLocaleBuildStaticLocaleExpression } from \"../../compiler/per-locale-build.js\";\nimport type { PerLocaleBuildSettings } from \"./types.js\";\nimport { createViteLocaleEnvironmentPlugin } from \"./vite-environments.js\";\n\nexport function createPerLocaleBuildPlugins(args: {\n\tcompilerOptions: CompilerOptions;\n\tcreateCompilerPlugin: (options: CompilerOptions) => Plugin;\n}): Plugin[] {\n\tvalidateCompilerOptions(args.compilerOptions);\n\tconst compilerOptions = createPerLocaleCompilerOptions(args.compilerOptions);\n\treturn [\n\t\targs.createCompilerPlugin(compilerOptions),\n\t\tcreateViteLocaleEnvironmentPlugin({\n\t\t\tsettings: () => loadSettings(compilerOptions),\n\t\t}),\n\t];\n}\n\nfunction createPerLocaleCompilerOptions(\n\tcompilerOptions: CompilerOptions\n): CompilerOptions {\n\treturn {\n\t\t...compilerOptions,\n\t\toutputStructure: compilerOptions.outputStructure ?? \"locale-modules\",\n\t\texperimentalStaticLocale: perLocaleBuildStaticLocaleExpression,\n\t\tadditionalFiles: {\n\t\t\t...compilerOptions.additionalFiles,\n\t\t},\n\t};\n}\n\nfunction validateCompilerOptions(options: CompilerOptions): void {\n\tif (options.experimentalStaticLocale !== undefined) {\n\t\tthrow new Error(\n\t\t\t\"experimentalPerLocaleBuild cannot be combined with experimentalStaticLocale because it controls the compiler's static locale expression.\"\n\t\t);\n\t}\n\tif (options.experimentalMiddlewareLocaleSplitting) {\n\t\tthrow new Error(\n\t\t\t\"experimentalPerLocaleBuild cannot be combined with experimentalMiddlewareLocaleSplitting.\"\n\t\t);\n\t}\n\tif (\n\t\toptions.outputStructure !== undefined &&\n\t\toptions.outputStructure !== \"locale-modules\"\n\t) {\n\t\tthrow new Error(\n\t\t\t'experimentalPerLocaleBuild requires outputStructure: \"locale-modules\".'\n\t\t);\n\t}\n}\n\nasync function loadSettings(\n\toptions: Pick<CompilerOptions, \"project\" | \"fs\">\n): Promise<PerLocaleBuildSettings> {\n\tconst project = await loadProjectFromDirectory({\n\t\tpath: options.project,\n\t\tfs: options.fs ?? nodeFs,\n\t});\n\ttry {\n\t\tconst settings = await project.settings.get();\n\t\treturn {\n\t\t\tbaseLocale: settings.baseLocale,\n\t\t\tlocales: [...settings.locales],\n\t\t};\n\t} finally {\n\t\tawait project.close();\n\t}\n}\n"]}
@@ -6,4 +6,3 @@
6
6
  * directory, including locales which differ only by punctuation or Unicode.
7
7
  */
8
8
  export declare function getPerLocaleBuildLocaleId(locale: string): string;
9
- //# sourceMappingURL=locale-id.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"locale-id.js","sourceRoot":"","sources":["../../../src/bundler-plugins/per-locale-build/locale-id.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAc;IACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,IAAI,QAAQ,CAAC;IACpE,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CACjE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAClC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACX,OAAO,GAAG,QAAQ,IAAI,GAAG,EAAE,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"locale-id.js","sourceRoot":"","sources":["../../../src/bundler-plugins/per-locale-build/locale-id.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAc;IACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,IAAI,QAAQ,CAAC;IACpE,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CACjE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAClC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACX,OAAO,GAAG,QAAQ,IAAI,GAAG,EAAE,CAAC;AAC7B,CAAC","sourcesContent":["/**\n * Returns a readable, filesystem-safe, collision-free identifier for a locale.\n *\n * The readable part is only for diagnostics. The complete UTF-8 hex suffix is\n * what guarantees that two different locale strings never share an output\n * directory, including locales which differ only by punctuation or Unicode.\n */\nexport function getPerLocaleBuildLocaleId(locale: string): string {\n\tconst readable = locale.replace(/[^A-Za-z0-9_-]/g, \"_\") || \"locale\";\n\tconst hex = Array.from(new TextEncoder().encode(locale), (byte) =>\n\t\tbyte.toString(16).padStart(2, \"0\")\n\t).join(\"\");\n\treturn `${readable}-${hex}`;\n}\n"]}
@@ -2,4 +2,3 @@ export type PerLocaleBuildSettings = {
2
2
  baseLocale: string;
3
3
  locales: string[];
4
4
  };
5
- //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/bundler-plugins/per-locale-build/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/bundler-plugins/per-locale-build/types.ts"],"names":[],"mappings":"","sourcesContent":["export type PerLocaleBuildSettings = {\n\tbaseLocale: string;\n\tlocales: string[];\n};\n"]}
@@ -49,4 +49,3 @@ export declare function createViteLocaleEnvironmentPlugin(args: {
49
49
  settings: () => Promise<PerLocaleBuildSettings>;
50
50
  outputDirectory?: string;
51
51
  }): Plugin;
52
- //# sourceMappingURL=vite-environments.d.ts.map
@@ -1,12 +1,9 @@
1
1
  import nodeFs from "node:fs/promises";
2
2
  import nodePath from "node:path";
3
- import * as vite from "vite";
4
3
  import { PER_LOCALE_BUILD_DEFINE } from "./constants.js";
5
4
  import { getPerLocaleBuildLocaleId } from "./locale-id.js";
6
5
  export const VITE_LOCALE_BUILD_MANIFEST = "paraglide-vite-locales.json";
7
6
  export const VITE_LOCALE_ENVIRONMENT_PREFIX = "paraglide_client_";
8
- const viteVersion = vite.version;
9
- const detectedRolldownVersion = vite.rolldownVersion;
10
7
  export function createViteLocaleBuildPlan(args) {
11
8
  const outputDirectory = normalizeOutputDirectory(args.outputDirectory ?? "dist");
12
9
  return {
@@ -42,6 +39,12 @@ export function createViteLocaleEnvironmentPlugin(args) {
42
39
  async config(config, env) {
43
40
  if (env.command !== "build")
44
41
  return;
42
+ // Vite is an optional peer dependency. Only resolve it when this
43
+ // experimental Vite-specific build path is actually used so importing
44
+ // the package's compiler API does not require Vite to be installed.
45
+ const vite = await import("vite");
46
+ const viteVersion = vite.version;
47
+ const detectedRolldownVersion = vite.rolldownVersion;
45
48
  if (Number.parseInt(viteVersion, 10) < 8) {
46
49
  throw new Error(`experimentalPerLocaleBuild Vite environments require Vite 8 or newer; found ${viteVersion}.`);
47
50
  }
@@ -64,6 +67,10 @@ export function createViteLocaleEnvironmentPlugin(args) {
64
67
  builder,
65
68
  plan: plan,
66
69
  settings: settings,
70
+ viteVersion,
71
+ rolldownVersion: typeof detectedRolldownVersion === "string"
72
+ ? detectedRolldownVersion
73
+ : "unknown",
67
74
  });
68
75
  };
69
76
  return {
@@ -128,10 +135,8 @@ async function buildViteLocaleEnvironments(args) {
128
135
  const manifest = {
129
136
  version: 1,
130
137
  backend: "vite-rolldown-environments",
131
- viteVersion,
132
- rolldownVersion: typeof detectedRolldownVersion === "string"
133
- ? detectedRolldownVersion
134
- : "unknown",
138
+ viteVersion: args.viteVersion,
139
+ rolldownVersion: args.rolldownVersion,
135
140
  baseLocale: args.settings.baseLocale,
136
141
  locales: {},
137
142
  };
@@ -1 +1 @@
1
- {"version":3,"file":"vite-environments.js","sourceRoot":"","sources":["../../../src/bundler-plugins/per-locale-build/vite-environments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vite-environments.js","sourceRoot":"","sources":["../../../src/bundler-plugins/per-locale-build/vite-environments.ts"],"names":[],"mappings":"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","sourcesContent":["import nodeFs from \"node:fs/promises\";\nimport nodePath from \"node:path\";\nimport type { EnvironmentOptions, Plugin, UserConfig, ViteBuilder } from \"vite\";\nimport { PER_LOCALE_BUILD_DEFINE } from \"./constants.js\";\nimport { getPerLocaleBuildLocaleId } from \"./locale-id.js\";\nimport type { PerLocaleBuildSettings } from \"./types.js\";\n\nexport const VITE_LOCALE_BUILD_MANIFEST = \"paraglide-vite-locales.json\";\nexport const VITE_LOCALE_ENVIRONMENT_PREFIX = \"paraglide_client_\";\n\nexport type ViteLocaleBuildPlan = {\n\toutputDirectory: string;\n\tvariants: Array<{\n\t\tlocale: string;\n\t\tenvironmentName: string;\n\t\tdirectory: string;\n\t\toutputDirectory: string;\n\t\tdefine: Record<string, string>;\n\t}>;\n};\n\nexport type ViteLocaleBuildManifest = {\n\tversion: 1;\n\tbackend: \"vite-rolldown-environments\";\n\tviteVersion: string;\n\trolldownVersion: string;\n\tbaseLocale: string;\n\tlocales: Record<\n\t\tstring,\n\t\t{\n\t\t\tenvironment: string;\n\t\t\tdirectory: string;\n\t\t\tentries: Record<string, string>;\n\t\t\tfiles: Array<{\n\t\t\t\tfileName: string;\n\t\t\t\ttype: \"asset\" | \"chunk\";\n\t\t\t\tbytes: number;\n\t\t\t\tentry?: boolean;\n\t\t\t\tdynamicEntry?: boolean;\n\t\t\t\timports?: string[];\n\t\t\t\tdynamicImports?: string[];\n\t\t\t\texternalImports?: string[];\n\t\t\t\texternalDynamicImports?: string[];\n\t\t\t}>;\n\t\t}\n\t>;\n};\n\ntype ViteBuildResult = Awaited<ReturnType<ViteBuilder[\"build\"]>>;\ntype ViteRolldownOutput = Extract<\n\tViteBuildResult extends Array<infer Item> ? Item : ViteBuildResult,\n\t{ output: unknown[] }\n>;\n\nexport function createViteLocaleBuildPlan(args: {\n\tsettings: PerLocaleBuildSettings;\n\toutputDirectory?: string;\n}): ViteLocaleBuildPlan {\n\tconst outputDirectory = normalizeOutputDirectory(\n\t\targs.outputDirectory ?? \"dist\"\n\t);\n\treturn {\n\t\toutputDirectory,\n\t\tvariants: args.settings.locales.map((locale) => {\n\t\t\tconst localeId = getPerLocaleBuildLocaleId(locale);\n\t\t\tconst directory = nodePath.posix.join(\"__paraglide\", localeId);\n\t\t\treturn {\n\t\t\t\tlocale,\n\t\t\t\tenvironmentName: `${VITE_LOCALE_ENVIRONMENT_PREFIX}${localeId.replaceAll(/[^a-zA-Z0-9_$]/g, \"_\")}`,\n\t\t\t\tdirectory,\n\t\t\t\toutputDirectory: nodePath.posix.join(outputDirectory, directory),\n\t\t\t\tdefine: {\n\t\t\t\t\t[PER_LOCALE_BUILD_DEFINE]: JSON.stringify(locale),\n\t\t\t\t},\n\t\t\t};\n\t\t}),\n\t};\n}\n\n/**\n * Build one untouched Rolldown client graph per locale.\n *\n * This plugin owns app-build orchestration. It deliberately rejects another\n * custom buildApp orchestrator rather than guessing how a framework builds.\n */\nexport function createViteLocaleEnvironmentPlugin(args: {\n\tsettings: () => Promise<PerLocaleBuildSettings>;\n\toutputDirectory?: string;\n}): Plugin {\n\tlet plan: ViteLocaleBuildPlan | undefined;\n\tlet settings: PerLocaleBuildSettings | undefined;\n\tlet buildApp:\n\t\t| NonNullable<NonNullable<UserConfig[\"builder\"]>[\"buildApp\"]>\n\t\t| undefined;\n\n\treturn {\n\t\tname: \"paraglide-vite-locale-environments\",\n\t\tenforce: \"post\",\n\t\tasync config(config, env) {\n\t\t\tif (env.command !== \"build\") return;\n\t\t\t// Vite is an optional peer dependency. Only resolve it when this\n\t\t\t// experimental Vite-specific build path is actually used so importing\n\t\t\t// the package's compiler API does not require Vite to be installed.\n\t\t\tconst vite = await import(\"vite\");\n\t\t\tconst viteVersion = vite.version;\n\t\t\tconst detectedRolldownVersion = (\n\t\t\t\tvite as unknown as { rolldownVersion?: unknown }\n\t\t\t).rolldownVersion;\n\t\t\tif (Number.parseInt(viteVersion, 10) < 8) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`experimentalPerLocaleBuild Vite environments require Vite 8 or newer; found ${viteVersion}.`\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (config.builder?.buildApp !== undefined) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"experimentalPerLocaleBuild Vite environments cannot compose with an existing builder.buildApp orchestrator. A framework must expose a public client-variant API before using this backend.\"\n\t\t\t\t);\n\t\t\t}\n\t\t\tsettings = await args.settings();\n\t\t\tvalidateViteLocaleBuildSettings(settings);\n\t\t\tplan = createViteLocaleBuildPlan({\n\t\t\t\tsettings,\n\t\t\t\toutputDirectory: args.outputDirectory ?? config.build?.outDir,\n\t\t\t});\n\t\t\tfor (const variant of plan.variants) {\n\t\t\t\tif (config.environments?.[variant.environmentName] !== undefined) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`experimentalPerLocaleBuild cannot create Vite environment ${JSON.stringify(variant.environmentName)} because the application already defines it.`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\tbuildApp = async (builder) => {\n\t\t\t\tawait buildViteLocaleEnvironments({\n\t\t\t\t\tbuilder,\n\t\t\t\t\tplan: plan!,\n\t\t\t\t\tsettings: settings!,\n\t\t\t\t\tviteVersion,\n\t\t\t\t\trolldownVersion:\n\t\t\t\t\t\ttypeof detectedRolldownVersion === \"string\"\n\t\t\t\t\t\t\t? detectedRolldownVersion\n\t\t\t\t\t\t\t: \"unknown\",\n\t\t\t\t});\n\t\t\t};\n\t\t\treturn {\n\t\t\t\tbuilder: {\n\t\t\t\t\t...config.builder,\n\t\t\t\t\tbuildApp,\n\t\t\t\t},\n\t\t\t\tenvironments: Object.fromEntries(\n\t\t\t\t\tplan.variants.map((variant) => [\n\t\t\t\t\t\tvariant.environmentName,\n\t\t\t\t\t\tcreateLocaleEnvironment(variant),\n\t\t\t\t\t])\n\t\t\t\t),\n\t\t\t} satisfies UserConfig;\n\t\t},\n\t\tconfigResolved(config) {\n\t\t\tif (config.command !== \"build\") return;\n\t\t\tif (config.builder?.buildApp !== buildApp) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"experimentalPerLocaleBuild Vite environments must own builder.buildApp. Another plugin replaced the locale build orchestrator.\"\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\tbuildStart() {\n\t\t\tif (!this.meta.rolldownVersion) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"experimentalPerLocaleBuild Vite environments require a Rolldown-powered Vite build (Vite 8 or newer).\"\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t};\n}\n\nfunction createLocaleEnvironment(\n\tvariant: ViteLocaleBuildPlan[\"variants\"][number]\n): EnvironmentOptions {\n\treturn {\n\t\tconsumer: \"client\",\n\t\tdefine: variant.define,\n\t\tbuild: {\n\t\t\toutDir: variant.outputDirectory,\n\t\t\temptyOutDir: true,\n\t\t\tmanifest: true,\n\t\t},\n\t};\n}\n\nasync function buildViteLocaleEnvironments(args: {\n\tbuilder: ViteBuilder;\n\tplan: ViteLocaleBuildPlan;\n\tsettings: PerLocaleBuildSettings;\n\tviteVersion: string;\n\trolldownVersion: string;\n}): Promise<void> {\n\tconst outputRoot = nodePath.resolve(\n\t\targs.builder.config.root,\n\t\targs.plan.outputDirectory\n\t);\n\tawait Promise.all([\n\t\tnodeFs.rm(nodePath.join(outputRoot, \"__paraglide\"), {\n\t\t\trecursive: true,\n\t\t\tforce: true,\n\t\t}),\n\t\tnodeFs.rm(nodePath.join(outputRoot, VITE_LOCALE_BUILD_MANIFEST), {\n\t\t\tforce: true,\n\t\t}),\n\t]);\n\n\tconst results: Array<{\n\t\tvariant: ViteLocaleBuildPlan[\"variants\"][number];\n\t\toutputs: ViteRolldownOutput[];\n\t}> = [];\n\tfor (const variant of args.plan.variants) {\n\t\tconst environment = args.builder.environments[variant.environmentName];\n\t\tif (!environment) {\n\t\t\tthrow new Error(\n\t\t\t\t`Vite did not create the locale environment ${JSON.stringify(variant.environmentName)}.`\n\t\t\t);\n\t\t}\n\t\tconst result = await args.builder.build(environment);\n\t\tresults.push({\n\t\t\tvariant,\n\t\t\toutputs: getRolldownOutputs(result),\n\t\t});\n\t}\n\n\tconst manifest: ViteLocaleBuildManifest = {\n\t\tversion: 1,\n\t\tbackend: \"vite-rolldown-environments\",\n\t\tviteVersion: args.viteVersion,\n\t\trolldownVersion: args.rolldownVersion,\n\t\tbaseLocale: args.settings.baseLocale,\n\t\tlocales: {},\n\t};\n\tfor (const { variant, outputs } of results) {\n\t\tmanifest.locales[variant.locale] = createLocaleManifest({\n\t\t\tvariant,\n\t\t\toutputs,\n\t\t});\n\t}\n\n\tawait nodeFs.mkdir(outputRoot, { recursive: true });\n\tawait nodeFs.writeFile(\n\t\tnodePath.join(outputRoot, VITE_LOCALE_BUILD_MANIFEST),\n\t\tJSON.stringify(manifest, undefined, \"\\t\") + \"\\n\"\n\t);\n}\n\nfunction getRolldownOutputs(result: ViteBuildResult): ViteRolldownOutput[] {\n\tif (Array.isArray(result)) {\n\t\treturn result.filter(\n\t\t\t(item): item is ViteRolldownOutput => \"output\" in item\n\t\t);\n\t}\n\tif (\"output\" in result) return [result as ViteRolldownOutput];\n\tthrow new Error(\n\t\t\"experimentalPerLocaleBuild Vite environments do not support watch-mode Rolldown output.\"\n\t);\n}\n\nfunction createLocaleManifest(args: {\n\tvariant: ViteLocaleBuildPlan[\"variants\"][number];\n\toutputs: ViteRolldownOutput[];\n}): ViteLocaleBuildManifest[\"locales\"][string] {\n\tconst outputFiles = args.outputs.flatMap((output) => output.output);\n\tconst emittedFileNames = new Set(\n\t\toutputFiles.map((output) => output.fileName)\n\t);\n\tconst files: ViteLocaleBuildManifest[\"locales\"][string][\"files\"] = outputFiles\n\t\t.map((output) => {\n\t\t\tif (output.type === \"asset\") {\n\t\t\t\treturn {\n\t\t\t\t\tfileName: output.fileName,\n\t\t\t\t\ttype: \"asset\" as const,\n\t\t\t\t\tbytes: getByteLength(output.source),\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst staticImports = partitionImports(output.imports, emittedFileNames);\n\t\t\tconst dynamicImports = partitionImports(\n\t\t\t\toutput.dynamicImports,\n\t\t\t\temittedFileNames\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tfileName: output.fileName,\n\t\t\t\ttype: \"chunk\" as const,\n\t\t\t\tbytes: getByteLength(output.code),\n\t\t\t\t...(output.isEntry ? { entry: true } : {}),\n\t\t\t\t...(output.isDynamicEntry ? { dynamicEntry: true } : {}),\n\t\t\t\t...(staticImports.internal.length > 0\n\t\t\t\t\t? { imports: staticImports.internal }\n\t\t\t\t\t: {}),\n\t\t\t\t...(dynamicImports.internal.length > 0\n\t\t\t\t\t? { dynamicImports: dynamicImports.internal }\n\t\t\t\t\t: {}),\n\t\t\t\t...(staticImports.external.length > 0\n\t\t\t\t\t? { externalImports: staticImports.external }\n\t\t\t\t\t: {}),\n\t\t\t\t...(dynamicImports.external.length > 0\n\t\t\t\t\t? {\n\t\t\t\t\t\t\texternalDynamicImports: dynamicImports.external,\n\t\t\t\t\t\t}\n\t\t\t\t\t: {}),\n\t\t\t};\n\t\t})\n\t\t.sort((left, right) => left.fileName.localeCompare(right.fileName));\n\tconst fileNames = new Set(files.map((file) => file.fileName));\n\tfor (const file of files) {\n\t\tfor (const imported of [\n\t\t\t...(file.imports ?? []),\n\t\t\t...(file.dynamicImports ?? []),\n\t\t]) {\n\t\t\tif (!fileNames.has(imported)) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Vite emitted an open locale graph for ${JSON.stringify(args.variant.locale)}: ${file.fileName} imports missing ${imported}.`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\tconst entryPairs: Array<[string, string]> = [];\n\tfor (const output of args.outputs.flatMap((result) => result.output)) {\n\t\tif (output.type === \"chunk\" && output.isEntry) {\n\t\t\tentryPairs.push([output.facadeModuleId ?? output.name, output.fileName]);\n\t\t}\n\t}\n\tconst entries = Object.fromEntries(\n\t\tentryPairs.sort(([left], [right]) => left.localeCompare(right))\n\t);\n\treturn {\n\t\tenvironment: args.variant.environmentName,\n\t\tdirectory: args.variant.directory,\n\t\tentries,\n\t\tfiles,\n\t};\n}\n\nfunction partitionImports(\n\timports: string[],\n\temittedFileNames: ReadonlySet<string>\n): { internal: string[]; external: string[] } {\n\tconst internal: string[] = [];\n\tconst external: string[] = [];\n\tfor (const imported of imports) {\n\t\t(emittedFileNames.has(imported) ? internal : external).push(imported);\n\t}\n\treturn { internal, external };\n}\n\nfunction getByteLength(source: string | Uint8Array): number {\n\treturn typeof source === \"string\"\n\t\t? new TextEncoder().encode(source).byteLength\n\t\t: source.byteLength;\n}\n\nfunction normalizeOutputDirectory(directory: string): string {\n\tconst normalized = directory.replaceAll(\"\\\\\", \"/\").replace(/\\/+$/, \"\");\n\tif (\n\t\tnormalized === \"\" ||\n\t\tnormalized === \".\" ||\n\t\tnormalized.startsWith(\"/\") ||\n\t\tnormalized === \"..\" ||\n\t\tnormalized.startsWith(\"../\")\n\t) {\n\t\tthrow new Error(\n\t\t\t\"experimentalPerLocaleBuild Vite environment outputDirectory must be a project-relative directory.\"\n\t\t);\n\t}\n\treturn normalized;\n}\n\nfunction validateViteLocaleBuildSettings(\n\tsettings: PerLocaleBuildSettings\n): void {\n\tif (!settings.baseLocale || !settings.locales.includes(settings.baseLocale)) {\n\t\tthrow new Error(\n\t\t\t\"experimentalPerLocaleBuild Vite environments require baseLocale to be present in locales.\"\n\t\t);\n\t}\n\tif (\n\t\tsettings.locales.length === 0 ||\n\t\tnew Set(settings.locales).size !== settings.locales.length\n\t) {\n\t\tthrow new Error(\n\t\t\t\"experimentalPerLocaleBuild Vite environments require at least one unique locale.\"\n\t\t);\n\t}\n}\n"]}
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=vite-environments.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vite-environments.test.js","sourceRoot":"","sources":["../../../src/bundler-plugins/per-locale-build/vite-environments.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vite-environments.test.js","sourceRoot":"","sources":["../../../src/bundler-plugins/per-locale-build/vite-environments.test.ts"],"names":[],"mappings":"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","sourcesContent":["import nodeFs from \"node:fs/promises\";\nimport nodeOs from \"node:os\";\nimport nodePath from \"node:path\";\nimport {\n\tinsertBundleNested,\n\tloadProjectInMemory,\n\tnewProject,\n\ttype BundleNested,\n} from \"@inlang/sdk\";\nimport { createBuilder } from \"vite\";\nimport { expect, test } from \"vitest\";\nimport { compileProject } from \"../../compiler/compile-project.js\";\nimport { perLocaleBuildStaticLocaleExpression } from \"../../compiler/per-locale-build.js\";\nimport {\n\tcreateViteLocaleBuildPlan,\n\tcreateViteLocaleEnvironmentPlugin,\n\ttype ViteLocaleBuildManifest,\n\tVITE_LOCALE_BUILD_MANIFEST,\n} from \"./vite-environments.js\";\n\ntest(\"creates deterministic locale environment names and output directories\", () => {\n\texpect(\n\t\tcreateViteLocaleBuildPlan({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"zh-Hant\"],\n\t\t\t},\n\t\t\toutputDirectory: \"build\",\n\t\t})\n\t).toEqual({\n\t\toutputDirectory: \"build\",\n\t\tvariants: [\n\t\t\t{\n\t\t\t\tlocale: \"en\",\n\t\t\t\tenvironmentName: \"paraglide_client_en_656e\",\n\t\t\t\tdirectory: \"__paraglide/en-656e\",\n\t\t\t\toutputDirectory: \"build/__paraglide/en-656e\",\n\t\t\t\tdefine: {\n\t\t\t\t\t\"globalThis.__PARAGLIDE_STATIC_LOCALE__\": '\"en\"',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tlocale: \"zh-Hant\",\n\t\t\t\tenvironmentName: \"paraglide_client_zh_Hant_7a682d48616e74\",\n\t\t\t\tdirectory: \"__paraglide/zh-Hant-7a682d48616e74\",\n\t\t\t\toutputDirectory: \"build/__paraglide/zh-Hant-7a682d48616e74\",\n\t\t\t\tdefine: {\n\t\t\t\t\t\"globalThis.__PARAGLIDE_STATIC_LOCALE__\": '\"zh-Hant\"',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t});\n\texpect(() =>\n\t\tcreateViteLocaleBuildPlan({\n\t\t\tsettings: { baseLocale: \"en\", locales: [\"en\"] },\n\t\t\toutputDirectory: \"../outside\",\n\t\t})\n\t).toThrow(\"must be a project-relative directory\");\n});\n\ntest(\"builds closed, source-mapped Rolldown graphs without post-processing\", async () => {\n\tconst temporaryRoot = await nodeFs.mkdtemp(\n\t\tnodePath.join(nodeOs.tmpdir(), \"paraglide-vite-environments-\")\n\t);\n\tconst root = await nodeFs.realpath(temporaryRoot);\n\ttry {\n\t\tawait nodeFs.mkdir(nodePath.join(root, \"src/messages\"), {\n\t\t\trecursive: true,\n\t\t});\n\t\tawait Promise.all([\n\t\t\tnodeFs.writeFile(\n\t\t\t\tnodePath.join(root, \"index.html\"),\n\t\t\t\t'<main id=\"app\"></main><script type=\"module\" src=\"./src/main.js\"></script>\\n'\n\t\t\t),\n\t\t\tnodeFs.writeFile(\n\t\t\t\tnodePath.join(root, \"src/main.js\"),\n\t\t\t\t[\n\t\t\t\t\t'import \"./style.css\";',\n\t\t\t\t\t'import \"external-dependency\";',\n\t\t\t\t\t'import { message, loadLazy } from \"./messages/_index.js\";',\n\t\t\t\t\t'document.querySelector(\"#app\").textContent = message;',\n\t\t\t\t\t\"loadLazy().then((module) => module.mount());\",\n\t\t\t\t\t\"\",\n\t\t\t\t].join(\"\\n\")\n\t\t\t),\n\t\t\tnodeFs.writeFile(\n\t\t\t\tnodePath.join(root, \"src/messages/_index.js\"),\n\t\t\t\t[\n\t\t\t\t\t\" const locale = globalThis.__PARAGLIDE_STATIC_LOCALE__;\",\n\t\t\t\t\t'import * as en from \"./en.js\";',\n\t\t\t\t\t'import * as de from \"./de.js\";',\n\t\t\t\t\t\"export const message = locale === 'en' ? en.message : de.message;\",\n\t\t\t\t\t\"export const loadLazy = locale === 'en'\",\n\t\t\t\t\t' ? () => import(\"./en-lazy.js\")',\n\t\t\t\t\t' : () => import(\"./de-lazy.js\");',\n\t\t\t\t\t\"\",\n\t\t\t\t].join(\"\\n\")\n\t\t\t),\n\t\t\tnodeFs.writeFile(\n\t\t\t\tnodePath.join(root, \"src/messages/en.js\"),\n\t\t\t\t'export const message = \"EN_ONLY_MESSAGE\";\\n'\n\t\t\t),\n\t\t\tnodeFs.writeFile(\n\t\t\t\tnodePath.join(root, \"src/messages/de.js\"),\n\t\t\t\t'export const message = \"DE_ONLY_MESSAGE\";\\n'\n\t\t\t),\n\t\t\tnodeFs.writeFile(\n\t\t\t\tnodePath.join(root, \"src/messages/en-lazy.js\"),\n\t\t\t\t'export function mount() { document.body.dataset.lazy = \"EN_ONLY_LAZY\"; }\\n'\n\t\t\t),\n\t\t\tnodeFs.writeFile(\n\t\t\t\tnodePath.join(root, \"src/messages/de-lazy.js\"),\n\t\t\t\t'export function mount() { document.body.dataset.lazy = \"DE_ONLY_LAZY\"; }\\n'\n\t\t\t),\n\t\t\tnodeFs.writeFile(\n\t\t\t\tnodePath.join(root, \"src/style.css\"),\n\t\t\t\t\"#app { color: rebeccapurple; }\\n\"\n\t\t\t),\n\t\t]);\n\t\tawait nodeFs.mkdir(\n\t\t\tnodePath.join(root, \"build/__paraglide/removed-locale\"),\n\t\t\t{ recursive: true }\n\t\t);\n\t\tawait Promise.all([\n\t\t\tnodeFs.writeFile(\n\t\t\t\tnodePath.join(root, \"build/__paraglide/removed-locale/stale.js\"),\n\t\t\t\t\"stale\"\n\t\t\t),\n\t\t\tnodeFs.writeFile(\n\t\t\t\tnodePath.join(root, \"build\", VITE_LOCALE_BUILD_MANIFEST),\n\t\t\t\t'{\"stale\":true}\\n'\n\t\t\t),\n\t\t]);\n\n\t\tlet renderBuiltUrlCalls = 0;\n\t\tconst builder = await createBuilder({\n\t\t\tconfigFile: false,\n\t\t\troot,\n\t\t\tbase: \"./\",\n\t\t\tlogLevel: \"silent\",\n\t\t\texperimental: {\n\t\t\t\trenderBuiltUrl() {\n\t\t\t\t\trenderBuiltUrlCalls += 1;\n\t\t\t\t\treturn { relative: true };\n\t\t\t\t},\n\t\t\t},\n\t\t\tbuild: {\n\t\t\t\toutDir: \"build\",\n\t\t\t\tminify: false,\n\t\t\t\tsourcemap: true,\n\t\t\t\trolldownOptions: {\n\t\t\t\t\texternal: [\"external-dependency\"],\n\t\t\t\t\toutput: {\n\t\t\t\t\t\tentryFileNames: \"custom/[name]-[hash].js\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tplugins: [\n\t\t\t\tcreateViteLocaleEnvironmentPlugin({\n\t\t\t\t\tsettings: async () => ({\n\t\t\t\t\t\tbaseLocale: \"en\",\n\t\t\t\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t\t\t}),\n\t\t\t\t}),\n\t\t\t],\n\t\t});\n\t\tawait builder.buildApp();\n\n\t\tconst outputRoot = nodePath.join(root, \"build\");\n\t\tconst manifest = JSON.parse(\n\t\t\tawait nodeFs.readFile(\n\t\t\t\tnodePath.join(outputRoot, VITE_LOCALE_BUILD_MANIFEST),\n\t\t\t\t\"utf8\"\n\t\t\t)\n\t\t) as ViteLocaleBuildManifest;\n\t\texpect(manifest.backend).toBe(\"vite-rolldown-environments\");\n\t\texpect(Object.keys(manifest.locales)).toEqual([\"en\", \"de\"]);\n\t\texpect(renderBuiltUrlCalls).toBeGreaterThan(0);\n\t\tawait expect(\n\t\t\tnodeFs.access(\n\t\t\t\tnodePath.join(outputRoot, \"__paraglide/removed-locale/stale.js\")\n\t\t\t)\n\t\t).rejects.toThrow();\n\n\t\tfor (const locale of [\"en\", \"de\"] as const) {\n\t\t\tconst localeManifest = manifest.locales[locale]!;\n\t\t\texpect(localeManifest.directory).toMatch(\n\t\t\t\tnew RegExp(`^__paraglide/${locale}-`)\n\t\t\t);\n\t\t\texpect(localeManifest.files.some((file) => file.entry)).toBe(true);\n\t\t\texpect(\n\t\t\t\tlocaleManifest.files.some(\n\t\t\t\t\t(file) => file.entry && file.fileName.startsWith(\"custom/\")\n\t\t\t\t)\n\t\t\t).toBe(true);\n\t\t\texpect(\n\t\t\t\tlocaleManifest.files.some((file) =>\n\t\t\t\t\tfile.externalImports?.includes(\"external-dependency\")\n\t\t\t\t)\n\t\t\t).toBe(true);\n\t\t\texpect(\n\t\t\t\tlocaleManifest.files.some((file) => file.fileName.endsWith(\".map\"))\n\t\t\t).toBe(true);\n\n\t\t\tconst names = new Set(localeManifest.files.map((file) => file.fileName));\n\t\t\tfor (const file of localeManifest.files) {\n\t\t\t\tfor (const imported of [\n\t\t\t\t\t...(file.imports ?? []),\n\t\t\t\t\t...(file.dynamicImports ?? []),\n\t\t\t\t]) {\n\t\t\t\t\texpect(names.has(imported)).toBe(true);\n\t\t\t\t}\n\t\t\t\tconst bytes = (\n\t\t\t\t\tawait nodeFs.readFile(\n\t\t\t\t\t\tnodePath.join(outputRoot, localeManifest.directory, file.fileName)\n\t\t\t\t\t)\n\t\t\t\t).byteLength;\n\t\t\t\texpect(bytes).toBe(file.bytes);\n\t\t\t}\n\t\t}\n\n\t\tconst enJavaScript = await readJavaScriptGraph(\n\t\t\toutputRoot,\n\t\t\tmanifest.locales.en!\n\t\t);\n\t\tconst deJavaScript = await readJavaScriptGraph(\n\t\t\toutputRoot,\n\t\t\tmanifest.locales.de!\n\t\t);\n\t\texpect(enJavaScript).toContain(\"EN_ONLY_MESSAGE\");\n\t\texpect(enJavaScript).toContain(\"EN_ONLY_LAZY\");\n\t\texpect(enJavaScript).not.toContain(\"DE_ONLY_MESSAGE\");\n\t\texpect(enJavaScript).not.toContain(\"DE_ONLY_LAZY\");\n\t\texpect(deJavaScript).toContain(\"DE_ONLY_MESSAGE\");\n\t\texpect(deJavaScript).toContain(\"DE_ONLY_LAZY\");\n\t\texpect(deJavaScript).not.toContain(\"EN_ONLY_MESSAGE\");\n\t\texpect(deJavaScript).not.toContain(\"EN_ONLY_LAZY\");\n\n\t\tconst enSourceMaps = await readSourceMaps(outputRoot, manifest.locales.en!);\n\t\tconst deSourceMaps = await readSourceMaps(outputRoot, manifest.locales.de!);\n\t\texpect(enSourceMaps).not.toContain(\"DE_ONLY_MESSAGE\");\n\t\texpect(enSourceMaps).not.toContain(\"DE_ONLY_LAZY\");\n\t\texpect(deSourceMaps).not.toContain(\"EN_ONLY_MESSAGE\");\n\t\texpect(deSourceMaps).not.toContain(\"EN_ONLY_LAZY\");\n\t} finally {\n\t\tawait nodeFs.rm(temporaryRoot, { recursive: true, force: true });\n\t}\n});\n\ntest(\"keeps compiled Paraglide translations out of other locale source maps\", async () => {\n\tconst temporaryRoot = await nodeFs.mkdtemp(\n\t\tnodePath.join(nodeOs.tmpdir(), \"paraglide-vite-compiled-\")\n\t);\n\tconst root = await nodeFs.realpath(temporaryRoot);\n\tconst project = await loadProjectInMemory({\n\t\tblob: await newProject({\n\t\t\tsettings: { baseLocale: \"en\", locales: [\"en\", \"de\"] },\n\t\t}),\n\t});\n\ttry {\n\t\tawait insertBundleNested(project.db, {\n\t\t\tid: \"greeting\",\n\t\t\tdeclarations: [],\n\t\t\tmessages: [\n\t\t\t\tcreateMessage(\"en\", \"EN_COMPILED_TRANSLATION\"),\n\t\t\t\tcreateMessage(\"de\", \"DE_COMPILED_TRANSLATION\"),\n\t\t\t],\n\t\t} satisfies BundleNested);\n\t\tconst generated = await compileProject({\n\t\t\tproject,\n\t\t\tcompilerOptions: {\n\t\t\t\toutputStructure: \"locale-modules\",\n\t\t\t\texperimentalStaticLocale: perLocaleBuildStaticLocaleExpression,\n\t\t\t\temitGitIgnore: false,\n\t\t\t\temitPrettierIgnore: false,\n\t\t\t\temitReadme: false,\n\t\t\t},\n\t\t});\n\t\tconst generatedRoot = nodePath.join(root, \"src/paraglide\");\n\t\tfor (const [fileName, source] of Object.entries(generated)) {\n\t\t\tconst path = nodePath.join(generatedRoot, fileName);\n\t\t\tawait nodeFs.mkdir(nodePath.dirname(path), { recursive: true });\n\t\t\tawait nodeFs.writeFile(path, source);\n\t\t}\n\t\tawait Promise.all([\n\t\t\tnodeFs.writeFile(\n\t\t\t\tnodePath.join(root, \"index.html\"),\n\t\t\t\t'<script type=\"module\" src=\"./src/main.js\"></script>\\n'\n\t\t\t),\n\t\t\tnodeFs.writeFile(\n\t\t\t\tnodePath.join(root, \"src/main.js\"),\n\t\t\t\t'import { greeting } from \"./paraglide/messages.js\";\\ndocument.body.textContent = greeting();\\n'\n\t\t\t),\n\t\t]);\n\n\t\tconst builder = await createBuilder({\n\t\t\tconfigFile: false,\n\t\t\troot,\n\t\t\tbase: \"./\",\n\t\t\tlogLevel: \"silent\",\n\t\t\tbuild: { minify: false, sourcemap: true },\n\t\t\tplugins: [\n\t\t\t\tcreateViteLocaleEnvironmentPlugin({\n\t\t\t\t\tsettings: async () => ({\n\t\t\t\t\t\tbaseLocale: \"en\",\n\t\t\t\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t\t\t}),\n\t\t\t\t}),\n\t\t\t],\n\t\t});\n\t\tawait builder.buildApp();\n\n\t\tconst outputRoot = nodePath.join(root, \"dist\");\n\t\tconst manifest = JSON.parse(\n\t\t\tawait nodeFs.readFile(\n\t\t\t\tnodePath.join(outputRoot, VITE_LOCALE_BUILD_MANIFEST),\n\t\t\t\t\"utf8\"\n\t\t\t)\n\t\t) as ViteLocaleBuildManifest;\n\t\tconst enGraph = await readGraphText(outputRoot, manifest.locales.en!);\n\t\tconst deGraph = await readGraphText(outputRoot, manifest.locales.de!);\n\t\texpect(enGraph).toContain(\"EN_COMPILED_TRANSLATION\");\n\t\texpect(enGraph).not.toContain(\"DE_COMPILED_TRANSLATION\");\n\t\texpect(deGraph).toContain(\"DE_COMPILED_TRANSLATION\");\n\t\texpect(deGraph).not.toContain(\"EN_COMPILED_TRANSLATION\");\n\t} finally {\n\t\tawait project.close();\n\t\tawait nodeFs.rm(temporaryRoot, { recursive: true, force: true });\n\t}\n});\n\nfunction createMessage(locale: \"en\" | \"de\", value: string) {\n\treturn {\n\t\tid: `greeting-${locale}`,\n\t\tbundleId: \"greeting\",\n\t\tlocale,\n\t\tselectors: [],\n\t\tvariants: [\n\t\t\t{\n\t\t\t\tid: `greeting-${locale}-variant`,\n\t\t\t\tmessageId: `greeting-${locale}`,\n\t\t\t\tmatches: [],\n\t\t\t\tpattern: [{ type: \"text\" as const, value }],\n\t\t\t},\n\t\t],\n\t};\n}\n\nasync function readJavaScriptGraph(\n\toutputRoot: string,\n\tlocale: ViteLocaleBuildManifest[\"locales\"][string]\n): Promise<string> {\n\tconst chunks = locale.files.filter(\n\t\t(file) => file.type === \"chunk\" && file.fileName.endsWith(\".js\")\n\t);\n\treturn (\n\t\tawait Promise.all(\n\t\t\tchunks.map((chunk) =>\n\t\t\t\tnodeFs.readFile(\n\t\t\t\t\tnodePath.join(outputRoot, locale.directory, chunk.fileName),\n\t\t\t\t\t\"utf8\"\n\t\t\t\t)\n\t\t\t)\n\t\t)\n\t).join(\"\\n\");\n}\n\nasync function readSourceMaps(\n\toutputRoot: string,\n\tlocale: ViteLocaleBuildManifest[\"locales\"][string]\n): Promise<string> {\n\treturn (\n\t\tawait Promise.all(\n\t\t\tlocale.files\n\t\t\t\t.filter((file) => file.fileName.endsWith(\".map\"))\n\t\t\t\t.map((file) =>\n\t\t\t\t\tnodeFs.readFile(\n\t\t\t\t\t\tnodePath.join(outputRoot, locale.directory, file.fileName),\n\t\t\t\t\t\t\"utf8\"\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t)\n\t).join(\"\\n\");\n}\n\nasync function readGraphText(\n\toutputRoot: string,\n\tlocale: ViteLocaleBuildManifest[\"locales\"][string]\n): Promise<string> {\n\treturn (\n\t\tawait Promise.all(\n\t\t\tlocale.files\n\t\t\t\t.filter(\n\t\t\t\t\t(file) =>\n\t\t\t\t\t\t(file.type === \"chunk\" && file.fileName.endsWith(\".js\")) ||\n\t\t\t\t\t\tfile.fileName.endsWith(\".map\")\n\t\t\t\t)\n\t\t\t\t.map((file) =>\n\t\t\t\t\tnodeFs.readFile(\n\t\t\t\t\t\tnodePath.join(outputRoot, locale.directory, file.fileName),\n\t\t\t\t\t\t\"utf8\"\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t)\n\t).join(\"\\n\");\n}\n"]}
@@ -1,2 +1 @@
1
1
  export declare const paraglideRolldownPlugin: (options: import("../index.js").CompilerOptions) => import("unplugin").RolldownPlugin<any>[] | import("unplugin").RolldownPlugin<any>;
2
- //# sourceMappingURL=rolldown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rolldown.js","sourceRoot":"","sources":["../../src/bundler-plugins/rolldown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,CAAC,MAAM,uBAAuB,GAAG,oBAAoB,CAAC,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"rolldown.js","sourceRoot":"","sources":["../../src/bundler-plugins/rolldown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,CAAC,MAAM,uBAAuB,GAAG,oBAAoB,CAAC,eAAe,CAAC,CAAC","sourcesContent":["import { createRolldownPlugin } from \"unplugin\";\nimport { unpluginFactory } from \"./unplugin.js\";\n\nexport const paraglideRolldownPlugin = createRolldownPlugin(unpluginFactory);\n"]}
@@ -1,2 +1 @@
1
1
  export declare const paraglideRollupPlugin: (options: import("../index.js").CompilerOptions) => import("unplugin").RollupPlugin<any>[] | import("unplugin").RollupPlugin<any>;
2
- //# sourceMappingURL=rollup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rollup.js","sourceRoot":"","sources":["../../src/bundler-plugins/rollup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"rollup.js","sourceRoot":"","sources":["../../src/bundler-plugins/rollup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC","sourcesContent":["import { createRollupPlugin } from \"unplugin\";\nimport { unpluginFactory } from \"./unplugin.js\";\n\nexport const paraglideRollupPlugin = createRollupPlugin(unpluginFactory);\n"]}
@@ -1,2 +1 @@
1
1
  export declare const paraglideRspackPlugin: (options: import("../index.js").CompilerOptions) => RspackPluginInstance;
2
- //# sourceMappingURL=rspack.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rspack.js","sourceRoot":"","sources":["../../src/bundler-plugins/rspack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"rspack.js","sourceRoot":"","sources":["../../src/bundler-plugins/rspack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC","sourcesContent":["import { createRspackPlugin } from \"unplugin\";\nimport { unpluginFactory } from \"./unplugin.js\";\n\nexport const paraglideRspackPlugin = createRspackPlugin(unpluginFactory);\n"]}
@@ -1,4 +1,3 @@
1
1
  import type { UnpluginFactory } from "unplugin";
2
2
  import type { CompilerOptions } from "../compiler/compiler-options.js";
3
3
  export declare const unpluginFactory: UnpluginFactory<CompilerOptions>;
4
- //# sourceMappingURL=unplugin.d.ts.map
@@ -1,13 +1,21 @@
1
1
  import { compile } from "../compiler/compile.js";
2
- import { relative } from "node:path";
2
+ import { dirname, relative, resolve } from "node:path";
3
3
  import { createHash } from "node:crypto";
4
4
  import nodeFs from "node:fs";
5
5
  import { Logger } from "../services/logger/index.js";
6
+ import { ENV_VARIABLES } from "../services/env-variables/index.js";
6
7
  import { createTrackedFs, getWatchTargets, isPathWithinDirectories, } from "../services/file-watching/tracked-fs.js";
7
8
  import { nodeNormalizePath } from "../utilities/node-normalize-path.js";
8
9
  import { seedPreviousCompilationFromOutdir } from "../compiler/seed-previous-compilation.js";
9
10
  const PLUGIN_NAME = "unplugin-paraglide-js";
10
11
  const logger = new Logger();
12
+ const PERSISTENT_CACHE_VERSION = 1;
13
+ function isStringRecord(value) {
14
+ return (typeof value === "object" &&
15
+ value !== null &&
16
+ !Array.isArray(value) &&
17
+ Object.values(value).every((entry) => typeof entry === "string"));
18
+ }
11
19
  /**
12
20
  * Default isServer which differs per bundler.
13
21
  */
@@ -36,6 +44,16 @@ function withoutCleanOutdir(args) {
36
44
  void cleanOutdir;
37
45
  return compileArgs;
38
46
  }
47
+ function getCompilerConfig(args, outputStructure) {
48
+ const { fs: _fs, ...serializableArgs } = args;
49
+ void _fs;
50
+ return {
51
+ ...serializableArgs,
52
+ outputStructure,
53
+ isServer,
54
+ compilerVersion: ENV_VARIABLES.PARJS_PACKAGE_VERSION,
55
+ };
56
+ }
39
57
  /**
40
58
  * Hashes the files (and directory listings) the last compilation read,
41
59
  * together with the options that affect the output. Returns `undefined`
@@ -63,9 +81,7 @@ async function computeInputsDigest(state, args, outputStructure) {
63
81
  const fsp = (args.fs ?? nodeFs).promises;
64
82
  const hash = createHash("sha256");
65
83
  try {
66
- const { fs: _fs, ...serializableArgs } = args;
67
- void _fs;
68
- hash.update(JSON.stringify({ ...serializableArgs, outputStructure, isServer }));
84
+ hash.update(JSON.stringify(getCompilerConfig(args, outputStructure)));
69
85
  for (const directoryPath of [...targets.directories].sort()) {
70
86
  const entries = await fsp
71
87
  .readdir(directoryPath)
@@ -100,6 +116,106 @@ async function computeInputsDigest(state, args, outputStructure) {
100
116
  }
101
117
  return hash.digest("hex");
102
118
  }
119
+ function getPersistentCachePath(args, outputStructure) {
120
+ const absoluteOutdir = resolve(process.cwd(), args.outdir);
121
+ const cacheKey = createHash("sha256")
122
+ .update(JSON.stringify({
123
+ absoluteOutdir,
124
+ compilerConfig: getCompilerConfig(args, outputStructure),
125
+ }))
126
+ .digest("hex")
127
+ .slice(0, 16);
128
+ return resolve(process.cwd(), args.project, "cache", "paraglide-js", `${cacheKey}.json`);
129
+ }
130
+ async function readPersistentCache(args, outputStructure) {
131
+ const fsp = (args.fs ?? nodeFs).promises;
132
+ try {
133
+ const parsed = JSON.parse(await fsp.readFile(getPersistentCachePath(args, outputStructure), "utf8"));
134
+ if (parsed.version !== PERSISTENT_CACHE_VERSION ||
135
+ parsed.compilerVersion !== ENV_VARIABLES.PARJS_PACKAGE_VERSION ||
136
+ typeof parsed.inputsDigest !== "string" ||
137
+ !Array.isArray(parsed.readFiles) ||
138
+ parsed.readFiles.some((file) => typeof file !== "string") ||
139
+ !isStringRecord(parsed.outputHashes)) {
140
+ return undefined;
141
+ }
142
+ return parsed;
143
+ }
144
+ catch {
145
+ return undefined;
146
+ }
147
+ }
148
+ async function preparePersistentCacheDirectory(args, outputStructure) {
149
+ try {
150
+ await (args.fs ?? nodeFs).promises.mkdir(dirname(getPersistentCachePath(args, outputStructure)), { recursive: true });
151
+ }
152
+ catch {
153
+ // The cache is an optimization. Read-only projects must still compile.
154
+ }
155
+ }
156
+ async function writePersistentCache(state, args, outputStructure) {
157
+ if (state.previousInputsDigest === undefined ||
158
+ state.previousCompilation?.outputHashes === undefined) {
159
+ return;
160
+ }
161
+ const cachePath = getPersistentCachePath(args, outputStructure);
162
+ const cache = {
163
+ version: PERSISTENT_CACHE_VERSION,
164
+ compilerVersion: ENV_VARIABLES.PARJS_PACKAGE_VERSION,
165
+ inputsDigest: state.previousInputsDigest,
166
+ readFiles: [...state.readFiles].sort(),
167
+ outputHashes: state.previousCompilation.outputHashes,
168
+ };
169
+ const fsp = (args.fs ?? nodeFs).promises;
170
+ try {
171
+ await fsp.mkdir(dirname(cachePath), { recursive: true });
172
+ await fsp.writeFile(cachePath, JSON.stringify(cache));
173
+ }
174
+ catch {
175
+ // The cache is an optimization. Read-only projects must still compile.
176
+ }
177
+ }
178
+ function outputHashesMatch(left, right) {
179
+ if (left === undefined)
180
+ return false;
181
+ const leftEntries = Object.entries(left);
182
+ const rightEntries = Object.entries(right);
183
+ if (leftEntries.length !== rightEntries.length)
184
+ return false;
185
+ return leftEntries.every(([file, hash]) => right[file] === hash);
186
+ }
187
+ async function restorePersistentCache(args) {
188
+ const cached = await readPersistentCache(args.compilerOptions, args.outputStructure);
189
+ if (cached === undefined)
190
+ return false;
191
+ const cachedReadFiles = new Set();
192
+ for (const file of cached.readFiles) {
193
+ cachedReadFiles.add(file);
194
+ }
195
+ const validationState = {
196
+ ...args.state,
197
+ readFiles: cachedReadFiles,
198
+ clearReadFiles: () => cachedReadFiles.clear(),
199
+ };
200
+ const [inputsDigest, previousCompilation] = await Promise.all([
201
+ computeInputsDigest(validationState, args.compilerOptions, args.outputStructure),
202
+ seedPreviousCompilationFromOutdir({
203
+ outdir: args.compilerOptions.outdir,
204
+ fs: args.compilerOptions.fs?.promises,
205
+ }),
206
+ ]);
207
+ if (inputsDigest !== cached.inputsDigest ||
208
+ !outputHashesMatch(previousCompilation?.outputHashes, cached.outputHashes)) {
209
+ return false;
210
+ }
211
+ args.state.clearReadFiles();
212
+ for (const file of cachedReadFiles) {
213
+ args.state.readFiles.add(file);
214
+ }
215
+ args.state.previousCompilation = previousCompilation;
216
+ args.state.previousInputsDigest = inputsDigest;
217
+ return true;
218
+ }
103
219
  function rethrowUnlessEnoent(error) {
104
220
  if (error?.code === "ENOENT") {
105
221
  return undefined;
@@ -119,6 +235,18 @@ export const unpluginFactory = (args) => {
119
235
  const outputStructure = args.outputStructure ??
120
236
  (isProduction ? "message-modules" : "locale-modules");
121
237
  try {
238
+ // Stabilize project directory listings before the first digest. The
239
+ // ignored cache directory must not invalidate the cache that creates it.
240
+ await preparePersistentCacheDirectory(args, outputStructure);
241
+ if (state.previousCompilation === undefined &&
242
+ (await restorePersistentCache({
243
+ state,
244
+ compilerOptions: args,
245
+ outputStructure,
246
+ }))) {
247
+ logger.info(`Compilation skipped — inputs unchanged (${outputStructure})`);
248
+ return;
249
+ }
122
250
  // `vite build` calls buildStart once per environment (client, ssr).
123
251
  // Skip the expensive compile when the inputs haven't changed.
124
252
  if (state.previousCompilation && state.previousInputsDigest) {
@@ -147,6 +275,7 @@ export const unpluginFactory = (args) => {
147
275
  fs: trackedFs,
148
276
  });
149
277
  state.previousInputsDigest = await computeInputsDigest(state, args, outputStructure);
278
+ await writePersistentCache(state, args, outputStructure);
150
279
  logger.success(`Compilation complete (${outputStructure})`);
151
280
  }
152
281
  catch (error) {
@@ -197,6 +326,7 @@ export const unpluginFactory = (args) => {
197
326
  fs: trackedFs,
198
327
  });
199
328
  state.previousInputsDigest = await computeInputsDigest(state, args, outputStructure);
329
+ await writePersistentCache(state, args, outputStructure);
200
330
  logger.success(`Re-compilation complete (${outputStructure})`);
201
331
  // Add any new files to watch
202
332
  const nextTargets = getWatchTargets(readFiles, { outdir: args.outdir });