I have /components/foo.js
and /pages/bar.js
, both are using <FormattedMessage />
with a different defaultMessage
:
JavaScript
x
14
14
1
// /components/foo.js
2
export default function Foo() {
3
return (
4
<FormattedMessage defaultMessage="Foo component" />
5
);
6
}
7
8
// /pages/bar.js
9
export default function Foo() {
10
return (
11
<FormattedMessage defaultMessage="Bar page" />
12
);
13
}
14
If I run formatjs extract 'components/**/*.js' --out-file lang/en.json
I only get messages from my components folder. If instead I use the path pages/**/*.js
, I only get messages from my pages folder.
Tried a few differente combinations without luck:
(components,pages)/**/*.js
(components&pages)/**/*.js
(components|pages)/**/*.js
!(node_modules)/**/*.js
to compile everything except thenode_modules
folder.
Advertisement
Answer
It turns out that you need to use double pipe operator ||
.
JavaScript
1
2
1
formatjs extract '(components||pages)/**/*.js' --out-file lang/en.json
2