@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 +21 -12
- package/dist/index.js +20 -11
- package/package.json +2 -1
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
|
-
|
|
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,
|
|
142
|
+
(0, import_estree_walker.walk)(ast.html, { enter });
|
|
140
143
|
if (ast.instance) {
|
|
141
|
-
(0,
|
|
144
|
+
(0, import_estree_walker.walk)(ast.instance.content, { enter });
|
|
142
145
|
}
|
|
143
146
|
if (ast.module) {
|
|
144
|
-
(0,
|
|
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: [
|
|
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}\``, (
|
|
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}\``, (
|
|
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
|
-
|
|
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
|
|
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: [
|
|
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}\``, (
|
|
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}\``, (
|
|
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.
|
|
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",
|