wuchale 0.4.2 → 0.4.3

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
@@ -74,7 +74,7 @@ integrated
74
74
 
75
75
  ## 🚀 Getting Started
76
76
 
77
- Install:
77
+ ### Installation
78
78
 
79
79
  ```bash
80
80
  npm install wuchale
@@ -97,8 +97,79 @@ export default {
97
97
 
98
98
  ```
99
99
 
100
- Create `/src/locales/` (relative to the projects root) if it doesn't exist, and
101
- then set it up in your main component. Assuming `/src/App.svelte`:
100
+ ### Configuration
101
+
102
+ To configure `wuchale`, you pass an object that looks like the following (the
103
+ default) to `wuchale()` in your `vite.config.js` `vite.config.ts`:
104
+
105
+ ```javascript
106
+ export const defaultOptions: Options = {
107
+ sourceLocale: 'en',
108
+ otherLocales: [],
109
+ localesDir: './src/locales',
110
+ heuristic: defaultHeuristic,
111
+ geminiAPIKey: 'env',
112
+ }
113
+ ```
114
+
115
+ Note that you have to provide `otherLocales`, otherwise it doesn't have any
116
+ effect.
117
+
118
+ While the others are self explanatory, the `heuristic` is a function that
119
+ globally decides what text to extract and what not to. The `defaultHeuristic`
120
+ is the implementation of the default rules explained below, but you can roll
121
+ your own and provide it here. The function should receive the following
122
+ arguments:
123
+
124
+ - `text`: The candidate text
125
+ - `scope`: Where the text is located, i.e. it can be one of `markup`, `script`, and `attribute`
126
+
127
+ And it should return boolean to indicate whether to extract it.
128
+
129
+ ### Setup
130
+
131
+ Create `/src/locales/` (or the directory you set up in the configuration,
132
+ relative to the projects root) if it doesn't exist, and then set it up in your
133
+ main component. How you set it up depends on whether you use SvelteKit or not.
134
+
135
+ #### SvelteKit
136
+
137
+ If you use SvelteKit you likely use SSR/SSG too. And this is how you make
138
+ `wuchale` work with SSR/SSG. If you instead want to use normal client side
139
+ state for the locale, feel free to adapt the method explained below for Svelte.
140
+
141
+ You have to put the following in yout top load function. Taking
142
+ the default template as an example, the main load function would be inside
143
+ `src/routes/+page.js`. Have the following content in it (TypeScript):
144
+
145
+ ```typescript
146
+ import { setTranslations } from 'wuchale/runtime.svelte.js'
147
+
148
+ interface Params {
149
+ url: URL,
150
+ }
151
+
152
+ export async function load({ url }: Params): Promise<{}> {
153
+ const locale = url.searchParams.get('locale') ?? 'es'
154
+ // IMPORTANT! The path should be relative to the current file
155
+ const mod = await import(`../locales/${locale}.json`)
156
+ setTranslations(mod.default)
157
+ return {}
158
+ }
159
+ ```
160
+
161
+ What it does is it makes the locale dependent on the URL search param `locale`
162
+ and loads the appropriate language json based on it. You can now adapt it to
163
+ any state such as the `[locale]` slug in the URL path based on your own needs.
164
+
165
+ Now you can start the dev server and see it in action. You can change the URL
166
+ search params like `?locale=es` (if you set up `es` in `otherLocales`)
167
+
168
+ #### Svelte
169
+
170
+ For Svelte you can set up lazy loading and code splitting (recommended). Taking
171
+ the default template as an example, the main component is located in
172
+ `src/App.svelte`.
102
173
 
103
174
  ```svelte
104
175
  <script>
@@ -108,9 +179,7 @@ then set it up in your main component. Assuming `/src/App.svelte`:
108
179
 
109
180
  $effect.pre(() => {
110
181
  // IMPORTANT! The path should be relative to the current file (vite restriction).
111
- // for the default sveltekit template for example, it's `../locales/${locale}.json`
112
- // because the default main component is located at /src/routes/+page.svelte
113
- import(`./locales/${locale}.json`).then(mod => {
182
+ import(`../locales/${locale}.json`).then(mod => {
114
183
  setTranslations(mod.default)
115
184
  })
116
185
  // but this only applies if you want to do lazy loading.
@@ -124,53 +193,7 @@ the compiled `.json`. This is to allow maximum flexibility, meaning you can use
124
193
  lazy loading (like this example) or you can import it directly and it will be
125
194
  bundled by Vite. After that, you notify `wuchale` to set it as the current one.
126
195
 
127
- Then finally you write your Svelte files naturally:
128
-
129
- ```svelte
130
-
131
- <!-- you write -->
132
- <p>Hello</p>
133
-
134
- <!-- it becomes -->
135
-
136
- <script>
137
- import WuchaleTrans, { wuchaleTrans } from 'wuchale/runtime.svelte'
138
- </script>
139
- <p>{wuchaleTrans(0)}</p> <!-- Extracted "Hello" as index 0 -->
140
- ```
141
-
142
- Full example below.
143
-
144
- ## 📦 How It Works
145
-
146
- ### Process
147
-
148
- ![Diagram](https://raw.githubusercontent.com/K1DV5/wuchale/main/images/diagram.svg)
149
-
150
- 1. All text nodes are extracted using AST traversal.
151
- 1. Replaced with index-based lookups `wuchaleTrans(n)`, which is minifiable for production builds.
152
- 1. Catalog is updated
153
- 1. If Gemini integration is enabled, it fetches translations automatically.
154
- 1. Messages are compiled and written
155
- 1. In dev mode: Vite picks the write and does HMR during dev
156
- 1. In production mode: unused messages are marked obsolete
157
- 1. On next run, obsolete ones are purged unless reused.
158
- 1. Final build contains only minified catalogs and the runtime.
159
-
160
- ### Catalogs:
161
-
162
- - Stored as PO files (.po).
163
- - Compatible with tools like Poedit or translation.io.
164
- - Includes source references and obsolete flags for cleaning.
165
-
166
- ## 🌐 Gemini Integration (optional)
167
-
168
- To enable the Gemini live translation, set the environment variable
169
- `GEMINI_API_KEY` to your API key beforehand. The integration is:
170
-
171
- - Rate-limit friendly (bundles messages to be translated into one request)
172
- - Only translates new/changed messages
173
- - Keeps original source intact
196
+ Then finally you write your Svelte files naturally.
174
197
 
175
198
  ## 🧪 Example
176
199
 
@@ -188,7 +211,8 @@ Output:
188
211
 
189
212
  ```svelte
190
213
  <script>
191
- import WuchaleTrans, { wuchaleTrans } from 'wuchale/runtime.svelte'
214
+ import {wuchaleTrans} from "wuchale/runtime.svelte.js"
215
+ import WuchaleTrans from "wuchale/runtime.svelte"
192
216
  </script>
193
217
 
194
218
  <p>{wuchaleTrans(0)}</p>
@@ -241,7 +265,38 @@ Which is then automatically compiled to:
241
265
  ]
242
266
  ```
243
267
 
244
- This is what you import when you set it up above in `App.svelte`.
268
+ This is what you import when you set it up above in `+page.ts` or `App.svelte`.
269
+
270
+ ## 📦 How It Works
271
+
272
+ ### Process
273
+
274
+ ![Diagram](https://raw.githubusercontent.com/K1DV5/wuchale/main/images/diagram.svg)
275
+
276
+ 1. All text nodes are extracted using AST traversal.
277
+ 1. Replaced with index-based lookups `wuchaleTrans(n)`, which is minifiable for production builds.
278
+ 1. Catalog is updated
279
+ 1. If Gemini integration is enabled, it fetches translations automatically.
280
+ 1. Messages are compiled and written
281
+ 1. In dev mode: Vite picks the write and does HMR during dev
282
+ 1. In production mode: unused messages are marked obsolete
283
+ 1. On next run, obsolete ones are purged unless reused.
284
+ 1. Final build contains only minified catalogs and the runtime.
285
+
286
+ ### Catalogs:
287
+
288
+ - Stored as PO files (.po).
289
+ - Compatible with tools like Poedit or translation.io.
290
+ - Includes source references and obsolete flags for cleaning.
291
+
292
+ ## 🌐 Gemini Integration (optional)
293
+
294
+ To enable the Gemini live translation, set the environment variable
295
+ `GEMINI_API_KEY` to your API key beforehand. The integration is:
296
+
297
+ - Rate-limit friendly (bundles messages to be translated into one request)
298
+ - Only translates new/changed messages
299
+ - Keeps original source intact
245
300
 
246
301
  ## Supported syntax
247
302
 
@@ -343,31 +398,6 @@ necessary to have a separate plurals support because you can do something like:
343
398
  And they will be extracted separately. You can also make a reusable function
344
399
  yourself.
345
400
 
346
- ## Configuration
347
-
348
- To configure `wuchale`, you pass an object that looks like the following (the
349
- default) to `wuchale()` in your `vite.config.js` `vite.config.ts`:
350
-
351
- ```javascript
352
- export const defaultOptions: Options = {
353
- sourceLocale: 'en',
354
- otherLocales: [],
355
- localesDir: './src/locales',
356
- heuristic: defaultHeuristic,
357
- geminiAPIKey: 'env',
358
- }
359
- ```
360
-
361
- While the others are self explanatory, the `heuristic` is a function that
362
- globally decides what text to extract and what not to. The `defaultHeuristic`
363
- is the implementation of the above rules, but you can roll your own and provide
364
- it here. The function should receive the following arguments:
365
-
366
- - `text`: The candidate text
367
- - `scope`: Where the text is located, i.e. it can be one of `markup`, `script`, and `attribute`
368
-
369
- And it should return boolean to indicate whether to extract it.
370
-
371
401
  ## Files management
372
402
 
373
403
  `wuchale` generates two files for each locale.
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import plugin from "./preprocess/index.js";
1
+ import plugin from "./plugin/index.js";
2
2
  export declare const wuchale: typeof plugin;
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- import plugin from "./preprocess/index.js";
1
+ import plugin from "./plugin/index.js";
2
2
  export const wuchale = plugin;
3
3
  //# 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":"AAAA,OAAO,MAAM,MAAM,uBAAuB,CAAA;AAE1C,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAA;AAEtC,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/plugin/compile.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAE3B,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAOvC,SAAS,gBAAgB,CAAC,IAAgG;IACtH,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACtB,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACvB,CAAC;QACD,OAAO,EAAE,CAAA;IACb,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QAChC,OAAO,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC5C,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC5B,OAAO,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC1B,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC;aACrC,CAAC,CAAA;IACN,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,EAAE,CAAA;QAChB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAA;QAC1C,CAAC;QACD,OAAO,KAAK,CAAA;IAChB,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAA;IAC3C,OAAO,EAAE,CAAA;AACb,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,IAAY,EAAE,QAA0B;IAC/E,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,QAAQ,CAAA;IACnB,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAA;IACf,CAAC;IACD,+CAA+C;IAC/C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA;IAC/C,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QACzC,OAAO,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAClB,OAAO,QAAQ,CAAA;IACnB,CAAC;AACL,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/plugin/gemini.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,aAAa;AAEb,OAAO,EAAE,MAAM,QAAQ,CAAA;AAEvB,MAAM,OAAO,GAAG,+FAA+F,CAAA;AAC/G,MAAM,CAAC,GAAG,EAAC,cAAc,EAAE,kBAAkB,EAAC,CAAA;AAE9C,SAAS,YAAY,CAAC,MAAc;IAChC,OAAO,WAAW,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AACnD,CAAC;AAID,SAAS,WAAW,CAAC,SAAqB,EAAE,YAAoB,EAAE,YAAoB;IAClF,MAAM,WAAW,GAAG;;;8BAGM,YAAY,CAAC,YAAY,CAAC,aAAa,YAAY;8BACnD,YAAY,CAAC,YAAY,CAAC,aAAa,YAAY;;;;;;;;;;KAU5E,CAAA;IACD,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,CAAA;IACnB,EAAE,CAAC,KAAK,GAAG,SAAS,CAAA;IACpB,OAAO;QACH,kBAAkB,EAAE;YAChB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;SACjC;QACD,QAAQ,EAAE,CAAC,EAAC,KAAK,EAAE,CAAC,EAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAC,CAAC,EAAC,CAAC;KAC/C,CAAA;AACL,CAAC;AAUD,SAAS,WAAW,CAAC,YAAoB,EAAE,YAAoB,EAAE,MAAqB;IAClF,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACnB,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAA;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAM;IACV,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,OAAO,GAAG,MAAM,EAAE,CAAA;IACjC,OAAO,KAAK,EAAE,SAAqB,EAAE,EAAE;QACnC,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,CAAC,CAAA;QAC/D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAC,CAAC,CAAA;QACtF,MAAM,IAAI,GAAc,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACzD,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACxD,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjB,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;YACrC,CAAC;QACL,CAAC;IACL,CAAC,CAAA;AACL,CAAC;AAED,eAAe,WAAW,CAAA"}
@@ -1,7 +1,5 @@
1
1
  import { type HeuristicFunc } from "./prep.js";
2
- import { type AST } from "svelte/compiler";
3
2
  import { type CompiledFragment } from "./compile.js";
4
- import type { Program } from 'estree';
5
3
  export interface Options {
6
4
  sourceLocale?: string;
7
5
  otherLocales?: string[];
@@ -35,14 +33,7 @@ export default function wuchale(options?: Options): Promise<{
35
33
  setupTesting(): {
36
34
  translations: {};
37
35
  compiled: {
38
- [locale: string]: CompiledFragment[];
36
+ [locale: string]: number | CompiledFragment[];
39
37
  };
40
- preprocess: (content: string, ast: AST.Root | Program, filename: string) => Promise<{
41
- code?: undefined;
42
- map?: undefined;
43
- } | {
44
- code: string;
45
- map: import("magic-string").SourceMap;
46
- }>;
47
38
  };
48
39
  }>;
@@ -1,4 +1,6 @@
1
1
  import Preprocess, { defaultHeuristic, IndexTracker, NestText } from "./prep.js";
2
+ import { Parser } from 'acorn';
3
+ import { tsPlugin } from '@sveltejs/acorn-typescript';
2
4
  import { parse } from "svelte/compiler";
3
5
  import { writeFile } from 'node:fs/promises';
4
6
  import compileTranslation, {} from "./compile.js";
@@ -20,6 +22,12 @@ function mergeOptionsWithDefault(options = defaultOptions) {
20
22
  options[key] = defaultOptions[key];
21
23
  }
22
24
  }
25
+ const ScriptParser = Parser.extend(tsPlugin());
26
+ const scriptParseOptions = {
27
+ sourceType: 'module',
28
+ ecmaVersion: 'latest',
29
+ locations: true
30
+ };
23
31
  async function loadPONoFail(filename) {
24
32
  return new Promise((res) => {
25
33
  PO.load(filename, (err, po) => {
@@ -71,31 +79,43 @@ export default async function wuchale(options = defaultOptions) {
71
79
  compiledFname[loc] = `${options.localesDir}/${loc}.json`;
72
80
  translationsFname[loc] = `${options.localesDir}/${loc}.po`;
73
81
  }
74
- let forProduction = false;
82
+ let currentPurpose = "dev";
75
83
  let projectRoot = '';
76
84
  let sourceTranslations = {};
77
85
  let indexTracker = new IndexTracker({});
78
86
  const compiled = {};
87
+ async function loadTranslations(loc) {
88
+ const { translations: trans, total, obsolete, untranslated } = await loadPONoFail(translationsFname[loc]);
89
+ translations[loc] = trans;
90
+ console.info(`i18n stats (${loc}): total: ${total}, obsolete: ${obsolete}, untranslated: ${untranslated}`);
91
+ }
92
+ async function compileAndWrite(loc) {
93
+ compiled[loc] = [];
94
+ for (const key in translations[loc]) {
95
+ const poItem = translations[loc][key];
96
+ if (currentPurpose === 'prod') {
97
+ poItem.references = [];
98
+ }
99
+ const index = indexTracker.get(key);
100
+ compiled[loc][index] = compileTranslation(poItem.msgstr[0], compiled[options.sourceLocale][index]);
101
+ }
102
+ for (const [i, item] of compiled[loc].entries()) {
103
+ if (item == null) {
104
+ compiled[loc][i] = 0; // reduce json size
105
+ }
106
+ }
107
+ if (currentPurpose !== 'test') {
108
+ await writeFile(compiledFname[loc], JSON.stringify(compiled[loc], null, 2));
109
+ }
110
+ }
79
111
  async function loadFilesAndSetup() {
80
112
  for (const loc of locales) {
81
- const { translations: trans, total, obsolete, untranslated } = await loadPONoFail(translationsFname[loc]);
82
- translations[loc] = trans;
83
- console.info(`i18n stats (${loc}): total: ${total}, obsolete: ${obsolete}, untranslated: ${untranslated}`);
113
+ await loadTranslations(loc);
84
114
  }
85
115
  sourceTranslations = translations[options.sourceLocale];
86
116
  indexTracker = new IndexTracker(sourceTranslations);
87
- // startup compile
88
117
  for (const loc of locales) {
89
- compiled[loc] = [];
90
- for (const key in translations[loc]) {
91
- const poItem = translations[loc][key];
92
- if (forProduction) {
93
- poItem.references = [];
94
- }
95
- const index = indexTracker.get(key);
96
- compiled[loc][index] = compileTranslation(poItem.msgstr[0], compiled[options.sourceLocale][index]);
97
- }
98
- await writeFile(compiledFname[loc], JSON.stringify(compiled[loc], null, 2));
118
+ await compileAndWrite(loc);
99
119
  }
100
120
  }
101
121
  async function preprocess(content, ast, filename) {
@@ -104,6 +124,7 @@ export default async function wuchale(options = defaultOptions) {
104
124
  if (!txts.length) {
105
125
  return {};
106
126
  }
127
+ let added = false;
107
128
  for (const loc of locales) {
108
129
  const newTxts = [];
109
130
  for (const nTxt of txts) {
@@ -138,38 +159,42 @@ export default async function wuchale(options = defaultOptions) {
138
159
  await geminiT(newTxts); // will update because it's by reference
139
160
  }
140
161
  }
141
- for (const nTxt of txts) {
142
- const key = nTxt.toKey();
143
- const index = indexTracker.get(key);
144
- compiled[loc][index] = compileTranslation(translations[loc][key].msgstr[0], compiled[options.sourceLocale][index]);
145
- }
146
- for (const [i, c] of compiled[loc].entries()) {
147
- if (c == null) {
148
- compiled[loc][i] = 0; // reduce json size for jumped indices, instead of null
149
- }
150
- }
151
- if (!newTxts.length) {
152
- continue;
162
+ if (newTxts.length) {
163
+ added = true;
153
164
  }
154
165
  }
155
166
  return {
156
167
  code: prep.mstr.toString(),
157
168
  map: prep.mstr.generateMap(),
169
+ added,
158
170
  };
159
171
  }
160
- let transFnames = {};
172
+ let transFnamesToLocales = {};
161
173
  const order = 'pre';
162
174
  return {
163
175
  name: 'wuchale',
164
176
  async configResolved(config) {
165
- forProduction = config.env.PROD;
177
+ if (config.env.PROD == null) {
178
+ currentPurpose = "test";
179
+ for (const loc of locales) {
180
+ translations[loc] = {};
181
+ compiled[loc] = [];
182
+ }
183
+ sourceTranslations = translations[options.sourceLocale];
184
+ }
185
+ else if (config.env.PROD) {
186
+ currentPurpose = "prod";
187
+ } // else, already dev
166
188
  projectRoot = config.root;
167
- transFnames = Object.fromEntries(Object.values(translationsFname).map(fname => [normalize(projectRoot + '/' + fname), true]));
189
+ transFnamesToLocales = Object.fromEntries(Object.entries(translationsFname)
190
+ .map(([loc, fname]) => [normalize(projectRoot + '/' + fname), loc]));
168
191
  await loadFilesAndSetup();
169
192
  },
170
193
  async handleHotUpdate(ctx) {
171
- if (ctx.file in transFnames) {
172
- await loadFilesAndSetup();
194
+ if (ctx.file in transFnamesToLocales) {
195
+ const loc = transFnamesToLocales[ctx.file];
196
+ await loadTranslations(loc);
197
+ await compileAndWrite(loc);
173
198
  }
174
199
  },
175
200
  transform: {
@@ -184,24 +209,27 @@ export default async function wuchale(options = defaultOptions) {
184
209
  }
185
210
  let ast;
186
211
  if (isModule) {
187
- ast = this.parse(code);
212
+ ast = ScriptParser.parse(code, scriptParseOptions);
188
213
  }
189
214
  else {
190
215
  ast = parse(code, { modern: true });
191
216
  }
192
217
  const filename = relative(projectRoot, id);
193
- const processed = await preprocess(code, ast, filename);
194
- if (processed.code) {
218
+ const { added, ...processed } = await preprocess(code, ast, filename);
219
+ // we don't need to write on every transformation when building
220
+ if (added && currentPurpose !== 'prod') {
195
221
  for (const loc of locales) {
196
- await savePO(translations[loc], translationsFname[loc]);
197
- await writeFile(compiledFname[loc], JSON.stringify(compiled[loc]));
222
+ if (currentPurpose === 'dev') {
223
+ await savePO(translations[loc], translationsFname[loc]);
224
+ }
225
+ await compileAndWrite(loc);
198
226
  }
199
227
  }
200
228
  return processed;
201
229
  }
202
230
  },
203
231
  async buildEnd() {
204
- if (!forProduction) {
232
+ if (currentPurpose == 'dev') {
205
233
  // just being pragmatic
206
234
  return;
207
235
  }
@@ -211,18 +239,13 @@ export default async function wuchale(options = defaultOptions) {
211
239
  poItem.obsolete = poItem.references.length === 0;
212
240
  }
213
241
  await savePO(translations[loc], translationsFname[loc]);
242
+ await compileAndWrite(loc); // we need to write it finally
214
243
  }
215
244
  },
216
245
  setupTesting() {
217
- for (const loc of locales) {
218
- translations[loc] = {};
219
- compiled[loc] = [];
220
- }
221
- sourceTranslations = translations[options.sourceLocale];
222
246
  return {
223
247
  translations,
224
248
  compiled,
225
- preprocess,
226
249
  };
227
250
  }
228
251
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,EAAE,EAAE,gBAAgB,EAAE,YAAY,EAAE,QAAQ,EAAyC,MAAM,WAAW,CAAA;AACvH,OAAO,EAAC,MAAM,EAAC,MAAM,OAAO,CAAA;AAC5B,OAAO,EAAC,QAAQ,EAAC,MAAM,4BAA4B,CAAA;AACnD,OAAO,EAAE,KAAK,EAAY,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,kBAAkB,EAAE,EAAyB,MAAM,cAAc,CAAA;AACxE,OAAO,WAAW,EAAE,EAAiB,MAAM,aAAa,CAAA;AACxD,OAAO,EAAE,MAAM,QAAQ,CAAA;AACvB,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAW/C,MAAM,CAAC,MAAM,cAAc,GAAY;IACnC,YAAY,EAAE,IAAI;IAClB,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,eAAe;IAC3B,SAAS,EAAE,gBAAgB;IAC3B,YAAY,EAAE,KAAK;CACtB,CAAA;AAED,SAAS,uBAAuB,CAAC,OAAO,GAAG,cAAc;IACrD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QAC5C,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;YACjB,SAAQ;QACZ,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;IACtC,CAAC;AACL,CAAC;AASD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;AAE9C,MAAM,kBAAkB,GAAkB;IACtC,UAAU,EAAE,QAAQ;IACpB,WAAW,EAAE,QAAQ;IACrB,SAAS,EAAE,IAAI;CAClB,CAAA;AAED,KAAK,UAAU,YAAY,CAAC,QAAgB;IACxC,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACvB,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;YAC1B,MAAM,YAAY,GAAiB,EAAE,CAAA;YACrC,IAAI,KAAK,GAAG,CAAC,CAAA;YACb,IAAI,QAAQ,GAAG,CAAC,CAAA;YAChB,IAAI,YAAY,GAAG,CAAC,CAAA;YACpB,IAAI,CAAC,GAAG,EAAE,CAAC;gBACP,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;oBAC1B,KAAK,EAAE,CAAA;oBACP,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAChB,QAAQ,EAAE,CAAA;wBACV,SAAQ;oBACZ,CAAC;oBACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;wBAClB,YAAY,EAAE,CAAA;oBAClB,CAAC;oBACD,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;oBACzD,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAA;gBACrC,CAAC;YACL,CAAC;YACD,GAAG,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAA;QACxD,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,YAAwB,EAAE,QAAgB;IAC5D,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,CAAA;IACnB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7C,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;IACD,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC5B,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE;YACpB,IAAI,GAAG,EAAE,CAAC;gBACN,GAAG,CAAC,GAAG,CAAC,CAAA;YACZ,CAAC;iBAAM,CAAC;gBACJ,GAAG,CAAC,IAAI,CAAC,CAAA;YACb,CAAC;QACL,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC;AAED,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,OAAO,CAAC,OAAO,GAAG,cAAc;IAC1D,uBAAuB,CAAC,OAAO,CAAC,CAAA;IAChC,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IAC/D,MAAM,YAAY,GAAG,EAAE,CAAA;IACvB,MAAM,aAAa,GAAG,EAAE,CAAA;IACxB,MAAM,iBAAiB,GAAG,EAAE,CAAA;IAC5B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QACxB,aAAa,CAAC,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,UAAU,IAAI,GAAG,OAAO,CAAA;QACxD,iBAAiB,CAAC,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,UAAU,IAAI,GAAG,KAAK,CAAA;IAC9D,CAAC;IAED,IAAI,cAAc,GAA4B,KAAK,CAAA;IACnD,IAAI,WAAW,GAAG,EAAE,CAAA;IAEpB,IAAI,kBAAkB,GAAG,EAAE,CAAA;IAC3B,IAAI,YAAY,GAAG,IAAI,YAAY,CAAC,EAAE,CAAC,CAAA;IAEvC,MAAM,QAAQ,GAAsD,EAAE,CAAA;IAEtE,KAAK,UAAU,gBAAgB,CAAC,GAAW;QACvC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,MAAM,YAAY,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAA;QACzG,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QACzB,OAAO,CAAC,IAAI,CAAC,eAAe,GAAG,aAAa,KAAK,eAAe,QAAQ,mBAAmB,YAAY,EAAE,CAAC,CAAA;IAC9G,CAAC;IAED,KAAK,UAAU,eAAe,CAAC,GAAW;QACtC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;QAClB,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;YACrC,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;gBAC5B,MAAM,CAAC,UAAU,GAAG,EAAE,CAAA;YAC1B,CAAC;YACD,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACnC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;QACtG,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9C,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACf,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA,CAAC,mBAAmB;YAC5C,CAAC;QACL,CAAC;QACD,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;YAC5B,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QAC/E,CAAC;IACL,CAAC;IAED,KAAK,UAAU,iBAAiB;QAC5B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAA;QAC/B,CAAC;QACD,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QACvD,YAAY,GAAG,IAAI,YAAY,CAAC,kBAAkB,CAAC,CAAA;QACnD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,eAAe,CAAC,GAAG,CAAC,CAAA;QAC9B,CAAC;IACL,CAAC;IAED,KAAK,UAAU,UAAU,CAAC,OAAe,EAAE,GAAuB,EAAE,QAAgB;QAChF,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QACvC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,OAAO,EAAE,CAAA;QACb,CAAC;QACD,IAAI,KAAK,GAAG,KAAK,CAAA;QACjB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,EAAE,CAAA;YAClB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBACtB,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;gBACtB,IAAI,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;gBACvC,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;oBACrB,UAAU,GAAG,IAAI,EAAE,CAAC,IAAI,EAAE,CAAA;oBAC1B,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;oBAClC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAA;gBACvC,CAAC;gBACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACf,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;gBACrC,CAAC;gBACD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC5C,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBACxC,CAAC;gBACD,IAAI,GAAG,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC;oBAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;oBAC3B,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;wBAC/B,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAA;wBACzB,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;oBAC5B,CAAC;gBACL,CAAC;qBAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/B,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBAC5B,CAAC;YACL,CAAC;YACD,IAAI,GAAG,KAAK,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjD,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;gBAC5E,IAAI,OAAO,EAAE,CAAC;oBACV,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;oBAC5D,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA,CAAC,wCAAwC;gBACnE,CAAC;YACL,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjB,KAAK,GAAG,IAAI,CAAA;YAChB,CAAC;QACL,CAAC;QACD,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC1B,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAC5B,KAAK;SACR,CAAA;IACL,CAAC;IAED,IAAI,oBAAoB,GAA4B,EAAE,CAAA;IACtD,MAAM,KAAK,GAAU,KAAK,CAAA;IAC1B,OAAO;QACH,IAAI,EAAE,SAAS;QACf,KAAK,CAAC,cAAc,CAAC,MAAmD;YACpE,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;gBAC1B,cAAc,GAAG,MAAM,CAAA;gBACvB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;oBACxB,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;oBACtB,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;gBACtB,CAAC;gBACD,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;YAC3D,CAAC;iBAAM,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACzB,cAAc,GAAG,MAAM,CAAA;YAC3B,CAAC,CAAC,oBAAoB;YACtB,WAAW,GAAG,MAAM,CAAC,IAAI,CAAA;YACzB,oBAAoB,GAAG,MAAM,CAAC,WAAW,CACrC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC;iBAC5B,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,WAAW,GAAG,GAAG,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAC1E,CAAA;YACD,MAAM,iBAAiB,EAAE,CAAA;QAC7B,CAAC;QACD,KAAK,CAAC,eAAe,CAAC,GAAmB;YACrC,IAAI,GAAG,CAAC,IAAI,IAAI,oBAAoB,EAAE,CAAC;gBACnC,MAAM,GAAG,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBAC1C,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAA;gBAC3B,MAAM,eAAe,CAAC,GAAG,CAAC,CAAA;YAC9B,CAAC;QACL,CAAC;QACD,SAAS,EAAE;YACP,KAAK;YACL,OAAO,EAAE,KAAK,WAAU,IAAY,EAAE,EAAU;gBAC5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC;oBACzF,OAAM;gBACV,CAAC;gBACD,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;gBACvE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACvC,OAAM;gBACV,CAAC;gBACD,IAAI,GAAuB,CAAA;gBAC3B,IAAI,QAAQ,EAAE,CAAC;oBACX,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAA;gBACtD,CAAC;qBAAM,CAAC;oBACJ,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;gBACvC,CAAC;gBACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;gBAC1C,MAAM,EAAC,KAAK,EAAE,GAAG,SAAS,EAAC,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;gBACnE,+DAA+D;gBAC/D,IAAI,KAAK,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;oBACrC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;wBACxB,IAAI,cAAc,KAAK,KAAK,EAAE,CAAC;4BAC3B,MAAM,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAA;wBAC3D,CAAC;wBACD,MAAM,eAAe,CAAC,GAAG,CAAC,CAAA;oBAC9B,CAAC;gBACL,CAAC;gBACD,OAAO,SAAS,CAAA;YACpB,CAAC;SACJ;QACD,KAAK,CAAC,QAAQ;YACV,IAAI,cAAc,IAAI,KAAK,EAAE,CAAC;gBAC1B,uBAAuB;gBACvB,OAAM;YACV,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBACxB,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;oBAClC,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;oBACrC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAA;gBACpD,CAAC;gBACD,MAAM,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAA;gBACvD,MAAM,eAAe,CAAC,GAAG,CAAC,CAAA,CAAC,8BAA8B;YAC7D,CAAC;QACL,CAAC;QACD,YAAY;YACR,OAAO;gBACH,YAAY;gBACZ,QAAQ;aACX,CAAA;QACL,CAAC;KACJ,CAAA;AACL,CAAC"}
@@ -2,12 +2,13 @@ import MagicString from "magic-string";
2
2
  import type { ItemType } from "./gemini.js";
3
3
  import type { AST } from "svelte/compiler";
4
4
  import type Estree from 'estree';
5
- export type HeuristicFunc = (text: string, scope: TxtScope) => boolean;
5
+ import type { Program, AnyNode } from "acorn";
6
6
  type TxtScope = "script" | "markup" | "attribute";
7
7
  type ElementNode = AST.ElementLike & {
8
8
  inCompoundText: boolean;
9
9
  };
10
- export declare function defaultHeuristic(text: string, scope?: string): boolean;
10
+ export type HeuristicFunc = (text: string, scope: TxtScope) => boolean;
11
+ export declare function defaultHeuristic(text: string, scope: TxtScope): boolean;
11
12
  export declare class NestText extends String {
12
13
  scope: TxtScope;
13
14
  context: string;
@@ -27,14 +28,13 @@ export declare class IndexTracker {
27
28
  }
28
29
  export default class Preprocess {
29
30
  index: IndexTracker;
30
- importFrom: string;
31
31
  heuristic: HeuristicFunc;
32
32
  content: string;
33
33
  mstr: MagicString;
34
34
  forceInclude: boolean | null;
35
- context: string;
35
+ context: string | null;
36
36
  insideDerived: boolean;
37
- constructor(index: IndexTracker, heuristic?: HeuristicFunc, importFrom?: string);
37
+ constructor(index: IndexTracker, heuristic?: HeuristicFunc);
38
38
  checkHeuristic: (text: string, scope: TxtScope) => [boolean, NestText];
39
39
  visitLiteral: (node: Estree.Literal & {
40
40
  start: number;
@@ -53,14 +53,12 @@ export default class Preprocess {
53
53
  visitForInStatement: (node: Estree.ForInStatement) => NestText[];
54
54
  visitStatement: (node: Estree.ForStatement) => NestText[];
55
55
  visitVariableDeclaration: (node: Estree.VariableDeclaration) => NestText[];
56
- visitExportDefaultDeclaration: (node: Estree.ExportDefaultDeclaration) => NestText[];
57
56
  visitArrowFunctionExpression: (node: Estree.ArrowFunctionExpression) => NestText[];
58
57
  visitBlockStatement: (node: Estree.BlockStatement) => NestText[];
59
58
  visitReturnStatement: (node: Estree.ReturnStatement) => NestText[];
60
59
  visitIfStatement: (node: Estree.IfStatement) => NestText[];
61
60
  visitTemplateLiteral: (node: Estree.TemplateLiteral) => NestText[];
62
61
  visitExpressionTag: (node: AST.ExpressionTag) => NestText[];
63
- checkHasCompoundText: (node: AST.ElementLike) => boolean;
64
62
  visitRegularElement: (node: ElementNode & {
65
63
  fragment: AST.Fragment & {
66
64
  nodes: ElementNode[];
@@ -83,7 +81,7 @@ export default class Preprocess {
83
81
  visitProgram: (node: Estree.Program, needImport?: boolean) => NestText[];
84
82
  visitRoot: (node: AST.Root) => NestText[];
85
83
  processCommentDirectives: (data: string) => void;
86
- visit: (node: AST.SvelteNode & Estree.BaseNode) => NestText[];
87
- process: (content: string, ast: Estree.Program | AST.Root) => NestText[];
84
+ visit: (node: AST.SvelteNode | AnyNode) => NestText[];
85
+ process: (content: string, ast: Program | AST.Root) => NestText[];
88
86
  }
89
87
  export {};
@@ -6,7 +6,7 @@ const rtComponent = 'WuchaleTrans';
6
6
  const rtFunc = 'wuchaleTrans';
7
7
  const importModule = `import {${rtFunc}} from "wuchale/runtime.svelte.js"`;
8
8
  const importComponent = `import ${rtComponent} from "wuchale/runtime.svelte"`;
9
- export function defaultHeuristic(text, scope = 'markup') {
9
+ export function defaultHeuristic(text, scope) {
10
10
  if (scope === 'markup') {
11
11
  return true;
12
12
  }
@@ -26,11 +26,9 @@ export class NestText extends String {
26
26
  toKey = () => `${this.toString()}\n${this.context ?? ''}`.trim();
27
27
  }
28
28
  export class IndexTracker {
29
- indices;
30
- nextIndex;
29
+ indices = {};
30
+ nextIndex = 0;
31
31
  constructor(sourceTranslations) {
32
- this.indices = {};
33
- this.nextIndex = 0;
34
32
  for (const txt of Object.keys(sourceTranslations)) {
35
33
  // guaranteed order for strings since ES2015
36
34
  this.indices[txt] = this.nextIndex;
@@ -49,21 +47,15 @@ export class IndexTracker {
49
47
  }
50
48
  export default class Preprocess {
51
49
  index;
52
- importFrom;
53
50
  heuristic;
54
- content;
51
+ content = '';
55
52
  mstr;
56
- forceInclude;
57
- context;
53
+ forceInclude = null;
54
+ context = null;
58
55
  insideDerived = false;
59
- constructor(index, heuristic = defaultHeuristic, importFrom = '') {
56
+ constructor(index, heuristic = defaultHeuristic) {
60
57
  this.index = index;
61
- this.importFrom = importFrom;
62
58
  this.heuristic = heuristic;
63
- this.content = '';
64
- this.mstr = null;
65
- this.forceInclude = null;
66
- this.content = null;
67
59
  }
68
60
  checkHeuristic = (text, scope) => {
69
61
  text = text.replace(/\s+/g, ' ').trim();
@@ -184,7 +176,6 @@ export default class Preprocess {
184
176
  }
185
177
  return txts;
186
178
  };
187
- visitExportDefaultDeclaration = (node) => this.visit(node.declaration);
188
179
  visitArrowFunctionExpression = (node) => this.visit(node.body);
189
180
  visitBlockStatement = (node) => {
190
181
  const txts = [];
@@ -236,21 +227,6 @@ export default class Preprocess {
236
227
  return txts;
237
228
  };
238
229
  visitExpressionTag = (node) => this.visit(node.expression);
239
- checkHasCompoundText = (node) => {
240
- let text = false;
241
- let nonText = false;
242
- for (const child of node.fragment.nodes ?? []) {
243
- if (child.type === 'Text') {
244
- if (child.data.trim()) {
245
- text = true;
246
- }
247
- }
248
- else if (child.type !== 'Comment') {
249
- nonText = true;
250
- }
251
- }
252
- return text && nonText; // mixed content
253
- };
254
230
  visitRegularElement = (node) => {
255
231
  const txts = [];
256
232
  for (const attrib of node.attributes) {
@@ -331,11 +307,11 @@ export default class Preprocess {
331
307
  txts.push(txt);
332
308
  }
333
309
  }
334
- if (nodesWithChildren.includes(child.type)) {
310
+ if (nodesWithChildren.includes(child.type) && chTxt) {
335
311
  chTxt = `<${iTag}>${chTxt}</${iTag}>`;
336
312
  }
337
313
  else {
338
- // InlineComponent
314
+ // childless elements and anything else
339
315
  chTxt = `<${iTag}/>`;
340
316
  }
341
317
  const snippetName = `${snipPrefix}${iTag}`;
@@ -376,8 +352,9 @@ export default class Preprocess {
376
352
  this.mstr.appendLeft(lastChildEnd, begin);
377
353
  this.mstr.appendRight(lastChildEnd, end);
378
354
  }
379
- else if (!node.inCompoundText) {
380
- this.mstr.appendLeft(lastChildEnd, `{${rtFunc}(${this.index.get(nTxt.toKey())}, `);
355
+ else if (!node.inCompoundText) { // no need for component use
356
+ const comma = iArg > 0 ? ', ' : ''; // before first arg
357
+ this.mstr.appendLeft(lastChildEnd, `{${rtFunc}(${this.index.get(nTxt.toKey())}${comma}`);
381
358
  this.mstr.appendRight(lastChildEnd, ')}');
382
359
  }
383
360
  return txts;
@@ -529,9 +506,11 @@ export default class Preprocess {
529
506
  this.processCommentDirectives(node.data.trim());
530
507
  return [];
531
508
  }
532
- // for estree
533
- for (const comment of node.leadingComments ?? []) {
534
- this.processCommentDirectives(comment.value.trim());
509
+ if ('leadingComments' in node) {
510
+ // for estree
511
+ for (const comment of node.leadingComments) {
512
+ this.processCommentDirectives(comment.value.trim());
513
+ }
535
514
  }
536
515
  let txts = [];
537
516
  if (this.forceInclude !== false) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prep.js","sourceRoot":"","sources":["../../src/plugin/prep.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wuchale",
3
- "version": "0.4.2",
3
+ "version": "0.4.3",
4
4
  "description": "i18n for svelte without turning your codebase upside down",
5
5
  "scripts": {
6
6
  "build": "tsc",
@@ -16,14 +16,14 @@
16
16
  "runtime.svelte"
17
17
  ],
18
18
  "exports": {
19
- ".": {
20
- "import": "./dist/index.js"
21
- },
22
- "./runtime.svelte.js": {
23
- "import": "./dist/runtime.svelte.js",
24
- "types": "./dist/runtime.svelte.d.ts"
25
- },
26
- "./runtime.svelte": "./runtime.svelte"
19
+ ".": {
20
+ "import": "./dist/index.js"
21
+ },
22
+ "./runtime.svelte.js": {
23
+ "import": "./dist/runtime.svelte.js",
24
+ "types": "./dist/runtime.svelte.d.ts"
25
+ },
26
+ "./runtime.svelte": "./runtime.svelte"
27
27
  },
28
28
  "types": "./dist/index.d.ts",
29
29
  "homepage": "https://github.com/K1DV5/wuchale",
@@ -31,9 +31,11 @@
31
31
  "author": "K1DV5",
32
32
  "license": "MIT",
33
33
  "dependencies": {
34
- "svelte": "^5.28.1",
34
+ "@sveltejs/acorn-typescript": "^1.0.5",
35
+ "acorn": "^8.15.0",
35
36
  "magic-string": "^0.30.17",
36
- "pofile": "^1.1.4"
37
+ "pofile": "^1.1.4",
38
+ "svelte": "^5.28.1"
37
39
  },
38
40
  "devDependencies": {
39
41
  "@types/node": "^24.0.3",
@@ -1 +0,0 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/preprocess/compile.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAE3B,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAOvC,SAAS,gBAAgB,CAAC,IAAgG;IACtH,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACtB,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACvB,CAAC;QACD,OAAO,EAAE,CAAA;IACb,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QAChC,OAAO,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC5C,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC5B,OAAO,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC1B,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC;aACrC,CAAC,CAAA;IACN,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,EAAE,CAAA;QAChB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAA;QAC1C,CAAC;QACD,OAAO,KAAK,CAAA;IAChB,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAA;IAC3C,OAAO,EAAE,CAAA;AACb,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,IAAY,EAAE,QAA0B;IAC/E,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,QAAQ,CAAA;IACnB,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAA;IACf,CAAC;IACD,+CAA+C;IAC/C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA;IAC/C,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QACzC,OAAO,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAClB,OAAO,QAAQ,CAAA;IACnB,CAAC;AACL,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/preprocess/gemini.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,aAAa;AAEb,OAAO,EAAE,MAAM,QAAQ,CAAA;AAEvB,MAAM,OAAO,GAAG,+FAA+F,CAAA;AAC/G,MAAM,CAAC,GAAG,EAAC,cAAc,EAAE,kBAAkB,EAAC,CAAA;AAE9C,SAAS,YAAY,CAAC,MAAc;IAChC,OAAO,WAAW,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AACnD,CAAC;AAID,SAAS,WAAW,CAAC,SAAqB,EAAE,YAAoB,EAAE,YAAoB;IAClF,MAAM,WAAW,GAAG;;;8BAGM,YAAY,CAAC,YAAY,CAAC,aAAa,YAAY;8BACnD,YAAY,CAAC,YAAY,CAAC,aAAa,YAAY;;;;;;;;;;KAU5E,CAAA;IACD,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,CAAA;IACnB,EAAE,CAAC,KAAK,GAAG,SAAS,CAAA;IACpB,OAAO;QACH,kBAAkB,EAAE;YAChB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;SACjC;QACD,QAAQ,EAAE,CAAC,EAAC,KAAK,EAAE,CAAC,EAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAC,CAAC,EAAC,CAAC;KAC/C,CAAA;AACL,CAAC;AAUD,SAAS,WAAW,CAAC,YAAoB,EAAE,YAAoB,EAAE,MAAqB;IAClF,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACnB,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAA;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAM;IACV,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,OAAO,GAAG,MAAM,EAAE,CAAA;IACjC,OAAO,KAAK,EAAE,SAAqB,EAAE,EAAE;QACnC,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,CAAC,CAAA;QAC/D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAC,CAAC,CAAA;QACtF,MAAM,IAAI,GAAc,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACzD,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACxD,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjB,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;YACrC,CAAC;QACL,CAAC;IACL,CAAC,CAAA;AACL,CAAC;AAED,eAAe,WAAW,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/preprocess/index.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"prep.js","sourceRoot":"","sources":["../../src/preprocess/prep.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes