{"_id":"@ai-localizer/core","_rev":"2-92038be6afa75e180cf73383fae078ed","name":"@ai-localizer/core","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@ai-localizer/core","version":"0.1.0","keywords":["i18n","internationalization","localization","translation","vue","vue-i18n","react","next-intl","laravel","claude","ai-agent","extract","pipeline"],"author":{"name":"Chibueze Opata"},"license":"Apache-2.0","_id":"@ai-localizer/core@0.1.0","maintainers":[{"name":"venmail","email":"copata@venmail.io"}],"homepage":"https://github.com/VenMail/localizer#readme","bugs":{"url":"https://github.com/VenMail/localizer/issues"},"dist":{"shasum":"ff38820830eec009e5d63969701d0abe357dac8d","tarball":"https://registry.npmjs.org/@ai-localizer/core/-/core-0.1.0.tgz","fileCount":56,"integrity":"sha512-8bbGOL9GhiVkQafQ5u4/slUp4Oy3BKESaiZfIFiAawPzlCMjgDgWoLgx7vRdU7zbh1WkksjGN2g4sEAxV9aChA==","signatures":[{"sig":"MEUCIFSxpVSBjq8A5TKN7V4F4T4MaMNmq7pozDh7An6E/OesAiEAzQjHOQvsA5/PXJ+0AuZlq+/DVtpJ/QhjiiBI5NW3Be4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":613932},"main":"./src/index.js","engines":{"node":">=18"},"exports":{".":"./src/index.js","./lib/parsers":"./src/i18n/lib/parsers/index.js","./lib/validators":"./src/i18n/lib/validators/index.js","./lib/localeUtils":"./src/i18n/lib/localeUtils.js","./lib/stringUtils":"./src/i18n/lib/stringUtils.js","./translator/cache":"./src/translator/cache.js","./translator/queue":"./src/translator/queue.js","./lib/projectConfig":"./src/i18n/lib/projectConfig.js"},"gitHead":"84d612956c6f1a55e55d8ffffb159950f1f6a264","_npmUser":{"name":"venmail","email":"copata@venmail.io"},"repository":{"url":"git+https://github.com/VenMail/localizer.git","type":"git","directory":"packages/core"},"_npmVersion":"11.4.2","description":"Pure-Node i18n pipeline — extract, replace, sync, cleanup, translate-queue — for Vue 3, React/Next, and Laravel projects. Designed for AI agent orchestration with minimal token spend.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"oxc-parser":"^0.89.0","magic-string":"^0.30.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependenciesMeta":{"@babel/types":{"optional":true},"@babel/parser":{"optional":true},"@babel/traverse":{"optional":true},"@babel/generator":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/core_0.1.0_1777009854600_0.7002097155835005","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@ai-localizer/core","version":"0.1.1","description":"Pure-Node i18n pipeline — extract, replace, sync, cleanup, translate-queue — for Vue 3, React/Next, and Laravel projects. Designed for AI agent orchestration with minimal token spend.","license":"Apache-2.0","author":{"name":"Chibueze Opata"},"repository":{"type":"git","url":"git+https://github.com/VenMail/localizer.git","directory":"packages/core"},"homepage":"https://github.com/VenMail/localizer#readme","bugs":{"url":"https://github.com/VenMail/localizer/issues"},"keywords":["i18n","internationalization","localization","translation","vue","vue-i18n","react","next-intl","laravel","claude","ai-agent","extract","pipeline"],"main":"./src/index.js","exports":{".":"./src/index.js","./translator/queue":"./src/translator/queue.js","./translator/cache":"./src/translator/cache.js","./lib/projectConfig":"./src/i18n/lib/projectConfig.js","./lib/stringUtils":"./src/i18n/lib/stringUtils.js","./lib/localeUtils":"./src/i18n/lib/localeUtils.js","./lib/validators":"./src/i18n/lib/validators/index.js","./lib/parsers":"./src/i18n/lib/parsers/index.js"},"engines":{"node":">=18"},"dependencies":{"oxc-parser":"^0.89.0","magic-string":"^0.30.21"},"peerDependenciesMeta":{"@babel/parser":{"optional":true},"@babel/generator":{"optional":true},"@babel/traverse":{"optional":true},"@babel/types":{"optional":true}},"publishConfig":{"access":"public"},"_id":"@ai-localizer/core@0.1.1","gitHead":"17a645f85266224a4222b878151ee4ca4391ebe9","_nodeVersion":"22.16.0","_npmVersion":"11.4.2","dist":{"integrity":"sha512-kh15TSWZWwILYythDeUoLDkICQOk+qdgmo38LcZKQdYvQ+eiiep/eTCtRF0trZeP5Y9xKd+c5p9JsOBMuFJJ0g==","shasum":"924d176e79d01d62efa2e34ceba2e681898dffa2","tarball":"https://registry.npmjs.org/@ai-localizer/core/-/core-0.1.1.tgz","fileCount":56,"unpackedSize":615190,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD+ByGGFqoWnhmIWu/0JixpQcTGLQ+IaOF4Lzqqv7GkaQIhAMGi9BY2dwbpkJXjYqA1m+SkER90PMl+ipx6wRm2EsZQ"}]},"_npmUser":{"name":"venmail","email":"copata@venmail.io"},"directories":{},"maintainers":[{"name":"venmail","email":"copata@venmail.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/core_0.1.1_1777012802369_0.2946022724624451"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-24T05:50:54.340Z","modified":"2026-04-24T06:40:02.669Z","0.1.0":"2026-04-24T05:50:54.757Z","0.1.1":"2026-04-24T06:40:02.560Z"},"bugs":{"url":"https://github.com/VenMail/localizer/issues"},"author":{"name":"Chibueze Opata"},"license":"Apache-2.0","homepage":"https://github.com/VenMail/localizer#readme","keywords":["i18n","internationalization","localization","translation","vue","vue-i18n","react","next-intl","laravel","claude","ai-agent","extract","pipeline"],"repository":{"type":"git","url":"git+https://github.com/VenMail/localizer.git","directory":"packages/core"},"description":"Pure-Node i18n pipeline — extract, replace, sync, cleanup, translate-queue — for Vue 3, React/Next, and Laravel projects. Designed for AI agent orchestration with minimal token spend.","maintainers":[{"name":"venmail","email":"copata@venmail.io"}],"readme":"# @ai-localizer/core\n\nPure-Node i18n pipeline for Vue 3, React/Next, and Laravel projects. Designed for AI agent orchestration with minimal token spend.\n\n## What this is\n\nThe engine behind [`@ai-localizer/cli`](https://www.npmjs.com/package/@ai-localizer/cli). Zero-UI, zero-framework library of:\n\n- **Phase scripts** — `extract`, `replace`, `sync`, `cleanup`, `fix-untranslated`, `restore-invalid`, `apply-report-fixes`. Spawnable as subprocesses via `runScript()` against any project root.\n- **Parsers** — Vue SFC, JSX/TSX, Blade, Svelte, generic JS.\n- **Validators** — HTML/code/technical content detection, placeholder safety checks.\n- **Translator queue** — `translatorQueue.plan()` / `translatorQueue.apply()` for Claude-in-session JSON handoff.\n- **Translator cache** — persistent on-disk dedupe of source→target pairs.\n\nMost users should install the CLI. Install this package directly only if you want to embed the pipeline in your own Node tooling.\n\n## Install\n\n```bash\nnpm install @ai-localizer/core\n```\n\nOptional deps for legacy Babel-based JSX extraction fallback: `@babel/parser @babel/generator @babel/traverse @babel/types`. Default path uses `oxc-parser` (already bundled).\n\n## API\n\n```js\nconst {\n  scriptPaths,\n  runScript,\n  projectConfig,\n  stringUtils,\n  localeUtils,\n  validators,\n  parsers,\n  translatorQueue,\n  translatorCache,\n} = require('@ai-localizer/core');\n\n// Run a phase script against a target project\nawait runScript('extract', { projectRoot: '/path/to/project' });\n\n// Plan translation handoff\nconst summary = translatorQueue.plan('/path/to/project', {\n  targets: ['fr', 'de'],\n});\n// -> writes .i18n-queue/<locale>.pending.json per locale\n\n// After AI fills .i18n-queue/<locale>.answers.json:\ntranslatorQueue.apply('/path/to/project');\n```\n\n### Subpath exports\n\n```js\nconst { detectLocalesDir } = require('@ai-localizer/core/lib/projectConfig');\nconst { slugifyForKey } = require('@ai-localizer/core/lib/stringUtils');\n```\n\n## Project config\n\nThe pipeline reads `package.json#aiI18n` (or `composer.json#extra.aiI18n` for Laravel):\n\n```json\n{\n  \"aiI18n\": {\n    \"sourceLocale\": \"en\",\n    \"locales\": [\"en\", \"fr\", \"de\"],\n    \"localesDir\": \"src/locales\",\n    \"layout\": \"single\"\n  }\n}\n```\n\n## License\n\nApache-2.0 © Chibueze Opata\n","readmeFilename":"README.md"}