@wuchale/svelte 0.12.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,17 +4,11 @@
4
4
 
5
5
  An adapter to integrate `wuchale` in Svelte projects.
6
6
 
7
- **`wuchale`** is a non-invasive, normal code based compile-time internationalization (i18n) toolkit.
8
-
9
- - **🔤 No extra syntax!** - your normal code is enough
10
- - **📦 Tiny catalogs to bundle** - Text catalogs are just arrays, no keys necessary, like Protobuf
11
- - **🔧 Zero-effort integration** - Add i18n to existing projects without rewriting code
12
- - **🤖 Optional AI translation** - Gemini integration for automatic on-the-fly translations
13
- - **🔄 Full, granular HMR support** - Live updates during development, including AI auto-translation
14
- - **📦 Tiny footprint** - Only 2 or 3 additional dependencies (`wuchale` + `pofile`), no bloated `node_modules`
15
- - **🎯 Smart extraction** - Uses AST analysis: handles nested markup, conditionals, loops, and complex interpolations
16
- - **🌍 Standard .po files** - Compatible with existing translation tools and workflows
17
-
18
- ## 📚 Documentation
19
-
20
- See the full guide at: [wuchale.dev/adapter/svelte](https://wuchale.dev/adapters/svelte).
7
+ **`wuchale`** is a compile-time internationalization (i18n) toolkit that
8
+ requires zero code changes. Write your components naturally, and `wuchale`
9
+ automatically extracts and replaces translatable strings at build time.
10
+
11
+ - Main documentation: [wuchale.dev](https://wuchale.dev)
12
+ - Setup instructions: [Getting started](https://wuchale.dev/intro/start/)
13
+ - Adapter docs: [JSX](https://wuchale.dev/adapters/svelte)
14
+ - Repository: [wuchalejs/wuchale](https://github.com/wuchalejs/wuchale)
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAER,OAAO,EACP,WAAW,EAGd,MAAM,SAAS,CAAA;AA0ChB,eAAO,MAAM,OAAO,GAAI,OAAM,WAAyB,KAAG,OAiCzD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAER,OAAO,EACP,WAAW,EAEd,MAAM,SAAS,CAAA;AAqChB,eAAO,MAAM,OAAO,GAAI,OAAM,WAAyB,KAAG,OAmCzD,CAAA"}
package/dist/index.js CHANGED
@@ -1,10 +1,11 @@
1
1
  import { defaultGenerateLoadID, defaultHeuristic, deepMergeObjects } from 'wuchale';
2
2
  import { adapter as vanillaAdapter } from 'wuchale/adapter-vanilla';
3
3
  import { SvelteTransformer } from "./transformer.js";
4
+ import { getDependencies } from 'wuchale/adapter-utils';
4
5
  const topLevelDeclarationsInside = ['$derived', '$derived.by'];
5
6
  const ignoreElements = ['style', 'path'];
6
- const svelteHeuristic = (text, details) => {
7
- if (!defaultHeuristic(text, details)) {
7
+ const svelteHeuristic = (msgStr, details) => {
8
+ if (!defaultHeuristic(msgStr, details)) {
8
9
  return false;
9
10
  }
10
11
  if (ignoreElements.includes(details.element)) {
@@ -30,21 +31,19 @@ const defaultArgs = {
30
31
  bundleLoad: false,
31
32
  generateLoadID: defaultGenerateLoadID,
32
33
  writeFiles: {},
33
- importName: '_w_load_',
34
- runtime: {
35
- initInScope: ({ funcName }) => funcName == null,
36
- wrapInit: init => `$derived(${init})`,
37
- wrapExpr: expr => expr,
38
- }
39
34
  };
40
35
  export const adapter = (args = defaultArgs) => {
41
- const { heuristic, pluralsFunc, runtime, ...rest } = deepMergeObjects(args, defaultArgs);
36
+ const { heuristic, pluralsFunc, ...rest } = deepMergeObjects(args, defaultArgs);
42
37
  return {
43
- transform: ({ content, filename, index, header }) => new SvelteTransformer(content, filename, index, heuristic, pluralsFunc, runtime, header.expr).transformSv(header.head),
38
+ transform: ({ content, filename, index, header }) => new SvelteTransformer(content, filename, index, heuristic, pluralsFunc).transformSv(header.head, header.expr),
44
39
  loaderExts: ['.svelte.js', '.svelte.ts', '.js', '.ts'],
45
- defaultLoaders: async (dependencies) => {
40
+ defaultLoaders: async () => {
41
+ if (rest.bundleLoad) {
42
+ return ['bundle'];
43
+ }
44
+ const deps = await getDependencies();
46
45
  const available = ['reactive', 'vanilla'];
47
- if (dependencies.has('@sveltejs/kit')) {
46
+ if (deps.has('@sveltejs/kit')) {
48
47
  available.unshift('sveltekit');
49
48
  }
50
49
  return available;
@@ -55,7 +54,8 @@ export const adapter = (args = defaultArgs) => {
55
54
  }
56
55
  return new URL(`../src/loaders/${loader}.svelte.js`, import.meta.url).pathname;
57
56
  },
58
- ...rest
57
+ ...rest,
58
+ docsUrl: 'https://wuchale.dev/adapters/svelte'
59
59
  };
60
60
  };
61
61
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import type { AnyNode } from "acorn";
2
2
  import { type AST } from "svelte/compiler";
3
- import { NestText } from 'wuchale';
3
+ import { Message } from 'wuchale';
4
4
  import { Transformer } from 'wuchale/adapter-vanilla';
5
- import type { IndexTracker, HeuristicFunc, TransformOutput, CommentDirectives, RuntimeOptions } from 'wuchale';
5
+ import type { IndexTracker, HeuristicFunc, TransformOutput, CommentDirectives } from 'wuchale';
6
6
  import { MixedVisitor } from "wuchale/adapter-utils";
7
7
  type MixedNodesTypes = AST.Text | AST.Tag | AST.ElementLike | AST.Block | AST.Comment;
8
8
  export declare class SvelteTransformer extends Transformer {
@@ -12,29 +12,29 @@ export declare class SvelteTransformer extends Transformer {
12
12
  lastVisitIsComment: boolean;
13
13
  currentSnippet: number;
14
14
  mixedVisitor: MixedVisitor<MixedNodesTypes>;
15
- constructor(content: string, filename: string, index: IndexTracker, heuristic: HeuristicFunc, pluralsFunc: string, runtimeOpts: RuntimeOptions, initExpr: string);
16
- visitExpressionTag: (node: AST.ExpressionTag) => NestText[];
15
+ constructor(content: string, filename: string, index: IndexTracker, heuristic: HeuristicFunc, pluralsFunc: string);
16
+ visitExpressionTag: (node: AST.ExpressionTag) => Message[];
17
17
  initMixedVisitor: () => MixedVisitor<MixedNodesTypes>;
18
- visitFragment: (node: AST.Fragment) => NestText[];
19
- visitRegularElement: (node: AST.ElementLike) => NestText[];
20
- visitComponent: (node: AST.ElementLike) => NestText[];
21
- visitText: (node: AST.Text) => NestText[];
22
- visitSpreadAttribute: (node: AST.SpreadAttribute) => NestText[];
23
- visitAttribute: (node: AST.Attribute) => NestText[];
24
- visitSnippetBlock: (node: AST.SnippetBlock) => NestText[];
25
- visitIfBlock: (node: AST.IfBlock) => NestText[];
26
- visitEachBlock: (node: AST.EachBlock) => NestText[];
27
- visitKeyBlock: (node: AST.KeyBlock) => NestText[];
28
- visitAwaitBlock: (node: AST.AwaitBlock) => NestText[];
29
- visitSvelteBody: (node: AST.SvelteBody) => NestText[];
30
- visitSvelteDocument: (node: AST.SvelteDocument) => NestText[];
31
- visitSvelteElement: (node: AST.SvelteElement) => NestText[];
32
- visitSvelteBoundary: (node: AST.SvelteBoundary) => NestText[];
33
- visitSvelteHead: (node: AST.SvelteHead) => NestText[];
34
- visitSvelteWindow: (node: AST.SvelteWindow) => NestText[];
35
- visitRoot: (node: AST.Root) => NestText[];
36
- visitSv: (node: AST.SvelteNode | AnyNode) => NestText[];
37
- transformSv: (headerHead: string) => TransformOutput;
18
+ visitFragment: (node: AST.Fragment) => Message[];
19
+ visitRegularElement: (node: AST.ElementLike) => Message[];
20
+ visitComponent: (node: AST.ElementLike) => Message[];
21
+ visitText: (node: AST.Text) => Message[];
22
+ visitSpreadAttribute: (node: AST.SpreadAttribute) => Message[];
23
+ visitAttribute: (node: AST.Attribute) => Message[];
24
+ visitSnippetBlock: (node: AST.SnippetBlock) => Message[];
25
+ visitIfBlock: (node: AST.IfBlock) => Message[];
26
+ visitEachBlock: (node: AST.EachBlock) => Message[];
27
+ visitKeyBlock: (node: AST.KeyBlock) => Message[];
28
+ visitAwaitBlock: (node: AST.AwaitBlock) => Message[];
29
+ visitSvelteBody: (node: AST.SvelteBody) => Message[];
30
+ visitSvelteDocument: (node: AST.SvelteDocument) => Message[];
31
+ visitSvelteElement: (node: AST.SvelteElement) => Message[];
32
+ visitSvelteBoundary: (node: AST.SvelteBoundary) => Message[];
33
+ visitSvelteHead: (node: AST.SvelteHead) => Message[];
34
+ visitSvelteWindow: (node: AST.SvelteWindow) => Message[];
35
+ visitRoot: (node: AST.Root) => Message[];
36
+ visitSv: (node: AST.SvelteNode | AnyNode) => Message[];
37
+ transformSv: (headerHead: string, headerExpr: string) => TransformOutput;
38
38
  }
39
39
  export {};
40
40
  //# sourceMappingURL=transformer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../src/transformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../src/transformer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAW,OAAO,EAAE,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAS,KAAK,GAAG,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,WAAW,EAAe,MAAM,yBAAyB,CAAA;AAClE,OAAO,KAAK,EACR,YAAY,EACZ,aAAa,EACb,eAAe,EACf,iBAAiB,EACpB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,YAAY,EAAkC,MAAM,uBAAuB,CAAA;AAOpF,KAAK,eAAe,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,OAAO,CAAA;AAErF,qBAAa,iBAAkB,SAAQ,WAAW;IAG9C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,OAAO,CAAQ;IAC/B,sBAAsB,EAAE,iBAAiB,EAAE,CAAK;IAChD,kBAAkB,EAAE,OAAO,CAAQ;IACnC,cAAc,EAAE,MAAM,CAAI;IAE1B,YAAY,EAAE,YAAY,CAAC,eAAe,CAAC,CAAA;gBAE/B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM;IAIjH,kBAAkB,GAAI,MAAM,GAAG,CAAC,aAAa,KAAG,OAAO,EAAE,CAA+B;IAExF,gBAAgB,sCA6Cd;IAGF,aAAa,GAAI,MAAM,GAAG,CAAC,QAAQ,KAAG,OAAO,EAAE,CAI7C;IAEF,mBAAmB,GAAI,MAAM,GAAG,CAAC,WAAW,KAAG,OAAO,EAAE,CAUvD;IAED,cAAc,SAZe,GAAG,CAAC,WAAW,KAAG,OAAO,EAAE,CAYf;IAEzC,SAAS,GAAI,MAAM,GAAG,CAAC,IAAI,KAAG,OAAO,EAAE,CAWtC;IAED,oBAAoB,GAAI,MAAM,GAAG,CAAC,eAAe,KAAG,OAAO,EAAE,CAA+B;IAE5F,cAAc,GAAI,MAAM,GAAG,CAAC,SAAS,KAAG,OAAO,EAAE,CAmChD;IAED,iBAAiB,GAAI,MAAM,GAAG,CAAC,YAAY,KAAG,OAAO,EAAE,CAAiC;IAExF,YAAY,GAAI,MAAM,GAAG,CAAC,OAAO,KAAG,OAAO,EAAE,CAO5C;IAED,cAAc,GAAI,MAAM,GAAG,CAAC,SAAS,KAAG,OAAO,EAAE,CAYhD;IAED,aAAa,GAAI,MAAM,GAAG,CAAC,QAAQ,KAAG,OAAO,EAAE,CAK9C;IAED,eAAe,GAAI,MAAM,GAAG,CAAC,UAAU,KAAG,OAAO,EAAE,CAYlD;IAED,eAAe,GAAI,MAAM,GAAG,CAAC,UAAU,KAAG,OAAO,EAAE,CAA4C;IAE/F,mBAAmB,GAAI,MAAM,GAAG,CAAC,cAAc,KAAG,OAAO,EAAE,CAA4C;IAEvG,kBAAkB,GAAI,MAAM,GAAG,CAAC,aAAa,KAAG,OAAO,EAAE,CAA4C;IAErG,mBAAmB,GAAI,MAAM,GAAG,CAAC,cAAc,KAAG,OAAO,EAAE,CAG1D;IAED,eAAe,GAAI,MAAM,GAAG,CAAC,UAAU,KAAG,OAAO,EAAE,CAA+B;IAElF,iBAAiB,GAAI,MAAM,GAAG,CAAC,YAAY,KAAG,OAAO,EAAE,CAA4C;IAEnG,SAAS,GAAI,MAAM,GAAG,CAAC,IAAI,KAAG,OAAO,EAAE,CAatC;IAED,OAAO,GAAI,MAAM,GAAG,CAAC,UAAU,GAAG,OAAO,KAAG,OAAO,EAAE,CAyBpD;IAED,WAAW,GAAI,YAAY,MAAM,EAAE,YAAY,MAAM,KAAG,eAAe,CA0CtE;CACJ"}
@@ -1,8 +1,8 @@
1
1
  import MagicString from "magic-string";
2
2
  import { parse } from "svelte/compiler";
3
- import { NestText } from 'wuchale';
3
+ import { Message } from 'wuchale';
4
4
  import { Transformer, parseScript } from 'wuchale/adapter-vanilla';
5
- import { MixedVisitor, nonWhitespaceText } from "wuchale/adapter-utils";
5
+ import { MixedVisitor, nonWhitespaceText, runtimeVars } from "wuchale/adapter-utils";
6
6
  const nodesWithChildren = ['RegularElement', 'Component'];
7
7
  const rtComponent = 'WuchaleTrans';
8
8
  const snipPrefix = 'wuchaleSnippet';
@@ -14,13 +14,12 @@ export class SvelteTransformer extends Transformer {
14
14
  lastVisitIsComment = false;
15
15
  currentSnippet = 0;
16
16
  mixedVisitor;
17
- constructor(content, filename, index, heuristic, pluralsFunc, runtimeOpts, initExpr) {
18
- super(content, filename, index, heuristic, pluralsFunc, runtimeOpts, initExpr);
17
+ constructor(content, filename, index, heuristic, pluralsFunc) {
18
+ super(content, filename, index, heuristic, pluralsFunc, null);
19
19
  }
20
20
  visitExpressionTag = (node) => this.visit(node.expression);
21
21
  initMixedVisitor = () => new MixedVisitor({
22
22
  mstr: this.mstr,
23
- vars: this.vars,
24
23
  getRange: node => ({ start: node.start, end: node.end }),
25
24
  isText: node => node.type === 'Text',
26
25
  isComment: node => node.type === 'Comment',
@@ -36,26 +35,26 @@ export class SvelteTransformer extends Transformer {
36
35
  return childTxts;
37
36
  },
38
37
  visitExpressionTag: this.visitExpressionTag,
39
- checkHeuristic: txt => this.checkHeuristic(txt, { scope: 'markup', element: this.currentElement })[0],
38
+ checkHeuristic: msgStr => this.checkHeuristic(msgStr, { scope: 'markup', element: this.currentElement })[0],
40
39
  index: this.index,
41
- wrapNested: (txt, hasExprs, nestedRanges, lastChildEnd) => {
40
+ wrapNested: (msgInfo, hasExprs, nestedRanges, lastChildEnd) => {
42
41
  const snippets = [];
43
42
  // create and reference snippets
44
43
  for (const [childStart, childEnd, haveCtx] of nestedRanges) {
45
44
  const snippetName = `${snipPrefix}${this.currentSnippet}`;
46
45
  snippets.push(snippetName);
47
46
  this.currentSnippet++;
48
- const snippetBegin = `\n{#snippet ${snippetName}(${haveCtx ? this.vars.nestCtx : ''})}\n`;
47
+ const snippetBegin = `\n{#snippet ${snippetName}(${haveCtx ? runtimeVars.nestCtx : ''})}\n`;
49
48
  this.mstr.appendRight(childStart, snippetBegin);
50
49
  this.mstr.prependLeft(childEnd, '\n{/snippet}');
51
50
  }
52
51
  let begin = `\n<${rtComponent} tags={[${snippets.join(', ')}]} ctx=`;
53
52
  if (this.inCompoundText) {
54
- begin += `{${this.vars.nestCtx}} nest`;
53
+ begin += `{${runtimeVars.nestCtx}} nest`;
55
54
  }
56
55
  else {
57
- const index = this.index.get(txt.toKey());
58
- begin += `{${this.vars.rtCtx}(${index})}`;
56
+ const index = this.index.get(msgInfo.toKey());
57
+ begin += `{${runtimeVars.rtCtx}(${index})}`;
59
58
  }
60
59
  let end = ' />\n';
61
60
  if (hasExprs) {
@@ -74,33 +73,33 @@ export class SvelteTransformer extends Transformer {
74
73
  visitRegularElement = (node) => {
75
74
  const currentElement = this.currentElement;
76
75
  this.currentElement = node.name;
77
- const txts = [];
76
+ const msgs = [];
78
77
  for (const attrib of node.attributes) {
79
- txts.push(...this.visitSv(attrib));
78
+ msgs.push(...this.visitSv(attrib));
80
79
  }
81
- txts.push(...this.visitFragment(node.fragment));
80
+ msgs.push(...this.visitFragment(node.fragment));
82
81
  this.currentElement = currentElement;
83
- return txts;
82
+ return msgs;
84
83
  };
85
84
  visitComponent = this.visitRegularElement;
86
85
  visitText = (node) => {
87
86
  const [startWh, trimmed, endWh] = nonWhitespaceText(node.data);
88
- const [pass, txt] = this.checkHeuristic(trimmed, {
87
+ const [pass, msgInfo] = this.checkHeuristic(trimmed, {
89
88
  scope: 'markup',
90
89
  element: this.currentElement,
91
90
  });
92
91
  if (!pass) {
93
92
  return [];
94
93
  }
95
- this.mstr.update(node.start + startWh, node.end - endWh, `{${this.vars.rtTrans}(${this.index.get(txt.toKey())})}`);
96
- return [txt];
94
+ this.mstr.update(node.start + startWh, node.end - endWh, `{${runtimeVars.rtTrans}(${this.index.get(msgInfo.toKey())})}`);
95
+ return [msgInfo];
97
96
  };
98
97
  visitSpreadAttribute = (node) => this.visit(node.expression);
99
98
  visitAttribute = (node) => {
100
99
  if (node.value === true) {
101
100
  return [];
102
101
  }
103
- const txts = [];
102
+ const msgs = [];
104
103
  let values;
105
104
  if (Array.isArray(node.value)) {
106
105
  values = node.value;
@@ -110,12 +109,12 @@ export class SvelteTransformer extends Transformer {
110
109
  }
111
110
  for (const value of values) {
112
111
  if (value.type !== 'Text') { // ExpressionTag
113
- txts.push(...this.visitSv(value));
112
+ msgs.push(...this.visitSv(value));
114
113
  continue;
115
114
  }
116
115
  // Text
117
116
  const { start, end } = value;
118
- const [pass, txt] = this.checkHeuristic(value.data, {
117
+ const [pass, msgInfo] = this.checkHeuristic(value.data, {
119
118
  scope: 'attribute',
120
119
  element: this.currentElement,
121
120
  attribute: node.name,
@@ -123,37 +122,37 @@ export class SvelteTransformer extends Transformer {
123
122
  if (!pass) {
124
123
  continue;
125
124
  }
126
- txts.push(txt);
127
- this.mstr.update(value.start, value.end, `{${this.vars.rtTrans}(${this.index.get(txt.toKey())})}`);
125
+ msgs.push(msgInfo);
126
+ this.mstr.update(value.start, value.end, `{${runtimeVars.rtTrans}(${this.index.get(msgInfo.toKey())})}`);
128
127
  if (!`'"`.includes(this.content[start - 1])) {
129
128
  continue;
130
129
  }
131
130
  this.mstr.remove(start - 1, start);
132
131
  this.mstr.remove(end, end + 1);
133
132
  }
134
- return txts;
133
+ return msgs;
135
134
  };
136
135
  visitSnippetBlock = (node) => this.visitFragment(node.body);
137
136
  visitIfBlock = (node) => {
138
- const txts = this.visit(node.test);
139
- txts.push(...this.visitSv(node.consequent));
137
+ const msgs = this.visit(node.test);
138
+ msgs.push(...this.visitSv(node.consequent));
140
139
  if (node.alternate) {
141
- txts.push(...this.visitSv(node.alternate));
140
+ msgs.push(...this.visitSv(node.alternate));
142
141
  }
143
- return txts;
142
+ return msgs;
144
143
  };
145
144
  visitEachBlock = (node) => {
146
- const txts = [
145
+ const msgs = [
147
146
  ...this.visit(node.expression),
148
147
  ...this.visitSv(node.body),
149
148
  ];
150
149
  if (node.key) {
151
- txts.push(...this.visit(node.key));
150
+ msgs.push(...this.visit(node.key));
152
151
  }
153
152
  if (node.fallback) {
154
- txts.push(...this.visitSv(node.fallback));
153
+ msgs.push(...this.visitSv(node.fallback));
155
154
  }
156
- return txts;
155
+ return msgs;
157
156
  };
158
157
  visitKeyBlock = (node) => {
159
158
  return [
@@ -162,17 +161,17 @@ export class SvelteTransformer extends Transformer {
162
161
  ];
163
162
  };
164
163
  visitAwaitBlock = (node) => {
165
- const txts = [
164
+ const msgs = [
166
165
  ...this.visit(node.expression),
167
166
  ...this.visitFragment(node.then),
168
167
  ];
169
168
  if (node.pending) {
170
- txts.push(...this.visitFragment(node.pending));
169
+ msgs.push(...this.visitFragment(node.pending));
171
170
  }
172
171
  if (node.catch) {
173
- txts.push(...this.visitFragment(node.catch));
172
+ msgs.push(...this.visitFragment(node.catch));
174
173
  }
175
- return txts;
174
+ return msgs;
176
175
  };
177
176
  visitSvelteBody = (node) => node.attributes.map(this.visitSv).flat();
178
177
  visitSvelteDocument = (node) => node.attributes.map(this.visitSv).flat();
@@ -184,18 +183,18 @@ export class SvelteTransformer extends Transformer {
184
183
  visitSvelteHead = (node) => this.visitSv(node.fragment);
185
184
  visitSvelteWindow = (node) => node.attributes.map(this.visitSv).flat();
186
185
  visitRoot = (node) => {
187
- const txts = this.visitFragment(node.fragment);
186
+ const msgs = this.visitFragment(node.fragment);
188
187
  if (node.instance) {
189
188
  this.commentDirectives = {}; // reset
190
- txts.push(...this.visitProgram(node.instance.content));
189
+ msgs.push(...this.visitProgram(node.instance.content));
191
190
  }
192
191
  // @ts-ignore: module is a reserved keyword, not sure how to specify the type
193
192
  if (node.module) {
194
193
  this.commentDirectives = {}; // reset
195
194
  // @ts-ignore
196
- txts.push(...this.visitProgram(node.module.content));
195
+ msgs.push(...this.visitProgram(node.module.content));
197
196
  }
198
- return txts;
197
+ return msgs;
199
198
  };
200
199
  visitSv = (node) => {
201
200
  if (node.type === 'Comment') {
@@ -212,19 +211,19 @@ export class SvelteTransformer extends Transformer {
212
211
  if (node.type === 'Text' && !node.data.trim()) {
213
212
  return [];
214
213
  }
215
- let txts = [];
214
+ let msgs = [];
216
215
  const commentDirectivesPrev = this.commentDirectives;
217
216
  if (this.lastVisitIsComment) {
218
217
  this.commentDirectives = this.commentDirectivesStack.pop();
219
218
  this.lastVisitIsComment = false;
220
219
  }
221
220
  if (this.commentDirectives.forceInclude !== false) {
222
- txts = this.visit(node);
221
+ msgs = this.visit(node);
223
222
  }
224
223
  this.commentDirectives = commentDirectivesPrev;
225
- return txts;
224
+ return msgs;
226
225
  };
227
- transformSv = (headerHead) => {
226
+ transformSv = (headerHead, headerExpr) => {
228
227
  const isComponent = this.filename.endsWith('.svelte');
229
228
  let ast;
230
229
  if (isComponent) {
@@ -237,35 +236,38 @@ export class SvelteTransformer extends Transformer {
237
236
  }
238
237
  this.mstr = new MagicString(this.content);
239
238
  this.mixedVisitor = this.initMixedVisitor();
240
- const txts = this.visitSv(ast);
241
- if (!txts.length) {
242
- return this.finalize(txts);
239
+ const msgs = this.visitSv(ast);
240
+ if (!msgs.length) {
241
+ return this.finalize(msgs, 0);
243
242
  }
244
- let initRTTop = `const ${this.vars.rtConst} = ${this.initRuntimeExpr}\n`;
245
- if (ast.type === 'Program' && this.runtimeOpts.initInScope({ funcName: null, file: this.filename })) {
246
- initRTTop = '';
247
- }
248
- const headerFin = [
243
+ const headerLines = [
249
244
  `\nimport ${rtComponent} from "@wuchale/svelte/runtime.svelte"`,
250
245
  headerHead,
251
- initRTTop,
252
- ].join('\n');
246
+ `const ${runtimeVars.rtConst} = $derived(${runtimeVars.rtWrap}(${headerExpr}))\n`
247
+ ];
248
+ const headerFin = headerLines.join('\n');
253
249
  if (ast.type === 'Program') {
254
250
  this.mstr.appendRight(0, headerFin + '\n');
255
- return this.finalize(txts);
251
+ return this.finalize(msgs, 0);
256
252
  }
253
+ let hmrHeaderIndex = 0;
257
254
  if (ast.module) {
258
255
  // @ts-ignore
259
- this.mstr.appendRight(ast.module.content.start, headerFin);
256
+ hmrHeaderIndex = ast.module.content.start;
257
+ this.mstr.appendRight(hmrHeaderIndex, headerFin);
260
258
  }
261
259
  else if (ast.instance) {
262
260
  // @ts-ignore
263
- this.mstr.appendRight(ast.instance.content.start, headerFin);
261
+ hmrHeaderIndex = ast.instance.content.start;
262
+ this.mstr.appendRight(hmrHeaderIndex, headerFin);
264
263
  }
265
264
  else {
266
- this.mstr.prepend(`<script>${headerFin}</script>\n`);
265
+ this.mstr.prepend('<script>');
266
+ // account index for hmr data here
267
+ this.mstr.prependRight(0, `${headerFin}</script>\n`);
268
+ // now hmr data can be prependRight(0, ...)
267
269
  }
268
- return this.finalize(txts);
270
+ return this.finalize(msgs, hmrHeaderIndex);
269
271
  };
270
272
  }
271
273
  //# sourceMappingURL=transformer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transformer.js","sourceRoot":"","sources":["../src/transformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transformer.js","sourceRoot":"","sources":["../src/transformer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@wuchale/svelte",
3
- "version": "0.12.0",
4
- "description": "Protobuf-like i18n from normal code for Svelte",
3
+ "version": "0.13.0",
4
+ "description": "Protobuf-like i18n from plain code: Svelte adapter",
5
5
  "scripts": {
6
6
  "dev": "tsc --watch",
7
7
  "build": "tsc",
@@ -52,7 +52,7 @@
52
52
  "license": "MIT",
53
53
  "dependencies": {
54
54
  "svelte": "^5.37.0",
55
- "wuchale": "^0.13.0"
55
+ "wuchale": "^0.14.0"
56
56
  },
57
57
  "devDependencies": {
58
58
  "acorn": "^8.15.0",
@@ -0,0 +1,16 @@
1
+ // This is just the default loader.
2
+ // You can customize it however you want, it will not be overwritten once it exists and is not empty.
3
+
4
+ let locale = $state('en')
5
+
6
+ /**
7
+ * @param {string} newLocale
8
+ */
9
+ export function setLocale(newLocale) {
10
+ locale = newLocale
11
+ }
12
+
13
+ /**
14
+ * @param {{ [locale: string]: import("wuchale/runtime").CatalogModule }} catalogs
15
+ */
16
+ export default catalogs => catalogs[locale]
@@ -3,12 +3,19 @@
3
3
 
4
4
  /// <reference types="wuchale/virtual" />
5
5
 
6
- import { loadCatalog, loadIDs } from 'virtual:wuchale/proxy' // or /proxy/sync
7
- import { page } from '$app/state'
8
- import { Runtime } from 'wuchale/runtime'
6
+ import { loadCatalog, loadIDs, key } from 'virtual:wuchale/proxy' // or proxy/sync
7
+ import { registerLoaders, defaultCollection } from 'wuchale/load-utils'
9
8
 
10
- export { loadIDs, loadCatalog }
9
+ export { loadCatalog, loadIDs, key } // for +layout.{js,ts} and hooks.server.{js,ts}
11
10
 
12
- export default (/** @type {string} */ loadID) => {
13
- return page.data.catalogs?.[loadID] ?? new Runtime()
11
+ let loadC
12
+
13
+ if (import.meta.env.SSR) { // stripped from production client builds
14
+ const { currentCatalog } = await import('wuchale/load-utils/server')
15
+ loadC = (/** @type {string} */ loadID) => currentCatalog(key, loadID)
16
+ } else { // client
17
+ const catalogs = $state({})
18
+ loadC = registerLoaders(key, loadCatalog, loadIDs, defaultCollection(catalogs))
14
19
  }
20
+
21
+ export default loadC