Install & Compatibility
Where this runs
No compatibility data collected yet for this library.
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
Scanner
✓ const { Scanner } = require('localize-core-cli');
✗ import { Scanner } from 'localize-core-cli';
Package is CJS-only (uses require). No ESM exports available.
Validator
✓ const { Validator } = require('localize-core-cli');
✗ import Validator from 'localize-core-cli';
Named export, not default. Use destructuring from require().
CodemodEngine
✓ const { CodemodEngine } = require('localize-core-cli');
✗ import { CodemodEngine } from 'localize-core-cli/codemod';
All exports are from the main entry point. Don't use subpath imports.
Demonstrates programmatic usage: scanning for hardcoded strings, generating locale files, validating, reporting, and running codemods.
const { Scanner, LocaleEngine, Validator, Reporter, CodemodEngine } = require('localize-core-cli');
async function main() {
// 1. Scan source code for hardcoded strings
const scanner = new Scanner({
rootDir: './src',
extensions: ['.tsx', '.ts', '.jsx', '.js'],
excludeDirs: ['node_modules', 'dist'],
});
const { detectedTexts } = await scanner.scan();
// 2. Generate locale files
const le = new LocaleEngine('./', {
defaultLanguage: 'en',
targetLanguages: ['fr', 'de'],
localesDir: './src/i18n/locales',
});
const keyMap = le.generateFromDetectedTexts(detectedTexts, 'en', 'common');
le.syncLanguages('common');
le.persistAll();
// 3. Validate locale files
const validator = new Validator({
baseLanguage: 'en',
targetLanguages: ['fr', 'de'],
locales: { en: keyMap },
sourceTexts: detectedTexts,
});
const validation = validator.validate();
// 4. Generate report
const reporter = new Reporter();
reporter.generateCLI({ filesScanned: detectedTexts.length, hardcodedTexts: detectedTexts.length });
// 5. Codemod to inject i18n wrappers
const ce = new CodemodEngine({ framework: 'react' });
const codeKeyMap = ce.buildKeyMap(detectedTexts);
// Example: transform a single file
const sourceCode = '<div>Hello World</div>';
const { code } = ce.transformFile(sourceCode, codeKeyMap);
console.log(code);
}
main().catch(console.error);
Errors
Common errors & fixes
Error: Cannot find module '@babel/traverse'
Missing peer dependency @babel/traverse
fixnpm install @babel/traverse@^7.22.0
TypeError: detectedTexts is not iterable
Passing plain array of strings instead of scanner output objects
fixUse result from Scanner.scan() which provides objects with 'value' property.
Error: Cannot use import statement outside a module
Using ES import syntax with a CJS-only package
fixReplace import with require() or use dynamic import() in .mjs files.
Error: ENOENT: no such file or directory, open 'ai-localize.config.json'
Running commands without initializing config first
fixRun 'npx ai-localize init' before other commands.
Audit
Dependencies
@aws-sdk/client-cloudfrontrequiredRequired for CloudFront distribution management and CDN migration
@aws-sdk/client-s3requiredRequired for S3 bucket operations in CDN migration
@babel/parserrequiredAST parsing for JavaScript/TypeScript code analysis
@babel/traverserequiredAST traversal for code transformation
@babel/typesrequiredAST node types for code generation
chalkrequiredTerminal string styling for CLI output
commanderrequiredCLI command parsing
inquirerrequiredInteractive prompts for configuration
jscodeshiftrequiredCodemod toolkit for JavaScript/TypeScript transformations
orarequiredSpinner for CLI progress indication
recastrequiredAST-based code pretty-printer for codemods
simple-gitrequiredGit operations for version control integration
zodrequiredSchema validation for configuration files