mirror of
https://github.com/stashapp/stash.git
synced 2025-12-17 12:24:38 +03:00
i18n
This commit is contained in:
@@ -21,6 +21,8 @@ fragment ConfigInterfaceData on ConfigInterfaceResult {
|
|||||||
showStudioAsText
|
showStudioAsText
|
||||||
css
|
css
|
||||||
cssEnabled
|
cssEnabled
|
||||||
|
locale
|
||||||
|
language
|
||||||
}
|
}
|
||||||
|
|
||||||
fragment ConfigData on ConfigResult {
|
fragment ConfigData on ConfigResult {
|
||||||
|
|||||||
@@ -75,6 +75,8 @@ input ConfigInterfaceInput {
|
|||||||
"""Custom CSS"""
|
"""Custom CSS"""
|
||||||
css: String
|
css: String
|
||||||
cssEnabled: Boolean
|
cssEnabled: Boolean
|
||||||
|
language: String
|
||||||
|
locale: String
|
||||||
}
|
}
|
||||||
|
|
||||||
type ConfigInterfaceResult {
|
type ConfigInterfaceResult {
|
||||||
@@ -91,6 +93,10 @@ type ConfigInterfaceResult {
|
|||||||
"""Custom CSS"""
|
"""Custom CSS"""
|
||||||
css: String
|
css: String
|
||||||
cssEnabled: Boolean
|
cssEnabled: Boolean
|
||||||
|
"""Interface language"""
|
||||||
|
language: String
|
||||||
|
"""Interface locale"""
|
||||||
|
locale: String
|
||||||
}
|
}
|
||||||
|
|
||||||
"""All configuration settings"""
|
"""All configuration settings"""
|
||||||
|
|||||||
@@ -106,6 +106,14 @@ func (r *mutationResolver) ConfigureInterface(ctx context.Context, input models.
|
|||||||
config.Set(config.ShowStudioAsText, *input.ShowStudioAsText)
|
config.Set(config.ShowStudioAsText, *input.ShowStudioAsText)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if input.Language != nil {
|
||||||
|
config.Set(config.Language, *input.Language)
|
||||||
|
}
|
||||||
|
|
||||||
|
if input.Locale != nil {
|
||||||
|
config.Set(config.Locale, *input.Locale)
|
||||||
|
}
|
||||||
|
|
||||||
css := ""
|
css := ""
|
||||||
|
|
||||||
if input.CSS != nil {
|
if input.CSS != nil {
|
||||||
|
|||||||
@@ -57,6 +57,9 @@ func makeConfigInterfaceResult() *models.ConfigInterfaceResult {
|
|||||||
showStudioAsText := config.GetShowStudioAsText()
|
showStudioAsText := config.GetShowStudioAsText()
|
||||||
css := config.GetCSS()
|
css := config.GetCSS()
|
||||||
cssEnabled := config.GetCSSEnabled()
|
cssEnabled := config.GetCSSEnabled()
|
||||||
|
locale := config.GetLocale()
|
||||||
|
language := config.GetLanguage()
|
||||||
|
|
||||||
|
|
||||||
return &models.ConfigInterfaceResult{
|
return &models.ConfigInterfaceResult{
|
||||||
SoundOnPreview: &soundOnPreview,
|
SoundOnPreview: &soundOnPreview,
|
||||||
@@ -66,5 +69,7 @@ func makeConfigInterfaceResult() *models.ConfigInterfaceResult {
|
|||||||
ShowStudioAsText: &showStudioAsText,
|
ShowStudioAsText: &showStudioAsText,
|
||||||
CSS: &css,
|
CSS: &css,
|
||||||
CSSEnabled: &cssEnabled,
|
CSSEnabled: &cssEnabled,
|
||||||
|
Language: &language,
|
||||||
|
Locale: &locale,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,6 +32,10 @@ const Host = "host"
|
|||||||
const Port = "port"
|
const Port = "port"
|
||||||
const ExternalHost = "external_host"
|
const ExternalHost = "external_host"
|
||||||
|
|
||||||
|
// i18n
|
||||||
|
const Language = "language"
|
||||||
|
const Locale = "locale"
|
||||||
|
|
||||||
// Interface options
|
// Interface options
|
||||||
const SoundOnPreview = "sound_on_preview"
|
const SoundOnPreview = "sound_on_preview"
|
||||||
const WallShowTitle = "wall_show_title"
|
const WallShowTitle = "wall_show_title"
|
||||||
@@ -97,6 +101,28 @@ func GetExcludes() []string {
|
|||||||
return viper.GetStringSlice(Exclude)
|
return viper.GetStringSlice(Exclude)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetLanguage() string {
|
||||||
|
ret := viper.GetString(Language)
|
||||||
|
|
||||||
|
// default to English
|
||||||
|
if ret == "" {
|
||||||
|
return "en"
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|
||||||
|
func GetLocale() string {
|
||||||
|
ret := viper.GetString(Locale)
|
||||||
|
|
||||||
|
// default to US
|
||||||
|
if ret == "" {
|
||||||
|
return "US"
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|
||||||
func GetScrapersPath() string {
|
func GetScrapersPath() string {
|
||||||
return viper.GetString(ScrapersPath)
|
return viper.GetString(ScrapersPath)
|
||||||
}
|
}
|
||||||
|
|||||||
3
ui/v2.5/.babelrc
Normal file
3
ui/v2.5/.babelrc
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"presets": ["react-app"]
|
||||||
|
}
|
||||||
@@ -12,7 +12,8 @@
|
|||||||
"lint:js": "eslint --cache src/**/*.{ts,tsx}",
|
"lint:js": "eslint --cache src/**/*.{ts,tsx}",
|
||||||
"lint:css": "stylelint 'src/**/*.scss'",
|
"lint:css": "stylelint 'src/**/*.scss'",
|
||||||
"format": "prettier --write \"src/**/*.{js,jsx,ts,tsx}\"",
|
"format": "prettier --write \"src/**/*.{js,jsx,ts,tsx}\"",
|
||||||
"gqlgen": "gql-gen --config codegen.yml"
|
"gqlgen": "gql-gen --config codegen.yml",
|
||||||
|
"extract": "NODE_ENV=development extract-messages -l=en,de -o src/locale -d en --flat false 'src/**/!(*.test).tsx'"
|
||||||
},
|
},
|
||||||
"browserslist": [
|
"browserslist": [
|
||||||
">0.2%",
|
">0.2%",
|
||||||
@@ -35,6 +36,7 @@
|
|||||||
"axios": "0.18.1",
|
"axios": "0.18.1",
|
||||||
"bootstrap": "^4.4.1",
|
"bootstrap": "^4.4.1",
|
||||||
"classnames": "^2.2.6",
|
"classnames": "^2.2.6",
|
||||||
|
"countries-list": "^2.5.1",
|
||||||
"formik": "^2.1.2",
|
"formik": "^2.1.2",
|
||||||
"graphql": "^14.5.8",
|
"graphql": "^14.5.8",
|
||||||
"graphql-tag": "^2.10.1",
|
"graphql-tag": "^2.10.1",
|
||||||
@@ -47,6 +49,7 @@
|
|||||||
"react-dom": "16.12.0",
|
"react-dom": "16.12.0",
|
||||||
"react-hotkeys": "^2.0.0",
|
"react-hotkeys": "^2.0.0",
|
||||||
"react-images": "0.5.19",
|
"react-images": "0.5.19",
|
||||||
|
"react-intl": "^3.12.0",
|
||||||
"react-jw-player": "1.19.0",
|
"react-jw-player": "1.19.0",
|
||||||
"react-photo-gallery": "^8.0.0",
|
"react-photo-gallery": "^8.0.0",
|
||||||
"react-router-bootstrap": "^0.25.0",
|
"react-router-bootstrap": "^0.25.0",
|
||||||
@@ -83,6 +86,7 @@
|
|||||||
"eslint-plugin-jsx-a11y": "^6.2.3",
|
"eslint-plugin-jsx-a11y": "^6.2.3",
|
||||||
"eslint-plugin-react": "^7.18.0",
|
"eslint-plugin-react": "^7.18.0",
|
||||||
"eslint-plugin-react-hooks": "^1.7.0",
|
"eslint-plugin-react-hooks": "^1.7.0",
|
||||||
|
"extract-react-intl-messages": "^2.3.5",
|
||||||
"node-sass": "4.13.1",
|
"node-sass": "4.13.1",
|
||||||
"postcss-safe-parser": "^4.0.1",
|
"postcss-safe-parser": "^4.0.1",
|
||||||
"prettier": "1.19.1",
|
"prettier": "1.19.1",
|
||||||
|
|||||||
@@ -1,8 +1,13 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import { Route, Switch } from "react-router-dom";
|
import { Route, Switch } from "react-router-dom";
|
||||||
|
import { IntlProvider } from 'react-intl';
|
||||||
import { ToastProvider } from "src/hooks/Toast";
|
import { ToastProvider } from "src/hooks/Toast";
|
||||||
import { library } from "@fortawesome/fontawesome-svg-core";
|
import { library } from "@fortawesome/fontawesome-svg-core";
|
||||||
import { fas } from "@fortawesome/free-solid-svg-icons";
|
import { fas } from "@fortawesome/free-solid-svg-icons";
|
||||||
|
|
||||||
|
import locales from 'src/locale';
|
||||||
|
import { StashService } from 'src/core/StashService';
|
||||||
|
import { flattenMessages } from 'src/utils';
|
||||||
import { ErrorBoundary } from "./components/ErrorBoundary";
|
import { ErrorBoundary } from "./components/ErrorBoundary";
|
||||||
import Galleries from "./components/Galleries/Galleries";
|
import Galleries from "./components/Galleries/Galleries";
|
||||||
import { MainNavbar } from "./components/MainNavbar";
|
import { MainNavbar } from "./components/MainNavbar";
|
||||||
@@ -15,31 +20,41 @@ import Studios from "./components/Studios/Studios";
|
|||||||
import { TagList } from "./components/Tags/TagList";
|
import { TagList } from "./components/Tags/TagList";
|
||||||
import { SceneFilenameParser } from "./components/SceneFilenameParser/SceneFilenameParser";
|
import { SceneFilenameParser } from "./components/SceneFilenameParser/SceneFilenameParser";
|
||||||
|
|
||||||
|
|
||||||
library.add(fas);
|
library.add(fas);
|
||||||
|
|
||||||
export const App: React.FC = () => (
|
export const App: React.FC = () => {
|
||||||
<div className="bp3-dark">
|
const config = StashService.useConfiguration();
|
||||||
<ErrorBoundary>
|
const locale = config.data?.configuration?.interface?.locale ?? 'US';
|
||||||
<ToastProvider>
|
const language = config.data?.configuration?.interface?.language ?? 'en';
|
||||||
<MainNavbar />
|
const messages = flattenMessages((locales as any)[language] ?? locales.en);
|
||||||
<div className="main container-fluid">
|
|
||||||
<Switch>
|
return (
|
||||||
<Route exact path="/" component={Stats} />
|
<div className="bp3-dark">
|
||||||
<Route path="/scenes" component={Scenes} />
|
<ErrorBoundary>
|
||||||
{/* <Route path="/scenes/:id" component={Scene} /> */}
|
<IntlProvider locale={locale} messages={messages}>
|
||||||
<Route path="/galleries" component={Galleries} />
|
<ToastProvider>
|
||||||
<Route path="/performers" component={Performers} />
|
<MainNavbar />
|
||||||
<Route path="/tags" component={TagList} />
|
<div className="main container-fluid">
|
||||||
<Route path="/studios" component={Studios} />
|
<Switch>
|
||||||
<Route path="/settings" component={Settings} />
|
<Route exact path="/" component={Stats} />
|
||||||
<Route
|
<Route path="/scenes" component={Scenes} />
|
||||||
path="/sceneFilenameParser"
|
{/* <Route path="/scenes/:id" component={Scene} /> */}
|
||||||
component={SceneFilenameParser}
|
<Route path="/galleries" component={Galleries} />
|
||||||
/>
|
<Route path="/performers" component={Performers} />
|
||||||
<Route component={PageNotFound} />
|
<Route path="/tags" component={TagList} />
|
||||||
</Switch>
|
<Route path="/studios" component={Studios} />
|
||||||
</div>
|
<Route path="/settings" component={Settings} />
|
||||||
</ToastProvider>
|
<Route
|
||||||
</ErrorBoundary>
|
path="/sceneFilenameParser"
|
||||||
</div>
|
component={SceneFilenameParser}
|
||||||
);
|
/>
|
||||||
|
<Route component={PageNotFound} />
|
||||||
|
</Switch>
|
||||||
|
</div>
|
||||||
|
</ToastProvider>
|
||||||
|
</IntlProvider>
|
||||||
|
</ErrorBoundary>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
|
import { FormattedMessage } from 'react-intl';
|
||||||
import { Nav, Navbar, Button } from "react-bootstrap";
|
import { Nav, Navbar, Button } from "react-bootstrap";
|
||||||
import { IconName } from "@fortawesome/fontawesome-svg-core";
|
import { IconName } from "@fortawesome/fontawesome-svg-core";
|
||||||
import { LinkContainer } from "react-router-bootstrap";
|
import { LinkContainer } from "react-router-bootstrap";
|
||||||
@@ -7,7 +8,7 @@ import { Link, useLocation } from "react-router-dom";
|
|||||||
import { Icon } from "src/components/Shared";
|
import { Icon } from "src/components/Shared";
|
||||||
|
|
||||||
interface IMenuItem {
|
interface IMenuItem {
|
||||||
text: string;
|
messageID: string;
|
||||||
href: string;
|
href: string;
|
||||||
icon: IconName;
|
icon: IconName;
|
||||||
}
|
}
|
||||||
@@ -15,33 +16,33 @@ interface IMenuItem {
|
|||||||
const menuItems: IMenuItem[] = [
|
const menuItems: IMenuItem[] = [
|
||||||
{
|
{
|
||||||
icon: "play-circle",
|
icon: "play-circle",
|
||||||
text: "Scenes",
|
messageID: "scenes",
|
||||||
href: "/scenes"
|
href: "/scenes"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
href: "/scenes/markers",
|
href: "/scenes/markers",
|
||||||
icon: "map-marker-alt",
|
icon: "map-marker-alt",
|
||||||
text: "Markers"
|
messageID: "markers"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
href: "/galleries",
|
href: "/galleries",
|
||||||
icon: "image",
|
icon: "image",
|
||||||
text: "Galleries"
|
messageID: "galleries"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
href: "/performers",
|
href: "/performers",
|
||||||
icon: "user",
|
icon: "user",
|
||||||
text: "Performers"
|
messageID: "performers"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
href: "/studios",
|
href: "/studios",
|
||||||
icon: "video",
|
icon: "video",
|
||||||
text: "Studios"
|
messageID: "studios"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
href: "/tags",
|
href: "/tags",
|
||||||
icon: "tag",
|
icon: "tag",
|
||||||
text: "Tags"
|
messageID: "tags"
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -59,7 +60,7 @@ export const MainNavbar: React.FC = () => {
|
|||||||
""
|
""
|
||||||
) : (
|
) : (
|
||||||
<LinkContainer to={path}>
|
<LinkContainer to={path}>
|
||||||
<Button variant="primary">New</Button>
|
<Button variant="primary"><FormattedMessage id="new" defaultMessage="New" /></Button>
|
||||||
</LinkContainer>
|
</LinkContainer>
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -85,7 +86,9 @@ export const MainNavbar: React.FC = () => {
|
|||||||
>
|
>
|
||||||
<Button className="minimal">
|
<Button className="minimal">
|
||||||
<Icon icon={i.icon} />
|
<Icon icon={i.icon} />
|
||||||
<span className="d-none d-sm-inline">{i.text}</span>
|
<span className="d-none d-sm-inline">
|
||||||
|
<FormattedMessage id={i.messageID} />
|
||||||
|
</span>
|
||||||
</Button>
|
</Button>
|
||||||
</LinkContainer>
|
</LinkContainer>
|
||||||
))}
|
))}
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
import React, { useEffect, useState } from "react";
|
import React, { useEffect, useState } from "react";
|
||||||
import { Button, Form } from "react-bootstrap";
|
import { Button, Form } from "react-bootstrap";
|
||||||
|
import { countries } from "countries-list";
|
||||||
import { DurationInput, LoadingIndicator } from "src/components/Shared";
|
import { DurationInput, LoadingIndicator } from "src/components/Shared";
|
||||||
import { StashService } from "src/core/StashService";
|
import { StashService } from "src/core/StashService";
|
||||||
import { useToast } from "src/hooks";
|
import { useToast } from "src/hooks";
|
||||||
|
|
||||||
export const SettingsInterfacePanel: React.FC = () => {
|
export const SettingsInterfacePanel: React.FC = () => {
|
||||||
const Toast = useToast();
|
const Toast = useToast();
|
||||||
const config = StashService.useConfiguration();
|
const { data: config, error, loading } = StashService.useConfiguration();
|
||||||
const [soundOnPreview, setSoundOnPreview] = useState<boolean>(true);
|
const [soundOnPreview, setSoundOnPreview] = useState<boolean>(true);
|
||||||
const [wallShowTitle, setWallShowTitle] = useState<boolean>(true);
|
const [wallShowTitle, setWallShowTitle] = useState<boolean>(true);
|
||||||
const [maximumLoopDuration, setMaximumLoopDuration] = useState<number>(0);
|
const [maximumLoopDuration, setMaximumLoopDuration] = useState<number>(0);
|
||||||
@@ -14,6 +15,8 @@ export const SettingsInterfacePanel: React.FC = () => {
|
|||||||
const [showStudioAsText, setShowStudioAsText] = useState<boolean>(false);
|
const [showStudioAsText, setShowStudioAsText] = useState<boolean>(false);
|
||||||
const [css, setCSS] = useState<string>();
|
const [css, setCSS] = useState<string>();
|
||||||
const [cssEnabled, setCSSEnabled] = useState<boolean>(false);
|
const [cssEnabled, setCSSEnabled] = useState<boolean>(false);
|
||||||
|
const [language, setLanguage] = useState<string>('en');
|
||||||
|
const [locale, setLocale] = useState<string>('US');
|
||||||
|
|
||||||
const [updateInterfaceConfig] = StashService.useConfigureInterface({
|
const [updateInterfaceConfig] = StashService.useConfigureInterface({
|
||||||
soundOnPreview,
|
soundOnPreview,
|
||||||
@@ -22,13 +25,13 @@ export const SettingsInterfacePanel: React.FC = () => {
|
|||||||
autostartVideo,
|
autostartVideo,
|
||||||
showStudioAsText,
|
showStudioAsText,
|
||||||
css,
|
css,
|
||||||
cssEnabled
|
cssEnabled,
|
||||||
|
language,
|
||||||
|
locale
|
||||||
});
|
});
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (config.error) return;
|
const iCfg = config?.configuration?.interface;
|
||||||
|
|
||||||
const iCfg = config?.data?.configuration?.interface;
|
|
||||||
setSoundOnPreview(iCfg?.soundOnPreview ?? true);
|
setSoundOnPreview(iCfg?.soundOnPreview ?? true);
|
||||||
setWallShowTitle(iCfg?.wallShowTitle ?? true);
|
setWallShowTitle(iCfg?.wallShowTitle ?? true);
|
||||||
setMaximumLoopDuration(iCfg?.maximumLoopDuration ?? 0);
|
setMaximumLoopDuration(iCfg?.maximumLoopDuration ?? 0);
|
||||||
@@ -36,6 +39,8 @@ export const SettingsInterfacePanel: React.FC = () => {
|
|||||||
setShowStudioAsText(iCfg?.showStudioAsText ?? false);
|
setShowStudioAsText(iCfg?.showStudioAsText ?? false);
|
||||||
setCSS(iCfg?.css ?? "");
|
setCSS(iCfg?.css ?? "");
|
||||||
setCSSEnabled(iCfg?.cssEnabled ?? false);
|
setCSSEnabled(iCfg?.cssEnabled ?? false);
|
||||||
|
setLanguage(iCfg?.language ?? 'en');
|
||||||
|
setLocale(iCfg?.locale ?? 'en_US');
|
||||||
}, [config]);
|
}, [config]);
|
||||||
|
|
||||||
async function onSave() {
|
async function onSave() {
|
||||||
@@ -49,15 +54,39 @@ export const SettingsInterfacePanel: React.FC = () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(error)
|
||||||
|
return <h1>{error.message}</h1>;
|
||||||
|
if(loading)
|
||||||
|
return <LoadingIndicator />;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{config.error ? <h1>{config.error.message}</h1> : ""}
|
|
||||||
{!config?.data?.configuration || config.loading ? (
|
|
||||||
<LoadingIndicator />
|
|
||||||
) : (
|
|
||||||
""
|
|
||||||
)}
|
|
||||||
<h4>User Interface</h4>
|
<h4>User Interface</h4>
|
||||||
|
<Form.Group controlId="language" className="row">
|
||||||
|
<Form.Label className="col-2">Language</Form.Label>
|
||||||
|
<Form.Control
|
||||||
|
as="select"
|
||||||
|
className="col-2"
|
||||||
|
value={language}
|
||||||
|
onChange={(e:React.FormEvent<HTMLSelectElement>) => setLanguage(e.currentTarget.value)}
|
||||||
|
>
|
||||||
|
<option value="en">English</option>
|
||||||
|
<option value="de">German</option>
|
||||||
|
</Form.Control>
|
||||||
|
</Form.Group>
|
||||||
|
<Form.Group controlId="region" className="row">
|
||||||
|
<Form.Label className="col-2">Region</Form.Label>
|
||||||
|
<Form.Control
|
||||||
|
as="select"
|
||||||
|
className="col-2"
|
||||||
|
value={locale}
|
||||||
|
onChange={(e:React.FormEvent<HTMLSelectElement>) => setLocale(e.currentTarget.value)}
|
||||||
|
>
|
||||||
|
{ Object.keys(countries).map(code => (
|
||||||
|
<option value={code}>{(countries as any)[code].name}</option>
|
||||||
|
))}
|
||||||
|
</Form.Control>
|
||||||
|
</Form.Group>
|
||||||
<Form.Group>
|
<Form.Group>
|
||||||
<Form.Label>Scene / Marker Wall</Form.Label>
|
<Form.Label>Scene / Marker Wall</Form.Label>
|
||||||
<Form.Check
|
<Form.Check
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import { StashService } from "src/core/StashService";
|
import { StashService } from "src/core/StashService";
|
||||||
|
import { FormattedMessage, FormattedNumber } from 'react-intl';
|
||||||
import { LoadingIndicator } from "src/components/Shared";
|
import { LoadingIndicator } from "src/components/Shared";
|
||||||
|
|
||||||
export const Stats: React.FC = () => {
|
export const Stats: React.FC = () => {
|
||||||
const { data, error, loading } = StashService.useStats();
|
const { data, error, loading } = StashService.useStats();
|
||||||
|
|
||||||
if (loading || !data) return <LoadingIndicator message="Loading..." />;
|
if (loading || !data) return <LoadingIndicator />;
|
||||||
|
|
||||||
if (error) return <span>error.message</span>;
|
if (error) return <span>error.message</span>;
|
||||||
|
|
||||||
@@ -15,40 +16,74 @@ export const Stats: React.FC = () => {
|
|||||||
<nav className="col col-sm-8 m-sm-auto row">
|
<nav className="col col-sm-8 m-sm-auto row">
|
||||||
<div className="flex-grow-1">
|
<div className="flex-grow-1">
|
||||||
<div>
|
<div>
|
||||||
<p className="heading">Scenes</p>
|
<p className="heading">
|
||||||
<p className="title">{data.stats.scene_count}</p>
|
<FormattedMessage
|
||||||
|
id="scenes"
|
||||||
|
defaultMessage="Scenes" />
|
||||||
|
</p>
|
||||||
|
<p className="title">
|
||||||
|
<FormattedNumber value={data.stats.scene_count} />
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex-grow-1">
|
<div className="flex-grow-1">
|
||||||
<div>
|
<div>
|
||||||
<p className="heading">Galleries</p>
|
<p className="heading">
|
||||||
<p className="title">{data.stats.gallery_count}</p>
|
<FormattedMessage
|
||||||
|
id="galleries"
|
||||||
|
defaultMessage="Galleries" />
|
||||||
|
</p>
|
||||||
|
<p className="title">
|
||||||
|
<FormattedNumber value={data.stats.gallery_count} />
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex-grow-1">
|
<div className="flex-grow-1">
|
||||||
<div>
|
<div>
|
||||||
<p className="heading">Performers</p>
|
<p className="heading">
|
||||||
<p className="title">{data.stats.performer_count}</p>
|
<FormattedMessage
|
||||||
|
id="performers"
|
||||||
|
defaultMessage="Performers" />
|
||||||
|
</p>
|
||||||
|
<p className="title">
|
||||||
|
<FormattedNumber value={data.stats.performer_count} />
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex-grow-1">
|
<div className="flex-grow-1">
|
||||||
<div>
|
<div>
|
||||||
<p className="heading">Studios</p>
|
<p className="heading">
|
||||||
<p className="title">{data.stats.studio_count}</p>
|
<FormattedMessage
|
||||||
|
id="studios"
|
||||||
|
defaultMessage="Studios" />
|
||||||
|
</p>
|
||||||
|
<p className="title">
|
||||||
|
<FormattedNumber value={data.stats.studio_count} />
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex-grow-1">
|
<div className="flex-grow-1">
|
||||||
<div>
|
<div>
|
||||||
<p className="heading">Tags</p>
|
<p className="heading">
|
||||||
<p className="title">{data.stats.tag_count}</p>
|
<FormattedMessage
|
||||||
|
id="tags"
|
||||||
|
defaultMessage="Tags" />
|
||||||
|
</p>
|
||||||
|
<p className="title">
|
||||||
|
<FormattedNumber value={data.stats.tag_count} />
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
<h5>Notes</h5>
|
<h5>
|
||||||
|
<FormattedMessage id="stats.notes" defaultMessage="Notes" />
|
||||||
|
</h5>
|
||||||
<em>
|
<em>
|
||||||
This is still an early version, some things are still a work in
|
<FormattedMessage
|
||||||
progress.
|
id="stats.warning"
|
||||||
|
defaultMessage="This is still an early version, some things are still a work in progress."
|
||||||
|
/>
|
||||||
</em>
|
</em>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
BIN
ui/v2.5/src/locale/.en.json.swp
Normal file
BIN
ui/v2.5/src/locale/.en.json.swp
Normal file
Binary file not shown.
12
ui/v2.5/src/locale/de.json
Normal file
12
ui/v2.5/src/locale/de.json
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"new": "Neu",
|
||||||
|
"tags": "Etiketten",
|
||||||
|
"scenes": "Szenen",
|
||||||
|
"studios": "Studios",
|
||||||
|
"galleries": "Galerien",
|
||||||
|
"performers": "Künstler",
|
||||||
|
"stats": {
|
||||||
|
"notes": "Anmerkungen",
|
||||||
|
"warning": "Dies ist noch eine frühe Version, einige Dinge sind noch in Arbeit."
|
||||||
|
}
|
||||||
|
}
|
||||||
13
ui/v2.5/src/locale/en.json
Normal file
13
ui/v2.5/src/locale/en.json
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"new": "New",
|
||||||
|
"tags": "Tags",
|
||||||
|
"scenes": "Scenes",
|
||||||
|
"studios": "Studios",
|
||||||
|
"galleries": "Galleries",
|
||||||
|
"performers": "Performers",
|
||||||
|
"markers": "Markers",
|
||||||
|
"stats": {
|
||||||
|
"notes": "Notes",
|
||||||
|
"warning": "This is still an early version, some things are still a work in progress."
|
||||||
|
}
|
||||||
|
}
|
||||||
7
ui/v2.5/src/locale/index.ts
Normal file
7
ui/v2.5/src/locale/index.ts
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
import en from './en.json';
|
||||||
|
import de from './de.json';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
en,
|
||||||
|
de
|
||||||
|
};
|
||||||
19
ui/v2.5/src/utils/flattenMessages.ts
Normal file
19
ui/v2.5/src/utils/flattenMessages.ts
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
const flattenMessages = ((nestedMessages:any, prefix = '') => {
|
||||||
|
if (nestedMessages === null) {
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
return Object.keys(nestedMessages).reduce((messages, key) => {
|
||||||
|
const value = nestedMessages[key]
|
||||||
|
const prefixedKey = prefix ? `${prefix}.${key}` : key
|
||||||
|
|
||||||
|
if (typeof value === 'string') {
|
||||||
|
Object.assign(messages, { [prefixedKey]: value })
|
||||||
|
} else {
|
||||||
|
Object.assign(messages, flattenMessages(value, prefixedKey))
|
||||||
|
}
|
||||||
|
|
||||||
|
return messages
|
||||||
|
}, {})
|
||||||
|
})
|
||||||
|
|
||||||
|
export default flattenMessages;
|
||||||
@@ -4,3 +4,4 @@ export { default as TableUtils } from "./table";
|
|||||||
export { default as TextUtils } from "./text";
|
export { default as TextUtils } from "./text";
|
||||||
export { default as DurationUtils } from "./duration";
|
export { default as DurationUtils } from "./duration";
|
||||||
export { default as JWUtils } from "./jwplayer";
|
export { default as JWUtils } from "./jwplayer";
|
||||||
|
export { default as flattenMessages } from "./flattenMessages";
|
||||||
|
|||||||
@@ -4,7 +4,10 @@
|
|||||||
"lib": [
|
"lib": [
|
||||||
"dom",
|
"dom",
|
||||||
"dom.iterable",
|
"dom.iterable",
|
||||||
"esnext"
|
"esnext",
|
||||||
|
"esnext.intl",
|
||||||
|
"es2017.intl",
|
||||||
|
"es2018.intl"
|
||||||
],
|
],
|
||||||
"skipLibCheck": true,
|
"skipLibCheck": true,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
|
|||||||
@@ -119,7 +119,7 @@
|
|||||||
invariant "^2.2.4"
|
invariant "^2.2.4"
|
||||||
semver "^5.5.0"
|
semver "^5.5.0"
|
||||||
|
|
||||||
"@babel/core@7.8.4", "@babel/core@>=7.2.2", "@babel/core@^7.1.0", "@babel/core@^7.4.5":
|
"@babel/core@7.8.4", "@babel/core@>=7.2.2", "@babel/core@^7.1.0", "@babel/core@^7.4.5", "@babel/core@^7.5.5", "@babel/core@^7.7.2":
|
||||||
version "7.8.4"
|
version "7.8.4"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.4.tgz#d496799e5c12195b3602d0fddd77294e3e38e80e"
|
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.4.tgz#d496799e5c12195b3602d0fddd77294e3e38e80e"
|
||||||
integrity sha512-0LiLrB2PwrVI+a2/IEskBopDYSd8BCb3rOvH7D5tzoWd696TBEduBvuLVm4Nx6rltrLZqvI3MCalB2K2aVzQjA==
|
integrity sha512-0LiLrB2PwrVI+a2/IEskBopDYSd8BCb3rOvH7D5tzoWd696TBEduBvuLVm4Nx6rltrLZqvI3MCalB2K2aVzQjA==
|
||||||
@@ -1282,6 +1282,44 @@
|
|||||||
ts-node "^8"
|
ts-node "^8"
|
||||||
tslib "^1"
|
tslib "^1"
|
||||||
|
|
||||||
|
"@formatjs/intl-displaynames@^1.2.0":
|
||||||
|
version "1.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@formatjs/intl-displaynames/-/intl-displaynames-1.2.0.tgz#b89935e232a454d113c7a6684c01ae391682a46d"
|
||||||
|
integrity sha512-mUGI2sc6OABkrMj42HlOpK1h96EVrN+gOhzbyCTMH9SVH/gPPLr/zFRH3KFWtBwxqhYsDghvUwm8xkdFOK0kTg==
|
||||||
|
dependencies:
|
||||||
|
"@formatjs/intl-utils" "^2.2.0"
|
||||||
|
|
||||||
|
"@formatjs/intl-listformat@^1.3.7":
|
||||||
|
version "1.4.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@formatjs/intl-listformat/-/intl-listformat-1.4.1.tgz#a467cc6857808f2eec78e5bdd0ae03b224e89d0c"
|
||||||
|
integrity sha512-AX0o1y5xXyMY4ebZOO+UujMcDhniYDs50KpwGzjUPV+bBILwRYqH/6IprZZG/V8YSOtetZlalZiwzJ50dH6PuQ==
|
||||||
|
dependencies:
|
||||||
|
"@formatjs/intl-utils" "^2.2.0"
|
||||||
|
|
||||||
|
"@formatjs/intl-relativetimeformat@^4.5.7":
|
||||||
|
version "4.5.9"
|
||||||
|
resolved "https://registry.yarnpkg.com/@formatjs/intl-relativetimeformat/-/intl-relativetimeformat-4.5.9.tgz#d9b74724a7cbcb4edc9d751b2979195fab4d39cc"
|
||||||
|
integrity sha512-6rgPXQl5MrPPbCuNiHxolzO6xNCHphCVEWW6RWGy7t/Mek70gD7nq1erW8fbQJ0XL/UeAC0Cz/+ggh7vaSsKNA==
|
||||||
|
dependencies:
|
||||||
|
"@formatjs/intl-utils" "^2.2.0"
|
||||||
|
|
||||||
|
"@formatjs/intl-unified-numberformat@^3.0.4", "@formatjs/intl-unified-numberformat@^3.2.0":
|
||||||
|
version "3.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@formatjs/intl-unified-numberformat/-/intl-unified-numberformat-3.2.0.tgz#5197987e61ba0972889105e525f1cbe6d91cf46f"
|
||||||
|
integrity sha512-SZMTV/tR0h7nYhS2x69S7zhHXaBmE0ZTR2OIiakt8W7uYWVgcRhu/LgUeVtGzpwPI2ChcOjNMtX/k6y1M9aDNA==
|
||||||
|
dependencies:
|
||||||
|
"@formatjs/intl-utils" "^2.2.0"
|
||||||
|
|
||||||
|
"@formatjs/intl-utils@^2.0.4", "@formatjs/intl-utils@^2.2.0":
|
||||||
|
version "2.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@formatjs/intl-utils/-/intl-utils-2.2.0.tgz#ba6e12fe64ff7fd160be392007c47d24b7ae5c75"
|
||||||
|
integrity sha512-+Az7tR1av1DHZu9668D8uh9atT6vp+FFmEF8BrEssv0OqzpVjpVBGVmcgPzQP8k2PQjVlm/h2w8cTt0knn132w==
|
||||||
|
|
||||||
|
"@formatjs/macro@^0.2.6":
|
||||||
|
version "0.2.6"
|
||||||
|
resolved "https://registry.yarnpkg.com/@formatjs/macro/-/macro-0.2.6.tgz#eb173658d803416a43210778b2f5c04c5a240bb6"
|
||||||
|
integrity sha512-DfdnLJf8+PwLHzJECZ1Xfa8+sI9akQnUuLN2UdkaExTQmlY0Vs36rMzEP0JoVDBMk+KdQbJNt72rPeZkBNcKWg==
|
||||||
|
|
||||||
"@fortawesome/fontawesome-common-types@^0.2.26":
|
"@fortawesome/fontawesome-common-types@^0.2.26":
|
||||||
version "0.2.26"
|
version "0.2.26"
|
||||||
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.26.tgz#6e0b13a752676036f8196f8a1500d53a27b4adc1"
|
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.26.tgz#6e0b13a752676036f8196f8a1500d53a27b4adc1"
|
||||||
@@ -1915,7 +1953,7 @@
|
|||||||
"@svgr/plugin-svgo" "^4.3.1"
|
"@svgr/plugin-svgo" "^4.3.1"
|
||||||
loader-utils "^1.2.3"
|
loader-utils "^1.2.3"
|
||||||
|
|
||||||
"@types/babel__core@^7.1.0":
|
"@types/babel__core@^7.1.0", "@types/babel__core@^7.1.3":
|
||||||
version "7.1.3"
|
version "7.1.3"
|
||||||
resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.3.tgz#e441ea7df63cd080dfcd02ab199e6d16a735fc30"
|
resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.3.tgz#e441ea7df63cd080dfcd02ab199e6d16a735fc30"
|
||||||
integrity sha512-8fBo0UR2CcwWxeX7WIIgJ7lXjasFxoYgRnFHUj+hRvKkpiBJbxhdAPTCY6/ZKM0uxANFVzt4yObSLuTiTnazDA==
|
integrity sha512-8fBo0UR2CcwWxeX7WIIgJ7lXjasFxoYgRnFHUj+hRvKkpiBJbxhdAPTCY6/ZKM0uxANFVzt4yObSLuTiTnazDA==
|
||||||
@@ -1987,6 +2025,19 @@
|
|||||||
resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.3.tgz#856c99cdc1551d22c22b18b5402719affec9839a"
|
resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.3.tgz#856c99cdc1551d22c22b18b5402719affec9839a"
|
||||||
integrity sha512-cS5owqtwzLN5kY+l+KgKdRJ/Cee8tlmQoGQuIE9tWnSmS3JMKzmxo2HIAk2wODMifGwO20d62xZQLYz+RLfXmw==
|
integrity sha512-cS5owqtwzLN5kY+l+KgKdRJ/Cee8tlmQoGQuIE9tWnSmS3JMKzmxo2HIAk2wODMifGwO20d62xZQLYz+RLfXmw==
|
||||||
|
|
||||||
|
"@types/hoist-non-react-statics@^3.3.1":
|
||||||
|
version "3.3.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz#1124aafe5118cb591977aeb1ceaaed1070eb039f"
|
||||||
|
integrity sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==
|
||||||
|
dependencies:
|
||||||
|
"@types/react" "*"
|
||||||
|
hoist-non-react-statics "^3.3.0"
|
||||||
|
|
||||||
|
"@types/invariant@^2.2.31":
|
||||||
|
version "2.2.31"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/invariant/-/invariant-2.2.31.tgz#4444c03004f215289dbca3856538434317dd28b2"
|
||||||
|
integrity sha512-jMlgg9pIURvy9jgBHCjQp/CyBjYHUwj91etVcDdXkFl2CwTFiQlB+8tcsMeXpXf2PFE5X2pjk4Gm43hQSMHAdA==
|
||||||
|
|
||||||
"@types/is-glob@4.0.1":
|
"@types/is-glob@4.0.1":
|
||||||
version "4.0.1"
|
version "4.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/@types/is-glob/-/is-glob-4.0.1.tgz#a93eec1714172c8eb3225a1cc5eb88c2477b7d00"
|
resolved "https://registry.yarnpkg.com/@types/is-glob/-/is-glob-4.0.1.tgz#a93eec1714172c8eb3225a1cc5eb88c2477b7d00"
|
||||||
@@ -2161,6 +2212,11 @@
|
|||||||
"@types/prop-types" "*"
|
"@types/prop-types" "*"
|
||||||
csstype "^2.2.0"
|
csstype "^2.2.0"
|
||||||
|
|
||||||
|
"@types/schema-utils@^1.0.0":
|
||||||
|
version "1.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/schema-utils/-/schema-utils-1.0.0.tgz#295d36f01e2cb8bc3207ca1d9a68e210db6b40cb"
|
||||||
|
integrity sha512-YesPanU1+WCigC/Aj1Mga8UCOjHIfMNHZ3zzDsUY7lI8GlKnh/Kv2QwJOQ+jNQ36Ru7IfzSedlG14hppYaN13A==
|
||||||
|
|
||||||
"@types/stack-utils@^1.0.1":
|
"@types/stack-utils@^1.0.1":
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e"
|
resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e"
|
||||||
@@ -3280,6 +3336,19 @@ babel-plugin-named-asset-import@^0.3.6:
|
|||||||
resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.6.tgz#c9750a1b38d85112c9e166bf3ef7c5dbc605f4be"
|
resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.6.tgz#c9750a1b38d85112c9e166bf3ef7c5dbc605f4be"
|
||||||
integrity sha512-1aGDUfL1qOOIoqk9QKGIo2lANk+C7ko/fqH0uIyC71x3PEGz0uVP8ISgfEsFuG+FKmjHTvFK/nNM8dowpmUxLA==
|
integrity sha512-1aGDUfL1qOOIoqk9QKGIo2lANk+C7ko/fqH0uIyC71x3PEGz0uVP8ISgfEsFuG+FKmjHTvFK/nNM8dowpmUxLA==
|
||||||
|
|
||||||
|
babel-plugin-react-intl@^5.1.8:
|
||||||
|
version "5.1.18"
|
||||||
|
resolved "https://registry.yarnpkg.com/babel-plugin-react-intl/-/babel-plugin-react-intl-5.1.18.tgz#7713c1fdf0055b606d67e2d1624a2e583a1fcdb7"
|
||||||
|
integrity sha512-tzzZoGDNQOiHmGFh+NPQJDpC10RbKlfw1CBVfALulqRa6UGkAv5eMs9sirxjhD3HryHPbYZ4x5FNdbzOyG2GJw==
|
||||||
|
dependencies:
|
||||||
|
"@babel/core" "^7.7.2"
|
||||||
|
"@babel/helper-plugin-utils" "^7.0.0"
|
||||||
|
"@types/babel__core" "^7.1.3"
|
||||||
|
"@types/schema-utils" "^1.0.0"
|
||||||
|
fs-extra "^8.1.0"
|
||||||
|
intl-messageformat-parser "^3.6.4"
|
||||||
|
schema-utils "^2.2.0"
|
||||||
|
|
||||||
babel-plugin-syntax-jsx@^6.18.0:
|
babel-plugin-syntax-jsx@^6.18.0:
|
||||||
version "6.18.0"
|
version "6.18.0"
|
||||||
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946"
|
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946"
|
||||||
@@ -3788,6 +3857,15 @@ camelcase-keys@^2.0.0:
|
|||||||
camelcase "^2.0.0"
|
camelcase "^2.0.0"
|
||||||
map-obj "^1.0.0"
|
map-obj "^1.0.0"
|
||||||
|
|
||||||
|
camelcase-keys@^4.0.0:
|
||||||
|
version "4.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77"
|
||||||
|
integrity sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=
|
||||||
|
dependencies:
|
||||||
|
camelcase "^4.1.0"
|
||||||
|
map-obj "^2.0.0"
|
||||||
|
quick-lru "^1.0.0"
|
||||||
|
|
||||||
camelcase-keys@^6.1.1:
|
camelcase-keys@^6.1.1:
|
||||||
version "6.1.2"
|
version "6.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.1.2.tgz#531a289aeea93249b63ec1249db9265f305041f7"
|
resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.1.2.tgz#531a289aeea93249b63ec1249db9265f305041f7"
|
||||||
@@ -3817,6 +3895,11 @@ camelcase@^3.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
|
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
|
||||||
integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo=
|
integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo=
|
||||||
|
|
||||||
|
camelcase@^4.1.0:
|
||||||
|
version "4.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
|
||||||
|
integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=
|
||||||
|
|
||||||
caniuse-api@^3.0.0:
|
caniuse-api@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0"
|
resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0"
|
||||||
@@ -4359,6 +4442,11 @@ cosmiconfig@6.0.0, cosmiconfig@^6.0.0:
|
|||||||
path-type "^4.0.0"
|
path-type "^4.0.0"
|
||||||
yaml "^1.7.2"
|
yaml "^1.7.2"
|
||||||
|
|
||||||
|
countries-list@^2.5.1:
|
||||||
|
version "2.5.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/countries-list/-/countries-list-2.5.1.tgz#784b7fb1a9fd116f1f8d00c307726d75a6a8d7ad"
|
||||||
|
integrity sha512-ht9obORj0Im7BqGfqlqTd7qLNMuuhdCvFMKmWx15ZQjpGVddd+018LOegE4J1wLtiZ5TYC/KhivkOYmelqSNLg==
|
||||||
|
|
||||||
create-ecdh@^4.0.0:
|
create-ecdh@^4.0.0:
|
||||||
version "4.0.3"
|
version "4.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff"
|
resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff"
|
||||||
@@ -4753,7 +4841,7 @@ debug@^4.0.1, debug@^4.1.0, debug@^4.1.1:
|
|||||||
dependencies:
|
dependencies:
|
||||||
ms "^2.1.1"
|
ms "^2.1.1"
|
||||||
|
|
||||||
decamelize-keys@^1.1.0:
|
decamelize-keys@^1.0.0, decamelize-keys@^1.1.0:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9"
|
resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9"
|
||||||
integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=
|
integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=
|
||||||
@@ -4886,7 +4974,7 @@ destroy@~1.0.4:
|
|||||||
resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
|
resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
|
||||||
integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
|
integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
|
||||||
|
|
||||||
detect-indent@6.0.0:
|
detect-indent@6.0.0, detect-indent@^6.0.0:
|
||||||
version "6.0.0"
|
version "6.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.0.0.tgz#0abd0f549f69fc6659a254fe96786186b6f528fd"
|
resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.0.0.tgz#0abd0f549f69fc6659a254fe96786186b6f528fd"
|
||||||
integrity sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==
|
integrity sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==
|
||||||
@@ -5746,6 +5834,27 @@ extglob@^2.0.4:
|
|||||||
snapdragon "^0.8.1"
|
snapdragon "^0.8.1"
|
||||||
to-regex "^3.0.1"
|
to-regex "^3.0.1"
|
||||||
|
|
||||||
|
extract-react-intl-messages@^2.3.5:
|
||||||
|
version "2.3.5"
|
||||||
|
resolved "https://registry.yarnpkg.com/extract-react-intl-messages/-/extract-react-intl-messages-2.3.5.tgz#325228a5cd03f1aecfb7b2e887be9a19c8e29ee9"
|
||||||
|
integrity sha512-vzPnBZ8S8dmc07WCgYUeXTVBhpqv5VZT7sCVgBsufikvyYd6T/iiyRsKrP/SJNOMet+n08tmk1KoH7Y1f9udzw==
|
||||||
|
dependencies:
|
||||||
|
"@babel/core" "^7.5.5"
|
||||||
|
babel-plugin-react-intl "^5.1.8"
|
||||||
|
flat "^4.1.0"
|
||||||
|
glob "^7.1.4"
|
||||||
|
js-yaml "^3.13.1"
|
||||||
|
load-json-file "^6.2.0"
|
||||||
|
lodash.merge "^4.6.2"
|
||||||
|
lodash.mergewith "^4.6.2"
|
||||||
|
lodash.pick "^4.4.0"
|
||||||
|
meow "^5.0.0"
|
||||||
|
mkdirp "^0.5.1"
|
||||||
|
pify "^4.0.1"
|
||||||
|
read-babelrc-up "^0.4.0"
|
||||||
|
sort-keys "^4.0.0"
|
||||||
|
write-json-file "^4.1.1"
|
||||||
|
|
||||||
extsprintf@1.3.0:
|
extsprintf@1.3.0:
|
||||||
version "1.3.0"
|
version "1.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
|
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
|
||||||
@@ -6004,6 +6113,13 @@ flat-cache@^2.0.1:
|
|||||||
rimraf "2.6.3"
|
rimraf "2.6.3"
|
||||||
write "1.0.3"
|
write "1.0.3"
|
||||||
|
|
||||||
|
flat@^4.1.0:
|
||||||
|
version "4.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2"
|
||||||
|
integrity sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==
|
||||||
|
dependencies:
|
||||||
|
is-buffer "~2.0.3"
|
||||||
|
|
||||||
flatted@^2.0.0:
|
flatted@^2.0.0:
|
||||||
version "2.0.1"
|
version "2.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08"
|
resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08"
|
||||||
@@ -6657,6 +6773,13 @@ hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
react-is "^16.7.0"
|
react-is "^16.7.0"
|
||||||
|
|
||||||
|
hoist-non-react-statics@^3.3.1:
|
||||||
|
version "3.3.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
|
||||||
|
integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
|
||||||
|
dependencies:
|
||||||
|
react-is "^16.7.0"
|
||||||
|
|
||||||
hosted-git-info@^2.1.4:
|
hosted-git-info@^2.1.4:
|
||||||
version "2.8.5"
|
version "2.8.5"
|
||||||
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.5.tgz#759cfcf2c4d156ade59b0b2dfabddc42a6b9c70c"
|
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.5.tgz#759cfcf2c4d156ade59b0b2dfabddc42a6b9c70c"
|
||||||
@@ -7077,6 +7200,31 @@ internal-ip@^4.3.0:
|
|||||||
default-gateway "^4.2.0"
|
default-gateway "^4.2.0"
|
||||||
ipaddr.js "^1.9.0"
|
ipaddr.js "^1.9.0"
|
||||||
|
|
||||||
|
intl-format-cache@^4.2.19, intl-format-cache@^4.2.21:
|
||||||
|
version "4.2.21"
|
||||||
|
resolved "https://registry.yarnpkg.com/intl-format-cache/-/intl-format-cache-4.2.21.tgz#d8e0bdfc357448f48dc1ab44670dc64a19b24f51"
|
||||||
|
integrity sha512-6pZlBdqTRUuuwRWywPItHY1JQwzQxWcpBHv6w4M8T6bGzAsiL/QmI+XsdOhsqJLaL4ZmTATn1kIkNlMk4VzSLQ==
|
||||||
|
|
||||||
|
intl-locales-supported@^1.8.4:
|
||||||
|
version "1.8.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/intl-locales-supported/-/intl-locales-supported-1.8.4.tgz#e1d19812afa50dc2e2a2b4741ceb4030522d45b1"
|
||||||
|
integrity sha512-wO0JhDqhshhkq8Pa9CLcstqd1aCXjfMgfMzjD6mDreS3mTSDbjGiMU+07O8BdJGxed7Q0Wf3TFVjGq0W3Y0n1w==
|
||||||
|
|
||||||
|
intl-messageformat-parser@^3.6.2, intl-messageformat-parser@^3.6.4:
|
||||||
|
version "3.6.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/intl-messageformat-parser/-/intl-messageformat-parser-3.6.4.tgz#5199d106d816c3dda26ee0694362a9cf823978fb"
|
||||||
|
integrity sha512-RgPGwue0mJtoX2Ax8EmMzJzttxjnva7gx0Q7mKJ4oALrTZvtmCeAw5Msz2PcjW4dtCh/h7vN/8GJCxZO1uv+OA==
|
||||||
|
dependencies:
|
||||||
|
"@formatjs/intl-unified-numberformat" "^3.2.0"
|
||||||
|
|
||||||
|
intl-messageformat@^7.8.2:
|
||||||
|
version "7.8.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-7.8.4.tgz#c29146a06b9cd26662978a4d95fff2b133e3642f"
|
||||||
|
integrity sha512-yS0cLESCKCYjseCOGXuV4pxJm/buTfyCJ1nzQjryHmSehlptbZbn9fnlk1I9peLopZGGbjj46yHHiTAEZ1qOTA==
|
||||||
|
dependencies:
|
||||||
|
intl-format-cache "^4.2.21"
|
||||||
|
intl-messageformat-parser "^3.6.4"
|
||||||
|
|
||||||
invariant@^2.2.2, invariant@^2.2.4:
|
invariant@^2.2.2, invariant@^2.2.4:
|
||||||
version "2.2.4"
|
version "2.2.4"
|
||||||
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
|
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
|
||||||
@@ -7190,7 +7338,7 @@ is-buffer@^1.0.2, is-buffer@^1.1.5:
|
|||||||
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
|
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
|
||||||
integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
|
integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
|
||||||
|
|
||||||
is-buffer@^2.0.0, is-buffer@^2.0.2:
|
is-buffer@^2.0.0, is-buffer@^2.0.2, is-buffer@~2.0.3:
|
||||||
version "2.0.4"
|
version "2.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623"
|
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623"
|
||||||
integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==
|
integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==
|
||||||
@@ -7403,6 +7551,11 @@ is-plain-obj@^1.0.0, is-plain-obj@^1.1.0:
|
|||||||
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
|
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
|
||||||
integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4=
|
integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4=
|
||||||
|
|
||||||
|
is-plain-obj@^2.0.0:
|
||||||
|
version "2.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287"
|
||||||
|
integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==
|
||||||
|
|
||||||
is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4:
|
is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4:
|
||||||
version "2.0.4"
|
version "2.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
|
resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
|
||||||
@@ -8409,6 +8562,16 @@ load-json-file@^4.0.0:
|
|||||||
pify "^3.0.0"
|
pify "^3.0.0"
|
||||||
strip-bom "^3.0.0"
|
strip-bom "^3.0.0"
|
||||||
|
|
||||||
|
load-json-file@^6.2.0:
|
||||||
|
version "6.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-6.2.0.tgz#5c7770b42cafa97074ca2848707c61662f4251a1"
|
||||||
|
integrity sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==
|
||||||
|
dependencies:
|
||||||
|
graceful-fs "^4.1.15"
|
||||||
|
parse-json "^5.0.0"
|
||||||
|
strip-bom "^4.0.0"
|
||||||
|
type-fest "^0.6.0"
|
||||||
|
|
||||||
loader-fs-cache@^1.0.2:
|
loader-fs-cache@^1.0.2:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.2.tgz#54cedf6b727e1779fd8f01205f05f6e88706f086"
|
resolved "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.2.tgz#54cedf6b727e1779fd8f01205f05f6e88706f086"
|
||||||
@@ -8516,16 +8679,26 @@ lodash.memoize@^4.1.2:
|
|||||||
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
|
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
|
||||||
integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=
|
integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=
|
||||||
|
|
||||||
lodash.merge@^4.6.1:
|
lodash.merge@^4.6.1, lodash.merge@^4.6.2:
|
||||||
version "4.6.2"
|
version "4.6.2"
|
||||||
resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
|
resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
|
||||||
integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
|
integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
|
||||||
|
|
||||||
|
lodash.mergewith@^4.6.2:
|
||||||
|
version "4.6.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz#617121f89ac55f59047c7aec1ccd6654c6590f55"
|
||||||
|
integrity sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==
|
||||||
|
|
||||||
lodash.once@^4.0.0:
|
lodash.once@^4.0.0:
|
||||||
version "4.1.1"
|
version "4.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac"
|
resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac"
|
||||||
integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=
|
integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=
|
||||||
|
|
||||||
|
lodash.pick@^4.4.0:
|
||||||
|
version "4.4.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3"
|
||||||
|
integrity sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=
|
||||||
|
|
||||||
lodash.sortby@^4.7.0:
|
lodash.sortby@^4.7.0:
|
||||||
version "4.7.0"
|
version "4.7.0"
|
||||||
resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
|
resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
|
||||||
@@ -8708,6 +8881,11 @@ map-obj@^1.0.0, map-obj@^1.0.1:
|
|||||||
resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
|
resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
|
||||||
integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=
|
integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=
|
||||||
|
|
||||||
|
map-obj@^2.0.0:
|
||||||
|
version "2.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9"
|
||||||
|
integrity sha1-plzSkIepJZi4eRJXpSPgISIqwfk=
|
||||||
|
|
||||||
map-obj@^4.0.0:
|
map-obj@^4.0.0:
|
||||||
version "4.1.0"
|
version "4.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.1.0.tgz#b91221b542734b9f14256c0132c897c5d7256fd5"
|
resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.1.0.tgz#b91221b542734b9f14256c0132c897c5d7256fd5"
|
||||||
@@ -8807,6 +8985,21 @@ meow@^3.7.0:
|
|||||||
redent "^1.0.0"
|
redent "^1.0.0"
|
||||||
trim-newlines "^1.0.0"
|
trim-newlines "^1.0.0"
|
||||||
|
|
||||||
|
meow@^5.0.0:
|
||||||
|
version "5.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/meow/-/meow-5.0.0.tgz#dfc73d63a9afc714a5e371760eb5c88b91078aa4"
|
||||||
|
integrity sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==
|
||||||
|
dependencies:
|
||||||
|
camelcase-keys "^4.0.0"
|
||||||
|
decamelize-keys "^1.0.0"
|
||||||
|
loud-rejection "^1.0.0"
|
||||||
|
minimist-options "^3.0.1"
|
||||||
|
normalize-package-data "^2.3.4"
|
||||||
|
read-pkg-up "^3.0.0"
|
||||||
|
redent "^2.0.0"
|
||||||
|
trim-newlines "^2.0.0"
|
||||||
|
yargs-parser "^10.0.0"
|
||||||
|
|
||||||
meow@^6.0.0:
|
meow@^6.0.0:
|
||||||
version "6.0.0"
|
version "6.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/meow/-/meow-6.0.0.tgz#949196fdf21d979379e3bdccb0411e60f8cffd93"
|
resolved "https://registry.yarnpkg.com/meow/-/meow-6.0.0.tgz#949196fdf21d979379e3bdccb0411e60f8cffd93"
|
||||||
@@ -8985,6 +9178,14 @@ minimatch@3.0.4, minimatch@^3.0.4, minimatch@~3.0.2:
|
|||||||
dependencies:
|
dependencies:
|
||||||
brace-expansion "^1.1.7"
|
brace-expansion "^1.1.7"
|
||||||
|
|
||||||
|
minimist-options@^3.0.1:
|
||||||
|
version "3.0.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-3.0.2.tgz#fba4c8191339e13ecf4d61beb03f070103f3d954"
|
||||||
|
integrity sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==
|
||||||
|
dependencies:
|
||||||
|
arrify "^1.0.1"
|
||||||
|
is-plain-obj "^1.1.0"
|
||||||
|
|
||||||
minimist-options@^4.0.1:
|
minimist-options@^4.0.1:
|
||||||
version "4.0.2"
|
version "4.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.0.2.tgz#29c4021373ded40d546186725e57761e4b1984a7"
|
resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.0.2.tgz#29c4021373ded40d546186725e57761e4b1984a7"
|
||||||
@@ -11074,6 +11275,11 @@ querystringify@^2.1.1:
|
|||||||
resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e"
|
resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e"
|
||||||
integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==
|
integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==
|
||||||
|
|
||||||
|
quick-lru@^1.0.0:
|
||||||
|
version "1.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8"
|
||||||
|
integrity sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=
|
||||||
|
|
||||||
quick-lru@^4.0.1:
|
quick-lru@^4.0.1:
|
||||||
version "4.0.1"
|
version "4.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f"
|
resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f"
|
||||||
@@ -11234,6 +11440,26 @@ react-input-autosize@^2.2.2:
|
|||||||
dependencies:
|
dependencies:
|
||||||
prop-types "^15.5.8"
|
prop-types "^15.5.8"
|
||||||
|
|
||||||
|
react-intl@^3.12.0:
|
||||||
|
version "3.12.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/react-intl/-/react-intl-3.12.0.tgz#98ef1c94434cc25a8c67448e1e283e6bfe11b2fc"
|
||||||
|
integrity sha512-VQWkFYSKKoi85p3gOXgG80KkBImdBJXwJxssO9gqdelW/fuVnxQLXgYOKuOqWrUz5beXK+qBve6bTpblh1ep2g==
|
||||||
|
dependencies:
|
||||||
|
"@formatjs/intl-displaynames" "^1.2.0"
|
||||||
|
"@formatjs/intl-listformat" "^1.3.7"
|
||||||
|
"@formatjs/intl-relativetimeformat" "^4.5.7"
|
||||||
|
"@formatjs/intl-unified-numberformat" "^3.0.4"
|
||||||
|
"@formatjs/intl-utils" "^2.0.4"
|
||||||
|
"@formatjs/macro" "^0.2.6"
|
||||||
|
"@types/hoist-non-react-statics" "^3.3.1"
|
||||||
|
"@types/invariant" "^2.2.31"
|
||||||
|
hoist-non-react-statics "^3.3.1"
|
||||||
|
intl-format-cache "^4.2.19"
|
||||||
|
intl-locales-supported "^1.8.4"
|
||||||
|
intl-messageformat "^7.8.2"
|
||||||
|
intl-messageformat-parser "^3.6.2"
|
||||||
|
shallow-equal "^1.2.1"
|
||||||
|
|
||||||
react-is@^16.3.2, react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4:
|
react-is@^16.3.2, react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4:
|
||||||
version "16.12.0"
|
version "16.12.0"
|
||||||
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.12.0.tgz#2cc0fe0fba742d97fd527c42a13bec4eeb06241c"
|
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.12.0.tgz#2cc0fe0fba742d97fd527c42a13bec4eeb06241c"
|
||||||
@@ -11424,6 +11650,14 @@ react@~16.12.0:
|
|||||||
object-assign "^4.1.1"
|
object-assign "^4.1.1"
|
||||||
prop-types "^15.6.2"
|
prop-types "^15.6.2"
|
||||||
|
|
||||||
|
read-babelrc-up@^0.4.0:
|
||||||
|
version "0.4.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/read-babelrc-up/-/read-babelrc-up-0.4.0.tgz#9810afd08abefb9f03eaf3f6396e77a75489e099"
|
||||||
|
integrity sha512-gWVXJPjXExtjVFgmyZ/Fv1B00ULe1SZLlyIcCnWOWcJIHCH88d4rrfJzBzKTIkwrqoBmvgCsTl1KDRNS1nOh6A==
|
||||||
|
dependencies:
|
||||||
|
find-up "^4.0.0"
|
||||||
|
json5 "^2.1.0"
|
||||||
|
|
||||||
read-pkg-up@^1.0.1:
|
read-pkg-up@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
|
resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
|
||||||
@@ -11440,6 +11674,14 @@ read-pkg-up@^2.0.0:
|
|||||||
find-up "^2.0.0"
|
find-up "^2.0.0"
|
||||||
read-pkg "^2.0.0"
|
read-pkg "^2.0.0"
|
||||||
|
|
||||||
|
read-pkg-up@^3.0.0:
|
||||||
|
version "3.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07"
|
||||||
|
integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=
|
||||||
|
dependencies:
|
||||||
|
find-up "^2.0.0"
|
||||||
|
read-pkg "^3.0.0"
|
||||||
|
|
||||||
read-pkg-up@^4.0.0:
|
read-pkg-up@^4.0.0:
|
||||||
version "4.0.0"
|
version "4.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978"
|
resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978"
|
||||||
@@ -11567,6 +11809,14 @@ redent@^1.0.0:
|
|||||||
indent-string "^2.1.0"
|
indent-string "^2.1.0"
|
||||||
strip-indent "^1.0.1"
|
strip-indent "^1.0.1"
|
||||||
|
|
||||||
|
redent@^2.0.0:
|
||||||
|
version "2.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa"
|
||||||
|
integrity sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=
|
||||||
|
dependencies:
|
||||||
|
indent-string "^3.0.0"
|
||||||
|
strip-indent "^2.0.0"
|
||||||
|
|
||||||
redent@^3.0.0:
|
redent@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f"
|
resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f"
|
||||||
@@ -12144,7 +12394,7 @@ schema-utils@^1.0.0:
|
|||||||
ajv-errors "^1.0.0"
|
ajv-errors "^1.0.0"
|
||||||
ajv-keywords "^3.1.0"
|
ajv-keywords "^3.1.0"
|
||||||
|
|
||||||
schema-utils@^2.5.0, schema-utils@^2.6.0, schema-utils@^2.6.1, schema-utils@^2.6.4:
|
schema-utils@^2.2.0, schema-utils@^2.5.0, schema-utils@^2.6.0, schema-utils@^2.6.1, schema-utils@^2.6.4:
|
||||||
version "2.6.4"
|
version "2.6.4"
|
||||||
resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.6.4.tgz#a27efbf6e4e78689d91872ee3ccfa57d7bdd0f53"
|
resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.6.4.tgz#a27efbf6e4e78689d91872ee3ccfa57d7bdd0f53"
|
||||||
integrity sha512-VNjcaUxVnEeun6B2fiiUDjXXBtD4ZSH7pdbfIu1pOFwgptDPLMo/z9jr4sUfsjFVPqDCEin/F7IYlq7/E6yDbQ==
|
integrity sha512-VNjcaUxVnEeun6B2fiiUDjXXBtD4ZSH7pdbfIu1pOFwgptDPLMo/z9jr4sUfsjFVPqDCEin/F7IYlq7/E6yDbQ==
|
||||||
@@ -12299,6 +12549,11 @@ shallow-clone@^3.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
kind-of "^6.0.2"
|
kind-of "^6.0.2"
|
||||||
|
|
||||||
|
shallow-equal@^1.2.1:
|
||||||
|
version "1.2.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/shallow-equal/-/shallow-equal-1.2.1.tgz#4c16abfa56043aa20d050324efa68940b0da79da"
|
||||||
|
integrity sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==
|
||||||
|
|
||||||
shebang-command@^1.2.0:
|
shebang-command@^1.2.0:
|
||||||
version "1.2.0"
|
version "1.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
|
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
|
||||||
@@ -12448,6 +12703,20 @@ sort-keys@^1.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
is-plain-obj "^1.0.0"
|
is-plain-obj "^1.0.0"
|
||||||
|
|
||||||
|
sort-keys@^3.0.0:
|
||||||
|
version "3.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-3.0.0.tgz#fa751737e3da363ef80632d4fd78e324d661fe9a"
|
||||||
|
integrity sha512-77XUKMiZN5LvQXZ9sgWfJza19AvYIDwaDGwGiULM+B5XYru8Z90Oh06JvqDlJczvjjYvssrV0aK1GI6+YXvn5A==
|
||||||
|
dependencies:
|
||||||
|
is-plain-obj "^2.0.0"
|
||||||
|
|
||||||
|
sort-keys@^4.0.0:
|
||||||
|
version "4.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-4.0.0.tgz#56dc5e256637bfe3fec8db0dc57c08b1a2be22d6"
|
||||||
|
integrity sha512-hlJLzrn/VN49uyNkZ8+9b+0q9DjmmYcYOnbMQtpkLrYpPwRApDPZfmqbUfJnAA3sb/nRib+nDot7Zi/1ER1fuA==
|
||||||
|
dependencies:
|
||||||
|
is-plain-obj "^2.0.0"
|
||||||
|
|
||||||
source-list-map@^2.0.0:
|
source-list-map@^2.0.0:
|
||||||
version "2.0.1"
|
version "2.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
|
resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
|
||||||
@@ -12817,6 +13086,11 @@ strip-bom@^3.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
|
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
|
||||||
integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=
|
integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=
|
||||||
|
|
||||||
|
strip-bom@^4.0.0:
|
||||||
|
version "4.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878"
|
||||||
|
integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==
|
||||||
|
|
||||||
strip-comments@^1.0.2:
|
strip-comments@^1.0.2:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/strip-comments/-/strip-comments-1.0.2.tgz#82b9c45e7f05873bee53f37168af930aa368679d"
|
resolved "https://registry.yarnpkg.com/strip-comments/-/strip-comments-1.0.2.tgz#82b9c45e7f05873bee53f37168af930aa368679d"
|
||||||
@@ -12837,6 +13111,11 @@ strip-indent@^1.0.1:
|
|||||||
dependencies:
|
dependencies:
|
||||||
get-stdin "^4.0.1"
|
get-stdin "^4.0.1"
|
||||||
|
|
||||||
|
strip-indent@^2.0.0:
|
||||||
|
version "2.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68"
|
||||||
|
integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=
|
||||||
|
|
||||||
strip-indent@^3.0.0:
|
strip-indent@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001"
|
resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001"
|
||||||
@@ -13227,6 +13506,11 @@ trim-newlines@^1.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
|
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
|
||||||
integrity sha1-WIeWa7WCpFA6QetST301ARgVphM=
|
integrity sha1-WIeWa7WCpFA6QetST301ARgVphM=
|
||||||
|
|
||||||
|
trim-newlines@^2.0.0:
|
||||||
|
version "2.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-2.0.0.tgz#b403d0b91be50c331dfc4b82eeceb22c3de16d20"
|
||||||
|
integrity sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=
|
||||||
|
|
||||||
trim-newlines@^3.0.0:
|
trim-newlines@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.0.tgz#79726304a6a898aa8373427298d54c2ee8b1cb30"
|
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.0.tgz#79726304a6a898aa8373427298d54c2ee8b1cb30"
|
||||||
@@ -14241,7 +14525,7 @@ write-file-atomic@2.4.1:
|
|||||||
imurmurhash "^0.1.4"
|
imurmurhash "^0.1.4"
|
||||||
signal-exit "^3.0.2"
|
signal-exit "^3.0.2"
|
||||||
|
|
||||||
write-file-atomic@^3.0.1:
|
write-file-atomic@^3.0.0, write-file-atomic@^3.0.1:
|
||||||
version "3.0.1"
|
version "3.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.1.tgz#558328352e673b5bb192cf86500d60b230667d4b"
|
resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.1.tgz#558328352e673b5bb192cf86500d60b230667d4b"
|
||||||
integrity sha512-JPStrIyyVJ6oCSz/691fAjFtefZ6q+fP6tm+OS4Qw6o+TGQxNp1ziY2PgS+X/m0V8OWhZiO/m4xSj+Pr4RrZvw==
|
integrity sha512-JPStrIyyVJ6oCSz/691fAjFtefZ6q+fP6tm+OS4Qw6o+TGQxNp1ziY2PgS+X/m0V8OWhZiO/m4xSj+Pr4RrZvw==
|
||||||
@@ -14251,6 +14535,18 @@ write-file-atomic@^3.0.1:
|
|||||||
signal-exit "^3.0.2"
|
signal-exit "^3.0.2"
|
||||||
typedarray-to-buffer "^3.1.5"
|
typedarray-to-buffer "^3.1.5"
|
||||||
|
|
||||||
|
write-json-file@^4.1.1:
|
||||||
|
version "4.2.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-4.2.1.tgz#ddd5ef9d9bae6f8129629410caaa9c79556b8541"
|
||||||
|
integrity sha512-nkmp9weFMmE0Zev48m6sr9zU2iHO2BemwqfIasXny4DzIKIoKt9WEbgdMW0pwk9DmzC8jzSwixkjgK2vu1zw4g==
|
||||||
|
dependencies:
|
||||||
|
detect-indent "^6.0.0"
|
||||||
|
graceful-fs "^4.1.15"
|
||||||
|
is-plain-obj "^2.0.0"
|
||||||
|
make-dir "^3.0.0"
|
||||||
|
sort-keys "^3.0.0"
|
||||||
|
write-file-atomic "^3.0.0"
|
||||||
|
|
||||||
write@1.0.3:
|
write@1.0.3:
|
||||||
version "1.0.3"
|
version "1.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3"
|
resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3"
|
||||||
@@ -14339,6 +14635,13 @@ yaml@^1.7.2:
|
|||||||
dependencies:
|
dependencies:
|
||||||
"@babel/runtime" "^7.6.3"
|
"@babel/runtime" "^7.6.3"
|
||||||
|
|
||||||
|
yargs-parser@^10.0.0:
|
||||||
|
version "10.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8"
|
||||||
|
integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==
|
||||||
|
dependencies:
|
||||||
|
camelcase "^4.1.0"
|
||||||
|
|
||||||
yargs-parser@^11.1.1:
|
yargs-parser@^11.1.1:
|
||||||
version "11.1.1"
|
version "11.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4"
|
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4"
|
||||||
|
|||||||
Reference in New Issue
Block a user