evenchange4 / react-intl-cra

🔧 Extract messages of Creact React App from the command line.
MIT License
67 stars 11 forks source link
create-react-app react-intl

⚠️ Deprecated - This repository is no longer maintained

Please use react-intl.macro or react-app-rewired solution.

react-intl-cra

Extract messages of Creact React App from the command line.

Travis Codecov Status npm package npm downloads

prettier license

This is just a workaround for create-react-app #1227 and react-intl #869 in unofficial way.

Installation

$ yarn add react-intl-cra --dev

Demo

Standalone example based on Create-React-App: https://github.com/evenchange4/react-intl-po-example

$ react-intl-cra './src/**/*.js' -o messages.json

Output:

// messages.json

[
  {
    "id": "Account.account",
    "description": "Title",
    "defaultMessage": "帳戶",
    "filepath": "./src/containers/Account/messages.js"
  },
  {
    "id": "Account.myTestDevices",
    "defaultMessage": "我的測試裝置",
    "filepath": "./src/containers/Account/messages.js"
  },
  ...
]

API

$ react-intl-cra --help

Usage: react-intl-cra <pattern> [options]

<pattern> Glob pattern to specify files.
          Needs to be surrounded with quotes to prevent shell globbing.
          Guide to globs: https://github.com/isaacs/node-glob

Options:
  -o, --out-file  Output into a single file                             [string]
  -h, --help      Show help                                            [boolean]
  -v, --version   Show version number                                  [boolean]

Examples:
  react-intl-cra 'src/App.js'                   One file.
  react-intl-cra 'src/**/*.js'                  Pattern to specify files
  react-intl-cra 'src/**/*.js' -o message.json  Output into a single file.

For more information go to https://github.com/evenchange4/react-intl-cra

NPM Usage

import extract from 'react-intl-cra';

const result = extract('./src/**/*.js');

Development

Requirements

$ yarn install --pure-lockfile
$ yarn start

Test

$ yarn run format
$ yarn run eslint
$ yarn run flow
$ yarn run test:watch

NPM Release

Any git tags.

  1. Create a new git tag
  2. Update CHANGELOG.md
$ npm version patch
$ npm run changelog

CONTRIBUTING

CHANGELOG

LICENSE

MIT: http://michaelhsu.mit-license.org