Add intl auto-id tool
This commit is contained in:
parent
b3720a6361
commit
337f14b327
4 changed files with 83 additions and 30 deletions
1
.babelrc
1
.babelrc
|
@ -14,6 +14,7 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"@babel/plugin-proposal-object-rest-spread",
|
"@babel/plugin-proposal-object-rest-spread",
|
||||||
|
"react-intl-auto",
|
||||||
[
|
[
|
||||||
"react-intl",
|
"react-intl",
|
||||||
{
|
{
|
||||||
|
|
57
package-lock.json
generated
57
package-lock.json
generated
|
@ -4900,6 +4900,16 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"babel-plugin-react-intl-auto": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/babel-plugin-react-intl-auto/-/babel-plugin-react-intl-auto-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-nhh509nyNVKXg2By1X1v/u1m+liWzF8XWC/RWeHXbhDskC1deH3rkWIYkVfvCabEbDBVZ/cpV5JAYRbutFUQgw==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"@babel/types": "^7.5.5",
|
||||||
|
"murmurhash3js": "^3.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"babel-plugin-syntax-async-functions": {
|
"babel-plugin-syntax-async-functions": {
|
||||||
"version": "6.13.0",
|
"version": "6.13.0",
|
||||||
"resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz",
|
"resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz",
|
||||||
|
@ -9397,8 +9407,7 @@
|
||||||
},
|
},
|
||||||
"ansi-regex": {
|
"ansi-regex": {
|
||||||
"version": "2.1.1",
|
"version": "2.1.1",
|
||||||
"bundled": true,
|
"bundled": true
|
||||||
"optional": true
|
|
||||||
},
|
},
|
||||||
"aproba": {
|
"aproba": {
|
||||||
"version": "1.2.0",
|
"version": "1.2.0",
|
||||||
|
@ -9416,13 +9425,11 @@
|
||||||
},
|
},
|
||||||
"balanced-match": {
|
"balanced-match": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"bundled": true,
|
"bundled": true
|
||||||
"optional": true
|
|
||||||
},
|
},
|
||||||
"brace-expansion": {
|
"brace-expansion": {
|
||||||
"version": "1.1.11",
|
"version": "1.1.11",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"optional": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"balanced-match": "^1.0.0",
|
"balanced-match": "^1.0.0",
|
||||||
"concat-map": "0.0.1"
|
"concat-map": "0.0.1"
|
||||||
|
@ -9435,18 +9442,15 @@
|
||||||
},
|
},
|
||||||
"code-point-at": {
|
"code-point-at": {
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"bundled": true,
|
"bundled": true
|
||||||
"optional": true
|
|
||||||
},
|
},
|
||||||
"concat-map": {
|
"concat-map": {
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"bundled": true,
|
"bundled": true
|
||||||
"optional": true
|
|
||||||
},
|
},
|
||||||
"console-control-strings": {
|
"console-control-strings": {
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"bundled": true,
|
"bundled": true
|
||||||
"optional": true
|
|
||||||
},
|
},
|
||||||
"core-util-is": {
|
"core-util-is": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
|
@ -9549,8 +9553,7 @@
|
||||||
},
|
},
|
||||||
"inherits": {
|
"inherits": {
|
||||||
"version": "2.0.3",
|
"version": "2.0.3",
|
||||||
"bundled": true,
|
"bundled": true
|
||||||
"optional": true
|
|
||||||
},
|
},
|
||||||
"ini": {
|
"ini": {
|
||||||
"version": "1.3.5",
|
"version": "1.3.5",
|
||||||
|
@ -9560,7 +9563,6 @@
|
||||||
"is-fullwidth-code-point": {
|
"is-fullwidth-code-point": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"optional": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"number-is-nan": "^1.0.0"
|
"number-is-nan": "^1.0.0"
|
||||||
}
|
}
|
||||||
|
@ -9573,20 +9575,17 @@
|
||||||
"minimatch": {
|
"minimatch": {
|
||||||
"version": "3.0.4",
|
"version": "3.0.4",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"optional": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"brace-expansion": "^1.1.7"
|
"brace-expansion": "^1.1.7"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"minimist": {
|
"minimist": {
|
||||||
"version": "0.0.8",
|
"version": "0.0.8",
|
||||||
"bundled": true,
|
"bundled": true
|
||||||
"optional": true
|
|
||||||
},
|
},
|
||||||
"minipass": {
|
"minipass": {
|
||||||
"version": "2.3.5",
|
"version": "2.3.5",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"optional": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"safe-buffer": "^5.1.2",
|
"safe-buffer": "^5.1.2",
|
||||||
"yallist": "^3.0.0"
|
"yallist": "^3.0.0"
|
||||||
|
@ -9603,7 +9602,6 @@
|
||||||
"mkdirp": {
|
"mkdirp": {
|
||||||
"version": "0.5.1",
|
"version": "0.5.1",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"optional": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"minimist": "0.0.8"
|
"minimist": "0.0.8"
|
||||||
}
|
}
|
||||||
|
@ -9676,8 +9674,7 @@
|
||||||
},
|
},
|
||||||
"number-is-nan": {
|
"number-is-nan": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"bundled": true,
|
"bundled": true
|
||||||
"optional": true
|
|
||||||
},
|
},
|
||||||
"object-assign": {
|
"object-assign": {
|
||||||
"version": "4.1.1",
|
"version": "4.1.1",
|
||||||
|
@ -9687,7 +9684,6 @@
|
||||||
"once": {
|
"once": {
|
||||||
"version": "1.4.0",
|
"version": "1.4.0",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"optional": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"wrappy": "1"
|
"wrappy": "1"
|
||||||
}
|
}
|
||||||
|
@ -9763,8 +9759,7 @@
|
||||||
},
|
},
|
||||||
"safe-buffer": {
|
"safe-buffer": {
|
||||||
"version": "5.1.2",
|
"version": "5.1.2",
|
||||||
"bundled": true,
|
"bundled": true
|
||||||
"optional": true
|
|
||||||
},
|
},
|
||||||
"safer-buffer": {
|
"safer-buffer": {
|
||||||
"version": "2.1.2",
|
"version": "2.1.2",
|
||||||
|
@ -9794,7 +9789,6 @@
|
||||||
"string-width": {
|
"string-width": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"optional": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"code-point-at": "^1.0.0",
|
"code-point-at": "^1.0.0",
|
||||||
"is-fullwidth-code-point": "^1.0.0",
|
"is-fullwidth-code-point": "^1.0.0",
|
||||||
|
@ -9812,7 +9806,6 @@
|
||||||
"strip-ansi": {
|
"strip-ansi": {
|
||||||
"version": "3.0.1",
|
"version": "3.0.1",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"optional": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"ansi-regex": "^2.0.0"
|
"ansi-regex": "^2.0.0"
|
||||||
}
|
}
|
||||||
|
@ -9851,13 +9844,11 @@
|
||||||
},
|
},
|
||||||
"wrappy": {
|
"wrappy": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"bundled": true,
|
"bundled": true
|
||||||
"optional": true
|
|
||||||
},
|
},
|
||||||
"yallist": {
|
"yallist": {
|
||||||
"version": "3.0.3",
|
"version": "3.0.3",
|
||||||
"bundled": true,
|
"bundled": true
|
||||||
"optional": true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -13937,6 +13928,12 @@
|
||||||
"integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=",
|
"integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"murmurhash3js": {
|
||||||
|
"version": "3.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/murmurhash3js/-/murmurhash3js-3.0.1.tgz",
|
||||||
|
"integrity": "sha1-Ppg+W0fCoG9DpxMXTn5DXKBEuZg=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"mustache": {
|
"mustache": {
|
||||||
"version": "2.3.2",
|
"version": "2.3.2",
|
||||||
"resolved": "https://registry.npmjs.org/mustache/-/mustache-2.3.2.tgz",
|
"resolved": "https://registry.npmjs.org/mustache/-/mustache-2.3.2.tgz",
|
||||||
|
|
|
@ -109,6 +109,7 @@
|
||||||
"babel-jest": "^23.6.0",
|
"babel-jest": "^23.6.0",
|
||||||
"babel-loader": "^8.0.6",
|
"babel-loader": "^8.0.6",
|
||||||
"babel-plugin-react-intl": "^4.1.12",
|
"babel-plugin-react-intl": "^4.1.12",
|
||||||
|
"babel-plugin-react-intl-auto": "^2.1.0",
|
||||||
"codecov": "^3.5.0",
|
"codecov": "^3.5.0",
|
||||||
"enzyme": "^3.10.0",
|
"enzyme": "^3.10.0",
|
||||||
"enzyme-adapter-react-16": "^1.14.0",
|
"enzyme-adapter-react-16": "^1.14.0",
|
||||||
|
|
54
react-intl.d.ts
vendored
Normal file
54
react-intl.d.ts
vendored
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
declare module "react-intl" {
|
||||||
|
import * as ReactIntl from "node_modules/react-intl";
|
||||||
|
export * from "node_modules/react-intl";
|
||||||
|
|
||||||
|
export interface MessageDescriptor {
|
||||||
|
id?: string;
|
||||||
|
description?: string;
|
||||||
|
defaultMessage: string;
|
||||||
|
}
|
||||||
|
type Messages<Names extends keyof any = string> = Record<
|
||||||
|
Names,
|
||||||
|
MessageDescriptor
|
||||||
|
>;
|
||||||
|
type PrimitiveType = string | number | boolean | null | undefined | Date;
|
||||||
|
type FormatXMLElementFn = (...args: any[]) => string | object;
|
||||||
|
export interface IntlFormatters
|
||||||
|
extends Omit<ReactIntl.IntlFormatters, "formatMessage"> {
|
||||||
|
formatMessage(
|
||||||
|
descriptor: MessageDescriptor,
|
||||||
|
values?: Record<string, PrimitiveType>
|
||||||
|
): string;
|
||||||
|
formatMessage(
|
||||||
|
descriptor: MessageDescriptor,
|
||||||
|
values?: Record<
|
||||||
|
string,
|
||||||
|
PrimitiveType | React.ReactElement | FormatXMLElementFn
|
||||||
|
>
|
||||||
|
): string | React.ReactNodeArray;
|
||||||
|
}
|
||||||
|
export interface FormattedMessageProps<
|
||||||
|
V extends Record<string, any> = Record<string, React.ReactNode>
|
||||||
|
> extends MessageDescriptor {
|
||||||
|
values?: V;
|
||||||
|
tagName?: React.ElementType<any>;
|
||||||
|
children?(...nodes: React.ReactNodeArray): React.ReactNode;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function defineMessages<Names extends keyof any>(
|
||||||
|
messageDescriptors: Messages<Names>
|
||||||
|
): Messages<Names>;
|
||||||
|
|
||||||
|
export interface IntlShape extends ReactIntl.IntlConfig, IntlFormatters {
|
||||||
|
formatters: ReactIntl.Formatters;
|
||||||
|
}
|
||||||
|
|
||||||
|
export class FormattedMessage<
|
||||||
|
TValues extends Record<string, any> = Record<
|
||||||
|
string,
|
||||||
|
PrimitiveType | React.ReactElement | FormatXMLElementFn
|
||||||
|
>
|
||||||
|
> extends React.Component<FormattedMessageProps<TValues>> {}
|
||||||
|
|
||||||
|
export function useIntl(): IntlShape;
|
||||||
|
}
|
Loading…
Reference in a new issue