translator-sync
Version:
Automate React/Vue i18n translation workflow with AI. Sync translation files automatically, reduce costs 50,000x vs services. Works with react-i18next, vue-i18n, JSON, Fluent.
64 lines • 3.07 kB
JSON
{
"name": "translator-sync",
"version": "0.3.2",
"description": "Automate React/Vue i18n translation workflow with AI. Sync translation files automatically, reduce costs 50,000x vs services. Works with react-i18next, vue-i18n, JSON, Fluent.",
"keywords": ["react-i18n", "vue-i18n", "i18next", "translation-automation", "localization-tool", "i18n-workflow", "translation-sync", "react-translation", "vue-translation", "i18n-cli", "translation-cli", "automated-translation", "i18n", "translation", "localization", "react", "vue", "nextjs", "ai", "openai"],
"homepage": "https://github.com/erik-balfe/translator-sync",
"bugs": "https://github.com/erik-balfe/translator-sync/issues",
"license": "MIT",
"author": "Erik Balfe",
"type": "module",
"main": "./dist/index.js",
"exports": "./dist/index.js",
"bin": {
"translator-sync": "./dist/cli/translator-sync.js"
},
"files": [
"dist",
"README.md",
"LICENSE"
],
"scripts": {
"build": "bun build src/cli/translator-sync.ts --target=node --outdir=dist/cli --format=esm && bun build src/index.ts --target=node --outdir=dist --format=esm",
"prepublishOnly": "bun run build",
"check": "biome check --write .",
"lint": "biome lint --write .",
"format": "biome format --write .",
"format:check": "biome format .",
"lint:check": "biome lint .",
"ci": "biome ci .",
"test": "bun test",
"test:unit": "bun test tests/unit/",
"test:integration": "bun test tests/integration/",
"test:coverage": "bun test --coverage",
"type-check": "tsc --noEmit",
"security-check": "grep -r -E '(sk-[a-zA-Z0-9]{32,}|api[_-]?key[[:space:]]*[:=][[:space:]]*[a-zA-Z0-9_-]{20,}|npm_[a-zA-Z0-9]{36})' --exclude-dir=node_modules --exclude-dir=dist --exclude-dir=.git --exclude='*.md' --exclude='.env*' --include='*.ts' --include='*.js' --include='*.json' . 2>/dev/null || echo '✅ No API keys detected in code files'",
"jsr-check": "npx jsr publish --dry-run --allow-dirty",
"release:prepare": "scripts/release-helper.sh prepare",
"release:finalize": "scripts/release-helper.sh finalize",
"release:add-change": "scripts/release-helper.sh add-change",
"release:preview": "scripts/release-helper.sh preview",
"release:github": "echo '🚀 To release via GitHub:\\n1. Go to: https://github.com/erik-balfe/translator-sync/actions/workflows/manual-release.yml\\n2. Click \"Run workflow\"\\n3. Enter version number\\n4. Click green \"Run workflow\" button'"
},
"dependencies": {
"@fluent/syntax": "^0.19.0",
"@opentelemetry/api": "^1.9.0",
"@opentelemetry/exporter-otlp-http": "^0.26.0",
"@opentelemetry/instrumentation-http": "^0.201.1",
"@opentelemetry/resources": "^2.0.1",
"@opentelemetry/sdk-node": "^0.201.1",
"@opentelemetry/semantic-conventions": "^1.34.0",
"openai": "^4.103.0"
},
"devDependencies": {
"@biomejs/biome": "1.9.4",
"@types/bun": "latest",
"@types/node": "^20.0.0"
},
"engines": {
"node": ">=18.0.0"
},
"publishConfig": {
"access": "public"
}
}