wuchale 0.4.3 → 0.5.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.
package/README.md CHANGED
@@ -50,9 +50,9 @@ Messages are compiled into arrays with index-based lookups. Runtime only
50
50
  concatenates and renders — no regex, replace, or complex logic. And the
51
51
  compiled bundles are as small as possible, they don't even have keys.
52
52
 
53
- ### 🔁 HMR & Dev Translations Live updates during development.
53
+ ### 🔁 Optional HMR & Dev Translations Live updates during development.
54
54
 
55
- Translation files and source changes trigger updates instantly — including
55
+ Translation files and source changes can trigger updates instantly — including
56
56
  optional Gemini-based auto-translation. This means you can write the code in
57
57
  English and have it shown in another language in the browser while in dev mode.
58
58
 
@@ -69,8 +69,8 @@ some existing solutions.
69
69
 
70
70
  ### ✨ Ready for Svelte 5
71
71
 
72
- Works with Svelte 5's new architecture and snippets. Future-proof and tightly
73
- integrated
72
+ Works with Svelte 5's new architecture with runes and snippets. Future-proof
73
+ and tightly integrated
74
74
 
75
75
  ## 🚀 Getting Started
76
76
 
@@ -99,15 +99,23 @@ export default {
99
99
 
100
100
  ### Configuration
101
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`:
102
+ To configure `wuchale`, you can do one of:
103
+
104
+ - Pass an object `wuchale()` in your `vite.config.js` `vite.config.ts`
105
+ - Create a `wuchale.config.js` file that exports the config object as `default` in your project root directory.
106
+
107
+ But the latter is recommended as it is also read when using the CLI command to extract items.
108
+
109
+ The config object should look like the following (the default):
104
110
 
105
111
  ```javascript
106
- export const defaultOptions: Options = {
112
+ export const defaultOptions: Config = {
107
113
  sourceLocale: 'en',
108
114
  otherLocales: [],
109
115
  localesDir: './src/locales',
116
+ srcDirs: ['src'],
110
117
  heuristic: defaultHeuristic,
118
+ hmr: true,
111
119
  geminiAPIKey: 'env',
112
120
  }
113
121
  ```
@@ -126,6 +134,33 @@ arguments:
126
134
 
127
135
  And it should return boolean to indicate whether to extract it.
128
136
 
137
+ The `hmr` can be used to turn off the live updates during dev. It will disable
138
+ all text extraction from source files and modification of the `.po` files as
139
+ you modify the source files. This may be desired because the language files are
140
+ imported by the top components and frequent modification of the language files
141
+ can trigger big updates of the DOM, which may cause states not depending on the
142
+ URL to be lost. If you choose to disable the `hmr` extraction, you can still
143
+ extract (and translate with Gemini) using the CLI command.
144
+
145
+ ### Register CLI
146
+
147
+ You must add entries to run the CLI from `npm`.
148
+
149
+ ```javascript
150
+ // package.json
151
+ {
152
+ // ...
153
+ "scripts": {
154
+ // ...
155
+ "extract": "wuchale",
156
+ "clean": "wuchale --clean"
157
+ },
158
+ // ...
159
+ }
160
+ ```
161
+
162
+ You can read more about the CLI below
163
+
129
164
  ### Setup
130
165
 
131
166
  Create `/src/locales/` (or the directory you set up in the configuration,
@@ -152,14 +187,14 @@ interface Params {
152
187
  export async function load({ url }: Params): Promise<{}> {
153
188
  const locale = url.searchParams.get('locale') ?? 'es'
154
189
  // IMPORTANT! The path should be relative to the current file
155
- const mod = await import(`../locales/${locale}.json`)
190
+ const mod = await import(`../locales/${locale}.js`)
156
191
  setTranslations(mod.default)
157
192
  return {}
158
193
  }
159
194
  ```
160
195
 
161
196
  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
197
+ and loads the appropriate language js based on it. You can now adapt it to
163
198
  any state such as the `[locale]` slug in the URL path based on your own needs.
164
199
 
165
200
  Now you can start the dev server and see it in action. You can change the URL
@@ -179,7 +214,7 @@ the default template as an example, the main component is located in
179
214
 
180
215
  $effect.pre(() => {
181
216
  // IMPORTANT! The path should be relative to the current file (vite restriction).
182
- import(`../locales/${locale}.json`).then(mod => {
217
+ import(`../locales/${locale}.js`).then(mod => {
183
218
  setTranslations(mod.default)
184
219
  })
185
220
  // but this only applies if you want to do lazy loading.
@@ -189,7 +224,7 @@ the default template as an example, the main component is located in
189
224
  ```
190
225
 
191
226
  Note that you manage the state of which locale is active and how to download
192
- the compiled `.json`. This is to allow maximum flexibility, meaning you can use
227
+ the compiled `.js`. This is to allow maximum flexibility, meaning you can use
193
228
  lazy loading (like this example) or you can import it directly and it will be
194
229
  bundled by Vite. After that, you notify `wuchale` to set it as the current one.
195
230
 
@@ -252,8 +287,8 @@ msgstr "Hola {0}"
252
287
 
253
288
  Which is then automatically compiled to:
254
289
 
255
- ```json
256
- [
290
+ ```javascript
291
+ export default [
257
292
  "¡Hola!",
258
293
  [
259
294
  "Hola ",
@@ -265,7 +300,7 @@ Which is then automatically compiled to:
265
300
  ]
266
301
  ```
267
302
 
268
- This is what you import when you set it up above in `+page.ts` or `App.svelte`.
303
+ This is what is included in the imported module above in `+page.ts` or `App.svelte`.
269
304
 
270
305
  ## 📦 How It Works
271
306
 
@@ -277,10 +312,8 @@ This is what you import when you set it up above in `+page.ts` or `App.svelte`.
277
312
  1. Replaced with index-based lookups `wuchaleTrans(n)`, which is minifiable for production builds.
278
313
  1. Catalog is updated
279
314
  1. If Gemini integration is enabled, it fetches translations automatically.
280
- 1. Messages are compiled and written
315
+ 1. Messages are compiled
281
316
  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
317
  1. Final build contains only minified catalogs and the runtime.
285
318
 
286
319
  ### Catalogs:
@@ -398,6 +431,14 @@ necessary to have a separate plurals support because you can do something like:
398
431
  And they will be extracted separately. You can also make a reusable function
399
432
  yourself.
400
433
 
434
+ ## CLI
435
+
436
+ A simple command line interface is also provided, just `wuchale` with an optional `--clean` argument.
437
+
438
+ By default, it looks inside all svelte sources and extracts new texts into the
439
+ `.po` files. If the `--clean` argument is provided, it additionally removes
440
+ unused texts from the `.po` files.
441
+
401
442
  ## Files management
402
443
 
403
444
  `wuchale` generates two files for each locale.
@@ -413,17 +454,12 @@ This is a `gettext` file that is used to exchange the text fragments with transl
413
454
  **Note**: You should commit these files, they are where the translated
414
455
  fragments are stored and are the source of truth for the translations.
415
456
 
416
- ### Compiled `.json` file
417
-
418
- This is the compiled version of the `.po` file. It is generated at the startup
419
- of the dev server and at build time. As it has to be generated every time, you
420
- should consider it as a temp file and therefore you should **not** commit it.
421
-
422
- ## 🧹 Cleaning
457
+ ### Compiled data in `.js` file
423
458
 
424
- Unused keys are marked as obsolete during a production build. Obsoletes are
425
- purged on the next run (build or dev). Essentially this means cleaning needs
426
- two passes. This is because of how vite/rollup works.
459
+ This is the module that imports the compiled version of the `.po` file. It is
460
+ generated at the startup of the dev server and at build time. As can be
461
+ generated every time, you should consider it as a temp file and therefore you
462
+ should not commit it.
427
463
 
428
464
  ## 🧪 Tests
429
465
 
package/dist/cli.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
package/dist/cli.js ADDED
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env node
2
+ import createPlugin from "./plugin/index.js";
3
+ let clean = false;
4
+ if (process.argv[2] === '--clean') {
5
+ clean = true;
6
+ }
7
+ const plugin = await createPlugin();
8
+ await plugin.configResolved({ env: { EXTRACT: true }, root: process.cwd() });
9
+ console.log('Extracting...');
10
+ if (clean) {
11
+ for (const loc of plugin.locales) {
12
+ for (const item of Object.values(plugin._translations[loc])) {
13
+ item.references = [];
14
+ }
15
+ }
16
+ }
17
+ await plugin.directExtract();
18
+ if (clean) {
19
+ for (const loc of plugin.locales) {
20
+ for (const [key, item] of Object.entries(plugin._translations[loc])) {
21
+ if (item.references.length === 0) {
22
+ delete plugin._translations[loc][key];
23
+ }
24
+ }
25
+ plugin.afterExtract(loc);
26
+ }
27
+ }
28
+ console.log('Extraction finished.');
29
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,YAAY,MAAM,mBAAmB,CAAA;AAE5C,IAAI,KAAK,GAAG,KAAK,CAAA;AACjB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;IAChC,KAAK,GAAG,IAAI,CAAA;AAChB,CAAC;AAED,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAA;AACnC,MAAM,MAAM,CAAC,cAAc,CAAC,EAAC,GAAG,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,EAAC,CAAC,CAAA;AAExE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;AAE5B,IAAI,KAAK,EAAE,CAAC;IACR,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC1D,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;QACxB,CAAC;IACL,CAAC;AACL,CAAC;AAED,MAAM,MAAM,CAAC,aAAa,EAAE,CAAA;AAE5B,IAAI,KAAK,EAAE,CAAC;IACR,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAClE,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;YACzC,CAAC;QACL,CAAC;QACD,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;AACL,CAAC;AAED,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { type HeuristicFunc } from "./plugin/prep.js";
2
+ export interface Config {
3
+ sourceLocale?: string;
4
+ otherLocales?: string[];
5
+ localesDir?: string;
6
+ srcDirs?: string[];
7
+ heuristic?: HeuristicFunc;
8
+ hmr?: boolean;
9
+ geminiAPIKey?: string;
10
+ }
11
+ export declare const defaultOptions: Config;
12
+ export declare function getOptions(codeOptions?: Config): Promise<Config>;
package/dist/config.js ADDED
@@ -0,0 +1,26 @@
1
+ import { defaultHeuristic } from "./plugin/prep.js";
2
+ export const defaultOptions = {
3
+ sourceLocale: 'en',
4
+ otherLocales: [],
5
+ localesDir: './src/locales',
6
+ srcDirs: ['src'],
7
+ heuristic: defaultHeuristic,
8
+ hmr: true,
9
+ geminiAPIKey: 'env',
10
+ };
11
+ function mergeOptions(fromOpt, toOpt) {
12
+ for (const key of Object.keys(fromOpt)) {
13
+ toOpt[key] = fromOpt[key];
14
+ }
15
+ }
16
+ export async function getOptions(codeOptions = {}) {
17
+ const options = defaultOptions;
18
+ try {
19
+ const module = await import(process.cwd() + '/wuchale.config.js');
20
+ mergeOptions(module.default, options);
21
+ }
22
+ catch { }
23
+ mergeOptions(codeOptions, options);
24
+ return options;
25
+ }
26
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAsB,MAAM,kBAAkB,CAAA;AAYvE,MAAM,CAAC,MAAM,cAAc,GAAW;IAClC,YAAY,EAAE,IAAI;IAClB,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,eAAe;IAC3B,OAAO,EAAE,CAAC,KAAK,CAAC;IAChB,SAAS,EAAE,gBAAgB;IAC3B,GAAG,EAAE,IAAI;IACT,YAAY,EAAE,KAAK;CACtB,CAAA;AAED,SAAS,YAAY,CAAC,OAAe,EAAE,KAAa;IAChD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAC7B,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,cAAsB,EAAE;IACrD,MAAM,OAAO,GAAW,cAAc,CAAA;IACtC,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC,CAAA;QACjE,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACzC,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IAClC,OAAO,OAAO,CAAA;AAClB,CAAC"}
@@ -1,4 +1,28 @@
1
1
  import PO from 'pofile';
2
2
  export type ItemType = InstanceType<typeof PO.Item>;
3
- declare function setupGemini(sourceLocale: string, targetLocale: string, apiKey: string | null): (fragments: ItemType[]) => Promise<void>;
4
- export default setupGemini;
3
+ export default class GeminiQueue {
4
+ batches: ItemType[][];
5
+ running: Promise<void> | null;
6
+ sourceLocale: string;
7
+ targetLocale: string;
8
+ url: string;
9
+ instruction: string;
10
+ onComplete: () => Promise<void>;
11
+ constructor(sourceLocale: string, targetLocale: string, apiKey: string | null, onComplete: () => Promise<void>);
12
+ prepareData(fragments: ItemType[]): {
13
+ system_instruction: {
14
+ parts: {
15
+ text: string;
16
+ }[];
17
+ };
18
+ contents: {
19
+ parts: {
20
+ text: string;
21
+ }[];
22
+ }[];
23
+ };
24
+ translate(fragments: ItemType[]): Promise<void>;
25
+ getBatches(): Generator<ItemType[], void, unknown>;
26
+ run(): Promise<void>;
27
+ add(items: ItemType[]): boolean;
28
+ }
@@ -6,50 +6,97 @@ const h = { 'Content-Type': 'application/json' };
6
6
  function codeStandard(locale) {
7
7
  return `ISO 639-${locale.length === 2 ? 1 : 3}`;
8
8
  }
9
- function prepareData(fragments, sourceLocale, targetLocale) {
10
- const instruction = `
11
- You will be given the contents of a gettext .po file for a web app.
12
- Translate each of the items from the source to the target language.
13
- The source language ${codeStandard(sourceLocale)} code is: ${sourceLocale}.
14
- The target language ${codeStandard(targetLocale)} code is: ${targetLocale}.
15
- You can read all of the information for the items including contexts,
16
- comments and references to get the appropriate context about each item.
17
- Provide the translated fragments in the in the same order, preserving
18
- all placeholders.
19
- The placeholder format is like the following examples:
20
- - {0}: means arbitrary values.
21
- - <0>something</0>: means something enclosed in some tags, like HTML tags
22
- - <0/>: means a self closing tag, like in HTML
23
- In all of the examples, 0 is an example for any integer.
24
- `;
25
- const po = new PO();
26
- po.items = fragments;
27
- return {
28
- system_instruction: {
29
- parts: [{ text: instruction }]
30
- },
31
- contents: [{ parts: [{ text: po.toString() }] }]
32
- };
33
- }
34
- function setupGemini(sourceLocale, targetLocale, apiKey) {
35
- if (apiKey === 'env') {
36
- apiKey = process.env.GEMINI_API_KEY;
9
+ // implements a queue for a sequential translation useful for vite's transform during dev
10
+ // as vite can do async transform
11
+ export default class GeminiQueue {
12
+ batches = [];
13
+ running = null;
14
+ sourceLocale;
15
+ targetLocale;
16
+ url;
17
+ instruction;
18
+ onComplete;
19
+ constructor(sourceLocale, targetLocale, apiKey, onComplete) {
20
+ if (apiKey === 'env') {
21
+ apiKey = process.env.GEMINI_API_KEY;
22
+ }
23
+ if (!apiKey) {
24
+ return;
25
+ }
26
+ this.sourceLocale = sourceLocale;
27
+ this.targetLocale = targetLocale;
28
+ this.url = `${baseURL}${apiKey}`;
29
+ this.instruction = `
30
+ You will be given the contents of a gettext .po file for a web app.
31
+ Translate each of the items from the source to the target language.
32
+ The source language ${codeStandard(this.sourceLocale)} code is: ${this.sourceLocale}.
33
+ The target language ${codeStandard(this.targetLocale)} code is: ${this.targetLocale}.
34
+ You can read all of the information for the items including contexts,
35
+ comments and references to get the appropriate context about each item.
36
+ Provide the same content with the only difference being that the
37
+ empty msgstr quotes should be filled with the appropriate translations,
38
+ preserving all placeholders.
39
+ The placeholder format is like the following examples:
40
+ - {0}: means arbitrary values.
41
+ - <0>something</0>: means something enclosed in some tags, like HTML tags
42
+ - <0/>: means a self closing tag, like in HTML
43
+ In all of the examples, 0 is an example for any integer.
44
+ `;
45
+ this.onComplete = onComplete;
37
46
  }
38
- if (!apiKey) {
39
- return;
47
+ prepareData(fragments) {
48
+ const po = new PO();
49
+ po.items = fragments;
50
+ return {
51
+ system_instruction: {
52
+ parts: [{ text: this.instruction }]
53
+ },
54
+ contents: [{ parts: [{ text: po.toString() }] }]
55
+ };
40
56
  }
41
- const url = `${baseURL}${apiKey}`;
42
- return async (fragments) => {
43
- const data = prepareData(fragments, sourceLocale, targetLocale);
44
- const res = await fetch(url, { method: 'POST', headers: h, body: JSON.stringify(data) });
57
+ async translate(fragments) {
58
+ const data = this.prepareData(fragments);
59
+ const res = await fetch(this.url, { method: 'POST', headers: h, body: JSON.stringify(data) });
45
60
  const json = await res.json();
61
+ if (json.error) {
62
+ console.error('Gemini error', json.error.code, json.error.message);
63
+ return;
64
+ }
46
65
  const resText = json.candidates[0]?.content.parts[0].text;
47
66
  for (const [i, item] of PO.parse(resText).items.entries()) {
48
67
  if (item.msgstr[0]) {
49
68
  fragments[i].msgstr = item.msgstr;
50
69
  }
51
70
  }
52
- };
71
+ }
72
+ *getBatches() {
73
+ while (this.batches.length > 0) {
74
+ yield this.batches.pop(); // order doesn't matter, because they are given by ref
75
+ }
76
+ }
77
+ async run() {
78
+ for (const batch of this.getBatches()) {
79
+ await this.translate(batch);
80
+ }
81
+ await this.onComplete();
82
+ this.running = null;
83
+ }
84
+ add(items) {
85
+ if (!this.url) {
86
+ return;
87
+ }
88
+ let newRequest = false;
89
+ if (this.batches.length > 0) {
90
+ this.batches[0].push(...items);
91
+ }
92
+ else {
93
+ this.batches.push(items);
94
+ newRequest = true;
95
+ }
96
+ if (!this.running) {
97
+ this.running = this.run();
98
+ }
99
+ return newRequest;
100
+ }
53
101
  }
54
- export default setupGemini;
55
102
  //# sourceMappingURL=gemini.js.map
@@ -1 +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
+ {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/plugin/gemini.ts"],"names":[],"mappings":"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"}
@@ -1,39 +1,53 @@
1
- import { type HeuristicFunc } from "./prep.js";
2
1
  import { type CompiledFragment } from "./compile.js";
3
- export interface Options {
4
- sourceLocale?: string;
5
- otherLocales?: string[];
6
- localesDir?: string;
7
- heuristic?: HeuristicFunc;
8
- geminiAPIKey?: string;
9
- }
10
- export declare const defaultOptions: Options;
11
- export default function wuchale(options?: Options): Promise<{
2
+ import { type ItemType } from "./gemini.js";
3
+ import { type Config as Config } from "../config.js";
4
+ type ViteHotUpdateCTX = {
5
+ file: string;
6
+ server: {
7
+ moduleGraph: {
8
+ getModuleById: Function;
9
+ invalidateModule: Function;
10
+ };
11
+ };
12
+ timestamp: number;
13
+ };
14
+ declare class Plugin {
15
+ #private;
12
16
  name: string;
13
- configResolved(config: {
14
- env: {
15
- PROD?: boolean;
17
+ locales: string[];
18
+ _translations: {
19
+ [loc: string]: {
20
+ [key: string]: ItemType;
16
21
  };
17
- root: string;
18
- }): Promise<void>;
19
- handleHotUpdate(ctx: {
20
- file: string;
21
- }): Promise<void>;
22
+ };
23
+ _compiled: {
24
+ [locale: string]: (CompiledFragment | number)[];
25
+ };
22
26
  transform: {
23
- order: "pre";
24
- handler: (code: string, id: string) => Promise<{
25
- code?: undefined;
26
- map?: undefined;
27
- } | {
28
- code: string;
29
- map: import("magic-string").SourceMap;
30
- }>;
27
+ order: 'pre';
28
+ handler: any;
31
29
  };
32
- buildEnd(): Promise<void>;
33
- setupTesting(): {
34
- translations: {};
35
- compiled: {
36
- [locale: string]: number | CompiledFragment[];
30
+ constructor();
31
+ init: (configRaw: Config) => Promise<void>;
32
+ directExtract: () => Promise<void>;
33
+ afterExtract: (loc: string) => Promise<void>;
34
+ configResolved: (config: {
35
+ env: {
36
+ PROD?: boolean;
37
+ EXTRACT?: boolean;
37
38
  };
38
- };
39
- }>;
39
+ root: string;
40
+ }) => Promise<void>;
41
+ handleHotUpdate: (ctx: ViteHotUpdateCTX) => Promise<any[]>;
42
+ resolveId: (source: string) => string;
43
+ load: (id: string) => string;
44
+ transformHandler: (code: string, id: string) => Promise<{
45
+ code?: undefined;
46
+ map?: undefined;
47
+ } | {
48
+ code: string;
49
+ map: import("magic-string").SourceMap;
50
+ }>;
51
+ }
52
+ export default function wuchale(config?: Config): Promise<Plugin>;
53
+ export {};
@@ -1,53 +1,48 @@
1
- import Preprocess, { defaultHeuristic, IndexTracker, NestText } from "./prep.js";
1
+ import Preprocess, { IndexTracker, NestText } from "./prep.js";
2
2
  import { Parser } from 'acorn';
3
3
  import { tsPlugin } from '@sveltejs/acorn-typescript';
4
4
  import { parse } from "svelte/compiler";
5
- import { writeFile } from 'node:fs/promises';
5
+ import { writeFile, readFile } from 'node:fs/promises';
6
6
  import compileTranslation, {} from "./compile.js";
7
- import setupGemini, {} from "./gemini.js";
7
+ import GeminiQueue, {} from "./gemini.js";
8
+ import { glob } from "tinyglobby";
8
9
  import PO from "pofile";
9
10
  import { normalize, relative } from "node:path";
10
- export const defaultOptions = {
11
- sourceLocale: 'en',
12
- otherLocales: [],
13
- localesDir: './src/locales',
14
- heuristic: defaultHeuristic,
15
- geminiAPIKey: 'env',
16
- };
17
- function mergeOptionsWithDefault(options = defaultOptions) {
18
- for (const key of Object.keys(defaultOptions)) {
19
- if (key in options) {
20
- continue;
21
- }
22
- options[key] = defaultOptions[key];
23
- }
24
- }
11
+ import { getOptions } from "../config.js";
12
+ const pluginName = 'wuchale';
13
+ const virtualPrefix = `virtual:${pluginName}/`;
14
+ const virtualResolvedPrefix = '\0';
15
+ const modulePatterns = ['.svelte.js', '.svelte.ts'];
16
+ const markupPatterns = ['.svelte'];
17
+ const patterns = [...modulePatterns, ...markupPatterns];
25
18
  const ScriptParser = Parser.extend(tsPlugin());
26
19
  const scriptParseOptions = {
27
20
  sourceType: 'module',
28
21
  ecmaVersion: 'latest',
29
22
  locations: true
30
23
  };
31
- async function loadPONoFail(filename) {
32
- return new Promise((res) => {
24
+ async function loadPOFile(filename) {
25
+ return new Promise((res, rej) => {
33
26
  PO.load(filename, (err, po) => {
34
27
  const translations = {};
35
28
  let total = 0;
36
29
  let obsolete = 0;
37
30
  let untranslated = 0;
38
- if (!err) {
39
- for (const item of po.items) {
40
- total++;
41
- if (item.obsolete) {
42
- obsolete++;
43
- continue;
44
- }
45
- if (!item.msgstr[0]) {
46
- untranslated++;
47
- }
48
- const nTxt = new NestText(item.msgid, null, item.msgctxt);
49
- translations[nTxt.toKey()] = item;
31
+ if (err) {
32
+ rej(err);
33
+ return;
34
+ }
35
+ for (const item of po.items) {
36
+ total++;
37
+ if (item.obsolete) {
38
+ obsolete++;
39
+ continue;
40
+ }
41
+ if (!item.msgstr[0]) {
42
+ untranslated++;
50
43
  }
44
+ const nTxt = new NestText(item.msgid, null, item.msgctxt);
45
+ translations[nTxt.toKey()] = item;
51
46
  }
52
47
  res({ translations, total, obsolete, untranslated });
53
48
  });
@@ -69,71 +64,124 @@ async function savePO(translations, filename) {
69
64
  });
70
65
  });
71
66
  }
72
- export default async function wuchale(options = defaultOptions) {
73
- mergeOptionsWithDefault(options);
74
- const locales = [options.sourceLocale, ...options.otherLocales];
75
- const translations = {};
76
- const compiledFname = {};
77
- const translationsFname = {};
78
- for (const loc of locales) {
79
- compiledFname[loc] = `${options.localesDir}/${loc}.json`;
80
- translationsFname[loc] = `${options.localesDir}/${loc}.po`;
67
+ class Plugin {
68
+ name = pluginName;
69
+ #config;
70
+ locales;
71
+ // exposed for testing
72
+ _translations = {};
73
+ _compiled = {};
74
+ #sourceTranslations;
75
+ #compiledFname = {};
76
+ #translationsFname = {};
77
+ #currentPurpose = 'dev';
78
+ #projectRoot = '';
79
+ #indexTracker;
80
+ #geminiQueue = {};
81
+ #transFnamesToLocales = {};
82
+ transform;
83
+ #allowDirs = [];
84
+ constructor() {
85
+ this.#indexTracker = new IndexTracker({});
81
86
  }
82
- let currentPurpose = "dev";
83
- let projectRoot = '';
84
- let sourceTranslations = {};
85
- let indexTracker = new IndexTracker({});
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 = [];
87
+ init = async (configRaw) => {
88
+ this.#config = await getOptions(configRaw);
89
+ this.locales = [this.#config.sourceLocale, ...this.#config.otherLocales];
90
+ for (const loc of this.locales) {
91
+ this.#compiledFname[loc] = `${this.#config.localesDir}/${loc}.js`;
92
+ this.#translationsFname[loc] = `${this.#config.localesDir}/${loc}.po`;
93
+ }
94
+ for (const loc of this.#config.otherLocales) {
95
+ if (loc === this.#config.sourceLocale) {
96
+ throw Error('Source locale cannot included in other locales.');
97
+ }
98
+ this.#geminiQueue[loc] = new GeminiQueue(this.#config.sourceLocale, loc, this.#config.geminiAPIKey, async () => await this.afterExtract(loc));
99
+ }
100
+ if (this.#config.hmr) {
101
+ this.transform = {
102
+ order: 'pre',
103
+ handler: this.transformHandler,
104
+ };
105
+ }
106
+ };
107
+ directExtract = async () => {
108
+ const all = [];
109
+ for (const dir of this.#config.srcDirs) {
110
+ for (const patternEnd of patterns) {
111
+ for (const file of await glob(`${dir}/**/*${patternEnd}`)) {
112
+ const contents = await readFile(file);
113
+ all.push(this.transformHandler(contents.toString(), normalize(process.cwd() + '/' + file)));
114
+ }
115
+ }
116
+ }
117
+ await Promise.all(all);
118
+ };
119
+ #loadTranslations = async (loc) => {
120
+ try {
121
+ const { translations: trans, total, obsolete, untranslated } = await loadPOFile(this.#translationsFname[loc]);
122
+ this._translations[loc] = trans;
123
+ console.info(`i18n stats (${loc}): total: ${total}, obsolete: ${obsolete}, untranslated: ${untranslated}`);
124
+ }
125
+ catch (err) {
126
+ if (err.code !== 'ENOENT') {
127
+ throw err;
98
128
  }
99
- const index = indexTracker.get(key);
100
- compiled[loc][index] = compileTranslation(poItem.msgstr[0], compiled[options.sourceLocale][index]);
129
+ this._translations[loc] = {};
130
+ if (this.#currentPurpose === 'dev') {
131
+ await this.directExtract();
132
+ }
133
+ }
134
+ };
135
+ #compile = (loc) => {
136
+ this._compiled[loc] = [];
137
+ for (const key in this._translations[loc]) {
138
+ const poItem = this._translations[loc][key];
139
+ const index = this.#indexTracker.get(key);
140
+ this._compiled[loc][index] = compileTranslation(poItem.msgstr[0], this._compiled[this.#config.sourceLocale][index]);
101
141
  }
102
- for (const [i, item] of compiled[loc].entries()) {
142
+ for (const [i, item] of this._compiled[loc].entries()) {
103
143
  if (item == null) {
104
- compiled[loc][i] = 0; // reduce json size
144
+ this._compiled[loc][i] = 0; // reduce json size
105
145
  }
106
146
  }
107
- if (currentPurpose !== 'test') {
108
- await writeFile(compiledFname[loc], JSON.stringify(compiled[loc], null, 2));
147
+ };
148
+ #loadFilesAndSetup = async () => {
149
+ for (const loc of this.locales) {
150
+ await this.#loadTranslations(loc);
151
+ }
152
+ this.#sourceTranslations = this._translations[this.#config.sourceLocale];
153
+ this.#indexTracker = new IndexTracker(this.#sourceTranslations);
154
+ if (this.#currentPurpose === 'test') {
155
+ return;
109
156
  }
110
- }
111
- async function loadFilesAndSetup() {
112
- for (const loc of locales) {
113
- await loadTranslations(loc);
157
+ for (const loc of this.locales) {
158
+ this.#compile(loc);
159
+ await writeFile(this.#compiledFname[loc], `export {default} from '${virtualPrefix}${loc}'`);
114
160
  }
115
- sourceTranslations = translations[options.sourceLocale];
116
- indexTracker = new IndexTracker(sourceTranslations);
117
- for (const loc of locales) {
118
- await compileAndWrite(loc);
161
+ };
162
+ afterExtract = async (loc) => {
163
+ if (this.#currentPurpose !== 'test') {
164
+ await savePO(Object.values(this._translations[loc]), this.#translationsFname[loc]);
119
165
  }
120
- }
121
- async function preprocess(content, ast, filename) {
122
- const prep = new Preprocess(indexTracker, options.heuristic);
166
+ if (this.#currentPurpose !== 'extract') {
167
+ this.#compile(loc);
168
+ }
169
+ };
170
+ #preprocess = async (content, ast, filename) => {
171
+ const prep = new Preprocess(this.#indexTracker, this.#config.heuristic);
123
172
  const txts = prep.process(content, ast);
124
173
  if (!txts.length) {
125
174
  return {};
126
175
  }
127
- let added = false;
128
- for (const loc of locales) {
176
+ for (const loc of this.locales) {
129
177
  const newTxts = [];
130
178
  for (const nTxt of txts) {
131
179
  let key = nTxt.toKey();
132
- let translated = translations[loc][key];
133
- if (translated == null) {
180
+ let translated = this._translations[loc][key];
181
+ if (!translated) {
134
182
  translated = new PO.Item();
135
183
  translated.msgid = nTxt.toString();
136
- translations[loc][key] = translated;
184
+ this._translations[loc][key] = translated;
137
185
  }
138
186
  if (nTxt.context) {
139
187
  translated.msgctxt = nTxt.context;
@@ -141,7 +189,7 @@ export default async function wuchale(options = defaultOptions) {
141
189
  if (!translated.references.includes(filename)) {
142
190
  translated.references.push(filename);
143
191
  }
144
- if (loc === options.sourceLocale) {
192
+ if (loc === this.#config.sourceLocale) {
145
193
  const txt = nTxt.toString();
146
194
  if (translated.msgstr[0] !== txt) {
147
195
  translated.msgstr = [txt];
@@ -152,102 +200,95 @@ export default async function wuchale(options = defaultOptions) {
152
200
  newTxts.push(translated);
153
201
  }
154
202
  }
155
- if (loc !== options.sourceLocale && newTxts.length) {
156
- const geminiT = setupGemini(options.sourceLocale, loc, options.geminiAPIKey);
157
- if (geminiT) {
158
- console.info('Gemini translate', newTxts.length, 'items...');
159
- await geminiT(newTxts); // will update because it's by reference
160
- }
203
+ if (newTxts.length == 0) {
204
+ continue;
161
205
  }
162
- if (newTxts.length) {
163
- added = true;
206
+ if (loc === this.#config.sourceLocale || !this.#geminiQueue[loc].url) {
207
+ await this.afterExtract(loc);
208
+ continue;
164
209
  }
210
+ const newRequest = this.#geminiQueue[loc].add(newTxts);
211
+ const opType = `(${newRequest ? 'new request' : 'add to request'})`;
212
+ console.info('Gemini translate', newTxts.length, 'items to', loc, opType);
213
+ await this.#geminiQueue[loc].running;
165
214
  }
166
215
  return {
167
216
  code: prep.mstr.toString(),
168
217
  map: prep.mstr.generateMap(),
169
- added,
170
218
  };
171
- }
172
- let transFnamesToLocales = {};
173
- const order = 'pre';
174
- return {
175
- name: 'wuchale',
176
- async configResolved(config) {
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
188
- projectRoot = config.root;
189
- transFnamesToLocales = Object.fromEntries(Object.entries(translationsFname)
190
- .map(([loc, fname]) => [normalize(projectRoot + '/' + fname), loc]));
191
- await loadFilesAndSetup();
192
- },
193
- async handleHotUpdate(ctx) {
194
- if (ctx.file in transFnamesToLocales) {
195
- const loc = transFnamesToLocales[ctx.file];
196
- await loadTranslations(loc);
197
- await compileAndWrite(loc);
198
- }
199
- },
200
- transform: {
201
- order,
202
- handler: async function (code, id) {
203
- if (!id.startsWith(projectRoot) || id.startsWith(normalize(projectRoot + '/node_modules'))) {
204
- return;
205
- }
206
- const isModule = id.endsWith('.svelte.js') || id.endsWith('.svelte.ts');
207
- if (!id.endsWith('.svelte') && !isModule) {
208
- return;
209
- }
210
- let ast;
211
- if (isModule) {
212
- ast = ScriptParser.parse(code, scriptParseOptions);
213
- }
214
- else {
215
- ast = parse(code, { modern: true });
216
- }
217
- const filename = relative(projectRoot, id);
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') {
221
- for (const loc of locales) {
222
- if (currentPurpose === 'dev') {
223
- await savePO(translations[loc], translationsFname[loc]);
224
- }
225
- await compileAndWrite(loc);
226
- }
227
- }
228
- return processed;
229
- }
230
- },
231
- async buildEnd() {
232
- if (currentPurpose == 'dev') {
233
- // just being pragmatic
234
- return;
219
+ };
220
+ configResolved = async (config) => {
221
+ if (config.env.EXTRACT) {
222
+ this.#currentPurpose = 'extract';
223
+ }
224
+ else if (config.env.PROD == null) {
225
+ this.#currentPurpose = "test";
226
+ for (const loc of this.locales) {
227
+ this._translations[loc] = {};
228
+ this._compiled[loc] = [];
235
229
  }
236
- for (const loc of locales) {
237
- for (const key in translations[loc]) {
238
- const poItem = translations[loc][key];
239
- poItem.obsolete = poItem.references.length === 0;
240
- }
241
- await savePO(translations[loc], translationsFname[loc]);
242
- await compileAndWrite(loc); // we need to write it finally
230
+ this.#sourceTranslations = this._translations[this.#config.sourceLocale];
231
+ } // else, already dev
232
+ this.#projectRoot = config.root;
233
+ // for transform
234
+ for (const dir of this.#config.srcDirs) {
235
+ this.#allowDirs.push(normalize(this.#projectRoot + '/' + dir));
236
+ }
237
+ // for handleHotUpdate below
238
+ this.#transFnamesToLocales = Object.fromEntries(Object.entries(this.#translationsFname)
239
+ .map(([loc, fname]) => [normalize(this.#projectRoot + '/' + fname), loc]));
240
+ await this.#loadFilesAndSetup();
241
+ };
242
+ handleHotUpdate = async (ctx) => {
243
+ // PO file edit -> JS HMR
244
+ if (ctx.file in this.#transFnamesToLocales) {
245
+ const loc = this.#transFnamesToLocales[ctx.file];
246
+ await this.#loadTranslations(loc);
247
+ this.#compile(loc);
248
+ const moduleId = virtualResolvedPrefix + virtualPrefix + loc;
249
+ const module = ctx.server.moduleGraph.getModuleById(moduleId);
250
+ if (module) {
251
+ ctx.server.moduleGraph.invalidateModule(module, [], ctx.timestamp, true);
252
+ return [module];
243
253
  }
244
- },
245
- setupTesting() {
246
- return {
247
- translations,
248
- compiled,
249
- };
250
254
  }
251
255
  };
256
+ resolveId = (source) => {
257
+ if (source.startsWith(virtualPrefix)) {
258
+ return virtualResolvedPrefix + source;
259
+ }
260
+ return null;
261
+ };
262
+ load = (id) => {
263
+ const prefix = virtualResolvedPrefix + virtualPrefix;
264
+ if (!id.startsWith(prefix)) {
265
+ return null;
266
+ }
267
+ const locale = id.slice(prefix.length);
268
+ return `export default ${JSON.stringify(this._compiled[locale])}`;
269
+ };
270
+ transformHandler = async (code, id) => {
271
+ if (!this.#allowDirs.find(dir => id.startsWith(dir))) {
272
+ return;
273
+ }
274
+ const isModule = modulePatterns.find(p => id.endsWith(p));
275
+ if (!markupPatterns.find(p => id.endsWith(p)) && !isModule) {
276
+ return;
277
+ }
278
+ let ast;
279
+ if (isModule) {
280
+ ast = ScriptParser.parse(code, scriptParseOptions);
281
+ }
282
+ else {
283
+ ast = parse(code, { modern: true });
284
+ }
285
+ const filename = relative(this.#projectRoot, id);
286
+ return await this.#preprocess(code, ast, filename);
287
+ };
288
+ }
289
+ export default async function wuchale(config = {}) {
290
+ const plugin = new Plugin();
291
+ await plugin.init(config);
292
+ return plugin;
252
293
  }
253
294
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"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"}
@@ -184,7 +184,12 @@ export default class Preprocess {
184
184
  }
185
185
  return txts;
186
186
  };
187
- visitReturnStatement = (node) => this.visit(node.argument);
187
+ visitReturnStatement = (node) => {
188
+ if (node.argument) {
189
+ return this.visit(node.argument);
190
+ }
191
+ return [];
192
+ };
188
193
  visitIfStatement = (node) => {
189
194
  const txts = this.visit(node.test);
190
195
  txts.push(...this.visit(node.consequent));
@@ -1 +1 @@
1
- {"version":3,"file":"prep.js","sourceRoot":"","sources":["../../src/plugin/prep.ts"],"names":[],"mappings":"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"}
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.3",
3
+ "version": "0.5.1",
4
4
  "description": "i18n for svelte without turning your codebase upside down",
5
5
  "scripts": {
6
6
  "build": "tsc",
@@ -19,6 +19,10 @@
19
19
  ".": {
20
20
  "import": "./dist/index.js"
21
21
  },
22
+ "./config.js": {
23
+ "import": "./dist/config.js",
24
+ "types": "./dist/config.d.ts"
25
+ },
22
26
  "./runtime.svelte.js": {
23
27
  "import": "./dist/runtime.svelte.js",
24
28
  "types": "./dist/runtime.svelte.d.ts"
@@ -26,6 +30,13 @@
26
30
  "./runtime.svelte": "./runtime.svelte"
27
31
  },
28
32
  "types": "./dist/index.d.ts",
33
+ "bin": {
34
+ "wuchale": "./dist/cli.js"
35
+ },
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "git+https://github.com/K1DV5/wuchale.git"
39
+ },
29
40
  "homepage": "https://github.com/K1DV5/wuchale",
30
41
  "bugs": "https://github.com/K1DV5/wuchale/issues",
31
42
  "author": "K1DV5",
@@ -35,7 +46,8 @@
35
46
  "acorn": "^8.15.0",
36
47
  "magic-string": "^0.30.17",
37
48
  "pofile": "^1.1.4",
38
- "svelte": "^5.28.1"
49
+ "svelte": "^5.28.1",
50
+ "tinyglobby": "^0.2.14"
39
51
  },
40
52
  "devDependencies": {
41
53
  "@types/node": "^24.0.3",