Package Exports
- @formatjs/cli
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@formatjs/cli) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
formatjs-cli
This CLI allows you to extract intl-messageformat messages from JavaScript / TypeScript source code,
including React components that uses react-intl.
Usage
$ npm -g i @formatjs/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` 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)
--ignore List of glob paths to **not** extract translations from.
--output-empty-json Output file with empty [] if src has no messages. For build systems like bazel that relies on specific output mapping, not writing out a file can cause issues.
-h, --help output usage information