{"_id":"@codegaze/cli","name":"@codegaze/cli","dist-tags":{"latest":"4.3.0"},"versions":{"4.3.0":{"name":"@codegaze/cli","description":"i18n CLI tool for Transifex Native","version":"4.3.0","author":{"name":"Transifex"},"keywords":["transifex","i18n","l10n","localization","internationalization","globalization","translation","cli"],"homepage":"https://github.com/transifex/transifex-javascript/tree/master/packages/cli","repository":{"type":"git","url":"git://github.com/transifex/transifex-javascript.git"},"bugs":{"url":"https://github.com/transifex/transifex-javascript/issues"},"license":"Apache-2.0","bin":{"txjs-cli":"bin/run"},"publishConfig":{"access":"public"},"dependencies":{"@babel/parser":"^7.18.9","@babel/traverse":"^7.18.9","@colors/colors":"^1.5.0","@oclif/command":"^1.8.16","@oclif/config":"^1.18.3","@oclif/errors":"^1.3.5","@oclif/plugin-help":"^5.1.12","@transifex/native":"^4.3.0","@vue/compiler-sfc":"^3.2.45","angular-html-parser":"^1.8.0","axios":"^0.27.2","cli-ux":"^6.0.9","ejs":"^3.1.8","glob":"^8.0.3","lodash":"^4.17.21","pug":"^3.0.2","shelljs":"^0.8.5"},"devDependencies":{"@oclif/dev-cli":"^1.26.10","@oclif/test":"^2.1.0","chai":"^4.3.6","eslint":"^7.32.0","eslint-config-airbnb-base":"^14.2.1","eslint-plugin-import":"^2.26.0","globby":"^11.1.0","mocha":"^10.0.0","nock":"^13.2.8","nyc":"^15.1.0"},"engines":{"node":">=14.0.0"},"main":"src/index.js","oclif":{"commands":"./src/commands","bin":"txjs-cli","plugins":["@oclif/plugin-help"]},"scripts":{"postpack":"rm -f oclif.manifest.json","prepack":"oclif-dev manifest","lint":"eslint src/ test/","test":"nyc mocha \"test/**/*.test.js\"","publish-npm":"npm publish"},"gitHead":"46a3a42e5dd44eafa7943a9c47347740b0acf5db","_id":"@codegaze/cli@4.3.0","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-Czu9Oh1wwmQUhjH8MKStqjxyr/CIjNmDNpLPy09/Ya3SuL9YqB1BcGyM4bcgaBhNzD9HjmWCkgSchwEO9tn2kg==","shasum":"d5535b07482788a958da01c2bc367f9864ede9da","tarball":"https://registry.npmjs.org/@codegaze/cli/-/cli-4.3.0.tgz","fileCount":18,"unpackedSize":51773,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEmlNfYhWqHkVHjTlQ3XctqGZDTeTThU3H7/k+l/bh3qAiB4xUWqTSOdFlgVAXVVnPacwNr0d6+JLWodM7ZJN76VJQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhdu/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq5EQ/9ExDmhBvdU0WFODXHGM3SMYs3BIMaM9pBVVs9pHPmRMFdfIJR\r\nshd33kit19trOgeVhdKjsHIAjfLa4sFZkZJIlKOWqjDBew0NBtDKe6IE5FQA\r\nKJ16jNo7ipGzNwwDTOoUxgmEkIC9vNMlfaFk2GIUFa/baJ66/SB5aSRjVGF/\r\nVh+E+eIgHlgXUT5OsG2/ZFGCr0a8FrBPLLYE03fkMclmR/tadV1uTKE3/5hk\r\nzFvgcUIPG5kEvzKh3Ye1frFaeVxDZKsnOLGOX6Z+w7+Zt4EtI5A1EhHagjbL\r\nhF+gAL8uvTU68jkowGie9qxB5GFDf5+4xMWbxQckziqpvJH+vGXzmJ0QG2p9\r\nYlxP+0tRctCackjGuXH+Sb3I/lMBd1ijcbfKb5zg73f+tb9jzQ9rZt5RPlVh\r\n3kkO0DY1iPHZi0x40p0QibZCMlYggyyukF8gDdEcbYJ3P+YAo10ZlzkL/hLo\r\nMxehwpV5pVIQZ/M/d0h0OiIXTFdUr4WWtZepuBMoSQpswLOGTrdl0arkCifs\r\nMyrARUo5bn468WxRNwvGmZ3Igl4QvvFMxhO7y5hY3F2cP8s0GPh/BKQmAfap\r\nZkmIpak8vjditsQwfN+sKNJmN8W9qa9FOHMC9REouWe1ho29bpcM0cYexWAO\r\n5jgY2Hr7sTQM8GwNtiRAs84JuYWy7MjwLqI=\r\n=7scQ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"codegaze","email":"codegaze@gmail.com"},"directories":{},"maintainers":[{"name":"codegaze","email":"codegaze@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli_4.3.0_1669716927617_0.8470540834503695"},"_hasShrinkwrap":false}},"time":{"created":"2022-11-29T10:15:27.226Z","4.3.0":"2022-11-29T10:15:27.790Z","modified":"2022-11-29T10:15:28.058Z"},"maintainers":[{"name":"codegaze","email":"codegaze@gmail.com"}],"description":"i18n CLI tool for Transifex Native","homepage":"https://github.com/transifex/transifex-javascript/tree/master/packages/cli","keywords":["transifex","i18n","l10n","localization","internationalization","globalization","translation","cli"],"repository":{"type":"git","url":"git://github.com/transifex/transifex-javascript.git"},"author":{"name":"Transifex"},"bugs":{"url":"https://github.com/transifex/transifex-javascript/issues"},"license":"Apache-2.0","readme":"<p align=\"center\">\n  <a href=\"https://www.transifex.com\">\n    <img src=\"https://raw.githubusercontent.com/transifex/transifex-javascript/master/media/transifex.png\" height=\"60\">\n  </a>\n</p>\n<p align=\"center\">\n  <i>Transifex Native is a full end-to-end, cloud-based localization stack for moderns apps.</i>\n</p>\n<p align=\"center\">\n  <img src=\"https://github.com/transifex/transifex-javascript/actions/workflows/npm-publish.yml/badge.svg\">\n  <a href=\"https://www.npmjs.com/package/@transifex/cli\">\n    <img src=\"https://img.shields.io/npm/v/@transifex/cli.svg\">\n  </a>\n  <a href=\"https://developers.transifex.com/docs/native\">\n    <img src=\"https://img.shields.io/badge/docs-transifex.com-blue\">\n  </a>\n</p>\n\n# Transifex Native SDK: JavaScript i18n CLI tool\n\nA command line tool that parses `.js`, `.ts`, `.jsx`, `.tsx` and `.html` source files, extracts phrases marked for localization by [Transifex Native](https://www.transifex.com/native/) and pushes them to [Transifex](https:/www.transifex.com) for translation.\n\nRelated packages:\n* [@transifex/native](https://www.npmjs.com/package/@transifex/native)\n* [@transifex/react](https://www.npmjs.com/package/@transifex/react)\n\nLearn more about Transifex Native in the [Transifex Developer Hub](https://developers.transifex.com/docs/native).\n\n![cli](https://raw.githubusercontent.com/transifex/transifex-javascript/master/media/cli.gif)\n\n# Upgrade to v2\n\nIf you are upgrading from the `1.x.x` version, please read this [migration guide](https://github.com/transifex/transifex-javascript/blob/HEAD/UPGRADE_TO_V2.md), as there are breaking changes in place.\n\n# Usage\n\n## Global installation\n\n```sh-session\n$ npm install -g @transifex/cli\n\n$ txjs-cli COMMAND\nrunning command...\n\n$ txjs-cli --help [COMMAND]\nUSAGE\n  $ txjs-cli COMMAND\n...\n```\n\n## Local installation in existing codebase\n\nInstall to local repo using `npm`.\n\n```sh-session\n$ npm install @transifex/cli --save\n\n$ ./node_modules/.bin/txjs-cli COMMAND\nrunning command...\n```\n\nAdd it as a script command in `package.json`.\n\n```json\n  ...\n  \"scripts\": {\n    \"push\": \"txjs-cli push src/\",\n    ...\n  },\n```\n\nPush content using `npm`.\n\n```sh-session\n$ npm run push\n```\n\n# Commands\n* [`txjs-cli help [COMMAND]`](#txjs-cli-help-command)\n* [`txjs-cli push [PATTERN]`](#txjs-cli-push-pattern)\n* [`txjs-cli invalidate`](#txjs-cli-invalidate)\n\n## `txjs-cli help [COMMAND]`\n\nDisplay help for txjs-cli\n\n```\nUSAGE\n  $ txjs-cli help [COMMAND]\n\nARGUMENTS\n  COMMAND  command to show help for\n\nOPTIONS\n  --all  see all commands in CLI\n```\n\n## `txjs-cli push [PATTERN]`\n\ndetect and push source content to Transifex\n\n```\nUSAGE\n  $ txjs-cli push [PATTERN]\n\nARGUMENTS\n  PATTERN  [default: **/*.{js,jsx,ts,tsx,vue}] file pattern to scan for strings\n\nOPTIONS\n  -v, --verbose                          verbose output\n  --append-tags=append-tags              append tags to strings\n  --cds-host=cds-host                    CDS host URL\n  --dry-run                              dry run, do not push to Transifex\n  --key-generator=source|hash            [default: source] use hashed or source based keys\n  --no-wait                              disable polling for upload results\n  --parser=auto|i18next                  [default: auto] file parser to use\n  --purge                                purge content on Transifex\n  --secret=secret                        native project secret\n  --token=token                          native project public token\n  --with-tags-only=with-tags-only        push strings with specific tags\n  --without-tags-only=without-tags-only  push strings without specific tags\n\nDESCRIPTION\n  Parse .js, .ts, .jsx, .tsx, .html and .vue files and detect phrases marked for\n  translation by Transifex Native toolkit for Javascript and\n  upload them to Transifex for translation.\n\n  To push content some environment variables must be set:\n  TRANSIFEX_TOKEN=<Transifex Native Project Token>\n  TRANSIFEX_SECRET=<Transifex Native Project Secret>\n  (optional) TRANSIFEX_CDS_HOST=<CDS HOST>\n\n  or passed as --token=<TOKEN> --secret=<SECRET> parameters\n\n  Default CDS Host is https://cds.svc.transifex.net\n\n  Examples:\n  txjs-cli push -v\n  txjs-cli push src/\n  txjs-cli push /home/repo/src\n  txjs-cli push \"*.js\"\n  txjs-cli push --dry-run\n  txjs-cli push --no-wait\n  txjs-cli push --key-generator=hash\n  txjs-cli push --append-tags=\"master,release:2.5\"\n  txjs-cli push --with-tags-only=\"home,error\"\n  txjs-cli push --without-tags-only=\"custom\"\n  txjs-cli push --token=mytoken --secret=mysecret\n  txjs-cli push en.json --parser=i18next\n  TRANSIFEX_TOKEN=mytoken TRANSIFEX_SECRET=mysecret txjs-cli push\n```\n\n## `txjs-cli invalidate`\n\ninvalidate and refresh CDS cache\n\n```\nUSAGE\n  $ txjs-cli invalidate\n\nOPTIONS\n  --cds-host=cds-host  CDS host URL\n  --purge              force delete CDS cached content\n  --secret=secret      native project secret\n  --token=token        native project public token\n\nDESCRIPTION\n  Content for delivery is cached in CDS and refreshed automatically every hour.\n  This command triggers a refresh of cached content on the fly.\n\n  By default, invalidation does not remove existing cached content, but\n  starts the process of updating with latest translations from Transifex.\n\n  Passing the --purge option, cached content will be forced to be deleted,\n  however use that with caution, as it may introduce downtime of\n  translation delivery to the apps until fresh content is cached in the CDS.\n\n  To invalidate translations some environment variables must be set:\n  TRANSIFEX_TOKEN=<Transifex Native Project Token>\n  TRANSIFEX_SECRET=<Transifex Native Project Secret>\n  (optional) TRANSIFEX_CDS_HOST=<CDS HOST>\n\n  or passed as --token=<TOKEN> --secret=<SECRET> parameters\n\n  Default CDS Host is https://cds.svc.transifex.net\n\n  Examples:\n  txjs-cli invalidate\n  txjs-cli invalidate --purge\n  txjs-cli invalidate --token=mytoken --secret=mysecret\n  TRANSIFEX_TOKEN=mytoken TRANSIFEX_SECRET=mysecret txjs-cli invalidate\n```\n\n# License\n\nLicensed under Apache License 2.0, see [LICENSE](https://github.com/transifex/transifex-javascript/blob/HEAD/LICENSE) file.\n","readmeFilename":"README.md"}