@f-fjs/cli

1.1.24 • Public • Published

formatjs-cli

This CLI allows you to extract @f-fjs/intl-messageformat messages from JavaScript / TypeScript source code, including React components that uses react-intl.

Usage

$ npm -g i @f-fjs/cli
$ formatjs extract --help
Usage: formatjs extract [options] [files...]
Extract string messages from React components that use react-intl.
The input language is expected to be TypeScript or ES2017 with JSX.

Options:
  --messages-dir <dir>                                  The target location where the plugin will output a `.json` file
                                                        corresponding to each component from which React Intl messages
                                                        were extracted. If not provided, the extracted message
                                                        descriptors will be printed to standard output.
  --out-file <path>                                     The target file path where the plugin will output an aggregated \`.json\` file of allthe translations from the \`files\`
                                                        supplied.
                                                        This flag will ignore --messages-dir
  --id-interpolation-pattern <pattern>                  If certain message descriptors don\'t have id, this \`pattern\` will be used to automaticallygenerate IDs for them. Default to
                                                        \`[contenthash:5]\`.
                                                        See https://github.com/webpack/loader-utils#interpolatename for sample patterns
  --extract-source-location                             Whether the metadata about the location of the message in the
                                                        source file should be extracted. If `true`, then `file`,
                                                        `start`, and `end` fields will exist for each extracted message
                                                        descriptors. (default: false)
  --module-source-name <name>                           The ES6 module source name of the React Intl package. Defaults
                                                        to: `"react-intl"`, but can be changed to another name/path to
                                                        React Intl.
  --remove-default-message                              Remove `defaultMessage` field in generated js after extraction
                                                        (default: false)
  --additional-component-names <comma-separated-names>  Additional component names to extract messages from, e.g:
                                                        `['FormattedFooBarMessage']`. **NOTE**: By default we check for
                                                        the fact that `FormattedMessage` & `FormattedHTMLMessage` are
                                                        imported from `moduleSourceName` to make sure variable alias
                                                        works. This option does not do that so it's less safe.
  --extract-from-format-message-call                    Opt-in to extract from `intl.formatMessage` call with the same
                                                        restrictions, e.g: has to be called with object literal such as
                                                        `intl.formatMessage({ id: 'foo', defaultMessage: 'bar',
                                                        description: 'baz'})` (default: false)
  -h, --help                                            output usage information

Package Sidebar

Install

npm i @f-fjs/cli

Weekly Downloads

3

Version

1.1.24

License

MIT

Unpacked Size

45.5 kB

Total Files

17

Last publish

Collaborators

  • hitko