@awsless/i18n 0.0.1 → 0.0.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/dist/index.cjs CHANGED
@@ -40,12 +40,14 @@ module.exports = __toCommonJS(src_exports);
40
40
  var import_promises = require("fs/promises");
41
41
  var import_path = require("path");
42
42
  var loadCache = async (cwd) => {
43
+ const file = (0, import_path.join)(cwd, "i18n.json");
43
44
  try {
44
- const data = await (0, import_promises.readFile)((0, import_path.join)(cwd, "i18n.json"), "utf8");
45
- return new Cache(JSON.parse(data));
45
+ await (0, import_promises.stat)(file);
46
46
  } catch (error) {
47
47
  return new Cache();
48
48
  }
49
+ const data = await (0, import_promises.readFile)(file, "utf8");
50
+ return new Cache(JSON.parse(data));
49
51
  };
50
52
  var saveCache = async (cwd, cache) => {
51
53
  await (0, import_promises.writeFile)((0, import_path.join)(cwd, "i18n.json"), JSON.stringify(cache, void 0, 2));
@@ -114,6 +116,7 @@ var import_glob = require("glob");
114
116
  var import_path2 = require("path");
115
117
 
116
118
  // src/find/svelte.ts
119
+ var import_estree_walker = require("estree-walker");
117
120
  var import_line_column = __toESM(require("line-column"), 1);
118
121
  var import_compiler = require("svelte/compiler");
119
122
  var findSvelteTranslatable = (code) => {
@@ -136,12 +139,12 @@ var findSvelteTranslatable = (code) => {
136
139
  found.push(content);
137
140
  }
138
141
  };
139
- (0, import_compiler.walk)(ast.html, { enter });
142
+ (0, import_estree_walker.walk)(ast.html, { enter });
140
143
  if (ast.instance) {
141
- (0, import_compiler.walk)(ast.instance.content, { enter });
144
+ (0, import_estree_walker.walk)(ast.instance.content, { enter });
142
145
  }
143
146
  if (ast.module) {
144
- (0, import_compiler.walk)(ast.module.content, { enter });
147
+ (0, import_estree_walker.walk)(ast.module.content, { enter });
145
148
  }
146
149
  return found;
147
150
  };
@@ -172,7 +175,12 @@ var findTypescriptTranslatable = async (code) => {
172
175
  var findTranslatable = async (cwd) => {
173
176
  const files = await (0, import_glob.glob)("**/*.{js,ts,svelte}", {
174
177
  cwd,
175
- ignore: ["**/node_modules"]
178
+ ignore: [
179
+ //
180
+ "**/node_modules/**",
181
+ "**/.svelte-kit/**",
182
+ "**/.*/**"
183
+ ]
176
184
  });
177
185
  const found = [];
178
186
  for (const file of files) {
@@ -213,21 +221,22 @@ var createI18nPlugin = (props) => {
213
221
  transform(code) {
214
222
  let replaced = false;
215
223
  if (code.includes(`$t\``)) {
224
+ console.log(cache);
216
225
  for (const item of cache.entries()) {
217
- code = code.replaceAll(`$t\`${item.original}\``, (_, original) => {
226
+ code = code.replaceAll(`$t\`${item.original}\``, () => {
218
227
  replaced = true;
219
- return `$t.get(\`${original}\`, {${props.locales.map((locale) => {
220
- return `"${locale}":\`${cache.get(original, locale)}\``;
228
+ return `$t.get(\`${item.original}\`, {${props.locales.map((locale) => {
229
+ return `"${locale}":\`${cache.get(item.original, locale)}\``;
221
230
  }).join(",")}})`;
222
231
  });
223
232
  }
224
233
  }
225
234
  if (code.includes(`get(t)\``)) {
226
235
  for (const item of cache.entries()) {
227
- code = code.replaceAll(`get(t)\`${item.original}\``, (_, original) => {
236
+ code = code.replaceAll(`get(t)\`${item.original}\``, () => {
228
237
  replaced = true;
229
- return `get(t).get(\`${original}\`, {${props.locales.map((locale) => {
230
- return `"${locale}":\`${cache.get(original, locale)}\``;
238
+ return `get(t).get(\`${item.original}\`, {${props.locales.map((locale) => {
239
+ return `"${locale}":\`${cache.get(item.original, locale)}\``;
231
240
  }).join(",")}})`;
232
241
  });
233
242
  }
package/dist/index.js CHANGED
@@ -1,13 +1,15 @@
1
1
  // src/cache.ts
2
- import { readFile, writeFile } from "fs/promises";
2
+ import { readFile, stat, writeFile } from "fs/promises";
3
3
  import { join } from "path";
4
4
  var loadCache = async (cwd) => {
5
+ const file = join(cwd, "i18n.json");
5
6
  try {
6
- const data = await readFile(join(cwd, "i18n.json"), "utf8");
7
- return new Cache(JSON.parse(data));
7
+ await stat(file);
8
8
  } catch (error) {
9
9
  return new Cache();
10
10
  }
11
+ const data = await readFile(file, "utf8");
12
+ return new Cache(JSON.parse(data));
11
13
  };
12
14
  var saveCache = async (cwd, cache) => {
13
15
  await writeFile(join(cwd, "i18n.json"), JSON.stringify(cache, void 0, 2));
@@ -76,8 +78,9 @@ import { glob } from "glob";
76
78
  import { extname, join as join2 } from "path";
77
79
 
78
80
  // src/find/svelte.ts
81
+ import { walk } from "estree-walker";
79
82
  import lineColumn from "line-column";
80
- import { parse as parseSvelte, walk } from "svelte/compiler";
83
+ import { parse as parseSvelte } from "svelte/compiler";
81
84
  var findSvelteTranslatable = (code) => {
82
85
  const found = [];
83
86
  const origin = lineColumn(code);
@@ -134,7 +137,12 @@ var findTypescriptTranslatable = async (code) => {
134
137
  var findTranslatable = async (cwd) => {
135
138
  const files = await glob("**/*.{js,ts,svelte}", {
136
139
  cwd,
137
- ignore: ["**/node_modules"]
140
+ ignore: [
141
+ //
142
+ "**/node_modules/**",
143
+ "**/.svelte-kit/**",
144
+ "**/.*/**"
145
+ ]
138
146
  });
139
147
  const found = [];
140
148
  for (const file of files) {
@@ -175,21 +183,22 @@ var createI18nPlugin = (props) => {
175
183
  transform(code) {
176
184
  let replaced = false;
177
185
  if (code.includes(`$t\``)) {
186
+ console.log(cache);
178
187
  for (const item of cache.entries()) {
179
- code = code.replaceAll(`$t\`${item.original}\``, (_, original) => {
188
+ code = code.replaceAll(`$t\`${item.original}\``, () => {
180
189
  replaced = true;
181
- return `$t.get(\`${original}\`, {${props.locales.map((locale) => {
182
- return `"${locale}":\`${cache.get(original, locale)}\``;
190
+ return `$t.get(\`${item.original}\`, {${props.locales.map((locale) => {
191
+ return `"${locale}":\`${cache.get(item.original, locale)}\``;
183
192
  }).join(",")}})`;
184
193
  });
185
194
  }
186
195
  }
187
196
  if (code.includes(`get(t)\``)) {
188
197
  for (const item of cache.entries()) {
189
- code = code.replaceAll(`get(t)\`${item.original}\``, (_, original) => {
198
+ code = code.replaceAll(`get(t)\`${item.original}\``, () => {
190
199
  replaced = true;
191
- return `get(t).get(\`${original}\`, {${props.locales.map((locale) => {
192
- return `"${locale}":\`${cache.get(original, locale)}\``;
200
+ return `get(t).get(\`${item.original}\`, {${props.locales.map((locale) => {
201
+ return `"${locale}":\`${cache.get(item.original, locale)}\``;
193
202
  }).join(",")}})`;
194
203
  });
195
204
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awsless/i18n",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "repository": {
@@ -46,6 +46,7 @@
46
46
  "dependencies": {
47
47
  "@swc/core": "^1.3.70",
48
48
  "@types/line-column": "^1.0.2",
49
+ "estree-walker": "^3.0.3",
49
50
  "glob": "^10.3.9",
50
51
  "line-column": "^1.0.2",
51
52
  "openai": "^4.57.0",