@intlayer/svelte-compiler 8.2.4 → 8.3.0-canary.1

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 (56) hide show
  1. package/dist/cjs/config/dist/esm/_virtual/_rolldown/runtime.cjs +2 -0
  2. package/dist/cjs/config/dist/esm/_virtual/_rolldown/runtime.cjs.map +1 -0
  3. package/dist/cjs/config/dist/esm/defaultValues/build.cjs +2 -0
  4. package/dist/cjs/config/dist/esm/defaultValues/build.cjs.map +1 -0
  5. package/dist/cjs/config/dist/esm/defaultValues/compiler.cjs +2 -0
  6. package/dist/cjs/config/dist/esm/defaultValues/compiler.cjs.map +1 -0
  7. package/dist/cjs/config/dist/esm/defaultValues/content.cjs +2 -0
  8. package/dist/cjs/config/dist/esm/defaultValues/content.cjs.map +1 -0
  9. package/dist/cjs/config/dist/esm/defaultValues/dictionary.cjs +2 -0
  10. package/dist/cjs/config/dist/esm/defaultValues/dictionary.cjs.map +1 -0
  11. package/dist/cjs/config/dist/esm/defaultValues/editor.cjs +2 -0
  12. package/dist/cjs/config/dist/esm/defaultValues/editor.cjs.map +1 -0
  13. package/dist/cjs/config/dist/esm/defaultValues/index.cjs +2 -0
  14. package/dist/cjs/config/dist/esm/defaultValues/index.cjs.map +1 -0
  15. package/dist/cjs/config/dist/esm/defaultValues/internationalization.cjs +2 -0
  16. package/dist/cjs/config/dist/esm/defaultValues/internationalization.cjs.map +1 -0
  17. package/dist/cjs/config/dist/esm/defaultValues/log.cjs +2 -0
  18. package/dist/cjs/config/dist/esm/defaultValues/log.cjs.map +1 -0
  19. package/dist/cjs/config/dist/esm/defaultValues/routing.cjs +2 -0
  20. package/dist/cjs/config/dist/esm/defaultValues/routing.cjs.map +1 -0
  21. package/dist/cjs/config/dist/esm/defaultValues/system.cjs +2 -0
  22. package/dist/cjs/config/dist/esm/defaultValues/system.cjs.map +1 -0
  23. package/dist/cjs/config/dist/esm/logger.cjs +2 -0
  24. package/dist/cjs/config/dist/esm/logger.cjs.map +1 -0
  25. package/dist/cjs/svelte-intlayer-extract.cjs +2 -2
  26. package/dist/cjs/svelte-intlayer-extract.cjs.map +1 -1
  27. package/dist/esm/_virtual/_rolldown/runtime.mjs +1 -0
  28. package/dist/esm/config/dist/esm/_virtual/_rolldown/runtime.mjs +2 -0
  29. package/dist/esm/config/dist/esm/_virtual/_rolldown/runtime.mjs.map +1 -0
  30. package/dist/esm/config/dist/esm/defaultValues/build.mjs +2 -0
  31. package/dist/esm/config/dist/esm/defaultValues/build.mjs.map +1 -0
  32. package/dist/esm/config/dist/esm/defaultValues/compiler.mjs +2 -0
  33. package/dist/esm/config/dist/esm/defaultValues/compiler.mjs.map +1 -0
  34. package/dist/esm/config/dist/esm/defaultValues/content.mjs +2 -0
  35. package/dist/esm/config/dist/esm/defaultValues/content.mjs.map +1 -0
  36. package/dist/esm/config/dist/esm/defaultValues/dictionary.mjs +2 -0
  37. package/dist/esm/config/dist/esm/defaultValues/dictionary.mjs.map +1 -0
  38. package/dist/esm/config/dist/esm/defaultValues/editor.mjs +2 -0
  39. package/dist/esm/config/dist/esm/defaultValues/editor.mjs.map +1 -0
  40. package/dist/esm/config/dist/esm/defaultValues/index.mjs +2 -0
  41. package/dist/esm/config/dist/esm/defaultValues/index.mjs.map +1 -0
  42. package/dist/esm/config/dist/esm/defaultValues/internationalization.mjs +2 -0
  43. package/dist/esm/config/dist/esm/defaultValues/internationalization.mjs.map +1 -0
  44. package/dist/esm/config/dist/esm/defaultValues/log.mjs +2 -0
  45. package/dist/esm/config/dist/esm/defaultValues/log.mjs.map +1 -0
  46. package/dist/esm/config/dist/esm/defaultValues/routing.mjs +2 -0
  47. package/dist/esm/config/dist/esm/defaultValues/routing.mjs.map +1 -0
  48. package/dist/esm/config/dist/esm/defaultValues/system.mjs +2 -0
  49. package/dist/esm/config/dist/esm/defaultValues/system.mjs.map +1 -0
  50. package/dist/esm/config/dist/esm/logger.mjs +2 -0
  51. package/dist/esm/config/dist/esm/logger.mjs.map +1 -0
  52. package/dist/esm/svelte-intlayer-extract.mjs +2 -2
  53. package/dist/esm/svelte-intlayer-extract.mjs.map +1 -1
  54. package/dist/types/svelte-intlayer-extract.d.ts +9 -3
  55. package/dist/types/svelte-intlayer-extract.d.ts.map +1 -1
  56. package/package.json +14 -13
@@ -0,0 +1,2 @@
1
+ var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r};(e=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof require<`u`?require:e)[t]}):e)(function(e){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for "'+e+"\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.")}),exports.t=t;
2
+ //# sourceMappingURL=runtime.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.cjs","names":[],"sources":["../../../../../../../../config/dist/esm/_virtual/_rolldown/runtime.mjs"],"sourcesContent":["var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r},n=(e=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof require<`u`?require:e)[t]}):e)(function(e){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for \"'+e+\"\\\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.\")});export{t as __exportAll,n as __require};"],"mappings":"AAAA,IAAI,EAAE,OAAO,eAAe,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE,EAAE,OAAO,YAAY,CAAC,MAAM,SAAS,CAAC,CAAC,IAAM,GAAG,OAAO,QAAQ,IAAI,QAAQ,OAAO,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,OAAO,QAAQ,IAAI,QAAQ,GAAG,GAAG,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,OAAO,QAAQ,IAAI,OAAO,QAAQ,MAAM,KAAK,UAAU,CAAC,MAAM,MAAM,0BAA0B,EAAE,4JAA4J,EAAE"}
@@ -0,0 +1,2 @@
1
+ var e=require(`../_virtual/_rolldown/runtime.cjs`).t({BUILD_MODE:()=>t,CACHE:()=>!0,OPTIMIZE:()=>void 0,OUTPUT_FORMAT:()=>r,TRAVERSE_PATTERN:()=>n,TYPE_CHECKING:()=>!1});const t=`auto`,n=[`**/*.{tsx,ts,js,mjs,cjs,jsx,vue,svelte,svte}`,`!**/node_modules/**`],r=[`esm`,`cjs`];exports.t=e;
2
+ //# sourceMappingURL=build.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.cjs","names":["e"],"sources":["../../../../../../../config/dist/esm/defaultValues/build.mjs"],"sourcesContent":["import{__exportAll as e}from\"../_virtual/_rolldown/runtime.mjs\";var t=e({BUILD_MODE:()=>n,CACHE:()=>!0,OPTIMIZE:()=>void 0,OUTPUT_FORMAT:()=>a,TRAVERSE_PATTERN:()=>i,TYPE_CHECKING:()=>!1});const n=`auto`,r=void 0,i=[`**/*.{tsx,ts,js,mjs,cjs,jsx,vue,svelte,svte}`,`!**/node_modules/**`],a=[`esm`,`cjs`],o=!0,s=!1;export{n as BUILD_MODE,o as CACHE,r as OPTIMIZE,a as OUTPUT_FORMAT,i as TRAVERSE_PATTERN,s as TYPE_CHECKING,t as build_exports};\n//# sourceMappingURL=build.mjs.map"],"mappings":"AAAgE,IAAI,+CAAEA,EAAE,CAAC,eAAe,EAAE,UAAU,CAAC,EAAE,aAAa,IAAK,GAAE,kBAAkB,EAAE,qBAAqB,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,OAAgB,EAAE,CAAC,+CAA+C,sBAAsB,CAAC,EAAE,CAAC,MAAM,MAAM"}
@@ -0,0 +1,2 @@
1
+ var e=require(`../_virtual/_rolldown/runtime.cjs`).t({COMPILER_DICTIONARY_KEY_PREFIX:()=>t,COMPILER_ENABLED:()=>!0,COMPILER_NO_METADATA:()=>!1,COMPILER_OUTPUT:()=>n,COMPILER_SAVE_COMPONENTS:()=>!1});const t=`comp-`,n=e=>`/compiler/${e.key}.${e.extension.split(`.`)[1]}.json`;exports.t=e;
2
+ //# sourceMappingURL=compiler.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compiler.cjs","names":["e"],"sources":["../../../../../../../config/dist/esm/defaultValues/compiler.mjs"],"sourcesContent":["import{__exportAll as e}from\"../_virtual/_rolldown/runtime.mjs\";var t=e({COMPILER_DICTIONARY_KEY_PREFIX:()=>r,COMPILER_ENABLED:()=>!0,COMPILER_NO_METADATA:()=>!1,COMPILER_OUTPUT:()=>i,COMPILER_SAVE_COMPONENTS:()=>!1});const n=!0,r=`comp-`,i=e=>`/compiler/${e.key}.${e.extension.split(`.`)[1]}.json`,a=!1,o=!1;export{r as COMPILER_DICTIONARY_KEY_PREFIX,n as COMPILER_ENABLED,a as COMPILER_NO_METADATA,i as COMPILER_OUTPUT,o as COMPILER_SAVE_COMPONENTS,t as compiler_exports};\n//# sourceMappingURL=compiler.mjs.map"],"mappings":"AAAgE,IAAI,+CAAEA,EAAE,CAAC,mCAAmC,EAAE,qBAAqB,CAAC,EAAE,yBAAyB,CAAC,EAAE,oBAAoB,EAAE,6BAA6B,CAAC,EAAE,CAAC,CAAC,MAAW,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,IAAI,GAAG,EAAE,UAAU,MAAM,IAAI,CAAC,GAAG"}
@@ -0,0 +1,2 @@
1
+ var e=require(`../_virtual/_rolldown/runtime.cjs`).t({CODE_DIR:()=>i,CONTENT_DIR:()=>r,EXCLUDED_PATHS:()=>n,FILE_EXTENSIONS:()=>t,I18NEXT_DICTIONARIES_DIR:()=>a,REACT_INTL_MESSAGES_DIR:()=>o,WATCH:()=>!0});const t=[`.content.ts`,`.content.js`,`.content.cjs`,`.content.mjs`,`.content.json`,`.content.json5`,`.content.jsonc`,`.content.tsx`,`.content.jsx`],n=[`**/node_modules/**`,`**/dist/**`,`**/build/**`,`**/.intlayer/**`,`**/.next/**`,`**/.nuxt/**`,`**/.expo/**`,`**/.vercel/**`,`**/.turbo/**`,`**/.tanstack/**`],r=[`.`],i=[`.`],a=`i18next_resources`,o=`intl_messages`;exports.t=e;
2
+ //# sourceMappingURL=content.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content.cjs","names":["e"],"sources":["../../../../../../../config/dist/esm/defaultValues/content.mjs"],"sourcesContent":["import{__exportAll as e}from\"../_virtual/_rolldown/runtime.mjs\";var t=e({CODE_DIR:()=>a,CONTENT_DIR:()=>i,EXCLUDED_PATHS:()=>r,FILE_EXTENSIONS:()=>n,I18NEXT_DICTIONARIES_DIR:()=>o,REACT_INTL_MESSAGES_DIR:()=>s,WATCH:()=>!0});const n=[`.content.ts`,`.content.js`,`.content.cjs`,`.content.mjs`,`.content.json`,`.content.json5`,`.content.jsonc`,`.content.tsx`,`.content.jsx`],r=[`**/node_modules/**`,`**/dist/**`,`**/build/**`,`**/.intlayer/**`,`**/.next/**`,`**/.nuxt/**`,`**/.expo/**`,`**/.vercel/**`,`**/.turbo/**`,`**/.tanstack/**`],i=[`.`],a=[`.`],o=`i18next_resources`,s=`intl_messages`,c=!0;export{a as CODE_DIR,i as CONTENT_DIR,r as EXCLUDED_PATHS,n as FILE_EXTENSIONS,o as I18NEXT_DICTIONARIES_DIR,s as REACT_INTL_MESSAGES_DIR,c as WATCH,t as content_exports};\n//# sourceMappingURL=content.mjs.map"],"mappings":"AAAgE,IAAI,+CAAEA,EAAE,CAAC,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,cAAc,cAAc,eAAe,eAAe,gBAAgB,iBAAiB,iBAAiB,eAAe,eAAe,CAAC,EAAE,CAAC,qBAAqB,aAAa,cAAc,kBAAkB,cAAc,cAAc,cAAc,gBAAgB,eAAe,kBAAkB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,oBAAoB,EAAE"}
@@ -0,0 +1,2 @@
1
+ var e=require(`../_virtual/_rolldown/runtime.cjs`).t({CONTENT_AUTO_TRANSFORMATION:()=>!1,FILL:()=>!0,IMPORT_MODE:()=>n,LOCATION:()=>t});const t=`local`,n=`static`;exports.t=e;
2
+ //# sourceMappingURL=dictionary.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dictionary.cjs","names":["e"],"sources":["../../../../../../../config/dist/esm/defaultValues/dictionary.mjs"],"sourcesContent":["import{__exportAll as e}from\"../_virtual/_rolldown/runtime.mjs\";var t=e({CONTENT_AUTO_TRANSFORMATION:()=>!1,FILL:()=>!0,IMPORT_MODE:()=>a,LOCATION:()=>r});const n=!0,r=`local`,i=!1,a=`static`;export{i as CONTENT_AUTO_TRANSFORMATION,n as FILL,a as IMPORT_MODE,r as LOCATION,t as dictionary_exports};\n//# sourceMappingURL=dictionary.mjs.map"],"mappings":"AAAgE,IAAI,+CAAEA,EAAE,CAAC,gCAAgC,CAAC,EAAE,SAAS,CAAC,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC,CAAC,MAAW,EAAE,QAAa,EAAE"}
@@ -0,0 +1,2 @@
1
+ var e=require(`../_virtual/_rolldown/runtime.cjs`).t({APPLICATION_URL:()=>void 0,BACKEND_URL:()=>r,CMS_URL:()=>n,DICTIONARY_PRIORITY_STRATEGY:()=>a,EDITOR_URL:()=>t,IS_ENABLED:()=>!0,LIVE_SYNC:()=>!0,LIVE_SYNC_PORT:()=>o,PORT:()=>i});const t=`http://localhost:8000`,n=`https://app.intlayer.org`,r=`https://back.intlayer.org`,i=8e3,a=`local_first`,o=4e3;exports.t=e;
2
+ //# sourceMappingURL=editor.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor.cjs","names":["e"],"sources":["../../../../../../../config/dist/esm/defaultValues/editor.mjs"],"sourcesContent":["import{__exportAll as e}from\"../_virtual/_rolldown/runtime.mjs\";var t=e({APPLICATION_URL:()=>void 0,BACKEND_URL:()=>a,CMS_URL:()=>i,DICTIONARY_PRIORITY_STRATEGY:()=>l,EDITOR_URL:()=>r,IS_ENABLED:()=>!0,LIVE_SYNC:()=>!0,LIVE_SYNC_PORT:()=>u,PORT:()=>o});const n=void 0,r=`http://localhost:8000`,i=`https://app.intlayer.org`,a=`https://back.intlayer.org`,o=8e3,s=!0,c=!0,l=`local_first`,u=4e3;export{n as APPLICATION_URL,a as BACKEND_URL,i as CMS_URL,l as DICTIONARY_PRIORITY_STRATEGY,r as EDITOR_URL,s as IS_ENABLED,c as LIVE_SYNC,u as LIVE_SYNC_PORT,o as PORT,t as editor_exports};\n//# sourceMappingURL=editor.mjs.map"],"mappings":"AAAgE,IAAI,+CAAEA,EAAE,CAAC,oBAAoB,IAAK,GAAE,gBAAgB,EAAE,YAAY,EAAE,iCAAiC,EAAE,eAAe,EAAE,eAAe,CAAC,EAAE,cAAc,CAAC,EAAE,mBAAmB,EAAE,SAAS,EAAE,CAAC,CAAC,MAAe,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,IAAc,EAAE,cAAc,EAAE"}
@@ -0,0 +1,2 @@
1
+ const e=require(`../_virtual/_rolldown/runtime.cjs`),t=require(`./build.cjs`),n=require(`./compiler.cjs`),r=require(`./content.cjs`),i=require(`./dictionary.cjs`),a=require(`./editor.cjs`),o=require(`./internationalization.cjs`),s=require(`./log.cjs`),c=require(`./routing.cjs`),l=require(`./system.cjs`);var u=e.t({Build:()=>t.t,Compiler:()=>n.t,Content:()=>r.t,Dictionary:()=>i.t,Editor:()=>a.t,Internationalization:()=>o.n,Log:()=>s.n,Routing:()=>c.t,System:()=>l.t});exports.u=u;
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":["e","t","n","r","i","a","o","s","c","l"],"sources":["../../../../../../../config/dist/esm/defaultValues/index.mjs"],"sourcesContent":["import{__exportAll as e}from\"../_virtual/_rolldown/runtime.mjs\";import{build_exports as t}from\"./build.mjs\";import{compiler_exports as n}from\"./compiler.mjs\";import{content_exports as r}from\"./content.mjs\";import{dictionary_exports as i}from\"./dictionary.mjs\";import{editor_exports as a}from\"./editor.mjs\";import{internationalization_exports as o}from\"./internationalization.mjs\";import{log_exports as s}from\"./log.mjs\";import{routing_exports as c}from\"./routing.mjs\";import{system_exports as l}from\"./system.mjs\";var u=e({Build:()=>t,Compiler:()=>n,Content:()=>r,Dictionary:()=>i,Editor:()=>a,Internationalization:()=>o,Log:()=>s,Routing:()=>c,System:()=>l});export{t as Build,n as Compiler,r as Content,i as Dictionary,a as Editor,o as Internationalization,s as Log,c as Routing,l as System,u as defaultValues_exports};\n//# sourceMappingURL=index.mjs.map"],"mappings":"iTAAkgB,IAAI,EAAEA,EAAAA,EAAE,CAAC,UAAUC,EAAAA,EAAE,aAAaC,EAAAA,EAAE,YAAYC,EAAAA,EAAE,eAAeC,EAAAA,EAAE,WAAWC,EAAAA,EAAE,yBAAyBC,EAAAA,EAAE,QAAQC,EAAAA,EAAE,YAAYC,EAAAA,EAAE,WAAWC,EAAAA,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ const e=require(`../../../../_virtual/_rolldown/runtime.cjs`),t=require(`../_virtual/_rolldown/runtime.cjs`);let n=require(`@intlayer/types/locales`);n=e.__toESM(n);var r=t.t({DEFAULT_LOCALE:()=>o,LOCALES:()=>i,REQUIRED_LOCALES:()=>a,STRICT_MODE:()=>s});const i=[n.ENGLISH],a=[],o=n.ENGLISH,s=`inclusive`;exports.n=r;
2
+ //# sourceMappingURL=internationalization.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internationalization.cjs","names":["e","t"],"sources":["../../../../../../../config/dist/esm/defaultValues/internationalization.mjs"],"sourcesContent":["import{__exportAll as e}from\"../_virtual/_rolldown/runtime.mjs\";import*as t from\"@intlayer/types/locales\";var n=e({DEFAULT_LOCALE:()=>a,LOCALES:()=>r,REQUIRED_LOCALES:()=>i,STRICT_MODE:()=>o});const r=[t.ENGLISH],i=[],a=t.ENGLISH,o=`inclusive`;export{a as DEFAULT_LOCALE,r as LOCALES,i as REQUIRED_LOCALES,o as STRICT_MODE,n as internationalization_exports};\n//# sourceMappingURL=internationalization.mjs.map"],"mappings":"qKAA0G,IAAI,EAAEA,EAAAA,EAAE,CAAC,mBAAmB,EAAE,YAAY,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAACC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,EAAEA,EAAE,QAAQ,EAAE"}
@@ -0,0 +1,2 @@
1
+ const e=require(`../logger.cjs`);var t=require(`../_virtual/_rolldown/runtime.cjs`).t({MODE:()=>n,PREFIX:()=>r});const n=`default`,r=`${e.i.GREY_DARK}[intlayer] ${e.i.RESET}`;exports.n=t;
2
+ //# sourceMappingURL=log.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.cjs","names":["e","t"],"sources":["../../../../../../../config/dist/esm/defaultValues/log.mjs"],"sourcesContent":["import{__exportAll as e}from\"../_virtual/_rolldown/runtime.mjs\";import{ANSIColors as t}from\"../logger.mjs\";var n=e({MODE:()=>r,PREFIX:()=>i});const r=`default`,i=`${t.GREY_DARK}[intlayer] ${t.RESET}`;export{r as MODE,i as PREFIX,n as log_exports};\n//# sourceMappingURL=log.mjs.map"],"mappings":"iCAA2G,IAAI,+CAAEA,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,GAAGC,EAAAA,EAAE,UAAU,aAAaA,EAAAA,EAAE"}
@@ -0,0 +1,2 @@
1
+ var e=require(`../_virtual/_rolldown/runtime.cjs`).t({BASE_PATH:()=>``,COOKIE_NAME:()=>n,HEADER_NAME:()=>t,LOCALE_STORAGE_NAME:()=>r,ROUTING_MODE:()=>a,SERVER_SET_COOKIE:()=>i,STORAGE:()=>o});const t=`x-intlayer-locale`,n=`INTLAYER_LOCALE`,r=`INTLAYER_LOCALE`,i=`always`,a=`prefix-no-default`,o=[`cookie`,`header`];exports.t=e;
2
+ //# sourceMappingURL=routing.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing.cjs","names":["e"],"sources":["../../../../../../../config/dist/esm/defaultValues/routing.mjs"],"sourcesContent":["import{__exportAll as e}from\"../_virtual/_rolldown/runtime.mjs\";var t=e({BASE_PATH:()=>``,COOKIE_NAME:()=>r,HEADER_NAME:()=>n,LOCALE_STORAGE_NAME:()=>i,ROUTING_MODE:()=>s,SERVER_SET_COOKIE:()=>o,STORAGE:()=>c});const n=`x-intlayer-locale`,r=`INTLAYER_LOCALE`,i=`INTLAYER_LOCALE`,a=``,o=`always`,s=`prefix-no-default`,c=[`cookie`,`header`];export{a as BASE_PATH,r as COOKIE_NAME,n as HEADER_NAME,i as LOCALE_STORAGE_NAME,s as ROUTING_MODE,o as SERVER_SET_COOKIE,c as STORAGE,t as routing_exports};\n//# sourceMappingURL=routing.mjs.map"],"mappings":"AAAgE,IAAI,+CAAEA,EAAE,CAAC,cAAc,GAAG,gBAAgB,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,kBAAuB,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC,SAAS,SAAS"}
@@ -0,0 +1,2 @@
1
+ var e=require(`../_virtual/_rolldown/runtime.cjs`).t({CACHE_DIR:()=>d,CONFIG_DIR:()=>u,DICTIONARIES_DIR:()=>n,DYNAMIC_DICTIONARIES_DIR:()=>o,FETCH_DICTIONARIES_DIR:()=>s,MAIN_DIR:()=>t,MASKS_DIR:()=>r,MODULE_AUGMENTATION_DIR:()=>l,REMOTE_DICTIONARIES_DIR:()=>i,TEMP_DIR:()=>f,TYPES_DIR:()=>c,UNMERGED_DICTIONARIES_DIR:()=>a});const t=`.intlayer/main`,n=`.intlayer/dictionary`,r=`.intlayer/mask`,i=`.intlayer/remote_dictionary`,a=`.intlayer/unmerged_dictionary`,o=`.intlayer/dynamic_dictionary`,s=`.intlayer/fetch_dictionary`,c=`.intlayer/types`,l=`.intlayer/types`,u=`.intlayer/config`,d=`.intlayer/cache`,f=`.intlayer/tmp`;exports.t=e;
2
+ //# sourceMappingURL=system.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.cjs","names":["e"],"sources":["../../../../../../../config/dist/esm/defaultValues/system.mjs"],"sourcesContent":["import{__exportAll as e}from\"../_virtual/_rolldown/runtime.mjs\";var t=e({CACHE_DIR:()=>f,CONFIG_DIR:()=>d,DICTIONARIES_DIR:()=>r,DYNAMIC_DICTIONARIES_DIR:()=>s,FETCH_DICTIONARIES_DIR:()=>c,MAIN_DIR:()=>n,MASKS_DIR:()=>i,MODULE_AUGMENTATION_DIR:()=>u,REMOTE_DICTIONARIES_DIR:()=>a,TEMP_DIR:()=>p,TYPES_DIR:()=>l,UNMERGED_DICTIONARIES_DIR:()=>o});const n=`.intlayer/main`,r=`.intlayer/dictionary`,i=`.intlayer/mask`,a=`.intlayer/remote_dictionary`,o=`.intlayer/unmerged_dictionary`,s=`.intlayer/dynamic_dictionary`,c=`.intlayer/fetch_dictionary`,l=`.intlayer/types`,u=`.intlayer/types`,d=`.intlayer/config`,f=`.intlayer/cache`,p=`.intlayer/tmp`;export{f as CACHE_DIR,d as CONFIG_DIR,r as DICTIONARIES_DIR,s as DYNAMIC_DICTIONARIES_DIR,c as FETCH_DICTIONARIES_DIR,n as MAIN_DIR,i as MASKS_DIR,u as MODULE_AUGMENTATION_DIR,a as REMOTE_DICTIONARIES_DIR,p as TEMP_DIR,l as TYPES_DIR,o as UNMERGED_DICTIONARIES_DIR,t as system_exports};\n//# sourceMappingURL=system.mjs.map"],"mappings":"AAAgE,IAAI,+CAAEA,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,aAAa,EAAE,cAAc,EAAE,4BAA4B,EAAE,4BAA4B,EAAE,aAAa,EAAE,cAAc,EAAE,8BAA8B,EAAE,CAAC,CAAC,MAAM,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,gCAAgC,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE"}
@@ -0,0 +1,2 @@
1
+ let e=function(e){return e.RESET=`\x1B[0m`,e.GREY=`\x1B[90m`,e.GREY_DARK=`\x1B[38;5;239m`,e.GREY_LIGHT=`\x1B[38;5;252m`,e.BLUE=`\x1B[34m`,e.RED=`\x1B[31m`,e.GREEN=`\x1B[32m`,e.YELLOW=`\x1B[38;5;226m`,e.MAGENTA=`\x1B[35m`,e.BEIGE=`\x1B[38;5;3m`,e.ORANGE=`\x1B[38;5;208m`,e.CYAN=`\x1B[36m`,e.WHITE=`\x1B[37m`,e.BOLD=`\x1B[1m`,e}({});const t=(t,n,r)=>n?`${n}${t}${r?typeof r==`boolean`?e.RESET:r:e.RESET}`:t;t(`✗`,e.RED),t(`✓`,e.GREEN),t(`⏲`,e.BLUE),exports.i=e;
2
+ //# sourceMappingURL=logger.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.cjs","names":[],"sources":["../../../../../../config/dist/esm/logger.mjs"],"sourcesContent":["let e;const t=t=>{e=t},n=t=>e===void 0?t:e,r=(e,t)=>{let r=t?.isVerbose??!1,i=t?.config?.mode??`default`,a=t?.level??`info`,o=n(t?.config?.prefix),s=t?.config?.log??console.log,c=t?.config?.info??console.info,l=t?.config?.warn??console.warn,u=t?.config?.error??console.error,d=t?.config?.debug??console.debug;if(i===`disabled`||r&&i!==`verbose`)return;let f=o?[o,...[e].flat()]:[e].flat();if(a===`debug`)return d(...f);if(a===`info`)return c(...f);if(a===`warn`)return l(...f);if(a===`error`)return u(...f);s(...f)};let i=function(e){return e.RESET=`\\x1B[0m`,e.GREY=`\\x1B[90m`,e.GREY_DARK=`\\x1B[38;5;239m`,e.GREY_LIGHT=`\\x1B[38;5;252m`,e.BLUE=`\\x1B[34m`,e.RED=`\\x1B[31m`,e.GREEN=`\\x1B[32m`,e.YELLOW=`\\x1B[38;5;226m`,e.MAGENTA=`\\x1B[35m`,e.BEIGE=`\\x1B[38;5;3m`,e.ORANGE=`\\x1B[38;5;208m`,e.CYAN=`\\x1B[36m`,e.WHITE=`\\x1B[37m`,e.BOLD=`\\x1B[1m`,e}({});const a=[`⠋`,`⠙`,`⠹`,`⠸`,`⠼`,`⠴`,`⠦`,`⠧`,`⠇`,`⠏`],o=(e,t)=>(n,i)=>r(n,{...i??{},config:{...e?.log,...t?.config,...i?.config??{}}}),s=(e,t,n)=>t?`${t}${e}${n?typeof n==`boolean`?i.RESET:n:i.RESET}`:e,c=(e,t=i.GREEN,n=i.RESET)=>[e].flat().map(e=>s(e,t,n)).join(`, `),l=(e,t=i.BEIGE,n=i.RESET)=>[e].flat().map(e=>s(e,t,n)).join(`, `),u=(e,t=i.GREY,n=i.RESET)=>[e].flat().map(e=>s(e,t,n)).join(`, `),d=(e,t={zero:i.BLUE,one:i.BLUE,two:i.BLUE,few:i.BLUE,many:i.BLUE,other:i.BLUE})=>{if(e===0){let n=t.zero??i.GREEN;return s(e.toString(),n)}let n=t[new Intl.PluralRules(`en`).select(Number(e))];return s(e.toString(),n)},f=e=>e.replace(/\\x1b\\[[0-9;]*m/g,``),p=e=>{let t=0;return typeof e==`number`&&(t=e),typeof e==`string`&&(t=e.length),Array.isArray(e)&&e.every(e=>typeof e==`string`)&&(t=Math.max(...e.map(e=>e.length))),Array.isArray(e)&&e.every(e=>typeof e==`number`)&&(t=Math.max(...e)),Math.max(t,0)},m={colSize:0,minSize:0,maxSize:1/0,pad:`right`,padChar:`0`},h=(e,t)=>[e].flat().map(e=>{let{colSize:n,minSize:r,maxSize:i,pad:a}={...m,...t??{}},o=p(n),s=Math.max(r,Math.min(i,o-f(e).length));return a===`left`?`${` `.repeat(s)}${e}`:`${e}${` `.repeat(s)}`}).join(``),g=s(`✗`,i.RED),_=s(`✓`,i.GREEN),v=s(`⏲`,i.BLUE);export{i as ANSIColors,v as clock,h as colon,s as colorize,l as colorizeKey,c as colorizeLocales,d as colorizeNumber,u as colorizePath,o as getAppLogger,n as getPrefix,r as logger,f as removeColor,t as setPrefix,a as spinnerFrames,_ as v,g as x};\n//# sourceMappingURL=logger.mjs.map"],"mappings":"AAAogB,IAAI,EAAE,SAAS,EAAE,CAAC,MAAO,GAAE,MAAM,UAAU,EAAE,KAAK,WAAW,EAAE,UAAU,iBAAiB,EAAE,WAAW,iBAAiB,EAAE,KAAK,WAAW,EAAE,IAAI,WAAW,EAAE,MAAM,WAAW,EAAE,OAAO,iBAAiB,EAAE,QAAQ,WAAW,EAAE,MAAM,eAAe,EAAE,OAAO,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,EAAE,KAAK,UAAU,GAAG,EAAE,CAAC,CAAC,MAAmI,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,OAAO,GAAG,UAAU,EAAE,MAAM,EAAE,EAAE,QAAQ,EAA88B,EAAE,IAAI,EAAE,IAAI,CAAG,EAAE,IAAI,EAAE,MAAM,CAAG,EAAE,IAAI,EAAE,KAAK"}
@@ -1,3 +1,3 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./_virtual/_rolldown/runtime.cjs`);let t=require(`node:fs/promises`),n=require(`@babel/core`),r=require(`magic-string`);r=e.__toESM(r);let i=require(`svelte/compiler`);const a=(e,t)=>{if(!e)return!1;if(!t||t.length===0)return!0;let n=e.replace(/\\/g,`/`);return t.some(e=>e.replace(/\\/g,`/`)===n)},o=(e,t,o={})=>{let{defaultLocale:s=`en`,packageName:c=`svelte-intlayer`,filesList:l,shouldExtract:u,onExtract:d,dictionaryKey:f,attributesToExtract:p=[],extractDictionaryKeyFromPath:m,generateKey:h}=o;if(!a(t,l)||!t.endsWith(`.svelte`))return null;let g=new r.default(e),_={},v=new Set,y=f??m?.(t)??``,b=[],x;try{x=(0,i.parse)(e)}catch(e){return console.warn(`Svelte extraction: Failed to parse Svelte AST for ${t}`,e),null}let S=e=>e.type===`Text`||e.type===3,C=e=>e.type===`Attribute`||e.type===6,w=e=>{if(S(e)){let t=e.data??e.content??``;if(u?.(t)&&h){let n=h(t,v);v.add(n),b.push({start:e.start,end:e.end,replacement:`{$content.${n}}`,key:n,value:t.replace(/\s+/g,` `).trim()})}}else if(C(e)&&p.includes(e.name)&&e.value&&e.value.length===1&&S(e.value[0])){let t=e.value[0].data??e.value[0].content??``;if(u?.(t)&&h){let n=h(t,v);v.add(n),b.push({start:e.start,end:e.end,replacement:`${e.name}={$content.${n}}`,key:n,value:t.trim()})}}let t=e.children??e.fragment?.nodes??e.fragment?.children;t&&t.forEach(w),e.attributes&&e.attributes.forEach(w)};x.html&&w(x.html);let T=/<script[^>]*>([\s\S]*?)<\/script>/.exec(e),E=!1,D=T?T[1]:``;if(T){let e=T[0].indexOf(`>`)+1,r=T.index+e;try{let e=(0,n.parse)(D,{parserOpts:{sourceType:`module`,plugins:[`typescript`,`jsx`]}});e&&(0,n.traverse)(e,{StringLiteral(e){if(e.parentPath.isImportDeclaration()||e.parentPath.isExportDeclaration()||e.parentPath.isImportSpecifier()||e.parentPath.isObjectProperty()&&e.key===`key`)return;if(e.parentPath.isCallExpression()){let t=e.parentPath.node.callee;if(n.types.isMemberExpression(t)&&n.types.isIdentifier(t.object)&&t.object.name===`console`||n.types.isIdentifier(t)&&(t.name===`useIntlayer`||t.name===`t`)||t.type===`Import`||n.types.isIdentifier(t)&&t.name===`require`)return}let t=e.node.value;if(u?.(t)&&h){let n=h(t,v);v.add(n),E=!0,e.node.start!=null&&e.node.end!=null&&b.push({start:r+e.node.start,end:r+e.node.end,replacement:`get(content).${n}`,key:n,value:t.trim()})}}})}catch(e){console.warn(`Svelte extraction: Failed to parse script content for ${t}`,e)}}if(b.length===0)return null;b.sort((e,t)=>t.start-e.start);for(let{start:e,end:t,replacement:n,key:r,value:i}of b)g.overwrite(e,t,n),_[r]=i;let O=/import\s*{[^}]*useIntlayer[^}]*}\s*from\s*['"][^'"]+['"]/.test(D)||/import\s+useIntlayer\s+from\s*['"][^'"]+['"]/.test(D),k=/import\s*{[^}]*get[^}]*}\s*from\s*['"]svelte\/store['"]/.test(D),A=/const\s+content\s*=\s*useIntlayer\s*\(/.test(D),j=O?``:`import { useIntlayer } from '${c}';`,M=E&&!k?`import { get } from 'svelte/store';`:``,N=A?``:`const content = useIntlayer('${y}');`,P=[j,M,N].filter(Boolean);if(P.length>0){let e=`\n ${P.join(`
2
- `)}\n`;if(T){let t=T.index+T[0].indexOf(`>`)+1;g.appendLeft(t,e)}else g.prepend(`<script>\n ${j}\n ${E?`import { get } from 'svelte/store';`:``}\n ${N}\n<\/script>\n\n`)}return d&&d({dictionaryKey:y,filePath:t,content:{..._},locale:s}),{code:g.toString(),map:g.generateMap({source:t,includeContent:!0}),extracted:!0}},s=async(e,n,r,i,a=!0)=>{let s=await(0,t.readFile)(e,`utf-8`),c=null,l=o(s,e,{packageName:r,dictionaryKey:n,shouldExtract:i.shouldExtract,generateKey:i.generateKey,extractDictionaryKeyFromPath:i.extractDictionaryKeyFromPath,attributesToExtract:i.attributesToExtract,onExtract:e=>{c=e.content}});return l?(a&&await(0,t.writeFile)(e,l.code),c):null};exports.intlayerSvelteExtract=o,exports.processSvelteFile=s,exports.shouldProcessFile=a;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./_virtual/_rolldown/runtime.cjs`),t=require(`./config/dist/esm/defaultValues/index.cjs`);let n=require(`node:fs`),r=require(`@babel/core`),i=require(`magic-string`);i=e.__toESM(i);let a=require(`svelte/compiler`);const o=(e,t)=>{if(!e)return!1;if(!t||t.length===0)return!0;let n=e.replace(/\\/g,`/`);return t.some(e=>e.replace(/\\/g,`/`)===n)},s=(e,n,s={})=>{let{defaultLocale:c=t.u.Internationalization.DEFAULT_LOCALE,packageName:l=`svelte-intlayer`,filesList:u,shouldExtract:d,onExtract:f,dictionaryKey:p,attributesToExtract:m=[],extractDictionaryKeyFromPath:h,generateKey:g}=s;if(!o(n,u)||!n.endsWith(`.svelte`))return null;let _=new i.default(e),v={},y=new Set,b=p??h?.(n)??``,x=[],S;try{S=(0,a.parse)(e)}catch(e){return console.warn(`Svelte extraction: Failed to parse Svelte AST for ${n}`,e),null}let C=e=>e.type===`Text`||e.type===3,w=e=>e.type===`Attribute`||e.type===6,T=e=>{if(C(e)){let t=e.data??e.content??``;if(d?.(t)&&g){let n=g(t,y);y.add(n),x.push({start:e.start,end:e.end,replacement:`{$content.${n}}`,key:n,value:t.replace(/\s+/g,` `).trim()})}}else if(w(e)&&m.includes(e.name)&&e.value&&e.value.length===1&&C(e.value[0])){let t=e.value[0].data??e.value[0].content??``;if(d?.(t)&&g){let n=g(t,y);y.add(n),x.push({start:e.start,end:e.end,replacement:`${e.name}={$content.${n}}`,key:n,value:t.trim()})}}let t=e.children??e.fragment?.nodes??e.fragment?.children;t&&t.forEach(T),e.attributes&&e.attributes.forEach(T)};S.html&&T(S.html);let E=/<script[^>]*>([\s\S]*?)<\/script>/.exec(e),D=!1,O=E?E[1]:``;if(E){let e=E[0].indexOf(`>`)+1,t=E.index+e;try{let e=(0,r.parse)(O,{parserOpts:{sourceType:`module`,plugins:[`typescript`,`jsx`]}});e&&(0,r.traverse)(e,{StringLiteral(e){if(e.parentPath.isImportDeclaration()||e.parentPath.isExportDeclaration()||e.parentPath.isImportSpecifier()||e.parentPath.isObjectProperty()&&e.key===`key`)return;if(e.parentPath.isCallExpression()){let t=e.parentPath.node.callee;if(r.types.isMemberExpression(t)&&r.types.isIdentifier(t.object)&&t.object.name===`console`||r.types.isIdentifier(t)&&(t.name===`useIntlayer`||t.name===`t`)||t.type===`Import`||r.types.isIdentifier(t)&&t.name===`require`)return}let n=e.node.value;if(d?.(n)&&g){let r=g(n,y);y.add(r),D=!0,e.node.start!=null&&e.node.end!=null&&x.push({start:t+e.node.start,end:t+e.node.end,replacement:`get(content).${r}`,key:r,value:n.trim()})}}})}catch(e){console.warn(`Svelte extraction: Failed to parse script content for ${n}`,e)}}if(x.length===0)return null;x.sort((e,t)=>t.start-e.start);for(let{start:e,end:t,replacement:n,key:r,value:i}of x)_.overwrite(e,t,n),v[r]=i;let k=/import\s*{[^}]*useIntlayer[^}]*}\s*from\s*['"][^'"]+['"]/.test(O)||/import\s+useIntlayer\s+from\s*['"][^'"]+['"]/.test(O),A=/import\s*{[^}]*get[^}]*}\s*from\s*['"]svelte\/store['"]/.test(O),j=/const\s+content\s*=\s*useIntlayer\s*\(/.test(O),M=k?``:`import { useIntlayer } from '${l}';`,N=D&&!A?`import { get } from 'svelte/store';`:``,P=j?``:`const content = useIntlayer('${b}');`,F=[M,N,P].filter(Boolean);if(F.length>0){let e=`\n ${F.join(`
2
+ `)}\n`;if(E){let t=E.index+E[0].indexOf(`>`)+1;_.appendLeft(t,e)}else _.prepend(`<script>\n ${M}\n ${D?`import { get } from 'svelte/store';`:``}\n ${P}\n<\/script>\n\n`)}return f&&f({dictionaryKey:b,filePath:n,content:v,locale:c}),{code:_.toString(),map:_.generateMap({source:n,includeContent:!0}),extracted:!0}},c=(e,t,r,i,a=!0)=>{let o=(0,n.readFileSync)(e,`utf-8`),c=null,l=s(o,e,{packageName:r,dictionaryKey:t,shouldExtract:i.shouldExtract,generateKey:i.generateKey,extractDictionaryKeyFromPath:i.extractDictionaryKeyFromPath,attributesToExtract:i.attributesToExtract,onExtract:e=>{c=e.content}});return l?(a&&(0,n.writeFileSync)(e,l.code),{extractedContent:c,code:l.code,map:l.map}):null};exports.intlayerSvelteExtract=s,exports.processSvelteFile=c,exports.shouldProcessFile=o;
3
3
  //# sourceMappingURL=svelte-intlayer-extract.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"svelte-intlayer-extract.cjs","names":["MagicString","t"],"sources":["../../src/svelte-intlayer-extract.ts"],"sourcesContent":["import { readFile, writeFile } from 'node:fs/promises';\nimport { parse as babelParse, types as t, traverse } from '@babel/core';\nimport MagicString from 'magic-string';\nimport { parse } from 'svelte/compiler';\n\nexport type ExtractedContent = Record<string, string>;\n\nexport type ExtractResult = {\n dictionaryKey: string;\n filePath: string;\n content: ExtractedContent;\n locale: string;\n};\n\nexport type ExtractPluginOptions = {\n defaultLocale?: string;\n packageName?: string;\n filesList?: string[];\n shouldExtract?: (text: string) => boolean;\n onExtract?: (result: ExtractResult) => void;\n dictionaryKey?: string;\n attributesToExtract?: readonly string[];\n extractDictionaryKeyFromPath?: (path: string) => string;\n generateKey?: (text: string, existingKeys: Set<string>) => string;\n};\n\ntype Replacement = {\n start: number;\n end: number;\n replacement: string;\n key: string;\n value: string;\n};\n\n/* ────────────────────────────────────────── helpers ─────────────────────── */\n\nexport const shouldProcessFile = (\n filename: string | undefined,\n filesList?: string[]\n): boolean => {\n if (!filename) return false;\n if (!filesList || filesList.length === 0) return true;\n\n const normalizedFilename = filename.replace(/\\\\/g, '/');\n return filesList.some((f) => {\n const normalizedF = f.replace(/\\\\/g, '/');\n return normalizedF === normalizedFilename;\n });\n};\n\n/* ────────────────────────────────────────── plugin ──────────────────────── */\n\nexport const intlayerSvelteExtract = (\n code: string,\n filename: string,\n options: ExtractPluginOptions = {}\n): { code: string; map?: unknown; extracted: boolean } | null => {\n const {\n defaultLocale = 'en',\n packageName = 'svelte-intlayer',\n filesList,\n shouldExtract,\n onExtract,\n dictionaryKey: dictionaryKeyOption,\n attributesToExtract = [],\n extractDictionaryKeyFromPath,\n generateKey,\n } = options;\n\n if (!shouldProcessFile(filename, filesList)) return null;\n if (!filename.endsWith('.svelte')) return null;\n\n const magic = new MagicString(code);\n const extractedContent: ExtractedContent = {};\n const existingKeys = new Set<string>();\n const dictionaryKey =\n dictionaryKeyOption ?? extractDictionaryKeyFromPath?.(filename) ?? '';\n const replacements: Replacement[] = [];\n\n let ast: any;\n try {\n ast = parse(code);\n } catch (e) {\n console.warn(\n `Svelte extraction: Failed to parse Svelte AST for ${filename}`,\n e\n );\n return null;\n }\n\n // Walk Svelte HTML AST.\n // Svelte 4 used numeric type constants; Svelte 5 uses string type names.\n // We check for both to remain compatible.\n const isTextNode = (node: any) => node.type === 'Text' || node.type === 3;\n const isAttributeNode = (node: any) =>\n node.type === 'Attribute' || node.type === 6;\n\n const walkSvelte = (node: any) => {\n if (isTextNode(node)) {\n const text = node.data ?? node.content ?? '';\n if (shouldExtract?.(text) && generateKey) {\n const key = generateKey(text, existingKeys);\n existingKeys.add(key);\n replacements.push({\n start: node.start,\n end: node.end,\n replacement: `{$content.${key}}`,\n key,\n value: text.replace(/\\s+/g, ' ').trim(),\n });\n }\n } else if (\n isAttributeNode(node) &&\n (attributesToExtract as readonly string[]).includes(node.name)\n ) {\n if (node.value && node.value.length === 1 && isTextNode(node.value[0])) {\n const text = node.value[0].data ?? node.value[0].content ?? '';\n if (shouldExtract?.(text) && generateKey) {\n const key = generateKey(text, existingKeys);\n existingKeys.add(key);\n replacements.push({\n start: node.start,\n end: node.end,\n replacement: `${node.name}={$content.${key}}`,\n key,\n value: text.trim(),\n });\n }\n }\n }\n\n const children =\n node.children ?? node.fragment?.nodes ?? node.fragment?.children;\n if (children) children.forEach(walkSvelte);\n if (node.attributes) node.attributes.forEach(walkSvelte);\n };\n\n if (ast.html) {\n walkSvelte(ast.html);\n }\n\n // Extract and walk Script using Babel\n const scriptRegex = /<script[^>]*>([\\s\\S]*?)<\\/script>/;\n const scriptMatch = scriptRegex.exec(code);\n let hasScriptExtraction = false;\n const scriptContent = scriptMatch ? scriptMatch[1] : '';\n\n if (scriptMatch) {\n const openTagEndIndex = scriptMatch[0].indexOf('>') + 1;\n const offset = scriptMatch.index + openTagEndIndex;\n\n try {\n const babelAst = babelParse(scriptContent, {\n parserOpts: {\n sourceType: 'module',\n plugins: ['typescript', 'jsx'],\n },\n });\n\n if (babelAst) {\n traverse(babelAst, {\n StringLiteral(path: any) {\n if (path.parentPath.isImportDeclaration()) return;\n if (path.parentPath.isExportDeclaration()) return;\n if (path.parentPath.isImportSpecifier()) return;\n if (path.parentPath.isObjectProperty() && path.key === 'key')\n return;\n\n if (path.parentPath.isCallExpression()) {\n const callee = path.parentPath.node.callee;\n if (\n t.isMemberExpression(callee) &&\n t.isIdentifier(callee.object) &&\n callee.object.name === 'console'\n )\n return;\n\n if (\n t.isIdentifier(callee) &&\n (callee.name === 'useIntlayer' || callee.name === 't')\n )\n return;\n\n if (callee.type === 'Import') return;\n if (t.isIdentifier(callee) && callee.name === 'require') return;\n }\n\n const text = path.node.value;\n if (shouldExtract?.(text) && generateKey) {\n const key = generateKey(text, existingKeys);\n existingKeys.add(key);\n hasScriptExtraction = true;\n\n if (path.node.start != null && path.node.end != null) {\n replacements.push({\n start: offset + path.node.start,\n end: offset + path.node.end,\n replacement: `get(content).${key}`,\n key,\n value: text.trim(),\n });\n }\n }\n },\n });\n }\n } catch (e) {\n console.warn(\n `Svelte extraction: Failed to parse script content for ${filename}`,\n e\n );\n }\n }\n\n // Abort if nothing was extracted\n if (replacements.length === 0) return null;\n\n // Apply Replacements in Reverse Order (prevents magic-string chunk errors)\n replacements.sort((a, b) => b.start - a.start);\n for (const { start, end, replacement, key, value } of replacements) {\n magic.overwrite(start, end, replacement);\n extractedContent[key] = value;\n }\n\n // Inject necessary imports and setup\n const hasUseIntlayerImport =\n /import\\s*{[^}]*useIntlayer[^}]*}\\s*from\\s*['\"][^'\"]+['\"]/.test(\n scriptContent\n ) || /import\\s+useIntlayer\\s+from\\s*['\"][^'\"]+['\"]/.test(scriptContent);\n\n const hasGetImport =\n /import\\s*{[^}]*get[^}]*}\\s*from\\s*['\"]svelte\\/store['\"]/.test(\n scriptContent\n );\n const hasContentDeclaration = /const\\s+content\\s*=\\s*useIntlayer\\s*\\(/.test(\n scriptContent\n );\n\n const importStmt = hasUseIntlayerImport\n ? ''\n : `import { useIntlayer } from '${packageName}';`;\n const getImportStmt =\n hasScriptExtraction && !hasGetImport\n ? `import { get } from 'svelte/store';`\n : '';\n const contentDecl = hasContentDeclaration\n ? ''\n : `const content = useIntlayer('${dictionaryKey}');`;\n\n const injectionParts = [importStmt, getImportStmt, contentDecl].filter(\n Boolean\n );\n\n if (injectionParts.length > 0) {\n const injection = `\\n ${injectionParts.join('\\n ')}\\n`;\n\n if (scriptMatch) {\n const scriptContentStart =\n scriptMatch.index + scriptMatch[0].indexOf('>') + 1;\n magic.appendLeft(scriptContentStart, injection);\n } else {\n magic.prepend(\n `<script>\\n ${importStmt}\\n ${hasScriptExtraction ? \"import { get } from 'svelte/store';\" : ''}\\n ${contentDecl}\\n</script>\\n\\n`\n );\n }\n }\n\n if (onExtract) {\n onExtract({\n dictionaryKey,\n filePath: filename,\n content: { ...extractedContent },\n locale: defaultLocale,\n });\n }\n\n return {\n code: magic.toString(),\n map: magic.generateMap({ source: filename, includeContent: true }),\n extracted: true,\n };\n};\n\ntype Tools = {\n generateKey: (text: string, existingKeys: Set<string>) => string;\n shouldExtract: (text: string) => boolean;\n extractDictionaryKeyFromPath: (path: string) => string;\n attributesToExtract: readonly string[];\n extractTsContent: any;\n};\n\nexport const processSvelteFile = async (\n filePath: string,\n _componentKey: string,\n packageName: string,\n tools: Tools,\n save: boolean = true\n): Promise<Record<string, string> | null> => {\n const code = await readFile(filePath, 'utf-8');\n let extractedContent: Record<string, string> | null = null;\n\n const result = intlayerSvelteExtract(code, filePath, {\n packageName,\n dictionaryKey: _componentKey,\n shouldExtract: tools.shouldExtract,\n generateKey: tools.generateKey,\n extractDictionaryKeyFromPath: tools.extractDictionaryKeyFromPath,\n attributesToExtract: tools.attributesToExtract,\n onExtract: (extractResult) => {\n extractedContent = extractResult.content;\n },\n });\n\n if (!result) return null;\n\n if (save) {\n await writeFile(filePath, result.code);\n }\n\n return extractedContent;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"svelte-intlayer-extract.cjs","names":["DefaultValues","MagicString","t"],"sources":["../../src/svelte-intlayer-extract.ts"],"sourcesContent":["import { readFileSync, writeFileSync } from 'node:fs';\nimport { parse as babelParse, types as t, traverse } from '@babel/core';\nimport { DefaultValues } from '@intlayer/config/client';\nimport type { Locale } from '@intlayer/types/allLocales';\nimport MagicString from 'magic-string';\nimport { parse } from 'svelte/compiler';\n\nexport type ExtractedContent = Record<string, string>;\n\nexport type ExtractResult = {\n dictionaryKey: string;\n filePath: string;\n content: ExtractedContent;\n locale: Locale;\n};\n\nexport type ExtractPluginOptions = {\n defaultLocale?: Locale;\n packageName?: string;\n filesList?: string[];\n shouldExtract?: (text: string) => boolean;\n onExtract?: (result: ExtractResult) => void;\n dictionaryKey?: string;\n attributesToExtract?: readonly string[];\n extractDictionaryKeyFromPath?: (path: string) => string;\n generateKey?: (text: string, existingKeys: Set<string>) => string;\n};\n\ntype Replacement = {\n start: number;\n end: number;\n replacement: string;\n key: string;\n value: string;\n};\n\n/* ────────────────────────────────────────── helpers ─────────────────────── */\n\nexport const shouldProcessFile = (\n filename: string | undefined,\n filesList?: string[]\n): boolean => {\n if (!filename) return false;\n if (!filesList || filesList.length === 0) return true;\n\n const normalizedFilename = filename.replace(/\\\\/g, '/');\n return filesList.some((f) => {\n const normalizedF = f.replace(/\\\\/g, '/');\n return normalizedF === normalizedFilename;\n });\n};\n\n/* ────────────────────────────────────────── plugin ──────────────────────── */\n\nexport const intlayerSvelteExtract = (\n code: string,\n filename: string,\n options: ExtractPluginOptions = {}\n): { code: string; map?: unknown; extracted: boolean } | null => {\n const {\n defaultLocale = DefaultValues.Internationalization.DEFAULT_LOCALE,\n packageName = 'svelte-intlayer',\n filesList,\n shouldExtract,\n onExtract,\n dictionaryKey: dictionaryKeyOption,\n attributesToExtract = [],\n extractDictionaryKeyFromPath,\n generateKey,\n } = options;\n\n if (!shouldProcessFile(filename, filesList)) return null;\n if (!filename.endsWith('.svelte')) return null;\n\n const magic = new MagicString(code);\n const extractedContent: ExtractedContent = {};\n const existingKeys = new Set<string>();\n const dictionaryKey =\n dictionaryKeyOption ?? extractDictionaryKeyFromPath?.(filename) ?? '';\n const replacements: Replacement[] = [];\n\n let ast: any;\n try {\n ast = parse(code);\n } catch (e) {\n console.warn(\n `Svelte extraction: Failed to parse Svelte AST for ${filename}`,\n e\n );\n return null;\n }\n\n // Walk Svelte HTML AST.\n // Svelte 4 used numeric type constants; Svelte 5 uses string type names.\n // We check for both to remain compatible.\n const isTextNode = (node: any) => node.type === 'Text' || node.type === 3;\n const isAttributeNode = (node: any) =>\n node.type === 'Attribute' || node.type === 6;\n\n const walkSvelte = (node: any) => {\n if (isTextNode(node)) {\n const text = node.data ?? node.content ?? '';\n if (shouldExtract?.(text) && generateKey) {\n const key = generateKey(text, existingKeys);\n existingKeys.add(key);\n replacements.push({\n start: node.start,\n end: node.end,\n replacement: `{$content.${key}}`,\n key,\n value: text.replace(/\\s+/g, ' ').trim(),\n });\n }\n } else if (\n isAttributeNode(node) &&\n (attributesToExtract as readonly string[]).includes(node.name)\n ) {\n if (node.value && node.value.length === 1 && isTextNode(node.value[0])) {\n const text = node.value[0].data ?? node.value[0].content ?? '';\n if (shouldExtract?.(text) && generateKey) {\n const key = generateKey(text, existingKeys);\n existingKeys.add(key);\n replacements.push({\n start: node.start,\n end: node.end,\n replacement: `${node.name}={$content.${key}}`,\n key,\n value: text.trim(),\n });\n }\n }\n }\n\n const children =\n node.children ?? node.fragment?.nodes ?? node.fragment?.children;\n if (children) children.forEach(walkSvelte);\n if (node.attributes) node.attributes.forEach(walkSvelte);\n };\n\n if (ast.html) {\n walkSvelte(ast.html);\n }\n\n // Extract and walk Script using Babel\n const scriptRegex = /<script[^>]*>([\\s\\S]*?)<\\/script>/;\n const scriptMatch = scriptRegex.exec(code);\n let hasScriptExtraction = false;\n const scriptContent = scriptMatch ? scriptMatch[1] : '';\n\n if (scriptMatch) {\n const openTagEndIndex = scriptMatch[0].indexOf('>') + 1;\n const offset = scriptMatch.index + openTagEndIndex;\n\n try {\n const babelAst = babelParse(scriptContent, {\n parserOpts: {\n sourceType: 'module',\n plugins: ['typescript', 'jsx'],\n },\n });\n\n if (babelAst) {\n traverse(babelAst, {\n StringLiteral(path: any) {\n if (path.parentPath.isImportDeclaration()) return;\n if (path.parentPath.isExportDeclaration()) return;\n if (path.parentPath.isImportSpecifier()) return;\n if (path.parentPath.isObjectProperty() && path.key === 'key')\n return;\n\n if (path.parentPath.isCallExpression()) {\n const callee = path.parentPath.node.callee;\n if (\n t.isMemberExpression(callee) &&\n t.isIdentifier(callee.object) &&\n callee.object.name === 'console'\n )\n return;\n\n if (\n t.isIdentifier(callee) &&\n (callee.name === 'useIntlayer' || callee.name === 't')\n )\n return;\n\n if (callee.type === 'Import') return;\n if (t.isIdentifier(callee) && callee.name === 'require') return;\n }\n\n const text = path.node.value;\n if (shouldExtract?.(text) && generateKey) {\n const key = generateKey(text, existingKeys);\n existingKeys.add(key);\n hasScriptExtraction = true;\n\n if (path.node.start != null && path.node.end != null) {\n replacements.push({\n start: offset + path.node.start,\n end: offset + path.node.end,\n replacement: `get(content).${key}`,\n key,\n value: text.trim(),\n });\n }\n }\n },\n });\n }\n } catch (e) {\n console.warn(\n `Svelte extraction: Failed to parse script content for ${filename}`,\n e\n );\n }\n }\n\n // Abort if nothing was extracted\n if (replacements.length === 0) return null;\n\n // Apply Replacements in Reverse Order (prevents magic-string chunk errors)\n replacements.sort((a, b) => b.start - a.start);\n for (const { start, end, replacement, key, value } of replacements) {\n magic.overwrite(start, end, replacement);\n extractedContent[key] = value;\n }\n\n // Inject necessary imports and setup\n const hasUseIntlayerImport =\n /import\\s*{[^}]*useIntlayer[^}]*}\\s*from\\s*['\"][^'\"]+['\"]/.test(\n scriptContent\n ) || /import\\s+useIntlayer\\s+from\\s*['\"][^'\"]+['\"]/.test(scriptContent);\n\n const hasGetImport =\n /import\\s*{[^}]*get[^}]*}\\s*from\\s*['\"]svelte\\/store['\"]/.test(\n scriptContent\n );\n const hasContentDeclaration = /const\\s+content\\s*=\\s*useIntlayer\\s*\\(/.test(\n scriptContent\n );\n\n const importStmt = hasUseIntlayerImport\n ? ''\n : `import { useIntlayer } from '${packageName}';`;\n const getImportStmt =\n hasScriptExtraction && !hasGetImport\n ? `import { get } from 'svelte/store';`\n : '';\n const contentDecl = hasContentDeclaration\n ? ''\n : `const content = useIntlayer('${dictionaryKey}');`;\n\n const injectionParts = [importStmt, getImportStmt, contentDecl].filter(\n Boolean\n );\n\n if (injectionParts.length > 0) {\n const injection = `\\n ${injectionParts.join('\\n ')}\\n`;\n\n if (scriptMatch) {\n const scriptContentStart =\n scriptMatch.index + scriptMatch[0].indexOf('>') + 1;\n magic.appendLeft(scriptContentStart, injection);\n } else {\n magic.prepend(\n `<script>\\n ${importStmt}\\n ${hasScriptExtraction ? \"import { get } from 'svelte/store';\" : ''}\\n ${contentDecl}\\n</script>\\n\\n`\n );\n }\n }\n\n if (onExtract) {\n onExtract({\n dictionaryKey,\n filePath: filename,\n content: extractedContent,\n locale: defaultLocale,\n });\n }\n\n return {\n code: magic.toString(),\n map: magic.generateMap({ source: filename, includeContent: true }),\n extracted: true,\n };\n};\n\ntype Tools = {\n generateKey: (text: string, existingKeys: Set<string>) => string;\n shouldExtract: (text: string) => boolean;\n extractDictionaryKeyFromPath: (path: string) => string;\n attributesToExtract: readonly string[];\n extractTsContent: any;\n};\n\nexport const processSvelteFile = (\n filePath: string,\n _componentKey: string,\n packageName: string,\n tools: Tools,\n save: boolean = true\n): {\n extractedContent: Record<string, string>;\n code: string;\n map?: any;\n} | null => {\n const code = readFileSync(filePath, 'utf-8');\n let extractedContent: Record<string, string> | null = null;\n\n const result = intlayerSvelteExtract(code, filePath, {\n packageName,\n dictionaryKey: _componentKey,\n shouldExtract: tools.shouldExtract,\n generateKey: tools.generateKey,\n extractDictionaryKeyFromPath: tools.extractDictionaryKeyFromPath,\n attributesToExtract: tools.attributesToExtract,\n onExtract: (extractResult) => {\n extractedContent = extractResult.content;\n },\n });\n\n if (!result) return null;\n\n if (save) {\n writeFileSync(filePath, result.code);\n }\n\n return {\n extractedContent: extractedContent!,\n code: result.code,\n map: result.map,\n };\n};\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ var e=(e=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof require<`u`?require:e)[t]}):e)(function(e){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for "'+e+"\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.")});export{e as __require};
@@ -0,0 +1,2 @@
1
+ import{__require as e}from"../../../../../_virtual/_rolldown/runtime.mjs";var t=Object.defineProperty,n=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r};(t=>typeof e<`u`?e:typeof Proxy<`u`?new Proxy(t,{get:(t,n)=>(typeof e<`u`?e:t)[n]}):t)(function(t){if(typeof e<`u`)return e.apply(this,arguments);throw Error('Calling `require` for "'+t+"\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.")});export{n as t};
2
+ //# sourceMappingURL=runtime.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.mjs","names":[],"sources":["../../../../../../../../config/dist/esm/_virtual/_rolldown/runtime.mjs"],"sourcesContent":["var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r},n=(e=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof require<`u`?require:e)[t]}):e)(function(e){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for \"'+e+\"\\\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.\")});export{t as __exportAll,n as __require};"],"mappings":"0EAAA,IAAI,EAAE,OAAO,eAAe,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE,EAAE,OAAO,YAAY,CAAC,MAAM,SAAS,CAAC,CAAC,IAAM,GAAG,OAAA,EAAe,IAAA,EAAY,OAAO,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,OAAA,EAAe,IAAA,EAAY,GAAG,GAAG,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,OAAA,EAAe,IAAI,OAAA,EAAe,MAAM,KAAK,UAAU,CAAC,MAAM,MAAM,0BAA0B,EAAE,4JAA4J,EAAE"}
@@ -0,0 +1,2 @@
1
+ import{t as e}from"../_virtual/_rolldown/runtime.mjs";var t=e({BUILD_MODE:()=>n,CACHE:()=>!0,OPTIMIZE:()=>void 0,OUTPUT_FORMAT:()=>i,TRAVERSE_PATTERN:()=>r,TYPE_CHECKING:()=>!1});const n=`auto`,r=[`**/*.{tsx,ts,js,mjs,cjs,jsx,vue,svelte,svte}`,`!**/node_modules/**`],i=[`esm`,`cjs`];export{t};
2
+ //# sourceMappingURL=build.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.mjs","names":["e"],"sources":["../../../../../../../config/dist/esm/defaultValues/build.mjs"],"sourcesContent":["import{__exportAll as e}from\"../_virtual/_rolldown/runtime.mjs\";var t=e({BUILD_MODE:()=>n,CACHE:()=>!0,OPTIMIZE:()=>void 0,OUTPUT_FORMAT:()=>a,TRAVERSE_PATTERN:()=>i,TYPE_CHECKING:()=>!1});const n=`auto`,r=void 0,i=[`**/*.{tsx,ts,js,mjs,cjs,jsx,vue,svelte,svte}`,`!**/node_modules/**`],a=[`esm`,`cjs`],o=!0,s=!1;export{n as BUILD_MODE,o as CACHE,r as OPTIMIZE,a as OUTPUT_FORMAT,i as TRAVERSE_PATTERN,s as TYPE_CHECKING,t as build_exports};\n//# sourceMappingURL=build.mjs.map"],"mappings":"sDAAgE,IAAI,EAAEA,EAAE,CAAC,eAAe,EAAE,UAAU,CAAC,EAAE,aAAa,IAAK,GAAE,kBAAkB,EAAE,qBAAqB,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,OAAgB,EAAE,CAAC,+CAA+C,sBAAsB,CAAC,EAAE,CAAC,MAAM,MAAM"}
@@ -0,0 +1,2 @@
1
+ import{t as e}from"../_virtual/_rolldown/runtime.mjs";var t=e({COMPILER_DICTIONARY_KEY_PREFIX:()=>n,COMPILER_ENABLED:()=>!0,COMPILER_NO_METADATA:()=>!1,COMPILER_OUTPUT:()=>r,COMPILER_SAVE_COMPONENTS:()=>!1});const n=`comp-`,r=e=>`/compiler/${e.key}.${e.extension.split(`.`)[1]}.json`;export{t};
2
+ //# sourceMappingURL=compiler.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compiler.mjs","names":["e"],"sources":["../../../../../../../config/dist/esm/defaultValues/compiler.mjs"],"sourcesContent":["import{__exportAll as e}from\"../_virtual/_rolldown/runtime.mjs\";var t=e({COMPILER_DICTIONARY_KEY_PREFIX:()=>r,COMPILER_ENABLED:()=>!0,COMPILER_NO_METADATA:()=>!1,COMPILER_OUTPUT:()=>i,COMPILER_SAVE_COMPONENTS:()=>!1});const n=!0,r=`comp-`,i=e=>`/compiler/${e.key}.${e.extension.split(`.`)[1]}.json`,a=!1,o=!1;export{r as COMPILER_DICTIONARY_KEY_PREFIX,n as COMPILER_ENABLED,a as COMPILER_NO_METADATA,i as COMPILER_OUTPUT,o as COMPILER_SAVE_COMPONENTS,t as compiler_exports};\n//# sourceMappingURL=compiler.mjs.map"],"mappings":"sDAAgE,IAAI,EAAEA,EAAE,CAAC,mCAAmC,EAAE,qBAAqB,CAAC,EAAE,yBAAyB,CAAC,EAAE,oBAAoB,EAAE,6BAA6B,CAAC,EAAE,CAAC,CAAC,MAAW,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,IAAI,GAAG,EAAE,UAAU,MAAM,IAAI,CAAC,GAAG"}
@@ -0,0 +1,2 @@
1
+ import{t as e}from"../_virtual/_rolldown/runtime.mjs";var t=e({CODE_DIR:()=>a,CONTENT_DIR:()=>i,EXCLUDED_PATHS:()=>r,FILE_EXTENSIONS:()=>n,I18NEXT_DICTIONARIES_DIR:()=>o,REACT_INTL_MESSAGES_DIR:()=>s,WATCH:()=>!0});const n=[`.content.ts`,`.content.js`,`.content.cjs`,`.content.mjs`,`.content.json`,`.content.json5`,`.content.jsonc`,`.content.tsx`,`.content.jsx`],r=[`**/node_modules/**`,`**/dist/**`,`**/build/**`,`**/.intlayer/**`,`**/.next/**`,`**/.nuxt/**`,`**/.expo/**`,`**/.vercel/**`,`**/.turbo/**`,`**/.tanstack/**`],i=[`.`],a=[`.`],o=`i18next_resources`,s=`intl_messages`;export{t};
2
+ //# sourceMappingURL=content.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content.mjs","names":["e"],"sources":["../../../../../../../config/dist/esm/defaultValues/content.mjs"],"sourcesContent":["import{__exportAll as e}from\"../_virtual/_rolldown/runtime.mjs\";var t=e({CODE_DIR:()=>a,CONTENT_DIR:()=>i,EXCLUDED_PATHS:()=>r,FILE_EXTENSIONS:()=>n,I18NEXT_DICTIONARIES_DIR:()=>o,REACT_INTL_MESSAGES_DIR:()=>s,WATCH:()=>!0});const n=[`.content.ts`,`.content.js`,`.content.cjs`,`.content.mjs`,`.content.json`,`.content.json5`,`.content.jsonc`,`.content.tsx`,`.content.jsx`],r=[`**/node_modules/**`,`**/dist/**`,`**/build/**`,`**/.intlayer/**`,`**/.next/**`,`**/.nuxt/**`,`**/.expo/**`,`**/.vercel/**`,`**/.turbo/**`,`**/.tanstack/**`],i=[`.`],a=[`.`],o=`i18next_resources`,s=`intl_messages`,c=!0;export{a as CODE_DIR,i as CONTENT_DIR,r as EXCLUDED_PATHS,n as FILE_EXTENSIONS,o as I18NEXT_DICTIONARIES_DIR,s as REACT_INTL_MESSAGES_DIR,c as WATCH,t as content_exports};\n//# sourceMappingURL=content.mjs.map"],"mappings":"sDAAgE,IAAI,EAAEA,EAAE,CAAC,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,cAAc,cAAc,eAAe,eAAe,gBAAgB,iBAAiB,iBAAiB,eAAe,eAAe,CAAC,EAAE,CAAC,qBAAqB,aAAa,cAAc,kBAAkB,cAAc,cAAc,cAAc,gBAAgB,eAAe,kBAAkB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,oBAAoB,EAAE"}
@@ -0,0 +1,2 @@
1
+ import{t as e}from"../_virtual/_rolldown/runtime.mjs";var t=e({CONTENT_AUTO_TRANSFORMATION:()=>!1,FILL:()=>!0,IMPORT_MODE:()=>r,LOCATION:()=>n});const n=`local`,r=`static`;export{t};
2
+ //# sourceMappingURL=dictionary.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dictionary.mjs","names":["e"],"sources":["../../../../../../../config/dist/esm/defaultValues/dictionary.mjs"],"sourcesContent":["import{__exportAll as e}from\"../_virtual/_rolldown/runtime.mjs\";var t=e({CONTENT_AUTO_TRANSFORMATION:()=>!1,FILL:()=>!0,IMPORT_MODE:()=>a,LOCATION:()=>r});const n=!0,r=`local`,i=!1,a=`static`;export{i as CONTENT_AUTO_TRANSFORMATION,n as FILL,a as IMPORT_MODE,r as LOCATION,t as dictionary_exports};\n//# sourceMappingURL=dictionary.mjs.map"],"mappings":"sDAAgE,IAAI,EAAEA,EAAE,CAAC,gCAAgC,CAAC,EAAE,SAAS,CAAC,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC,CAAC,MAAW,EAAE,QAAa,EAAE"}
@@ -0,0 +1,2 @@
1
+ import{t as e}from"../_virtual/_rolldown/runtime.mjs";var t=e({APPLICATION_URL:()=>void 0,BACKEND_URL:()=>i,CMS_URL:()=>r,DICTIONARY_PRIORITY_STRATEGY:()=>o,EDITOR_URL:()=>n,IS_ENABLED:()=>!0,LIVE_SYNC:()=>!0,LIVE_SYNC_PORT:()=>s,PORT:()=>a});const n=`http://localhost:8000`,r=`https://app.intlayer.org`,i=`https://back.intlayer.org`,a=8e3,o=`local_first`,s=4e3;export{t};
2
+ //# sourceMappingURL=editor.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor.mjs","names":["e"],"sources":["../../../../../../../config/dist/esm/defaultValues/editor.mjs"],"sourcesContent":["import{__exportAll as e}from\"../_virtual/_rolldown/runtime.mjs\";var t=e({APPLICATION_URL:()=>void 0,BACKEND_URL:()=>a,CMS_URL:()=>i,DICTIONARY_PRIORITY_STRATEGY:()=>l,EDITOR_URL:()=>r,IS_ENABLED:()=>!0,LIVE_SYNC:()=>!0,LIVE_SYNC_PORT:()=>u,PORT:()=>o});const n=void 0,r=`http://localhost:8000`,i=`https://app.intlayer.org`,a=`https://back.intlayer.org`,o=8e3,s=!0,c=!0,l=`local_first`,u=4e3;export{n as APPLICATION_URL,a as BACKEND_URL,i as CMS_URL,l as DICTIONARY_PRIORITY_STRATEGY,r as EDITOR_URL,s as IS_ENABLED,c as LIVE_SYNC,u as LIVE_SYNC_PORT,o as PORT,t as editor_exports};\n//# sourceMappingURL=editor.mjs.map"],"mappings":"sDAAgE,IAAI,EAAEA,EAAE,CAAC,oBAAoB,IAAK,GAAE,gBAAgB,EAAE,YAAY,EAAE,iCAAiC,EAAE,eAAe,EAAE,eAAe,CAAC,EAAE,cAAc,CAAC,EAAE,mBAAmB,EAAE,SAAS,EAAE,CAAC,CAAC,MAAe,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,IAAc,EAAE,cAAc,EAAE"}
@@ -0,0 +1,2 @@
1
+ import{t as e}from"../_virtual/_rolldown/runtime.mjs";import{t}from"./build.mjs";import{t as n}from"./compiler.mjs";import{t as r}from"./content.mjs";import{t as i}from"./dictionary.mjs";import{t as a}from"./editor.mjs";import{n as o}from"./internationalization.mjs";import{n as s}from"./log.mjs";import{t as c}from"./routing.mjs";import{t as l}from"./system.mjs";var u=e({Build:()=>t,Compiler:()=>n,Content:()=>r,Dictionary:()=>i,Editor:()=>a,Internationalization:()=>o,Log:()=>s,Routing:()=>c,System:()=>l});export{u};
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":["e","t","n","r","i","a","o","s","c","l"],"sources":["../../../../../../../config/dist/esm/defaultValues/index.mjs"],"sourcesContent":["import{__exportAll as e}from\"../_virtual/_rolldown/runtime.mjs\";import{build_exports as t}from\"./build.mjs\";import{compiler_exports as n}from\"./compiler.mjs\";import{content_exports as r}from\"./content.mjs\";import{dictionary_exports as i}from\"./dictionary.mjs\";import{editor_exports as a}from\"./editor.mjs\";import{internationalization_exports as o}from\"./internationalization.mjs\";import{log_exports as s}from\"./log.mjs\";import{routing_exports as c}from\"./routing.mjs\";import{system_exports as l}from\"./system.mjs\";var u=e({Build:()=>t,Compiler:()=>n,Content:()=>r,Dictionary:()=>i,Editor:()=>a,Internationalization:()=>o,Log:()=>s,Routing:()=>c,System:()=>l});export{t as Build,n as Compiler,r as Content,i as Dictionary,a as Editor,o as Internationalization,s as Log,c as Routing,l as System,u as defaultValues_exports};\n//# sourceMappingURL=index.mjs.map"],"mappings":"4WAAkgB,IAAI,EAAEA,EAAE,CAAC,UAAUC,EAAE,aAAaC,EAAE,YAAYC,EAAE,eAAeC,EAAE,WAAWC,EAAE,yBAAyBC,EAAE,QAAQC,EAAE,YAAYC,EAAE,WAAWC,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ import{t as e}from"../_virtual/_rolldown/runtime.mjs";import*as t from"@intlayer/types/locales";var n=e({DEFAULT_LOCALE:()=>a,LOCALES:()=>r,REQUIRED_LOCALES:()=>i,STRICT_MODE:()=>o});const r=[t.ENGLISH],i=[],a=t.ENGLISH,o=`inclusive`;export{n};
2
+ //# sourceMappingURL=internationalization.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internationalization.mjs","names":["e"],"sources":["../../../../../../../config/dist/esm/defaultValues/internationalization.mjs"],"sourcesContent":["import{__exportAll as e}from\"../_virtual/_rolldown/runtime.mjs\";import*as t from\"@intlayer/types/locales\";var n=e({DEFAULT_LOCALE:()=>a,LOCALES:()=>r,REQUIRED_LOCALES:()=>i,STRICT_MODE:()=>o});const r=[t.ENGLISH],i=[],a=t.ENGLISH,o=`inclusive`;export{a as DEFAULT_LOCALE,r as LOCALES,i as REQUIRED_LOCALES,o as STRICT_MODE,n as internationalization_exports};\n//# sourceMappingURL=internationalization.mjs.map"],"mappings":"gGAA0G,IAAI,EAAEA,EAAE,CAAC,mBAAmB,EAAE,YAAY,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE"}
@@ -0,0 +1,2 @@
1
+ import{i as e}from"../logger.mjs";import{t}from"../_virtual/_rolldown/runtime.mjs";var n=t({MODE:()=>r,PREFIX:()=>i});const r=`default`,i=`${e.GREY_DARK}[intlayer] ${e.RESET}`;export{n};
2
+ //# sourceMappingURL=log.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.mjs","names":["e","t"],"sources":["../../../../../../../config/dist/esm/defaultValues/log.mjs"],"sourcesContent":["import{__exportAll as e}from\"../_virtual/_rolldown/runtime.mjs\";import{ANSIColors as t}from\"../logger.mjs\";var n=e({MODE:()=>r,PREFIX:()=>i});const r=`default`,i=`${t.GREY_DARK}[intlayer] ${t.RESET}`;export{r as MODE,i as PREFIX,n as log_exports};\n//# sourceMappingURL=log.mjs.map"],"mappings":"mFAA2G,IAAI,EAAEA,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,GAAGC,EAAE,UAAU,aAAaA,EAAE"}
@@ -0,0 +1,2 @@
1
+ import{t as e}from"../_virtual/_rolldown/runtime.mjs";var t=e({BASE_PATH:()=>``,COOKIE_NAME:()=>r,HEADER_NAME:()=>n,LOCALE_STORAGE_NAME:()=>i,ROUTING_MODE:()=>o,SERVER_SET_COOKIE:()=>a,STORAGE:()=>s});const n=`x-intlayer-locale`,r=`INTLAYER_LOCALE`,i=`INTLAYER_LOCALE`,a=`always`,o=`prefix-no-default`,s=[`cookie`,`header`];export{t};
2
+ //# sourceMappingURL=routing.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing.mjs","names":["e"],"sources":["../../../../../../../config/dist/esm/defaultValues/routing.mjs"],"sourcesContent":["import{__exportAll as e}from\"../_virtual/_rolldown/runtime.mjs\";var t=e({BASE_PATH:()=>``,COOKIE_NAME:()=>r,HEADER_NAME:()=>n,LOCALE_STORAGE_NAME:()=>i,ROUTING_MODE:()=>s,SERVER_SET_COOKIE:()=>o,STORAGE:()=>c});const n=`x-intlayer-locale`,r=`INTLAYER_LOCALE`,i=`INTLAYER_LOCALE`,a=``,o=`always`,s=`prefix-no-default`,c=[`cookie`,`header`];export{a as BASE_PATH,r as COOKIE_NAME,n as HEADER_NAME,i as LOCALE_STORAGE_NAME,s as ROUTING_MODE,o as SERVER_SET_COOKIE,c as STORAGE,t as routing_exports};\n//# sourceMappingURL=routing.mjs.map"],"mappings":"sDAAgE,IAAI,EAAEA,EAAE,CAAC,cAAc,GAAG,gBAAgB,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,kBAAuB,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC,SAAS,SAAS"}
@@ -0,0 +1,2 @@
1
+ import{t as e}from"../_virtual/_rolldown/runtime.mjs";var t=e({CACHE_DIR:()=>f,CONFIG_DIR:()=>d,DICTIONARIES_DIR:()=>r,DYNAMIC_DICTIONARIES_DIR:()=>s,FETCH_DICTIONARIES_DIR:()=>c,MAIN_DIR:()=>n,MASKS_DIR:()=>i,MODULE_AUGMENTATION_DIR:()=>u,REMOTE_DICTIONARIES_DIR:()=>a,TEMP_DIR:()=>p,TYPES_DIR:()=>l,UNMERGED_DICTIONARIES_DIR:()=>o});const n=`.intlayer/main`,r=`.intlayer/dictionary`,i=`.intlayer/mask`,a=`.intlayer/remote_dictionary`,o=`.intlayer/unmerged_dictionary`,s=`.intlayer/dynamic_dictionary`,c=`.intlayer/fetch_dictionary`,l=`.intlayer/types`,u=`.intlayer/types`,d=`.intlayer/config`,f=`.intlayer/cache`,p=`.intlayer/tmp`;export{t};
2
+ //# sourceMappingURL=system.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.mjs","names":["e"],"sources":["../../../../../../../config/dist/esm/defaultValues/system.mjs"],"sourcesContent":["import{__exportAll as e}from\"../_virtual/_rolldown/runtime.mjs\";var t=e({CACHE_DIR:()=>f,CONFIG_DIR:()=>d,DICTIONARIES_DIR:()=>r,DYNAMIC_DICTIONARIES_DIR:()=>s,FETCH_DICTIONARIES_DIR:()=>c,MAIN_DIR:()=>n,MASKS_DIR:()=>i,MODULE_AUGMENTATION_DIR:()=>u,REMOTE_DICTIONARIES_DIR:()=>a,TEMP_DIR:()=>p,TYPES_DIR:()=>l,UNMERGED_DICTIONARIES_DIR:()=>o});const n=`.intlayer/main`,r=`.intlayer/dictionary`,i=`.intlayer/mask`,a=`.intlayer/remote_dictionary`,o=`.intlayer/unmerged_dictionary`,s=`.intlayer/dynamic_dictionary`,c=`.intlayer/fetch_dictionary`,l=`.intlayer/types`,u=`.intlayer/types`,d=`.intlayer/config`,f=`.intlayer/cache`,p=`.intlayer/tmp`;export{f as CACHE_DIR,d as CONFIG_DIR,r as DICTIONARIES_DIR,s as DYNAMIC_DICTIONARIES_DIR,c as FETCH_DICTIONARIES_DIR,n as MAIN_DIR,i as MASKS_DIR,u as MODULE_AUGMENTATION_DIR,a as REMOTE_DICTIONARIES_DIR,p as TEMP_DIR,l as TYPES_DIR,o as UNMERGED_DICTIONARIES_DIR,t as system_exports};\n//# sourceMappingURL=system.mjs.map"],"mappings":"sDAAgE,IAAI,EAAEA,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,aAAa,EAAE,cAAc,EAAE,4BAA4B,EAAE,4BAA4B,EAAE,aAAa,EAAE,cAAc,EAAE,8BAA8B,EAAE,CAAC,CAAC,MAAM,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,gCAAgC,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE"}
@@ -0,0 +1,2 @@
1
+ let e=function(e){return e.RESET=`\x1B[0m`,e.GREY=`\x1B[90m`,e.GREY_DARK=`\x1B[38;5;239m`,e.GREY_LIGHT=`\x1B[38;5;252m`,e.BLUE=`\x1B[34m`,e.RED=`\x1B[31m`,e.GREEN=`\x1B[32m`,e.YELLOW=`\x1B[38;5;226m`,e.MAGENTA=`\x1B[35m`,e.BEIGE=`\x1B[38;5;3m`,e.ORANGE=`\x1B[38;5;208m`,e.CYAN=`\x1B[36m`,e.WHITE=`\x1B[37m`,e.BOLD=`\x1B[1m`,e}({});const t=(t,n,r)=>n?`${n}${t}${r?typeof r==`boolean`?e.RESET:r:e.RESET}`:t;t(`✗`,e.RED),t(`✓`,e.GREEN),t(`⏲`,e.BLUE);export{e as i};
2
+ //# sourceMappingURL=logger.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.mjs","names":[],"sources":["../../../../../../config/dist/esm/logger.mjs"],"sourcesContent":["let e;const t=t=>{e=t},n=t=>e===void 0?t:e,r=(e,t)=>{let r=t?.isVerbose??!1,i=t?.config?.mode??`default`,a=t?.level??`info`,o=n(t?.config?.prefix),s=t?.config?.log??console.log,c=t?.config?.info??console.info,l=t?.config?.warn??console.warn,u=t?.config?.error??console.error,d=t?.config?.debug??console.debug;if(i===`disabled`||r&&i!==`verbose`)return;let f=o?[o,...[e].flat()]:[e].flat();if(a===`debug`)return d(...f);if(a===`info`)return c(...f);if(a===`warn`)return l(...f);if(a===`error`)return u(...f);s(...f)};let i=function(e){return e.RESET=`\\x1B[0m`,e.GREY=`\\x1B[90m`,e.GREY_DARK=`\\x1B[38;5;239m`,e.GREY_LIGHT=`\\x1B[38;5;252m`,e.BLUE=`\\x1B[34m`,e.RED=`\\x1B[31m`,e.GREEN=`\\x1B[32m`,e.YELLOW=`\\x1B[38;5;226m`,e.MAGENTA=`\\x1B[35m`,e.BEIGE=`\\x1B[38;5;3m`,e.ORANGE=`\\x1B[38;5;208m`,e.CYAN=`\\x1B[36m`,e.WHITE=`\\x1B[37m`,e.BOLD=`\\x1B[1m`,e}({});const a=[`⠋`,`⠙`,`⠹`,`⠸`,`⠼`,`⠴`,`⠦`,`⠧`,`⠇`,`⠏`],o=(e,t)=>(n,i)=>r(n,{...i??{},config:{...e?.log,...t?.config,...i?.config??{}}}),s=(e,t,n)=>t?`${t}${e}${n?typeof n==`boolean`?i.RESET:n:i.RESET}`:e,c=(e,t=i.GREEN,n=i.RESET)=>[e].flat().map(e=>s(e,t,n)).join(`, `),l=(e,t=i.BEIGE,n=i.RESET)=>[e].flat().map(e=>s(e,t,n)).join(`, `),u=(e,t=i.GREY,n=i.RESET)=>[e].flat().map(e=>s(e,t,n)).join(`, `),d=(e,t={zero:i.BLUE,one:i.BLUE,two:i.BLUE,few:i.BLUE,many:i.BLUE,other:i.BLUE})=>{if(e===0){let n=t.zero??i.GREEN;return s(e.toString(),n)}let n=t[new Intl.PluralRules(`en`).select(Number(e))];return s(e.toString(),n)},f=e=>e.replace(/\\x1b\\[[0-9;]*m/g,``),p=e=>{let t=0;return typeof e==`number`&&(t=e),typeof e==`string`&&(t=e.length),Array.isArray(e)&&e.every(e=>typeof e==`string`)&&(t=Math.max(...e.map(e=>e.length))),Array.isArray(e)&&e.every(e=>typeof e==`number`)&&(t=Math.max(...e)),Math.max(t,0)},m={colSize:0,minSize:0,maxSize:1/0,pad:`right`,padChar:`0`},h=(e,t)=>[e].flat().map(e=>{let{colSize:n,minSize:r,maxSize:i,pad:a}={...m,...t??{}},o=p(n),s=Math.max(r,Math.min(i,o-f(e).length));return a===`left`?`${` `.repeat(s)}${e}`:`${e}${` `.repeat(s)}`}).join(``),g=s(`✗`,i.RED),_=s(`✓`,i.GREEN),v=s(`⏲`,i.BLUE);export{i as ANSIColors,v as clock,h as colon,s as colorize,l as colorizeKey,c as colorizeLocales,d as colorizeNumber,u as colorizePath,o as getAppLogger,n as getPrefix,r as logger,f as removeColor,t as setPrefix,a as spinnerFrames,_ as v,g as x};\n//# sourceMappingURL=logger.mjs.map"],"mappings":"AAAogB,IAAI,EAAE,SAAS,EAAE,CAAC,MAAO,GAAE,MAAM,UAAU,EAAE,KAAK,WAAW,EAAE,UAAU,iBAAiB,EAAE,WAAW,iBAAiB,EAAE,KAAK,WAAW,EAAE,IAAI,WAAW,EAAE,MAAM,WAAW,EAAE,OAAO,iBAAiB,EAAE,QAAQ,WAAW,EAAE,MAAM,eAAe,EAAE,OAAO,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,EAAE,KAAK,UAAU,GAAG,EAAE,CAAC,CAAC,MAAmI,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,OAAO,GAAG,UAAU,EAAE,MAAM,EAAE,EAAE,QAAQ,EAA88B,EAAE,IAAI,EAAE,IAAI,CAAG,EAAE,IAAI,EAAE,MAAM,CAAG,EAAE,IAAI,EAAE,KAAK"}
@@ -1,3 +1,3 @@
1
- import{readFile as e,writeFile as t}from"node:fs/promises";import{parse as n,traverse as r,types as i}from"@babel/core";import a from"magic-string";import{parse as o}from"svelte/compiler";const s=(e,t)=>{if(!e)return!1;if(!t||t.length===0)return!0;let n=e.replace(/\\/g,`/`);return t.some(e=>e.replace(/\\/g,`/`)===n)},c=(e,t,c={})=>{let{defaultLocale:l=`en`,packageName:u=`svelte-intlayer`,filesList:d,shouldExtract:f,onExtract:p,dictionaryKey:m,attributesToExtract:h=[],extractDictionaryKeyFromPath:g,generateKey:_}=c;if(!s(t,d)||!t.endsWith(`.svelte`))return null;let v=new a(e),y={},b=new Set,x=m??g?.(t)??``,S=[],C;try{C=o(e)}catch(e){return console.warn(`Svelte extraction: Failed to parse Svelte AST for ${t}`,e),null}let w=e=>e.type===`Text`||e.type===3,T=e=>e.type===`Attribute`||e.type===6,E=e=>{if(w(e)){let t=e.data??e.content??``;if(f?.(t)&&_){let n=_(t,b);b.add(n),S.push({start:e.start,end:e.end,replacement:`{$content.${n}}`,key:n,value:t.replace(/\s+/g,` `).trim()})}}else if(T(e)&&h.includes(e.name)&&e.value&&e.value.length===1&&w(e.value[0])){let t=e.value[0].data??e.value[0].content??``;if(f?.(t)&&_){let n=_(t,b);b.add(n),S.push({start:e.start,end:e.end,replacement:`${e.name}={$content.${n}}`,key:n,value:t.trim()})}}let t=e.children??e.fragment?.nodes??e.fragment?.children;t&&t.forEach(E),e.attributes&&e.attributes.forEach(E)};C.html&&E(C.html);let D=/<script[^>]*>([\s\S]*?)<\/script>/.exec(e),O=!1,k=D?D[1]:``;if(D){let e=D[0].indexOf(`>`)+1,a=D.index+e;try{let e=n(k,{parserOpts:{sourceType:`module`,plugins:[`typescript`,`jsx`]}});e&&r(e,{StringLiteral(e){if(e.parentPath.isImportDeclaration()||e.parentPath.isExportDeclaration()||e.parentPath.isImportSpecifier()||e.parentPath.isObjectProperty()&&e.key===`key`)return;if(e.parentPath.isCallExpression()){let t=e.parentPath.node.callee;if(i.isMemberExpression(t)&&i.isIdentifier(t.object)&&t.object.name===`console`||i.isIdentifier(t)&&(t.name===`useIntlayer`||t.name===`t`)||t.type===`Import`||i.isIdentifier(t)&&t.name===`require`)return}let t=e.node.value;if(f?.(t)&&_){let n=_(t,b);b.add(n),O=!0,e.node.start!=null&&e.node.end!=null&&S.push({start:a+e.node.start,end:a+e.node.end,replacement:`get(content).${n}`,key:n,value:t.trim()})}}})}catch(e){console.warn(`Svelte extraction: Failed to parse script content for ${t}`,e)}}if(S.length===0)return null;S.sort((e,t)=>t.start-e.start);for(let{start:e,end:t,replacement:n,key:r,value:i}of S)v.overwrite(e,t,n),y[r]=i;let A=/import\s*{[^}]*useIntlayer[^}]*}\s*from\s*['"][^'"]+['"]/.test(k)||/import\s+useIntlayer\s+from\s*['"][^'"]+['"]/.test(k),j=/import\s*{[^}]*get[^}]*}\s*from\s*['"]svelte\/store['"]/.test(k),M=/const\s+content\s*=\s*useIntlayer\s*\(/.test(k),N=A?``:`import { useIntlayer } from '${u}';`,P=O&&!j?`import { get } from 'svelte/store';`:``,F=M?``:`const content = useIntlayer('${x}');`,I=[N,P,F].filter(Boolean);if(I.length>0){let e=`\n ${I.join(`
2
- `)}\n`;if(D){let t=D.index+D[0].indexOf(`>`)+1;v.appendLeft(t,e)}else v.prepend(`<script>\n ${N}\n ${O?`import { get } from 'svelte/store';`:``}\n ${F}\n<\/script>\n\n`)}return p&&p({dictionaryKey:x,filePath:t,content:{...y},locale:l}),{code:v.toString(),map:v.generateMap({source:t,includeContent:!0}),extracted:!0}},l=async(n,r,i,a,o=!0)=>{let s=await e(n,`utf-8`),l=null,u=c(s,n,{packageName:i,dictionaryKey:r,shouldExtract:a.shouldExtract,generateKey:a.generateKey,extractDictionaryKeyFromPath:a.extractDictionaryKeyFromPath,attributesToExtract:a.attributesToExtract,onExtract:e=>{l=e.content}});return u?(o&&await t(n,u.code),l):null};export{c as intlayerSvelteExtract,l as processSvelteFile,s as shouldProcessFile};
1
+ import{u as e}from"./config/dist/esm/defaultValues/index.mjs";import{readFileSync as t,writeFileSync as n}from"node:fs";import{parse as r,traverse as i,types as a}from"@babel/core";import o from"magic-string";import{parse as s}from"svelte/compiler";const c=(e,t)=>{if(!e)return!1;if(!t||t.length===0)return!0;let n=e.replace(/\\/g,`/`);return t.some(e=>e.replace(/\\/g,`/`)===n)},l=(t,n,l={})=>{let{defaultLocale:u=e.Internationalization.DEFAULT_LOCALE,packageName:d=`svelte-intlayer`,filesList:f,shouldExtract:p,onExtract:m,dictionaryKey:h,attributesToExtract:g=[],extractDictionaryKeyFromPath:_,generateKey:v}=l;if(!c(n,f)||!n.endsWith(`.svelte`))return null;let y=new o(t),b={},x=new Set,S=h??_?.(n)??``,C=[],w;try{w=s(t)}catch(e){return console.warn(`Svelte extraction: Failed to parse Svelte AST for ${n}`,e),null}let T=e=>e.type===`Text`||e.type===3,E=e=>e.type===`Attribute`||e.type===6,D=e=>{if(T(e)){let t=e.data??e.content??``;if(p?.(t)&&v){let n=v(t,x);x.add(n),C.push({start:e.start,end:e.end,replacement:`{$content.${n}}`,key:n,value:t.replace(/\s+/g,` `).trim()})}}else if(E(e)&&g.includes(e.name)&&e.value&&e.value.length===1&&T(e.value[0])){let t=e.value[0].data??e.value[0].content??``;if(p?.(t)&&v){let n=v(t,x);x.add(n),C.push({start:e.start,end:e.end,replacement:`${e.name}={$content.${n}}`,key:n,value:t.trim()})}}let t=e.children??e.fragment?.nodes??e.fragment?.children;t&&t.forEach(D),e.attributes&&e.attributes.forEach(D)};w.html&&D(w.html);let O=/<script[^>]*>([\s\S]*?)<\/script>/.exec(t),k=!1,A=O?O[1]:``;if(O){let e=O[0].indexOf(`>`)+1,t=O.index+e;try{let e=r(A,{parserOpts:{sourceType:`module`,plugins:[`typescript`,`jsx`]}});e&&i(e,{StringLiteral(e){if(e.parentPath.isImportDeclaration()||e.parentPath.isExportDeclaration()||e.parentPath.isImportSpecifier()||e.parentPath.isObjectProperty()&&e.key===`key`)return;if(e.parentPath.isCallExpression()){let t=e.parentPath.node.callee;if(a.isMemberExpression(t)&&a.isIdentifier(t.object)&&t.object.name===`console`||a.isIdentifier(t)&&(t.name===`useIntlayer`||t.name===`t`)||t.type===`Import`||a.isIdentifier(t)&&t.name===`require`)return}let n=e.node.value;if(p?.(n)&&v){let r=v(n,x);x.add(r),k=!0,e.node.start!=null&&e.node.end!=null&&C.push({start:t+e.node.start,end:t+e.node.end,replacement:`get(content).${r}`,key:r,value:n.trim()})}}})}catch(e){console.warn(`Svelte extraction: Failed to parse script content for ${n}`,e)}}if(C.length===0)return null;C.sort((e,t)=>t.start-e.start);for(let{start:e,end:t,replacement:n,key:r,value:i}of C)y.overwrite(e,t,n),b[r]=i;let j=/import\s*{[^}]*useIntlayer[^}]*}\s*from\s*['"][^'"]+['"]/.test(A)||/import\s+useIntlayer\s+from\s*['"][^'"]+['"]/.test(A),M=/import\s*{[^}]*get[^}]*}\s*from\s*['"]svelte\/store['"]/.test(A),N=/const\s+content\s*=\s*useIntlayer\s*\(/.test(A),P=j?``:`import { useIntlayer } from '${d}';`,F=k&&!M?`import { get } from 'svelte/store';`:``,I=N?``:`const content = useIntlayer('${S}');`,L=[P,F,I].filter(Boolean);if(L.length>0){let e=`\n ${L.join(`
2
+ `)}\n`;if(O){let t=O.index+O[0].indexOf(`>`)+1;y.appendLeft(t,e)}else y.prepend(`<script>\n ${P}\n ${k?`import { get } from 'svelte/store';`:``}\n ${I}\n<\/script>\n\n`)}return m&&m({dictionaryKey:S,filePath:n,content:b,locale:u}),{code:y.toString(),map:y.generateMap({source:n,includeContent:!0}),extracted:!0}},u=(e,r,i,a,o=!0)=>{let s=t(e,`utf-8`),c=null,u=l(s,e,{packageName:i,dictionaryKey:r,shouldExtract:a.shouldExtract,generateKey:a.generateKey,extractDictionaryKeyFromPath:a.extractDictionaryKeyFromPath,attributesToExtract:a.attributesToExtract,onExtract:e=>{c=e.content}});return u?(o&&n(e,u.code),{extractedContent:c,code:u.code,map:u.map}):null};export{l as intlayerSvelteExtract,u as processSvelteFile,c as shouldProcessFile};
3
3
  //# sourceMappingURL=svelte-intlayer-extract.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"svelte-intlayer-extract.mjs","names":["parse","babelParse","t"],"sources":["../../src/svelte-intlayer-extract.ts"],"sourcesContent":["import { readFile, writeFile } from 'node:fs/promises';\nimport { parse as babelParse, types as t, traverse } from '@babel/core';\nimport MagicString from 'magic-string';\nimport { parse } from 'svelte/compiler';\n\nexport type ExtractedContent = Record<string, string>;\n\nexport type ExtractResult = {\n dictionaryKey: string;\n filePath: string;\n content: ExtractedContent;\n locale: string;\n};\n\nexport type ExtractPluginOptions = {\n defaultLocale?: string;\n packageName?: string;\n filesList?: string[];\n shouldExtract?: (text: string) => boolean;\n onExtract?: (result: ExtractResult) => void;\n dictionaryKey?: string;\n attributesToExtract?: readonly string[];\n extractDictionaryKeyFromPath?: (path: string) => string;\n generateKey?: (text: string, existingKeys: Set<string>) => string;\n};\n\ntype Replacement = {\n start: number;\n end: number;\n replacement: string;\n key: string;\n value: string;\n};\n\n/* ────────────────────────────────────────── helpers ─────────────────────── */\n\nexport const shouldProcessFile = (\n filename: string | undefined,\n filesList?: string[]\n): boolean => {\n if (!filename) return false;\n if (!filesList || filesList.length === 0) return true;\n\n const normalizedFilename = filename.replace(/\\\\/g, '/');\n return filesList.some((f) => {\n const normalizedF = f.replace(/\\\\/g, '/');\n return normalizedF === normalizedFilename;\n });\n};\n\n/* ────────────────────────────────────────── plugin ──────────────────────── */\n\nexport const intlayerSvelteExtract = (\n code: string,\n filename: string,\n options: ExtractPluginOptions = {}\n): { code: string; map?: unknown; extracted: boolean } | null => {\n const {\n defaultLocale = 'en',\n packageName = 'svelte-intlayer',\n filesList,\n shouldExtract,\n onExtract,\n dictionaryKey: dictionaryKeyOption,\n attributesToExtract = [],\n extractDictionaryKeyFromPath,\n generateKey,\n } = options;\n\n if (!shouldProcessFile(filename, filesList)) return null;\n if (!filename.endsWith('.svelte')) return null;\n\n const magic = new MagicString(code);\n const extractedContent: ExtractedContent = {};\n const existingKeys = new Set<string>();\n const dictionaryKey =\n dictionaryKeyOption ?? extractDictionaryKeyFromPath?.(filename) ?? '';\n const replacements: Replacement[] = [];\n\n let ast: any;\n try {\n ast = parse(code);\n } catch (e) {\n console.warn(\n `Svelte extraction: Failed to parse Svelte AST for ${filename}`,\n e\n );\n return null;\n }\n\n // Walk Svelte HTML AST.\n // Svelte 4 used numeric type constants; Svelte 5 uses string type names.\n // We check for both to remain compatible.\n const isTextNode = (node: any) => node.type === 'Text' || node.type === 3;\n const isAttributeNode = (node: any) =>\n node.type === 'Attribute' || node.type === 6;\n\n const walkSvelte = (node: any) => {\n if (isTextNode(node)) {\n const text = node.data ?? node.content ?? '';\n if (shouldExtract?.(text) && generateKey) {\n const key = generateKey(text, existingKeys);\n existingKeys.add(key);\n replacements.push({\n start: node.start,\n end: node.end,\n replacement: `{$content.${key}}`,\n key,\n value: text.replace(/\\s+/g, ' ').trim(),\n });\n }\n } else if (\n isAttributeNode(node) &&\n (attributesToExtract as readonly string[]).includes(node.name)\n ) {\n if (node.value && node.value.length === 1 && isTextNode(node.value[0])) {\n const text = node.value[0].data ?? node.value[0].content ?? '';\n if (shouldExtract?.(text) && generateKey) {\n const key = generateKey(text, existingKeys);\n existingKeys.add(key);\n replacements.push({\n start: node.start,\n end: node.end,\n replacement: `${node.name}={$content.${key}}`,\n key,\n value: text.trim(),\n });\n }\n }\n }\n\n const children =\n node.children ?? node.fragment?.nodes ?? node.fragment?.children;\n if (children) children.forEach(walkSvelte);\n if (node.attributes) node.attributes.forEach(walkSvelte);\n };\n\n if (ast.html) {\n walkSvelte(ast.html);\n }\n\n // Extract and walk Script using Babel\n const scriptRegex = /<script[^>]*>([\\s\\S]*?)<\\/script>/;\n const scriptMatch = scriptRegex.exec(code);\n let hasScriptExtraction = false;\n const scriptContent = scriptMatch ? scriptMatch[1] : '';\n\n if (scriptMatch) {\n const openTagEndIndex = scriptMatch[0].indexOf('>') + 1;\n const offset = scriptMatch.index + openTagEndIndex;\n\n try {\n const babelAst = babelParse(scriptContent, {\n parserOpts: {\n sourceType: 'module',\n plugins: ['typescript', 'jsx'],\n },\n });\n\n if (babelAst) {\n traverse(babelAst, {\n StringLiteral(path: any) {\n if (path.parentPath.isImportDeclaration()) return;\n if (path.parentPath.isExportDeclaration()) return;\n if (path.parentPath.isImportSpecifier()) return;\n if (path.parentPath.isObjectProperty() && path.key === 'key')\n return;\n\n if (path.parentPath.isCallExpression()) {\n const callee = path.parentPath.node.callee;\n if (\n t.isMemberExpression(callee) &&\n t.isIdentifier(callee.object) &&\n callee.object.name === 'console'\n )\n return;\n\n if (\n t.isIdentifier(callee) &&\n (callee.name === 'useIntlayer' || callee.name === 't')\n )\n return;\n\n if (callee.type === 'Import') return;\n if (t.isIdentifier(callee) && callee.name === 'require') return;\n }\n\n const text = path.node.value;\n if (shouldExtract?.(text) && generateKey) {\n const key = generateKey(text, existingKeys);\n existingKeys.add(key);\n hasScriptExtraction = true;\n\n if (path.node.start != null && path.node.end != null) {\n replacements.push({\n start: offset + path.node.start,\n end: offset + path.node.end,\n replacement: `get(content).${key}`,\n key,\n value: text.trim(),\n });\n }\n }\n },\n });\n }\n } catch (e) {\n console.warn(\n `Svelte extraction: Failed to parse script content for ${filename}`,\n e\n );\n }\n }\n\n // Abort if nothing was extracted\n if (replacements.length === 0) return null;\n\n // Apply Replacements in Reverse Order (prevents magic-string chunk errors)\n replacements.sort((a, b) => b.start - a.start);\n for (const { start, end, replacement, key, value } of replacements) {\n magic.overwrite(start, end, replacement);\n extractedContent[key] = value;\n }\n\n // Inject necessary imports and setup\n const hasUseIntlayerImport =\n /import\\s*{[^}]*useIntlayer[^}]*}\\s*from\\s*['\"][^'\"]+['\"]/.test(\n scriptContent\n ) || /import\\s+useIntlayer\\s+from\\s*['\"][^'\"]+['\"]/.test(scriptContent);\n\n const hasGetImport =\n /import\\s*{[^}]*get[^}]*}\\s*from\\s*['\"]svelte\\/store['\"]/.test(\n scriptContent\n );\n const hasContentDeclaration = /const\\s+content\\s*=\\s*useIntlayer\\s*\\(/.test(\n scriptContent\n );\n\n const importStmt = hasUseIntlayerImport\n ? ''\n : `import { useIntlayer } from '${packageName}';`;\n const getImportStmt =\n hasScriptExtraction && !hasGetImport\n ? `import { get } from 'svelte/store';`\n : '';\n const contentDecl = hasContentDeclaration\n ? ''\n : `const content = useIntlayer('${dictionaryKey}');`;\n\n const injectionParts = [importStmt, getImportStmt, contentDecl].filter(\n Boolean\n );\n\n if (injectionParts.length > 0) {\n const injection = `\\n ${injectionParts.join('\\n ')}\\n`;\n\n if (scriptMatch) {\n const scriptContentStart =\n scriptMatch.index + scriptMatch[0].indexOf('>') + 1;\n magic.appendLeft(scriptContentStart, injection);\n } else {\n magic.prepend(\n `<script>\\n ${importStmt}\\n ${hasScriptExtraction ? \"import { get } from 'svelte/store';\" : ''}\\n ${contentDecl}\\n</script>\\n\\n`\n );\n }\n }\n\n if (onExtract) {\n onExtract({\n dictionaryKey,\n filePath: filename,\n content: { ...extractedContent },\n locale: defaultLocale,\n });\n }\n\n return {\n code: magic.toString(),\n map: magic.generateMap({ source: filename, includeContent: true }),\n extracted: true,\n };\n};\n\ntype Tools = {\n generateKey: (text: string, existingKeys: Set<string>) => string;\n shouldExtract: (text: string) => boolean;\n extractDictionaryKeyFromPath: (path: string) => string;\n attributesToExtract: readonly string[];\n extractTsContent: any;\n};\n\nexport const processSvelteFile = async (\n filePath: string,\n _componentKey: string,\n packageName: string,\n tools: Tools,\n save: boolean = true\n): Promise<Record<string, string> | null> => {\n const code = await readFile(filePath, 'utf-8');\n let extractedContent: Record<string, string> | null = null;\n\n const result = intlayerSvelteExtract(code, filePath, {\n packageName,\n dictionaryKey: _componentKey,\n shouldExtract: tools.shouldExtract,\n generateKey: tools.generateKey,\n extractDictionaryKeyFromPath: tools.extractDictionaryKeyFromPath,\n attributesToExtract: tools.attributesToExtract,\n onExtract: (extractResult) => {\n extractedContent = extractResult.content;\n },\n });\n\n if (!result) return null;\n\n if (save) {\n await writeFile(filePath, result.code);\n }\n\n return extractedContent;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"svelte-intlayer-extract.mjs","names":["DefaultValues","parse","babelParse","t"],"sources":["../../src/svelte-intlayer-extract.ts"],"sourcesContent":["import { readFileSync, writeFileSync } from 'node:fs';\nimport { parse as babelParse, types as t, traverse } from '@babel/core';\nimport { DefaultValues } from '@intlayer/config/client';\nimport type { Locale } from '@intlayer/types/allLocales';\nimport MagicString from 'magic-string';\nimport { parse } from 'svelte/compiler';\n\nexport type ExtractedContent = Record<string, string>;\n\nexport type ExtractResult = {\n dictionaryKey: string;\n filePath: string;\n content: ExtractedContent;\n locale: Locale;\n};\n\nexport type ExtractPluginOptions = {\n defaultLocale?: Locale;\n packageName?: string;\n filesList?: string[];\n shouldExtract?: (text: string) => boolean;\n onExtract?: (result: ExtractResult) => void;\n dictionaryKey?: string;\n attributesToExtract?: readonly string[];\n extractDictionaryKeyFromPath?: (path: string) => string;\n generateKey?: (text: string, existingKeys: Set<string>) => string;\n};\n\ntype Replacement = {\n start: number;\n end: number;\n replacement: string;\n key: string;\n value: string;\n};\n\n/* ────────────────────────────────────────── helpers ─────────────────────── */\n\nexport const shouldProcessFile = (\n filename: string | undefined,\n filesList?: string[]\n): boolean => {\n if (!filename) return false;\n if (!filesList || filesList.length === 0) return true;\n\n const normalizedFilename = filename.replace(/\\\\/g, '/');\n return filesList.some((f) => {\n const normalizedF = f.replace(/\\\\/g, '/');\n return normalizedF === normalizedFilename;\n });\n};\n\n/* ────────────────────────────────────────── plugin ──────────────────────── */\n\nexport const intlayerSvelteExtract = (\n code: string,\n filename: string,\n options: ExtractPluginOptions = {}\n): { code: string; map?: unknown; extracted: boolean } | null => {\n const {\n defaultLocale = DefaultValues.Internationalization.DEFAULT_LOCALE,\n packageName = 'svelte-intlayer',\n filesList,\n shouldExtract,\n onExtract,\n dictionaryKey: dictionaryKeyOption,\n attributesToExtract = [],\n extractDictionaryKeyFromPath,\n generateKey,\n } = options;\n\n if (!shouldProcessFile(filename, filesList)) return null;\n if (!filename.endsWith('.svelte')) return null;\n\n const magic = new MagicString(code);\n const extractedContent: ExtractedContent = {};\n const existingKeys = new Set<string>();\n const dictionaryKey =\n dictionaryKeyOption ?? extractDictionaryKeyFromPath?.(filename) ?? '';\n const replacements: Replacement[] = [];\n\n let ast: any;\n try {\n ast = parse(code);\n } catch (e) {\n console.warn(\n `Svelte extraction: Failed to parse Svelte AST for ${filename}`,\n e\n );\n return null;\n }\n\n // Walk Svelte HTML AST.\n // Svelte 4 used numeric type constants; Svelte 5 uses string type names.\n // We check for both to remain compatible.\n const isTextNode = (node: any) => node.type === 'Text' || node.type === 3;\n const isAttributeNode = (node: any) =>\n node.type === 'Attribute' || node.type === 6;\n\n const walkSvelte = (node: any) => {\n if (isTextNode(node)) {\n const text = node.data ?? node.content ?? '';\n if (shouldExtract?.(text) && generateKey) {\n const key = generateKey(text, existingKeys);\n existingKeys.add(key);\n replacements.push({\n start: node.start,\n end: node.end,\n replacement: `{$content.${key}}`,\n key,\n value: text.replace(/\\s+/g, ' ').trim(),\n });\n }\n } else if (\n isAttributeNode(node) &&\n (attributesToExtract as readonly string[]).includes(node.name)\n ) {\n if (node.value && node.value.length === 1 && isTextNode(node.value[0])) {\n const text = node.value[0].data ?? node.value[0].content ?? '';\n if (shouldExtract?.(text) && generateKey) {\n const key = generateKey(text, existingKeys);\n existingKeys.add(key);\n replacements.push({\n start: node.start,\n end: node.end,\n replacement: `${node.name}={$content.${key}}`,\n key,\n value: text.trim(),\n });\n }\n }\n }\n\n const children =\n node.children ?? node.fragment?.nodes ?? node.fragment?.children;\n if (children) children.forEach(walkSvelte);\n if (node.attributes) node.attributes.forEach(walkSvelte);\n };\n\n if (ast.html) {\n walkSvelte(ast.html);\n }\n\n // Extract and walk Script using Babel\n const scriptRegex = /<script[^>]*>([\\s\\S]*?)<\\/script>/;\n const scriptMatch = scriptRegex.exec(code);\n let hasScriptExtraction = false;\n const scriptContent = scriptMatch ? scriptMatch[1] : '';\n\n if (scriptMatch) {\n const openTagEndIndex = scriptMatch[0].indexOf('>') + 1;\n const offset = scriptMatch.index + openTagEndIndex;\n\n try {\n const babelAst = babelParse(scriptContent, {\n parserOpts: {\n sourceType: 'module',\n plugins: ['typescript', 'jsx'],\n },\n });\n\n if (babelAst) {\n traverse(babelAst, {\n StringLiteral(path: any) {\n if (path.parentPath.isImportDeclaration()) return;\n if (path.parentPath.isExportDeclaration()) return;\n if (path.parentPath.isImportSpecifier()) return;\n if (path.parentPath.isObjectProperty() && path.key === 'key')\n return;\n\n if (path.parentPath.isCallExpression()) {\n const callee = path.parentPath.node.callee;\n if (\n t.isMemberExpression(callee) &&\n t.isIdentifier(callee.object) &&\n callee.object.name === 'console'\n )\n return;\n\n if (\n t.isIdentifier(callee) &&\n (callee.name === 'useIntlayer' || callee.name === 't')\n )\n return;\n\n if (callee.type === 'Import') return;\n if (t.isIdentifier(callee) && callee.name === 'require') return;\n }\n\n const text = path.node.value;\n if (shouldExtract?.(text) && generateKey) {\n const key = generateKey(text, existingKeys);\n existingKeys.add(key);\n hasScriptExtraction = true;\n\n if (path.node.start != null && path.node.end != null) {\n replacements.push({\n start: offset + path.node.start,\n end: offset + path.node.end,\n replacement: `get(content).${key}`,\n key,\n value: text.trim(),\n });\n }\n }\n },\n });\n }\n } catch (e) {\n console.warn(\n `Svelte extraction: Failed to parse script content for ${filename}`,\n e\n );\n }\n }\n\n // Abort if nothing was extracted\n if (replacements.length === 0) return null;\n\n // Apply Replacements in Reverse Order (prevents magic-string chunk errors)\n replacements.sort((a, b) => b.start - a.start);\n for (const { start, end, replacement, key, value } of replacements) {\n magic.overwrite(start, end, replacement);\n extractedContent[key] = value;\n }\n\n // Inject necessary imports and setup\n const hasUseIntlayerImport =\n /import\\s*{[^}]*useIntlayer[^}]*}\\s*from\\s*['\"][^'\"]+['\"]/.test(\n scriptContent\n ) || /import\\s+useIntlayer\\s+from\\s*['\"][^'\"]+['\"]/.test(scriptContent);\n\n const hasGetImport =\n /import\\s*{[^}]*get[^}]*}\\s*from\\s*['\"]svelte\\/store['\"]/.test(\n scriptContent\n );\n const hasContentDeclaration = /const\\s+content\\s*=\\s*useIntlayer\\s*\\(/.test(\n scriptContent\n );\n\n const importStmt = hasUseIntlayerImport\n ? ''\n : `import { useIntlayer } from '${packageName}';`;\n const getImportStmt =\n hasScriptExtraction && !hasGetImport\n ? `import { get } from 'svelte/store';`\n : '';\n const contentDecl = hasContentDeclaration\n ? ''\n : `const content = useIntlayer('${dictionaryKey}');`;\n\n const injectionParts = [importStmt, getImportStmt, contentDecl].filter(\n Boolean\n );\n\n if (injectionParts.length > 0) {\n const injection = `\\n ${injectionParts.join('\\n ')}\\n`;\n\n if (scriptMatch) {\n const scriptContentStart =\n scriptMatch.index + scriptMatch[0].indexOf('>') + 1;\n magic.appendLeft(scriptContentStart, injection);\n } else {\n magic.prepend(\n `<script>\\n ${importStmt}\\n ${hasScriptExtraction ? \"import { get } from 'svelte/store';\" : ''}\\n ${contentDecl}\\n</script>\\n\\n`\n );\n }\n }\n\n if (onExtract) {\n onExtract({\n dictionaryKey,\n filePath: filename,\n content: extractedContent,\n locale: defaultLocale,\n });\n }\n\n return {\n code: magic.toString(),\n map: magic.generateMap({ source: filename, includeContent: true }),\n extracted: true,\n };\n};\n\ntype Tools = {\n generateKey: (text: string, existingKeys: Set<string>) => string;\n shouldExtract: (text: string) => boolean;\n extractDictionaryKeyFromPath: (path: string) => string;\n attributesToExtract: readonly string[];\n extractTsContent: any;\n};\n\nexport const processSvelteFile = (\n filePath: string,\n _componentKey: string,\n packageName: string,\n tools: Tools,\n save: boolean = true\n): {\n extractedContent: Record<string, string>;\n code: string;\n map?: any;\n} | null => {\n const code = readFileSync(filePath, 'utf-8');\n let extractedContent: Record<string, string> | null = null;\n\n const result = intlayerSvelteExtract(code, filePath, {\n packageName,\n dictionaryKey: _componentKey,\n shouldExtract: tools.shouldExtract,\n generateKey: tools.generateKey,\n extractDictionaryKeyFromPath: tools.extractDictionaryKeyFromPath,\n attributesToExtract: tools.attributesToExtract,\n onExtract: (extractResult) => {\n extractedContent = extractResult.content;\n },\n });\n\n if (!result) return null;\n\n if (save) {\n writeFileSync(filePath, result.code);\n }\n\n return {\n extractedContent: extractedContent!,\n code: result.code,\n map: result.map,\n };\n};\n"],"mappings":"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"}
@@ -1,13 +1,15 @@
1
+ import { Locale } from "@intlayer/types/allLocales";
2
+
1
3
  //#region src/svelte-intlayer-extract.d.ts
2
4
  type ExtractedContent = Record<string, string>;
3
5
  type ExtractResult = {
4
6
  dictionaryKey: string;
5
7
  filePath: string;
6
8
  content: ExtractedContent;
7
- locale: string;
9
+ locale: Locale;
8
10
  };
9
11
  type ExtractPluginOptions = {
10
- defaultLocale?: string;
12
+ defaultLocale?: Locale;
11
13
  packageName?: string;
12
14
  filesList?: string[];
13
15
  shouldExtract?: (text: string) => boolean;
@@ -30,7 +32,11 @@ type Tools = {
30
32
  attributesToExtract: readonly string[];
31
33
  extractTsContent: any;
32
34
  };
33
- declare const processSvelteFile: (filePath: string, _componentKey: string, packageName: string, tools: Tools, save?: boolean) => Promise<Record<string, string> | null>;
35
+ declare const processSvelteFile: (filePath: string, _componentKey: string, packageName: string, tools: Tools, save?: boolean) => {
36
+ extractedContent: Record<string, string>;
37
+ code: string;
38
+ map?: any;
39
+ } | null;
34
40
  //#endregion
35
41
  export { ExtractPluginOptions, ExtractResult, ExtractedContent, intlayerSvelteExtract, processSvelteFile, shouldProcessFile };
36
42
  //# sourceMappingURL=svelte-intlayer-extract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"svelte-intlayer-extract.d.ts","names":[],"sources":["../../src/svelte-intlayer-extract.ts"],"mappings":";KAKY,gBAAA,GAAmB,MAAA;AAAA,KAEnB,aAAA;EACV,aAAA;EACA,QAAA;EACA,OAAA,EAAS,gBAAA;EACT,MAAA;AAAA;AAAA,KAGU,oBAAA;EACV,aAAA;EACA,WAAA;EACA,SAAA;EACA,aAAA,IAAiB,IAAA;EACjB,SAAA,IAAa,MAAA,EAAQ,aAAA;EACrB,aAAA;EACA,mBAAA;EACA,4BAAA,IAAgC,IAAA;EAChC,WAAA,IAAe,IAAA,UAAc,YAAA,EAAc,GAAA;AAAA;AAAA,cAahC,iBAAA,GACX,QAAA,sBACA,SAAA;AAAA,cAcW,qBAAA,GACX,IAAA,UACA,QAAA,UACA,OAAA,GAAS,oBAAA;EACN,IAAA;EAAc,GAAA;EAAe,SAAA;AAAA;AAAA,KAmO7B,KAAA;EACH,WAAA,GAAc,IAAA,UAAc,YAAA,EAAc,GAAA;EAC1C,aAAA,GAAgB,IAAA;EAChB,4BAAA,GAA+B,IAAA;EAC/B,mBAAA;EACA,gBAAA;AAAA;AAAA,cAGW,iBAAA,GACX,QAAA,UACA,aAAA,UACA,WAAA,UACA,KAAA,EAAO,KAAA,EACP,IAAA,eACC,OAAA,CAAQ,MAAA"}
1
+ {"version":3,"file":"svelte-intlayer-extract.d.ts","names":[],"sources":["../../src/svelte-intlayer-extract.ts"],"mappings":";;;KAOY,gBAAA,GAAmB,MAAA;AAAA,KAEnB,aAAA;EACV,aAAA;EACA,QAAA;EACA,OAAA,EAAS,gBAAA;EACT,MAAA,EAAQ,MAAA;AAAA;AAAA,KAGE,oBAAA;EACV,aAAA,GAAgB,MAAA;EAChB,WAAA;EACA,SAAA;EACA,aAAA,IAAiB,IAAA;EACjB,SAAA,IAAa,MAAA,EAAQ,aAAA;EACrB,aAAA;EACA,mBAAA;EACA,4BAAA,IAAgC,IAAA;EAChC,WAAA,IAAe,IAAA,UAAc,YAAA,EAAc,GAAA;AAAA;AAAA,cAahC,iBAAA,GACX,QAAA,sBACA,SAAA;AAAA,cAcW,qBAAA,GACX,IAAA,UACA,QAAA,UACA,OAAA,GAAS,oBAAA;EACN,IAAA;EAAc,GAAA;EAAe,SAAA;AAAA;AAAA,KAmO7B,KAAA;EACH,WAAA,GAAc,IAAA,UAAc,YAAA,EAAc,GAAA;EAC1C,aAAA,GAAgB,IAAA;EAChB,4BAAA,GAA+B,IAAA;EAC/B,mBAAA;EACA,gBAAA;AAAA;AAAA,cAGW,iBAAA,GACX,QAAA,UACA,aAAA,UACA,WAAA,UACA,KAAA,EAAO,KAAA,EACP,IAAA;EAEA,gBAAA,EAAkB,MAAA;EAClB,IAAA;EACA,GAAA;AAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intlayer/svelte-compiler",
3
- "version": "8.2.4",
3
+ "version": "8.3.0-canary.1",
4
4
  "private": false,
5
5
  "description": "Vite-compatible compiler plugin for Svelte with Intlayer, providing HMR support, file transformation, and optimized dictionary loading for Svelte applications.",
6
6
  "keywords": [
@@ -60,27 +60,28 @@
60
60
  "./package.json"
61
61
  ],
62
62
  "scripts": {
63
- "build": "tsdown --config tsdown.config.ts",
64
- "build:ci": "tsdown --config tsdown.config.ts",
65
- "clean": "rimraf ./dist .turbo",
66
- "dev": "tsdown --config tsdown.config.ts --watch",
67
- "format": "biome format . --check",
68
- "format:fix": "biome format --write .",
69
- "lint": "biome lint .",
70
- "lint:fix": "biome lint --write .",
63
+ "build": "bun --bun tsdown --config tsdown.config.ts",
64
+ "build:ci": "bun --bun tsdown --config tsdown.config.ts",
65
+ "clean": "bun --bun rimraf ./dist .turbo",
66
+ "dev": "bun --bun tsdown --config tsdown.config.ts --watch",
67
+ "format": "bun --bun biome format . --check",
68
+ "format:fix": "bun --bun biome format --write .",
69
+ "lint": "bun --bun biome lint .",
70
+ "lint:fix": "bun --bun biome lint --write .",
71
71
  "prepublish": "cp -f ../../../README.md ./README.md",
72
72
  "publish": "bun publish || true",
73
73
  "publish:canary": "bun publish --access public --tag canary || true",
74
74
  "publish:latest": "bun publish --access public --tag latest || true",
75
75
  "serve": "webpack serve --config ./webpack.config.ts",
76
- "test": "vitest run",
77
- "test:watch": "vitest",
76
+ "test": "bun --bun vitest run",
77
+ "test:watch": "bun --bun vitest",
78
78
  "transpile": "webpack --config ./webpack.config.ts",
79
79
  "typecheck": "tsc --noEmit --project tsconfig.types.json",
80
80
  "watch": "webpack --config ./webpack.config.ts --watch"
81
81
  },
82
82
  "dependencies": {
83
83
  "@babel/core": "7.29.0",
84
+ "@intlayer/types": "8.3.0-canary.1",
84
85
  "fast-glob": "3.3.3",
85
86
  "magic-string": "0.30.21"
86
87
  },
@@ -88,12 +89,12 @@
88
89
  "@types/babel__core": "7.20.5",
89
90
  "@types/babel__generator": "7.27.0",
90
91
  "@types/babel__traverse": "7.28.0",
91
- "@types/node": "25.3.5",
92
+ "@types/node": "25.4.0",
92
93
  "@utils/ts-config": "1.0.4",
93
94
  "@utils/ts-config-types": "1.0.4",
94
95
  "@utils/tsdown-config": "1.0.4",
95
96
  "rimraf": "6.1.3",
96
- "tsdown": "0.21.0",
97
+ "tsdown": "0.21.2",
97
98
  "typescript": "5.9.3",
98
99
  "vitest": "4.0.18"
99
100
  },