@scoutello/i18n-magic 0.19.0 โ†’ 0.21.0

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
@@ -49,7 +49,7 @@ module.exports = {
49
49
  './components/**/*.tsx',
50
50
  './pages/**/*.tsx',
51
51
  './lib/**/*.ts',
52
- // Namespace-specific patterns for pruned translations
52
+ // Namespace-specific patterns for automatic namespace assignment
53
53
  {
54
54
  pattern: './apps/dashboard/**/*.tsx',
55
55
  namespaces: ['dashboard'],
@@ -94,7 +94,7 @@ The `globPatterns` array supports two formats:
94
94
  './components/**/*.tsx';
95
95
  ```
96
96
 
97
- 2. **Object patterns**: Patterns with namespace-specific configuration for pruned translations
97
+ 2. **Object patterns**: Patterns with namespace-specific configuration for automatic namespace assignment
98
98
  ```js
99
99
  {
100
100
  pattern: './apps/dashboard/**/*.tsx',
@@ -102,7 +102,7 @@ The `globPatterns` array supports two formats:
102
102
  }
103
103
  ```
104
104
 
105
- When using object patterns, translation keys found in files matching that pattern will be associated with the specified namespaces. This enables automatic creation of namespace-specific translation bundles.
105
+ When using object patterns, translation keys found in files matching that pattern will be automatically saved to the specified namespaces. This enables automatic creation of namespace-specific translation files based on where the keys are used in your codebase.
106
106
 
107
107
  ### 4. Start using i18n Magic
108
108
 
@@ -179,16 +179,18 @@ Scan your codebase for missing translations and automatically generate them. Thi
179
179
  The command will:
180
180
 
181
181
  1. Scan all files matching your glob patterns for translation usage
182
- 2. Identify missing translation keys in your default locale
183
- 3. Prompt you to provide translations for each missing key
184
- 4. Automatically translate to all other configured locales using AI
185
- 5. Save the new translations to your JSON files
182
+ 2. Automatically determine which namespaces each key belongs to based on the file location
183
+ 3. Identify missing translation keys in your default locale
184
+ 4. Prompt you to provide translations for each missing key
185
+ 5. Automatically translate to all other configured locales using AI
186
+ 6. Save the new translations to the appropriate namespace files
186
187
 
187
188
  This is useful for:
188
189
 
189
190
  - Adding new translations during development
190
191
  - Ensuring all translation keys have corresponding values
191
192
  - Maintaining translation consistency across locales
193
+ - Automatically organizing translations into the correct namespaces
192
194
 
193
195
  ### `replace`
194
196
 
@@ -196,10 +198,11 @@ Update an existing translation key with a new value and automatically translate
196
198
 
197
199
  The command will:
198
200
 
199
- 1. Prompt you to select or specify the translation key to replace
200
- 2. Ask for the new translation value in your default locale
201
- 3. Automatically translate the new value to all other configured locales using AI
202
- 4. Update all translation files with the new values
201
+ 1. Automatically detect which namespaces the key is used in based on your codebase
202
+ 2. Prompt you to select or specify the translation key to replace
203
+ 3. Ask for the new translation value in your default locale
204
+ 4. Automatically translate the new value to all other configured locales using AI
205
+ 5. Update all relevant namespace files with the new values
203
206
 
204
207
  You can specify the key in two ways:
205
208
 
@@ -213,6 +216,7 @@ This is useful for:
213
216
  - Updating existing translations that need changes
214
217
  - Fixing translation errors across all locales
215
218
  - Maintaining consistency when modifying content
219
+ - Automatically updating translations in all relevant namespaces
216
220
 
217
221
  ### `check-missing`
218
222
 
@@ -253,26 +257,6 @@ This is useful for:
253
257
 
254
258
  **Note**: This command works best when used with `disableTranslation: true` in your config to separate the scanning and translation phases.
255
259
 
256
- ### `prune`
257
-
258
- Create a pruned namespace from an existing namespace, containing only the translation keys that are actually used in specific files. This is useful for creating optimized translation bundles for different parts of your application (e.g., dashboard, mobile app, etc.).
259
-
260
- The command will:
261
-
262
- 1. Prompt you to select a source namespace to prune from
263
- 2. Ask for a name for the new namespace
264
- 3. Ask for glob patterns to scan for translation usage
265
- 4. Extract all translation keys used in the matched files
266
- 5. Create new translation files for all locales containing only the used keys
267
-
268
- This is particularly useful for:
269
-
270
- - Creating namespace-specific translation bundles
271
- - Reducing bundle size by including only necessary translations
272
- - Optimizing performance in micro-frontends or modular applications
273
-
274
- You can also automate this process using the `pruneNamespaces` configuration in your `i18n-magic.js` file (see configuration example above).
275
-
276
260
  ### `clean`
277
261
 
278
262
  Remove unused translation keys from all locales. This command scans your codebase to find which translation keys are actually being used and removes any keys that are no longer referenced in your code.
package/dist/cli.js CHANGED
@@ -9,7 +9,6 @@ const dotenv_1 = __importDefault(require("dotenv"));
9
9
  const openai_1 = __importDefault(require("openai"));
10
10
  const check_missing_1 = require("./commands/check-missing");
11
11
  const clean_1 = require("./commands/clean");
12
- const create_pruned_namespace_1 = require("./commands/create-pruned-namespace");
13
12
  const replace_1 = require("./commands/replace");
14
13
  const scan_1 = require("./commands/scan");
15
14
  const sync_locales_1 = require("./commands/sync-locales");
@@ -47,11 +46,6 @@ const commands = [
47
46
  description: "Remove unused translations from all locales. Useful for a CI/CD pipeline or husky hook.",
48
47
  action: clean_1.removeUnusedKeys,
49
48
  },
50
- {
51
- name: "prune",
52
- description: "Create a pruned namespace from the other namespaces.",
53
- action: create_pruned_namespace_1.createPrunedNamespace,
54
- },
55
49
  ];
56
50
  for (const command of commands) {
57
51
  const cmd = program.command(command.name).description(command.description);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"clean.d.ts","sourceRoot":"","sources":["../../src/commands/clean.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAQjD,eAAO,MAAM,gBAAgB,GAAU,QAAQ,aAAa,kBAgG3D,CAAA"}
1
+ {"version":3,"file":"clean.d.ts","sourceRoot":"","sources":["../../src/commands/clean.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAQjD,eAAO,MAAM,gBAAgB,GAAU,QAAQ,aAAa,kBAsF3D,CAAA"}
@@ -1,48 +1,35 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.removeUnusedKeys = void 0;
7
- const fast_glob_1 = __importDefault(require("fast-glob"));
8
- const i18next_scanner_1 = require("i18next-scanner");
9
- const node_fs_1 = __importDefault(require("node:fs"));
10
4
  const utils_1 = require("../lib/utils");
11
5
  const removeUnusedKeys = async (config) => {
12
6
  const { globPatterns, namespaces, defaultNamespace, locales, loadPath, savePath, } = config;
13
- // Set up the parser
14
- const parser = new i18next_scanner_1.Parser({
15
- nsSeparator: false,
16
- keySeparator: false,
7
+ // Get all keys with their associated namespaces from the codebase
8
+ const keysWithNamespaces = await (0, utils_1.getKeysWithNamespaces)({
9
+ globPatterns,
10
+ defaultNamespace,
17
11
  });
18
- // Find all files to scan
19
- const allPatterns = globPatterns.map((pattern) => typeof pattern === "string" ? pattern : pattern.pattern);
20
- const files = await (0, fast_glob_1.default)([...allPatterns, "!**/node_modules/**"]);
21
- // Extract all translation keys from the codebase
22
- const extractedKeys = [];
23
- for (const file of files) {
24
- const content = node_fs_1.default.readFileSync(file, "utf-8");
25
- parser.parseFuncFromString(content, { list: ["t"] }, (key) => {
26
- extractedKeys.push(key);
27
- });
28
- }
29
- // Remove duplicates
30
- const uniqueExtractedKeys = (0, utils_1.removeDuplicatesFromArray)(extractedKeys);
31
12
  // Track stats for reporting
32
13
  const stats = {
33
14
  total: 0,
34
15
  removed: 0,
35
16
  };
36
- // Process each namespace and locale
37
- for (const namespace of namespaces) {
38
- // Build a set of pure keys that are actually used in the codebase for this namespace
39
- const usedKeysSet = new Set();
40
- for (const key of uniqueExtractedKeys) {
17
+ // Group keys by namespace
18
+ const keysByNamespace = {};
19
+ for (const { key, namespaces: keyNamespaces } of keysWithNamespaces) {
20
+ for (const namespace of keyNamespaces) {
21
+ if (!keysByNamespace[namespace]) {
22
+ keysByNamespace[namespace] = new Set();
23
+ }
41
24
  const pureKey = (0, utils_1.getPureKey)(key, namespace, namespace === defaultNamespace);
42
25
  if (pureKey) {
43
- usedKeysSet.add(pureKey);
26
+ keysByNamespace[namespace].add(pureKey);
44
27
  }
45
28
  }
29
+ }
30
+ // Process each namespace and locale
31
+ for (const namespace of namespaces) {
32
+ const usedKeysSet = keysByNamespace[namespace] || new Set();
46
33
  // Process each locale
47
34
  for (const locale of locales) {
48
35
  // Load existing keys for this locale and namespace
@@ -1 +1 @@
1
- {"version":3,"file":"clean.js","sourceRoot":"","sources":["../../src/commands/clean.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clean.js","sourceRoot":"","sources":["../../src/commands/clean.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"replace.d.ts","sourceRoot":"","sources":["../../src/commands/replace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAsBjD,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,aAAa,EACrB,MAAM,MAAM,kBAyEb,CAAA"}
1
+ {"version":3,"file":"replace.d.ts","sourceRoot":"","sources":["../../src/commands/replace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AA6BjD,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,aAAa,EACrB,MAAM,MAAM,kBAqHb,CAAA"}
@@ -2,56 +2,103 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.replaceTranslation = void 0;
4
4
  const utils_1 = require("../lib/utils");
5
- const getKeyToReplace = async (keys) => {
5
+ const getKeyToReplace = async (allAvailableKeys) => {
6
6
  const keyToReplace = await (0, utils_1.getTextInput)("Enter the key to replace the translation for: ");
7
- if (!keys[keyToReplace]) {
7
+ if (!allAvailableKeys[keyToReplace]) {
8
8
  console.log(`The key "${keyToReplace}" does not exist.`);
9
- return await getKeyToReplace(keys);
9
+ return await getKeyToReplace(allAvailableKeys);
10
10
  }
11
- console.log(`The key "${keyToReplace}" exists.`);
12
- return keyToReplace;
11
+ const namespaces = allAvailableKeys[keyToReplace].map((k) => k.namespace);
12
+ console.log(`The key "${keyToReplace}" exists in namespaces: ${namespaces.join(", ")}.`);
13
+ return { key: keyToReplace, namespaces };
13
14
  };
14
15
  const replaceTranslation = async (config, key) => {
15
16
  const { loadPath, savePath, defaultLocale, defaultNamespace, namespaces, locales, globPatterns, context, openai, } = config;
16
- const keys = await (0, utils_1.loadLocalesFile)(config.loadPath, config.defaultLocale, config.defaultNamespace);
17
+ // Find all keys with their namespaces from the codebase
18
+ const keysWithNamespaces = await (0, utils_1.getKeysWithNamespaces)({
19
+ globPatterns,
20
+ defaultNamespace,
21
+ });
22
+ // Build a map of all available keys across all namespaces
23
+ const allAvailableKeys = {};
24
+ for (const namespace of namespaces) {
25
+ const keys = await (0, utils_1.loadLocalesFile)(loadPath, defaultLocale, namespace);
26
+ for (const [keyName, value] of Object.entries(keys)) {
27
+ if (!allAvailableKeys[keyName]) {
28
+ allAvailableKeys[keyName] = [];
29
+ }
30
+ allAvailableKeys[keyName].push({ namespace, value });
31
+ }
32
+ }
17
33
  let keyToReplace;
34
+ let targetNamespaces = [];
18
35
  if (key) {
19
- if (keys[key]) {
36
+ if (allAvailableKeys[key]) {
20
37
  keyToReplace = key;
21
- console.log(`The key "${keyToReplace}" exists.`);
38
+ // Determine which namespaces this key should be updated in based on usage
39
+ const keyUsage = keysWithNamespaces.filter((k) => {
40
+ const pureKey = (0, utils_1.getPureKey)(k.key, defaultNamespace, true);
41
+ return pureKey === key || k.key === key;
42
+ });
43
+ if (keyUsage.length > 0) {
44
+ // Use namespaces from actual usage
45
+ const allNamespaces = [];
46
+ for (const k of keyUsage) {
47
+ allNamespaces.push(...k.namespaces);
48
+ }
49
+ targetNamespaces = [...new Set(allNamespaces)];
50
+ }
51
+ else {
52
+ // Fallback to all namespaces where the key exists
53
+ targetNamespaces = allAvailableKeys[key].map((k) => k.namespace);
54
+ }
55
+ console.log(`The key "${keyToReplace}" exists in namespaces: ${targetNamespaces.join(", ")}.`);
22
56
  }
23
57
  else {
24
58
  console.log(`The key "${key}" does not exist.`);
25
- keyToReplace = await getKeyToReplace(keys);
59
+ const result = await getKeyToReplace(allAvailableKeys);
60
+ keyToReplace = result.key;
61
+ targetNamespaces = result.namespaces;
26
62
  }
27
63
  }
28
64
  else {
29
- keyToReplace = await getKeyToReplace(keys);
65
+ const result = await getKeyToReplace(allAvailableKeys);
66
+ keyToReplace = result.key;
67
+ targetNamespaces = result.namespaces;
30
68
  }
31
- console.log(`The current translation in ${defaultLocale} for "${keyToReplace}" is "${keys[keyToReplace]}".`);
32
- const newTranslation = await (0, utils_1.getTextInput)("Enter the new translation: ");
33
- for (const locale of locales) {
34
- let newValue = "";
35
- if (locale === defaultLocale) {
36
- newValue = newTranslation;
69
+ // Show current translations across namespaces
70
+ for (const namespace of targetNamespaces) {
71
+ const keys = await (0, utils_1.loadLocalesFile)(loadPath, defaultLocale, namespace);
72
+ if (keys[keyToReplace]) {
73
+ console.log(`Current translation in ${defaultLocale} (${namespace}): "${keys[keyToReplace]}"`);
37
74
  }
38
- else {
39
- const translation = await (0, utils_1.translateKey)({
40
- context,
41
- inputLanguage: defaultLocale,
42
- outputLanguage: locale,
43
- object: {
44
- [keyToReplace]: newTranslation,
45
- },
46
- openai,
47
- model: config.model,
48
- });
49
- newValue = translation[keyToReplace];
75
+ }
76
+ const newTranslation = await (0, utils_1.getTextInput)("Enter the new translation: ");
77
+ // Update the key in all relevant namespaces and locales
78
+ for (const namespace of targetNamespaces) {
79
+ for (const locale of locales) {
80
+ let newValue = "";
81
+ if (locale === defaultLocale) {
82
+ newValue = newTranslation;
83
+ }
84
+ else {
85
+ const translation = await (0, utils_1.translateKey)({
86
+ context,
87
+ inputLanguage: defaultLocale,
88
+ outputLanguage: locale,
89
+ object: {
90
+ [keyToReplace]: newTranslation,
91
+ },
92
+ openai,
93
+ model: config.model,
94
+ });
95
+ newValue = translation[keyToReplace];
96
+ }
97
+ const existingKeys = await (0, utils_1.loadLocalesFile)(loadPath, locale, namespace);
98
+ existingKeys[keyToReplace] = newValue;
99
+ await (0, utils_1.writeLocalesFile)(savePath, locale, namespace, existingKeys);
100
+ console.log(`Updated "${keyToReplace}" in ${locale} (${namespace}): "${newValue}"`);
50
101
  }
51
- const existingKeys = await (0, utils_1.loadLocalesFile)(loadPath, locale, defaultNamespace);
52
- existingKeys[keyToReplace] = newValue;
53
- (0, utils_1.writeLocalesFile)(savePath, locale, defaultNamespace, existingKeys);
54
- console.log(`The new translation for "${keyToReplace}" in ${locale} is "${newValue}".`);
55
102
  }
56
103
  };
57
104
  exports.replaceTranslation = replaceTranslation;
@@ -1 +1 @@
1
- {"version":3,"file":"replace.js","sourceRoot":"","sources":["../../src/commands/replace.ts"],"names":[],"mappings":";;;AACA,wCAKqB;AAErB,MAAM,eAAe,GAAG,KAAK,EAAE,IAA4B,EAAE,EAAE;IAC7D,MAAM,YAAY,GAAG,MAAM,IAAA,oBAAY,EACrC,gDAAgD,CACjD,CAAA;IAED,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,YAAY,YAAY,mBAAmB,CAAC,CAAA;QACxD,OAAO,MAAM,eAAe,CAAC,IAAI,CAAC,CAAA;IACpC,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,YAAY,YAAY,WAAW,CAAC,CAAA;IAChD,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA;AAEM,MAAM,kBAAkB,GAAG,KAAK,EACrC,MAAqB,EACrB,GAAY,EACZ,EAAE;IACF,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,OAAO,EACP,YAAY,EACZ,OAAO,EACP,MAAM,GACP,GAAG,MAAM,CAAA;IAEV,MAAM,IAAI,GAAG,MAAM,IAAA,uBAAe,EAChC,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,aAAa,EACpB,MAAM,CAAC,gBAAgB,CACxB,CAAA;IAED,IAAI,YAAoB,CAAA;IAExB,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACd,YAAY,GAAG,GAAG,CAAA;YAClB,OAAO,CAAC,GAAG,CAAC,YAAY,YAAY,WAAW,CAAC,CAAA;QAClD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,mBAAmB,CAAC,CAAA;YAC/C,YAAY,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,YAAY,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAA;IAC5C,CAAC;IAED,OAAO,CAAC,GAAG,CACT,8BAA8B,aAAa,SAAS,YAAY,SAAS,IAAI,CAAC,YAAY,CAAC,IAAI,CAChG,CAAA;IAED,MAAM,cAAc,GAAG,MAAM,IAAA,oBAAY,EAAC,6BAA6B,CAAC,CAAA;IAExE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,QAAQ,GAAG,EAAE,CAAA;QACjB,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;YAC7B,QAAQ,GAAG,cAAc,CAAA;QAC3B,CAAC;aAAM,CAAC;YACN,MAAM,WAAW,GAAG,MAAM,IAAA,oBAAY,EAAC;gBACrC,OAAO;gBACP,aAAa,EAAE,aAAa;gBAC5B,cAAc,EAAE,MAAM;gBACtB,MAAM,EAAE;oBACN,CAAC,YAAY,CAAC,EAAE,cAAc;iBAC/B;gBACD,MAAM;gBACN,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC,CAAA;YAEF,QAAQ,GAAG,WAAW,CAAC,YAAY,CAAC,CAAA;QACtC,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,IAAA,uBAAe,EACxC,QAAQ,EACR,MAAM,EACN,gBAAgB,CACjB,CAAA;QAED,YAAY,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAA;QAErC,IAAA,wBAAgB,EAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAA;QAElE,OAAO,CAAC,GAAG,CACT,4BAA4B,YAAY,QAAQ,MAAM,QAAQ,QAAQ,IAAI,CAC3E,CAAA;IACH,CAAC;AACH,CAAC,CAAA;AA3EY,QAAA,kBAAkB,sBA2E9B"}
1
+ {"version":3,"file":"replace.js","sourceRoot":"","sources":["../../src/commands/replace.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAWjD,eAAO,MAAM,gBAAgB,GAAU,QAAQ,aAAa,kBA8F3D,CAAA"}
1
+ {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAWjD,eAAO,MAAM,gBAAgB,GAAU,QAAQ,aAAa,kBA8F3D,CAAA"}
@@ -1,27 +1,23 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.translateMissing = void 0;
7
- const console_1 = __importDefault(require("console"));
8
4
  const utils_1 = require("../lib/utils");
9
5
  const clean_1 = require("./clean");
10
6
  const translateMissing = async (config) => {
11
7
  const { loadPath, savePath, defaultLocale, namespaces, locales, context, openai, disableTranslation, autoClear, } = config;
12
8
  // Run clean command first if autoClear is enabled
13
9
  if (autoClear) {
14
- console_1.default.log("๐Ÿงน Auto-clearing unused translations before scanning...");
10
+ console.log("๐Ÿงน Auto-clearing unused translations before scanning...");
15
11
  await (0, clean_1.removeUnusedKeys)(config);
16
- console_1.default.log("โœ… Auto-clear completed. Now scanning for missing translations...\n");
12
+ console.log("โœ… Auto-clear completed. Now scanning for missing translations...\n");
17
13
  }
18
14
  const newKeys = await (0, utils_1.getMissingKeys)(config);
19
15
  if (newKeys.length === 0) {
20
- console_1.default.log("No new keys found.");
16
+ console.log("No new keys found.");
21
17
  await (0, utils_1.checkAllKeysExist)(config);
22
18
  return;
23
19
  }
24
- console_1.default.log(`${newKeys.length} keys are missing. Please provide the values for the following keys in ${defaultLocale}:`);
20
+ console.log(`${newKeys.length} keys are missing. Please provide the values for the following keys in ${defaultLocale}:`);
25
21
  const newKeysWithDefaultLocale = [];
26
22
  for (const newKey of newKeys) {
27
23
  const answer = await (0, utils_1.getTextInput)(newKey.key);
@@ -64,7 +60,7 @@ const translateMissing = async (config) => {
64
60
  }
65
61
  }
66
62
  await (0, utils_1.checkAllKeysExist)(config);
67
- console_1.default.log(`Successfully translated ${newKeys.length} keys.`);
63
+ console.log(`Successfully translated ${newKeys.length} keys.`);
68
64
  };
69
65
  exports.translateMissing = translateMissing;
70
66
  //# sourceMappingURL=scan.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,11 +1,8 @@
1
1
  export { checkMissing } from "./commands/check-missing";
2
2
  export { removeUnusedKeys } from "./commands/clean";
3
- export { createPrunedNamespace } from "./commands/create-pruned-namespace";
4
- export { createPrunedNamespaceAutomated } from "./commands/create-pruned-namespace-automated";
5
3
  export { replaceTranslation } from "./commands/replace";
6
4
  export { translateMissing } from "./commands/scan";
7
5
  export { syncLocales } from "./commands/sync-locales";
8
6
  export { loadConfig } from "./lib/utils";
9
- export type { PruneOptions, PruneResponse, PruneResult, } from "./commands/create-pruned-namespace-automated";
10
7
  export type { CommandType, Configuration, GlobPatternConfig, } from "./lib/types";
11
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,8BAA8B,EAAE,MAAM,8CAA8C,CAAA;AAC7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAGrD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxC,YAAY,EACV,YAAY,EACZ,aAAa,EACb,WAAW,GACZ,MAAM,8CAA8C,CAAA;AACrD,YAAY,EACV,WAAW,EACX,aAAa,EACb,iBAAiB,GAClB,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAEnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAGrD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAIxC,YAAY,EACV,WAAW,EACX,aAAa,EACb,iBAAiB,GAClB,MAAM,aAAa,CAAA"}
package/dist/index.js CHANGED
@@ -1,15 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loadConfig = exports.syncLocales = exports.translateMissing = exports.replaceTranslation = exports.createPrunedNamespaceAutomated = exports.createPrunedNamespace = exports.removeUnusedKeys = exports.checkMissing = void 0;
3
+ exports.loadConfig = exports.syncLocales = exports.translateMissing = exports.replaceTranslation = exports.removeUnusedKeys = exports.checkMissing = void 0;
4
4
  // Export command functions for programmatic usage
5
5
  var check_missing_1 = require("./commands/check-missing");
6
6
  Object.defineProperty(exports, "checkMissing", { enumerable: true, get: function () { return check_missing_1.checkMissing; } });
7
7
  var clean_1 = require("./commands/clean");
8
8
  Object.defineProperty(exports, "removeUnusedKeys", { enumerable: true, get: function () { return clean_1.removeUnusedKeys; } });
9
- var create_pruned_namespace_1 = require("./commands/create-pruned-namespace");
10
- Object.defineProperty(exports, "createPrunedNamespace", { enumerable: true, get: function () { return create_pruned_namespace_1.createPrunedNamespace; } });
11
- var create_pruned_namespace_automated_1 = require("./commands/create-pruned-namespace-automated");
12
- Object.defineProperty(exports, "createPrunedNamespaceAutomated", { enumerable: true, get: function () { return create_pruned_namespace_automated_1.createPrunedNamespaceAutomated; } });
13
9
  var replace_1 = require("./commands/replace");
14
10
  Object.defineProperty(exports, "replaceTranslation", { enumerable: true, get: function () { return replace_1.replaceTranslation; } });
15
11
  var scan_1 = require("./commands/scan");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,kDAAkD;AAClD,0DAAuD;AAA9C,6GAAA,YAAY,OAAA;AACrB,0CAAmD;AAA1C,yGAAA,gBAAgB,OAAA;AACzB,8EAA0E;AAAjE,gIAAA,qBAAqB,OAAA;AAC9B,kGAA6F;AAApF,mJAAA,8BAA8B,OAAA;AACvC,8CAAuD;AAA9C,6GAAA,kBAAkB,OAAA;AAC3B,wCAAkD;AAAzC,wGAAA,gBAAgB,OAAA;AACzB,wDAAqD;AAA5C,2GAAA,WAAW,OAAA;AAEpB,2BAA2B;AAC3B,qCAAwC;AAA/B,mGAAA,UAAU,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,kDAAkD;AAClD,0DAAuD;AAA9C,6GAAA,YAAY,OAAA;AACrB,0CAAmD;AAA1C,yGAAA,gBAAgB,OAAA;AAEzB,8CAAuD;AAA9C,6GAAA,kBAAkB,OAAA;AAC3B,wCAAkD;AAAzC,wGAAA,gBAAgB,OAAA;AACzB,wDAAqD;AAA5C,2GAAA,WAAW,OAAA;AAEpB,2BAA2B;AAC3B,qCAAwC;AAA/B,mGAAA,UAAU,OAAA"}
@@ -1,5 +1,5 @@
1
1
  import type OpenAI from "openai";
2
- import type { GlobPatternConfig, Configuration } from "./types";
2
+ import type { Configuration, GlobPatternConfig } from "./types";
3
3
  export declare const loadConfig: ({ configPath, }: {
4
4
  configPath: string;
5
5
  }) => any;
@@ -25,7 +25,7 @@ export declare const extractGlobPatterns: (globPatterns: (string | GlobPatternCo
25
25
  export declare const getNamespacesForFile: (filePath: string, globPatterns: (string | {
26
26
  pattern: string;
27
27
  namespaces: string[];
28
- })[]) => string[];
28
+ })[], defaultNamespace: string) => string[];
29
29
  /**
30
30
  * Gets all glob patterns that should be used for a specific namespace
31
31
  */
@@ -33,6 +33,14 @@ export declare const getGlobPatternsForNamespace: (namespace: string, globPatter
33
33
  pattern: string;
34
34
  namespaces: string[];
35
35
  })[]) => string[];
36
+ /**
37
+ * Extracts keys with their associated namespaces based on the files they're found in
38
+ */
39
+ export declare const getKeysWithNamespaces: ({ globPatterns, defaultNamespace, }: Pick<Configuration, "globPatterns" | "defaultNamespace">) => Promise<{
40
+ key: string;
41
+ namespaces: string[];
42
+ file: string;
43
+ }[]>;
36
44
  export declare const getMissingKeys: ({ globPatterns, namespaces, defaultNamespace, defaultLocale, loadPath, }: Configuration) => Promise<any[]>;
37
45
  export declare const getTextInput: (prompt: string) => Promise<string>;
38
46
  export declare const checkAllKeysExist: ({ namespaces, defaultLocale, loadPath, locales, context, openai, savePath, disableTranslation, model, }: Configuration) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAGhC,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE/D,eAAO,MAAM,UAAU,GAAI,iBAExB;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,QAgBxB,CAAA;AAED,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAE1D;AAED,eAAO,MAAM,YAAY,GAAU,oEAOhC;IACD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf,oCAyDA,CAAA;AAED,eAAO,MAAM,eAAe,GAC1B,UACI,MAAM,GACN,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAC5E,QAAQ,MAAM,EACd,WAAW,MAAM,oCAsBlB,CAAA;AAED,eAAO,MAAM,gBAAgB,GAC3B,UACI,MAAM,GACN,CAAC,CACC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KACzB,OAAO,CAAC,IAAI,CAAC,CAAC,EACvB,QAAQ,MAAM,EACd,WAAW,MAAM,EACjB,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,kBAa7B,CAAA;AAED,eAAO,MAAM,UAAU,GACrB,KAAK,MAAM,EACX,YAAY,MAAM,EAClB,YAAY,OAAO,WAiBpB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,cAAc,CAAC,MAAM,GAAG,iBAAiB,CAAC,EAAE,KAC3C,MAAM,EAIR,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC/B,UAAU,MAAM,EAChB,cAAc,CAAC,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,EAAE,KACnE,MAAM,EAeR,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,GACtC,WAAW,MAAM,EACjB,cAAc,CAAC,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,EAAE,KACnE,MAAM,EAcR,CAAA;AAED,eAAO,MAAM,cAAc,GAAU,0EAMlC,aAAa,mBA6Cf,CAAA;AAED,eAAO,MAAM,YAAY,GAAU,QAAQ,MAAM,oBAehD,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAU,yGAUrC,aAAa,kBAsDf,CAAA;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IAGhC,MAAM,CAAC,EAAE,MAAM;IACf,SAAS,CAAC,EAAE,MAAM;IAClB,KAAK,CAAC,EAAE,KAAK;gBAHpB,OAAO,EAAE,MAAM,EACR,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,KAAK;CAKvB"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAGhC,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAE/D,eAAO,MAAM,UAAU,GAAI,iBAExB;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,QAgBxB,CAAA;AAED,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAE1D;AAED,eAAO,MAAM,YAAY,GAAU,oEAOhC;IACD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf,oCAyDA,CAAA;AAED,eAAO,MAAM,eAAe,GAC1B,UACI,MAAM,GACN,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAC5E,QAAQ,MAAM,EACd,WAAW,MAAM,oCAsBlB,CAAA;AAED,eAAO,MAAM,gBAAgB,GAC3B,UACI,MAAM,GACN,CAAC,CACC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KACzB,OAAO,CAAC,IAAI,CAAC,CAAC,EACvB,QAAQ,MAAM,EACd,WAAW,MAAM,EACjB,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,kBAa7B,CAAA;AAED,eAAO,MAAM,UAAU,GACrB,KAAK,MAAM,EACX,YAAY,MAAM,EAClB,YAAY,OAAO,WAiBpB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,cAAc,CAAC,MAAM,GAAG,iBAAiB,CAAC,EAAE,KAC3C,MAAM,EAIR,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC/B,UAAU,MAAM,EAChB,cAAc,CAAC,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,EAAE,EACpE,kBAAkB,MAAM,KACvB,MAAM,EAgBR,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,GACtC,WAAW,MAAM,EACjB,cAAc,CAAC,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,EAAE,KACnE,MAAM,EAcR,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAU,qCAGzC,IAAI,CAAC,aAAa,EAAE,cAAc,GAAG,kBAAkB,CAAC;SAUlD,MAAM;gBACC,MAAM,EAAE;UACd,MAAM;IA6Bf,CAAA;AAED,eAAO,MAAM,cAAc,GAAU,0EAMlC,aAAa,mBA2Cf,CAAA;AAED,eAAO,MAAM,YAAY,GAAU,QAAQ,MAAM,oBAehD,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAU,yGAUrC,aAAa,kBAsDf,CAAA;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IAGhC,MAAM,CAAC,EAAE,MAAM;IACf,SAAS,CAAC,EAAE,MAAM;IAClB,KAAK,CAAC,EAAE,KAAK;gBAHpB,OAAO,EAAE,MAAM,EACR,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,KAAK;CAKvB"}