@babelize/cli 1.0.1 → 1.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/README.md CHANGED
@@ -30,6 +30,7 @@ babelize run start
30
30
  | `auth reset-password` | Send a password reset email |
31
31
  | `auth provider-tokens` | Manage OAuth provider tokens (GitHub, etc.) |
32
32
  | `status` | Check API health and your account status |
33
+ | `scan [directory]` | Scan a local directory for hardcoded translatable strings |
33
34
  | `projects` | CRUD, sync, insights, metadata, download, brand-voice, archive |
34
35
  | `run start` / `preview` / `status` / `analyze` | Translation pipeline engine |
35
36
  | `babels` | View translation job history |
@@ -37,9 +38,9 @@ babelize run start
37
38
  | `billing` | Plans, usage, invoices |
38
39
  | `subscriptions` | List, cancel, reactivate subscriptions |
39
40
  | `checkout` | Purchase a plan |
40
- | `languages` | System and project-level language management |
41
+ | `languages` | System and project-level language management, ISO ↔ FLORES-200 code conversion |
41
42
  | `members` | Team member management |
42
- | `tm` | Translation memory (view, update, clear) |
43
+ | `tm` | Translation memory (view, add, update, export as TMX, clear) |
43
44
  | `glossary` | Translation glossary (list, add, update, delete, import, export) |
44
45
  | `api-keys byok` | BYOK provider keys (OpenAI, Anthropic, Groq, etc.) |
45
46
  | `api-keys babelize` | Babelize API keys (bblz_sk_ prefix for MCP/external access) |
@@ -125,6 +126,7 @@ npm update -g @babelize/cli
125
126
  | Problem | Solution |
126
127
  |---------|----------|
127
128
  | `Not authenticated` | Run `babelize auth login` |
129
+ | `Directory not found` on `scan` | Ensure the path exists and is a directory |
128
130
  | `EPERM` on install | Use `sudo npm install -g @babelize/cli` |
129
131
  | Completion not working | Ensure the script is sourced: `source /usr/local/etc/bash_completion.d/babelize` |
130
132
  | Rate limited | Wait 60 seconds and retry |
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwDpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,QA8KnD"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwDpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,QAmMnD"}
@@ -64,19 +64,39 @@ export function registerInitCommand(program) {
64
64
  { name: '--yes', desc: 'Accept all defaults without prompting (non-interactive)' },
65
65
  ]);
66
66
  cmd.action(async (opts) => {
67
- if (!fs.existsSync('package.json')) {
68
- clack.log.error('No package.json found in the current directory.');
69
- clack.log.info(muted('babelize init must be run in the root of a Node.js project.'));
70
- process.exit(ExitCode.USAGE);
71
- }
72
67
  let defaultName = path.basename(process.cwd());
73
- try {
74
- const pkg = JSON.parse(fs.readFileSync('package.json', 'utf8'));
75
- if (pkg.name)
76
- defaultName = pkg.name;
68
+ let detectedFramework;
69
+ if (!fs.existsSync('package.json')) {
70
+ // Check if this is a static HTML/CSS/JS project
71
+ const ignoreDirs = new Set(['node_modules', '.git', 'dist', 'build', 'coverage', '.next', '.cache', '.babelize']);
72
+ const htmlFiles = globSync('**/*.html').filter((f) => {
73
+ try {
74
+ if (!fs.statSync(f).isFile())
75
+ return false;
76
+ const parts = f.split('/');
77
+ return !parts.some((p) => ignoreDirs.has(p));
78
+ }
79
+ catch {
80
+ return false;
81
+ }
82
+ });
83
+ if (htmlFiles.length === 0) {
84
+ clack.log.error('No package.json or HTML files found in the current directory.');
85
+ clack.log.info(muted('babelize init must be run in a Node.js project or a static HTML/CSS/JS project.'));
86
+ process.exit(ExitCode.USAGE);
87
+ }
88
+ detectedFramework = 'static';
89
+ clack.log.info(muted('Detected static HTML/CSS/JS project.'));
77
90
  }
78
- catch {
79
- // ignore
91
+ else {
92
+ try {
93
+ const pkg = JSON.parse(fs.readFileSync('package.json', 'utf8'));
94
+ if (pkg.name)
95
+ defaultName = pkg.name;
96
+ }
97
+ catch {
98
+ // ignore
99
+ }
80
100
  }
81
101
  let repoUrl = '';
82
102
  let branch = 'main';
@@ -170,6 +190,7 @@ export function registerInitCommand(program) {
170
190
  source,
171
191
  languages: answers.targetLanguageCodes,
172
192
  branch: branch,
193
+ ...(detectedFramework ? { settings: { framework: detectedFramework } } : {}),
173
194
  }); // codeql[js/file-access-to-http] — intentional CLI upload to own API
174
195
  spinner.stop(successColor(`Project created!`));
175
196
  const babelizeDir = path.join(process.cwd(), '.babelize');
@@ -182,6 +203,9 @@ export function registerInitCommand(program) {
182
203
  targetLanguageIds: answers.targetLanguageCodes,
183
204
  source,
184
205
  };
206
+ if (detectedFramework) {
207
+ projectConfig.framework = detectedFramework;
208
+ }
185
209
  fs.writeFileSync(path.join(babelizeDir, 'config.json'), JSON.stringify(projectConfig, null, 2));
186
210
  const gitignorePath = path.join(process.cwd(), '.gitignore');
187
211
  if (fs.existsSync(gitignorePath)) {
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"languages.d.ts","sourceRoot":"","sources":["../../src/commands/languages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoG/D"}
1
+ {"version":3,"file":"languages.d.ts","sourceRoot":"","sources":["../../src/commands/languages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiL/D"}
@@ -117,12 +117,113 @@ export function registerLanguageCommands(program) {
117
117
  handleApiError(err);
118
118
  }
119
119
  });
120
+ lang
121
+ .command('codes')
122
+ .description('List supported language codes (ISO ↔ FLORES-200 mappings)')
123
+ .option('--rtl', 'Show only RTL languages')
124
+ .option('--supported', 'Show only supported codes (alias)')
125
+ .action(async (opts) => {
126
+ const s = clack.spinner();
127
+ s.start('Fetching language codes…');
128
+ try {
129
+ const client = getClient();
130
+ const url = opts.rtl ? '/languages/codes/rtl' : '/languages/codes/supported';
131
+ const res = await client.get(url);
132
+ s.stop();
133
+ const items = Array.isArray(res.data) ? res.data : res.data?.data ?? [];
134
+ if (isJsonMode()) {
135
+ printJson(items);
136
+ return;
137
+ }
138
+ const title = opts.rtl ? `RTL Languages (${items.length})` : `Supported Language Codes (${items.length})`;
139
+ section(title);
140
+ table(items, [
141
+ { key: 'code', header: 'Code', width: 12 },
142
+ { key: 'name', header: 'Name', width: 30 },
143
+ { key: 'is_rtl', header: 'RTL', width: 6 },
144
+ ]);
145
+ }
146
+ catch (err) {
147
+ s.stop();
148
+ handleApiError(err);
149
+ }
150
+ });
151
+ lang
152
+ .command('to-flores <isoCode>')
153
+ .description('Convert an ISO language code to FLORES-200 code')
154
+ .action(async (isoCode) => {
155
+ const s = clack.spinner();
156
+ s.start('Converting…');
157
+ try {
158
+ const client = getClient();
159
+ const res = await client.get(`/languages/codes/to-flores/${isoCode}`);
160
+ s.stop();
161
+ const flores = res.data?.flores_code ?? res.data?.result ?? '—';
162
+ if (isJsonMode()) {
163
+ printJson(res.data);
164
+ return;
165
+ }
166
+ console.log(`${isoCode} → ${flores}`);
167
+ }
168
+ catch (err) {
169
+ s.stop();
170
+ handleApiError(err);
171
+ }
172
+ });
173
+ lang
174
+ .command('from-flores <floresCode>')
175
+ .description('Convert a FLORES-200 code to ISO language code')
176
+ .action(async (floresCode) => {
177
+ const s = clack.spinner();
178
+ s.start('Converting…');
179
+ try {
180
+ const client = getClient();
181
+ const res = await client.get(`/languages/codes/from-flores/${floresCode}`);
182
+ s.stop();
183
+ const iso = res.data?.iso_code ?? res.data?.result ?? '—';
184
+ if (isJsonMode()) {
185
+ printJson(res.data);
186
+ return;
187
+ }
188
+ console.log(`${floresCode} → ${iso}`);
189
+ }
190
+ catch (err) {
191
+ s.stop();
192
+ handleApiError(err);
193
+ }
194
+ });
195
+ lang
196
+ .command('check <isoCode>')
197
+ .description('Check if an ISO language code is supported')
198
+ .action(async (isoCode) => {
199
+ const s = clack.spinner();
200
+ s.start('Checking…');
201
+ try {
202
+ const client = getClient();
203
+ const res = await client.get(`/languages/codes/check/${isoCode}`);
204
+ s.stop();
205
+ const supported = res.data?.supported === true || res.data?.supported === 'true';
206
+ if (isJsonMode()) {
207
+ printJson(res.data);
208
+ return;
209
+ }
210
+ console.log(`${isoCode} is ${supported ? '✅ supported' : '❌ not supported'}.`);
211
+ }
212
+ catch (err) {
213
+ s.stop();
214
+ handleApiError(err);
215
+ }
216
+ });
120
217
  lang.helpInformation = () => renderCommandHelp('languages', 'Language management — system and project-level', [
121
218
  { name: 'list', desc: 'List all supported languages' },
122
219
  { name: 'get <id>', desc: 'Get a language by ID' },
123
220
  { name: 'project-list <projectId>', desc: 'List languages configured for a project' },
124
221
  { name: 'add <projectId> <languageId>', desc: 'Add a language to a project' },
125
222
  { name: 'remove <projectId> <languageId>', desc: 'Remove a language from a project' },
223
+ { name: 'codes', desc: 'List supported language codes' },
224
+ { name: 'to-flores <isoCode>', desc: 'Convert ISO code to FLORES-200' },
225
+ { name: 'from-flores <floresCode>', desc: 'Convert FLORES-200 to ISO code' },
226
+ { name: 'check <isoCode>', desc: 'Check if an ISO code is supported' },
126
227
  ]);
127
228
  }
128
229
  //# sourceMappingURL=languages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"languages.js","sourceRoot":"","sources":["../../src/commands/languages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"languages.js","sourceRoot":"","sources":["../../src/commands/languages.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerScanCommand(program: Command): void;
3
+ //# sourceMappingURL=scan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwE1D"}
@@ -0,0 +1,66 @@
1
+ import * as clack from '@clack/prompts';
2
+ import { stat } from 'node:fs/promises';
3
+ import { scanDirectory } from '../utils/scan-strings.js';
4
+ import { isJsonMode, printJson } from '../formatters.js';
5
+ import { section } from '../tui/display.js';
6
+ import { renderSimpleHelp } from '../tui/help.js';
7
+ export function registerScanCommand(program) {
8
+ const scan = program
9
+ .command('scan [directory]')
10
+ .description('Scan a local directory for hardcoded translatable strings')
11
+ .option('-e, --extensions <exts>', 'Comma-separated file extensions (default: .tsx,.jsx,.ts,.js,.vue,.html)')
12
+ .option('--json', 'Output raw JSON');
13
+ scan
14
+ .action(async (directory, opts) => {
15
+ const dir = directory || '.';
16
+ const exts = opts?.extensions
17
+ ? opts.extensions.split(',').map(e => e.startsWith('.') ? e : `.${e}`)
18
+ : undefined;
19
+ // Verify directory exists
20
+ try {
21
+ const dirStat = await stat(dir);
22
+ if (!dirStat.isDirectory()) {
23
+ console.error('Error: Path is not a directory');
24
+ process.exit(1);
25
+ }
26
+ }
27
+ catch {
28
+ console.error(`Error: Directory not found: ${dir}`);
29
+ process.exit(1);
30
+ }
31
+ const s = clack.spinner();
32
+ s.start('Scanning for hardcoded strings…');
33
+ const startTime = Date.now();
34
+ const results = await scanDirectory(dir, exts);
35
+ const elapsed = ((Date.now() - startTime) / 1000).toFixed(1);
36
+ s.stop(`Scan complete in ${elapsed}s.`);
37
+ if (isJsonMode() || opts?.json) {
38
+ printJson(results);
39
+ return;
40
+ }
41
+ if (results.length === 0) {
42
+ console.log('✅ No hardcoded strings found. Your codebase looks clean!');
43
+ return;
44
+ }
45
+ const totalCount = results.reduce((sum, f) => sum + f.hardcoded_strings.length, 0);
46
+ section(`Found ${totalCount} hardcoded strings across ${results.length} files`);
47
+ for (const file of results.slice(0, 10)) {
48
+ console.log(`\n📄 ${file.path}`);
49
+ const previews = file.hardcoded_strings.slice(0, 5);
50
+ for (const s of previews) {
51
+ console.log(` Line ${s.line}: "${s.text}"`);
52
+ }
53
+ if (file.hardcoded_strings.length > 5) {
54
+ console.log(` ... and ${file.hardcoded_strings.length - 5} more`);
55
+ }
56
+ }
57
+ if (results.length > 10) {
58
+ console.log(`\n... and ${results.length - 10} more files with hardcoded strings.`);
59
+ }
60
+ });
61
+ scan.helpInformation = () => renderSimpleHelp('scan [directory]', 'Scan a local directory for hardcoded translatable strings', [
62
+ { name: '-e, --extensions <exts>', desc: 'Comma-separated file extensions (default: .tsx,.jsx,.ts,.js,.vue,.html)' },
63
+ { name: '--json', desc: 'Output raw JSON' },
64
+ ]);
65
+ }
66
+ //# sourceMappingURL=scan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tm.d.ts","sourceRoot":"","sources":["../../src/commands/tm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6FzD"}
1
+ {"version":3,"file":"tm.d.ts","sourceRoot":"","sources":["../../src/commands/tm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqIzD"}
@@ -79,6 +79,53 @@ export function registerTmCommands(program) {
79
79
  handleApiError(err);
80
80
  }
81
81
  });
82
+ tm
83
+ .command('add <projectId>')
84
+ .description('Add a translation memory entry')
85
+ .requiredOption('-s, --source <text>', 'Source text')
86
+ .requiredOption('-t, --translation <text>', 'Translated text')
87
+ .requiredOption('--target-lang <code>', 'Target language code (e.g. fr, hi, ar)')
88
+ .option('--source-lang <code>', 'Source language code (default: en)')
89
+ .action(async (projectId, opts) => {
90
+ const s = clack.spinner();
91
+ s.start('Adding TM entry…');
92
+ try {
93
+ const client = getClient();
94
+ await client.post(`/projects/${projectId}/tm`, {
95
+ source_text: opts.source,
96
+ translated_text: opts.translation,
97
+ target_lang: opts.targetLang,
98
+ source_lang: opts.sourceLang || 'en',
99
+ });
100
+ s.stop('Translation memory entry added.');
101
+ }
102
+ catch (err) {
103
+ s.stop();
104
+ handleApiError(err);
105
+ }
106
+ });
107
+ tm
108
+ .command('export <projectId>')
109
+ .description('Export translation memory as TMX')
110
+ .action(async (projectId) => {
111
+ const s = clack.spinner();
112
+ s.start('Exporting translation memory…');
113
+ try {
114
+ const client = getClient();
115
+ const res = await client.get(`/projects/${projectId}/tm/export`, { responseType: 'text' });
116
+ s.stop();
117
+ const tmx = typeof res.data === 'string' ? res.data : String(res.data);
118
+ if (isJsonMode()) {
119
+ printJson({ projectId, tmx });
120
+ return;
121
+ }
122
+ console.log(tmx);
123
+ }
124
+ catch (err) {
125
+ s.stop();
126
+ handleApiError(err);
127
+ }
128
+ });
82
129
  tm
83
130
  .command('clear <projectId>')
84
131
  .description('Clear ALL translation memory for a project')
@@ -106,8 +153,10 @@ export function registerTmCommands(program) {
106
153
  });
107
154
  tm.helpInformation = () => renderCommandHelp('tm', 'Translation Memory — view and manage cached translations', [
108
155
  { name: 'list <projectId>', desc: 'List translation memory entries for a project' },
156
+ { name: 'add <projectId>', desc: 'Add a translation memory entry' },
109
157
  { name: 'update <projectId> <entryId>', desc: 'Update a translation memory entry' },
110
158
  { name: 'delete <projectId> <entryId>', desc: 'Delete a specific TM entry' },
159
+ { name: 'export <projectId>', desc: 'Export translation memory as TMX' },
111
160
  { name: 'clear <projectId>', desc: 'Clear ALL translation memory for a project' },
112
161
  ]);
113
162
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tm.js","sourceRoot":"","sources":["../../src/commands/tm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tm.js","sourceRoot":"","sources":["../../src/commands/tm.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AA2EA,qBAAa,OAAO;IAClB,OAAO,CAAC,GAAG,CAAU;;IAOrB,OAAO,CAAC,KAAK;IA+Db,GAAG;CA6BJ"}
1
+ {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AA6EA,qBAAa,OAAO;IAClB,OAAO,CAAC,GAAG,CAAU;;IAOrB,OAAO,CAAC,KAAK;IAgEb,GAAG;CA6BJ"}
package/dist/program.js CHANGED
@@ -26,6 +26,7 @@ import { registerRoleCommands } from './commands/roles.js';
26
26
  import { registerStatusCommands } from './commands/status.js';
27
27
  import { registerCheckoutCommands } from './commands/checkout.js';
28
28
  import { registerUserCommands } from './commands/users.js';
29
+ import { registerScanCommand } from './commands/scan.js';
29
30
  import { registerInitCommand } from './commands/init.js';
30
31
  import { registerGlossaryCommands } from './commands/glossary.js';
31
32
  import { registerApiKeyCommands } from './commands/api-keys.js';
@@ -48,6 +49,7 @@ const HELP_SECTIONS = [
48
49
  { cmd: 'run start', desc: 'Start a translation pipeline run', example: 'babelize run start' },
49
50
  { cmd: 'run status', desc: 'Check run status', example: 'babelize run status <id>' },
50
51
  { cmd: 'projects list', desc: 'List your projects', example: 'babelize projects list' },
52
+ { cmd: 'scan', desc: 'Scan a directory for hardcoded strings', example: 'babelize scan ./src' },
51
53
  { cmd: 'status', desc: 'Check API health', example: 'babelize status' },
52
54
  ],
53
55
  },
@@ -104,6 +106,7 @@ export class Program {
104
106
  chalk.level = 0;
105
107
  }
106
108
  });
109
+ registerScanCommand(this.cli);
107
110
  registerInitCommand(this.cli);
108
111
  registerAuthCommands(this.cli);
109
112
  registerStatusCommands(this.cli);
@@ -1 +1 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ interface HardcodedString {
2
+ text: string;
3
+ line: number;
4
+ }
5
+ interface ScanResult {
6
+ path: string;
7
+ hardcoded_strings: HardcodedString[];
8
+ }
9
+ export declare function extractStrings(content: string): HardcodedString[];
10
+ export declare function scanDirectory(dirPath: string, extensions?: string[]): Promise<ScanResult[]>;
11
+ export {};
12
+ //# sourceMappingURL=scan-strings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scan-strings.d.ts","sourceRoot":"","sources":["../../src/utils/scan-strings.ts"],"names":[],"mappings":"AASA,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,eAAe,EAAE,CAAC;CACtC;AAwCD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,EAAE,CA8BjE;AAED,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,UAAU,GAAE,MAAM,EAAuB,GACxC,OAAO,CAAC,UAAU,EAAE,CAAC,CA8CvB"}
@@ -0,0 +1,123 @@
1
+ import { readdir, readFile, stat } from 'node:fs/promises';
2
+ import * as path from 'node:path';
3
+ const DEFAULT_EXTENSIONS = ['.tsx', '.jsx', '.ts', '.js', '.vue', '.html'];
4
+ const ALWAYS_IGNORE = new Set([
5
+ 'node_modules', 'dist', '.git', '.next', 'build', 'coverage', '.cache',
6
+ ]);
7
+ const STRING_RE = /(['"`])((?:(?!\1|\\).|\\.)*?)\1/g;
8
+ const JSX_TEXT_RE = /(?:>|})([^{}<>]+?)(?=\{|<|$)/g;
9
+ const SKIP_PATTERNS = [
10
+ /^\s*import\s/,
11
+ /^\s*export\s/,
12
+ /^\s*const\s+\w+\s*=\s*require\(/,
13
+ /^\s*\/\//,
14
+ /^\s*\*/,
15
+ /^\s*\/\*\*/,
16
+ /className:/,
17
+ /className=/,
18
+ /style=/,
19
+ /\.css$/,
20
+ /^\s*'use /,
21
+ /^\s*"use /,
22
+ /^\s*\/\/\s*eslint/,
23
+ /^\s*\/\/\s*@ts-/,
24
+ /^\s*\/\/\s*istanbul/,
25
+ ];
26
+ function isTranslatable(text) {
27
+ const trimmed = text.trim();
28
+ if (trimmed.length < 2)
29
+ return false;
30
+ if (trimmed.length <= 2 && /^[\d\s\W]+$/.test(trimmed))
31
+ return false;
32
+ if (/\$\{/.test(trimmed))
33
+ return false;
34
+ if (/^https?:\/\//.test(trimmed))
35
+ return false;
36
+ if (/^\.?\//.test(trimmed))
37
+ return false;
38
+ if (/^[a-z_]+$/.test(trimmed) && trimmed.length < 20)
39
+ return false;
40
+ if (!/[a-zA-Z]/.test(trimmed))
41
+ return false;
42
+ if (/^(true|false|null|undefined|\d+)$/.test(trimmed))
43
+ return false;
44
+ return true;
45
+ }
46
+ function shouldSkipLine(line) {
47
+ return SKIP_PATTERNS.some((p) => p.test(line));
48
+ }
49
+ export function extractStrings(content) {
50
+ const lines = content.split('\n');
51
+ const results = [];
52
+ for (let i = 0; i < lines.length; i++) {
53
+ const line = lines[i];
54
+ if (shouldSkipLine(line))
55
+ continue;
56
+ let match;
57
+ STRING_RE.lastIndex = 0;
58
+ while ((match = STRING_RE.exec(line)) !== null) {
59
+ const text = match[2];
60
+ if (isTranslatable(text)) {
61
+ results.push({ text, line: i + 1 });
62
+ }
63
+ }
64
+ JSX_TEXT_RE.lastIndex = 0;
65
+ while ((match = JSX_TEXT_RE.exec(line)) !== null) {
66
+ const text = match[1].trim();
67
+ if (text && isTranslatable(text)) {
68
+ if (!results.some(r => r.text === text && r.line === i + 1)) {
69
+ results.push({ text, line: i + 1 });
70
+ }
71
+ }
72
+ }
73
+ }
74
+ return results;
75
+ }
76
+ export async function scanDirectory(dirPath, extensions = DEFAULT_EXTENSIONS) {
77
+ const extSet = new Set(extensions);
78
+ const results = [];
79
+ async function walk(currentPath) {
80
+ let entries;
81
+ try {
82
+ entries = await readdir(currentPath, { withFileTypes: false });
83
+ }
84
+ catch {
85
+ return;
86
+ }
87
+ const dirEntries = await Promise.all(entries.map(async (name) => {
88
+ if (ALWAYS_IGNORE.has(name))
89
+ return null;
90
+ try {
91
+ const fullPath = path.join(currentPath, name);
92
+ const entryStat = await stat(fullPath);
93
+ return { name, fullPath, isDirectory: entryStat.isDirectory(), isFile: entryStat.isFile() };
94
+ }
95
+ catch {
96
+ return null;
97
+ }
98
+ }));
99
+ for (const entry of dirEntries) {
100
+ if (!entry)
101
+ continue;
102
+ if (entry.isDirectory) {
103
+ await walk(entry.fullPath);
104
+ }
105
+ else if (entry.isFile && extSet.has(path.extname(entry.name))) {
106
+ try {
107
+ const content = await readFile(entry.fullPath, 'utf-8');
108
+ const strings = extractStrings(content);
109
+ if (strings.length > 0) {
110
+ results.push({ path: entry.fullPath, hardcoded_strings: strings });
111
+ }
112
+ }
113
+ catch {
114
+ // skip unreadable
115
+ }
116
+ }
117
+ }
118
+ }
119
+ await walk(dirPath);
120
+ results.sort((a, b) => b.hardcoded_strings.length - a.hardcoded_strings.length);
121
+ return results.slice(0, 50);
122
+ }
123
+ //# sourceMappingURL=scan-strings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scan-strings.js","sourceRoot":"","sources":["../../src/utils/scan-strings.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@babelize/cli",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "Official CLI for the Babelize AI-powered i18n platform",
5
5
  "keywords": [
6
6
  "babelize",
@@ -36,6 +36,9 @@
36
36
  "prepublishOnly": "npm test && npm run lint && npm run typecheck"
37
37
  },
38
38
  "dependencies": {
39
+ "@babel/parser": "^7.28.5",
40
+ "@babel/traverse": "^7.28.5",
41
+ "@babel/types": "^7.28.5",
39
42
  "@clack/prompts": "^1.5.1",
40
43
  "archiver": "^7.0.1",
41
44
  "axios": "^1.15.2",
@@ -50,6 +53,7 @@
50
53
  "devDependencies": {
51
54
  "@jest/globals": "^30.4.1",
52
55
  "@types/archiver": "^8.0.0",
56
+ "@types/babel__traverse": "^7.28.0",
53
57
  "@types/jest": "^30.0.0",
54
58
  "@types/node": "^22.0.0",
55
59
  "@types/ws": "^8.5.13",