@awsless/i18n 0.0.11 → 0.0.12

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/dist/index.cjs CHANGED
@@ -35,6 +35,9 @@ __export(index_exports, {
35
35
  });
36
36
  module.exports = __toCommonJS(index_exports);
37
37
 
38
+ // src/vite.ts
39
+ var import_magic_string = __toESM(require("magic-string"), 1);
40
+
38
41
  // src/cache.ts
39
42
  var import_promises = require("fs/promises");
40
43
  var import_path = require("path");
@@ -218,27 +221,28 @@ var i18n = (props) => {
218
221
  this.info(`Translating done.`);
219
222
  },
220
223
  transform(code) {
221
- let replaced = false;
222
224
  if (code.includes("lang.t`")) {
225
+ const transformedCode = new import_magic_string.default(code);
223
226
  for (const item of cache.entries()) {
224
- code = code.replaceAll(`lang.t\`${item.source}\``, () => {
225
- replaced = true;
226
- return `lang.t.get(\`${item.source}\`, {${props.locales.map((locale) => {
227
+ transformedCode.replaceAll(
228
+ `lang.t\`${item.source}\``,
229
+ `lang.t.get(\`${item.source}\`, {${props.locales.map((locale) => {
227
230
  const translation = cache.get(item.source, locale);
228
231
  if (translation === item.source) {
229
232
  return;
230
233
  }
231
234
  return `"${locale}":\`${translation}\``;
232
- }).filter((v) => !!v).join(",")}})`;
233
- });
235
+ }).filter((v) => !!v).join(",")}})`
236
+ );
234
237
  }
238
+ return {
239
+ code: transformedCode.toString(),
240
+ map: transformedCode.generateMap({
241
+ hires: true
242
+ })
243
+ };
235
244
  }
236
- if (!replaced) {
237
- return;
238
- }
239
- return {
240
- code
241
- };
245
+ return;
242
246
  }
243
247
  };
244
248
  };
package/dist/index.js CHANGED
@@ -1,3 +1,6 @@
1
+ // src/vite.ts
2
+ import MagicString from "magic-string";
3
+
1
4
  // src/cache.ts
2
5
  import { readFile, stat, writeFile } from "fs/promises";
3
6
  import { join } from "path";
@@ -181,27 +184,28 @@ var i18n = (props) => {
181
184
  this.info(`Translating done.`);
182
185
  },
183
186
  transform(code) {
184
- let replaced = false;
185
187
  if (code.includes("lang.t`")) {
188
+ const transformedCode = new MagicString(code);
186
189
  for (const item of cache.entries()) {
187
- code = code.replaceAll(`lang.t\`${item.source}\``, () => {
188
- replaced = true;
189
- return `lang.t.get(\`${item.source}\`, {${props.locales.map((locale) => {
190
+ transformedCode.replaceAll(
191
+ `lang.t\`${item.source}\``,
192
+ `lang.t.get(\`${item.source}\`, {${props.locales.map((locale) => {
190
193
  const translation = cache.get(item.source, locale);
191
194
  if (translation === item.source) {
192
195
  return;
193
196
  }
194
197
  return `"${locale}":\`${translation}\``;
195
- }).filter((v) => !!v).join(",")}})`;
196
- });
198
+ }).filter((v) => !!v).join(",")}})`
199
+ );
197
200
  }
201
+ return {
202
+ code: transformedCode.toString(),
203
+ map: transformedCode.generateMap({
204
+ hires: true
205
+ })
206
+ };
198
207
  }
199
- if (!replaced) {
200
- return;
201
- }
202
- return {
203
- code
204
- };
208
+ return;
205
209
  }
206
210
  };
207
211
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awsless/i18n",
3
- "version": "0.0.11",
3
+ "version": "0.0.12",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -61,6 +61,7 @@
61
61
  "estree-walker": "^3.0.3",
62
62
  "glob": "^10.3.9",
63
63
  "line-column": "^1.0.2",
64
+ "magic-string": "^0.30.18",
64
65
  "swc-walk": "1.0.0-rc.2",
65
66
  "zod": "^3.21.4"
66
67
  },