├── index.js
├── examples
└── nextjs
│ ├── README.md
│ ├── .gitignore
│ ├── .babelrc.js
│ ├── world.js
│ ├── pages
│ ├── _document.js
│ ├── _app.js
│ └── index.js
│ ├── package.json
│ ├── .eslintrc.js
│ └── ui.js
├── src
├── index.js
├── react
│ └── styled-components
│ │ └── index.js
└── ThemeMiner.js
├── .npmignore
├── .babelrc
├── .eslintrc.js
├── LICENSE
├── .gitignore
├── rollup.config.js
├── package.json
├── CODE_OF_CONDUCT.md
├── README.md
└── yarn.lock
/index.js:
--------------------------------------------------------------------------------
1 | module.exports = require("./lib/index.js");
2 |
--------------------------------------------------------------------------------
/examples/nextjs/README.md:
--------------------------------------------------------------------------------
1 | # ThemeMiner Next.js Example ⛏
2 |
--------------------------------------------------------------------------------
/src/index.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | ThemeMiner: require("./ThemeMiner")
3 | };
4 |
--------------------------------------------------------------------------------
/examples/nextjs/.gitignore:
--------------------------------------------------------------------------------
1 | bundles
2 | node_modules
3 | .next
4 | yarn.lock
5 | theme-miner
6 |
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | /.github/
2 | /node_modules/
3 |
4 | /src/
5 | /examples/
6 |
7 | .babelrc
8 | .eslintrc.js
--------------------------------------------------------------------------------
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": ["@babel/preset-env", "@babel/preset-react"],
3 | "plugins": [
4 | "@babel/plugin-proposal-object-rest-spread",
5 | "@babel/plugin-proposal-class-properties"
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/examples/nextjs/.babelrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: ["next/babel"],
3 | plugins: [
4 | [
5 | "styled-components",
6 | {
7 | ssr: true,
8 | displayName: true,
9 | preprocess: false
10 | }
11 | ]
12 | ]
13 | };
14 |
--------------------------------------------------------------------------------
/examples/nextjs/world.js:
--------------------------------------------------------------------------------
1 | import { World } from "world-i18n";
2 |
3 | export const world = new World({
4 | locale: "en",
5 | defaultLocale: "en",
6 | translations: {
7 | en: {
8 | hello: "Hello World",
9 | "hello-description": "Welcome to the ThemeMiner demo for Next.js",
10 | },
11 | },
12 | });
13 |
--------------------------------------------------------------------------------
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | env: {
3 | browser: true,
4 | node: true
5 | },
6 | parser: "babel-eslint",
7 | plugins: ["prettier", "import"],
8 | rules: {
9 | "import/named": "off",
10 | "import/export": "error",
11 | "import/no-named-as-default": "error",
12 | "import/no-named-as-default-member": "error",
13 | "prettier/prettier": "error",
14 | "no-alert": "warn",
15 | "no-duplicate-imports": "error",
16 | "no-useless-constructor": "error",
17 | "no-useless-escape": "error",
18 | "no-undef": "error",
19 | "no-undef-init": "error"
20 | }
21 | };
22 |
--------------------------------------------------------------------------------
/examples/nextjs/pages/_document.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import Document, { Head, Main, NextScript } from "next/document";
3 | import { ServerStyleSheet } from "styled-components";
4 |
5 | export default class MyDocument extends Document {
6 | static async getInitialProps(ctx) {
7 | // STYLED COMPONENTS
8 | const sheet = new ServerStyleSheet();
9 | const page = ctx.renderPage((App) => (props) =>
10 | sheet.collectStyles(),
11 | );
12 | const styleTags = sheet.getStyleElement();
13 |
14 | return {
15 | ...page,
16 | styleTags,
17 | };
18 | }
19 |
20 | render() {
21 | const { styleTags } = this.props;
22 |
23 | return (
24 |
25 |
{styleTags}
26 |
27 |
28 |
29 |
30 |
31 | );
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/examples/nextjs/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "theme-miner-basic-example",
3 | "version": "1.0.0",
4 | "description": "ThemeMiner example for Next.js, React and styled-components.",
5 | "author": "Doub.co ",
6 | "main": "lib/index.js",
7 | "license": "MIT",
8 | "scripts": {
9 | "dev": " DEBUG=tm-example* next -p 3000"
10 | },
11 | "dependencies": {
12 | "next": "^9.4.0",
13 | "react": "^16.13.1",
14 | "react-dom": "^16.13.1",
15 | "styled-components": "^5.1.0",
16 | "theme-miner": "^2.0.4",
17 | "tinycolor2": "^1.4.1",
18 | "world-i18n": "^1.1.4"
19 | },
20 | "prettier": {
21 | "arrowParens": "always",
22 | "trailingComma": "all"
23 | },
24 | "keywords": [
25 | "theme",
26 | "styled",
27 | "components",
28 | "react",
29 | "helper"
30 | ],
31 | "devDependencies": {
32 | "eslint": "^7.0.0",
33 | "eslint-plugin-import": "^2.20.2",
34 | "eslint-plugin-prettier": "^3.1.3",
35 | "eslint-plugin-react": "^7.20.0",
36 | "prettier": "^2.0.5"
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 Doub.co
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/examples/nextjs/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | env: {
3 | node: true,
4 | browser: true
5 | },
6 | parser: "babel-eslint",
7 | plugins: ["prettier", "react", "react-hooks", "import"],
8 | rules: {
9 | "import/no-unresolved": "error",
10 | "import/named": "error",
11 | "import/export": "error",
12 | "import/no-named-as-default": "error",
13 | "import/no-named-as-default-member": "error",
14 | "prettier/prettier": "error",
15 | "no-alert": "error",
16 | "no-duplicate-imports": "error",
17 | "no-useless-constructor": "error",
18 | "no-useless-escape": "error",
19 | "no-undef": "error",
20 | "no-undef-init": "error",
21 | "react/jsx-no-undef": "error",
22 | "react/jsx-uses-react": "error",
23 | "react/jsx-uses-vars": "error",
24 | "react/no-did-mount-set-state": "error",
25 | "react/no-did-update-set-state": "error",
26 | "react/no-unknown-property": "error",
27 | "react/react-in-jsx-scope": "error",
28 | "react/self-closing-comp": "error",
29 | "react/jsx-wrap-multilines": "error",
30 | "react-hooks/rules-of-hooks": "error",
31 | "react-hooks/exhaustive-deps": "warn"
32 | }
33 | };
34 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 |
8 | # Runtime data
9 | pids
10 | *.pid
11 | *.seed
12 | *.pid.lock
13 |
14 | # Directory for instrumented libs generated by jscoverage/JSCover
15 | lib-cov
16 |
17 | # Coverage directory used by tools like istanbul
18 | coverage
19 |
20 | # nyc test coverage
21 | .nyc_output
22 |
23 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
24 | .grunt
25 |
26 | # Bower dependency directory (https://bower.io/)
27 | bower_components
28 |
29 | # node-waf configuration
30 | .lock-wscript
31 |
32 | # Compiled binary addons (https://nodejs.org/api/addons.html)
33 | build/Release
34 |
35 | # Dependency directories
36 | node_modules/
37 | jspm_packages/
38 |
39 | # TypeScript v1 declaration files
40 | typings/
41 |
42 | # Optional npm cache directory
43 | .npm
44 |
45 | # Optional eslint cache
46 | .eslintcache
47 |
48 | # Optional REPL history
49 | .node_repl_history
50 |
51 | # Output of 'npm pack'
52 | *.tgz
53 |
54 | # Yarn Integrity file
55 | .yarn-integrity
56 |
57 | # dotenv environment variables file
58 | .env
59 |
60 | # next.js build output
61 | .next
62 |
63 | /lib/
64 |
--------------------------------------------------------------------------------
/rollup.config.js:
--------------------------------------------------------------------------------
1 | import babel from "rollup-plugin-babel";
2 | import commonjs from "rollup-plugin-commonjs";
3 | import external from "rollup-plugin-peer-deps-external";
4 | import resolve from "rollup-plugin-node-resolve";
5 | import url from "rollup-plugin-url";
6 |
7 | import pkg from "./package.json";
8 |
9 | export default [
10 | {
11 | input: "./src/index.js",
12 | output: [
13 | {
14 | file: pkg.main,
15 | format: "cjs",
16 | sourcemap: true,
17 | exports: "named",
18 | },
19 | {
20 | file: pkg.module,
21 | format: "es",
22 | sourcemap: true,
23 | exports: "named",
24 | },
25 | ],
26 | plugins: [
27 | external(),
28 | url(),
29 | babel({
30 | exclude: "node_modules/**",
31 | }),
32 | resolve(),
33 | commonjs(),
34 | ],
35 | },
36 | {
37 | external: ["react", "styled-components"],
38 | input: "./src/react/styled-components/index.js",
39 | output: [
40 | {
41 | file: pkg.react["styled-components"].main,
42 | format: "cjs",
43 | sourcemap: true,
44 | exports: "named",
45 | },
46 | {
47 | file: pkg.react["styled-components"].module,
48 | format: "es",
49 | sourcemap: true,
50 | exports: "named",
51 | },
52 | ],
53 | plugins: [
54 | external(),
55 | url(),
56 | babel({
57 | exclude: "node_modules/**",
58 | }),
59 | resolve(),
60 | commonjs(),
61 | ],
62 | },
63 | ];
64 |
--------------------------------------------------------------------------------
/examples/nextjs/pages/_app.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | import App from "next/app";
4 | import Head from "next/head";
5 |
6 | import { createGlobalStyle } from "styled-components";
7 | import { WorldProvider } from "world-i18n/lib/react";
8 |
9 | // import { UIProvider } from "theme-miner/lib/react/styled-components";
10 | import { UIProvider } from "../theme-miner/react/styled-components";
11 |
12 | import { UI } from "../ui";
13 | import { world } from "../world";
14 |
15 | const DocumentStyle = createGlobalStyle`
16 | *,
17 | *:before,
18 | *:after {
19 | box-sizing: inherit;
20 | }
21 |
22 | *:focus {
23 | outline: none;
24 | }
25 |
26 | html,body {
27 | box-sizing: border-box;
28 | margin: 0;
29 | padding: 0;
30 | }
31 | `;
32 |
33 | class MyApp extends App {
34 | constructor(props) {
35 | super(props);
36 | this.state = {
37 | theme: "white",
38 | };
39 | }
40 |
41 | render() {
42 | const { Component, pageProps } = this.props;
43 | const { theme } = this.state;
44 | return (
45 | <>
46 |
47 | ThemeMiner Demo
48 |
49 |
50 |
51 |
57 |
58 |
59 |
60 | >
61 | );
62 | }
63 | }
64 |
65 | export default MyApp;
66 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@doubco/thememiner",
3 | "version": "2.2.6",
4 | "description": "ThemeMiner is the missing piece for styled-components.",
5 | "author": "Doub.co ",
6 | "main": "lib/index.js",
7 | "react": {
8 | "styled-components": {
9 | "main": "lib/react/styled-components/index.js",
10 | "module": "lib/react/styled-components/index.es.js",
11 | "commonjs": "lib/react/styled-components/index.cjs.js"
12 | }
13 | },
14 | "commonjs": "lib/index.cjs.js",
15 | "module": "lib/index.es.js",
16 | "repository": "https://github.com/doubco/thememiner.git",
17 | "license": "MIT",
18 | "scripts": {
19 | "test": "echo \"Error: no test specified\" && exit 1",
20 | "setup": "yarn",
21 | "dev": "rollup -c -w",
22 | "build": "rollup -c",
23 | "prepare": "npm run build"
24 | },
25 | "dependencies": {
26 | "@doubco/wtf": "^0.0.6"
27 | },
28 | "prettier": {
29 | "arrowParens": "always",
30 | "trailingComma": "all"
31 | },
32 | "keywords": [
33 | "theme",
34 | "styled",
35 | "components",
36 | "react",
37 | "helper"
38 | ],
39 | "peerDependencies": {
40 | "styled-components": "^4.4.1"
41 | },
42 | "devDependencies": {
43 | "@babel/core": "^7.9.6",
44 | "@babel/preset-react": "7.9.4",
45 | "@babel/plugin-proposal-class-properties": "^7.8.3",
46 | "@babel/plugin-proposal-object-rest-spread": "^7.9.6",
47 | "@babel/preset-env": "^7.9.6",
48 | "babel-eslint": "^10.1.0",
49 | "eslint": "^7.0.0",
50 | "eslint-plugin-import": "^2.20.2",
51 | "eslint-plugin-prettier": "^3.1.3",
52 | "prettier": "^2.0.5",
53 | "rollup-plugin-babel": "^4.4.0",
54 | "rollup-plugin-commonjs": "^10.1.0",
55 | "rollup-plugin-node-resolve": "^5.2.0",
56 | "rollup-plugin-peer-deps-external": "^2.2.2",
57 | "rollup-plugin-url": "^3.0.1"
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | # Contributor Covenant Code of Conduct
2 |
3 | ## Our Pledge
4 |
5 | In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
6 |
7 | ## Our Standards
8 |
9 | Examples of behavior that contributes to creating a positive environment include:
10 |
11 | * Using welcoming and inclusive language
12 | * Being respectful of differing viewpoints and experiences
13 | * Gracefully accepting constructive criticism
14 | * Focusing on what is best for the community
15 | * Showing empathy towards other community members
16 |
17 | Examples of unacceptable behavior by participants include:
18 |
19 | * The use of sexualized language or imagery and unwelcome sexual attention or advances
20 | * Trolling, insulting/derogatory comments, and personal or political attacks
21 | * Public or private harassment
22 | * Publishing others' private information, such as a physical or electronic address, without explicit permission
23 | * Other conduct which could reasonably be considered inappropriate in a professional setting
24 |
25 | ## Our Responsibilities
26 |
27 | Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
28 |
29 | Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
30 |
31 | ## Scope
32 |
33 | This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
34 |
35 | ## Enforcement
36 |
37 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at hi@doub.co. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
38 |
39 | Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
40 |
41 | ## Attribution
42 |
43 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
44 |
45 | [homepage]: http://contributor-covenant.org
46 | [version]: http://contributor-covenant.org/version/1/4/
47 |
--------------------------------------------------------------------------------
/src/react/styled-components/index.js:
--------------------------------------------------------------------------------
1 | import React, {
2 | createContext,
3 | useState,
4 | useRef,
5 | useEffect,
6 | useContext,
7 | } from "react";
8 | import { ThemeProvider } from "styled-components";
9 |
10 | const Context = createContext();
11 |
12 | const onGenerateTheme = (instance, themeKey) => {
13 | let theme = instance.props.theme;
14 |
15 | if (instance.props.onGenerateTheme) {
16 | theme = instance.props.onGenerateTheme(instance, themeKey);
17 | instance.setProps({ theme });
18 | }
19 |
20 | return theme;
21 | };
22 |
23 | export const UIProvider = (props) => {
24 | const { instance, theme } = props;
25 |
26 | const { theming = {} } = instance.props.options || {};
27 | const { paletteKey, themes } = theming;
28 |
29 | if (!paletteKey) {
30 | throw Error("Please add 'paletteKey' property to options.theming.");
31 | }
32 |
33 | if (!themes) {
34 | throw Error("Please add 'themes' object to options.theming.");
35 | }
36 |
37 | if (!theming.default) {
38 | throw Error("Please add 'default' property to options.theming.");
39 | }
40 |
41 | const [themeKey, setTheme] = useState(
42 | themes[theme] ? theme : theming.default,
43 | );
44 |
45 | const [updating, setUpdating] = useState(false);
46 |
47 | const themeProps = {
48 | [instance.key(paletteKey)]: themeKey,
49 | };
50 |
51 | const mode = themes[themeKey].mode;
52 |
53 | const generatedTheme = useRef(onGenerateTheme(instance, themeKey));
54 |
55 | useEffect(() => {
56 | generatedTheme.current = onGenerateTheme(instance, themeKey);
57 | }, [themeKey]);
58 |
59 | return (
60 | {
63 | const { scope, cache } = options;
64 |
65 | let p = pr;
66 |
67 | const active = instance.active(p);
68 | const __active = cache ? active : null;
69 |
70 | if (overwrite) {
71 | p = { ...pr, ...overwrite(active) };
72 | }
73 |
74 | const {
75 | props: _props,
76 | global: _global,
77 | local: _local,
78 | interactives: _interactives,
79 | } = instance.properties(p, localKeys, true);
80 |
81 | const props = {
82 | __active,
83 | ..._props,
84 | ..._local,
85 | ..._global,
86 | _global: { ..._global },
87 | _interactives: { ..._interactives },
88 | _parent: { ..._props },
89 | _local: { ..._local },
90 | _theme: { ...themeProps },
91 | };
92 |
93 | return {
94 | props,
95 | theme: generatedTheme.current,
96 | themeKey,
97 | mode,
98 | active,
99 | updating,
100 | setTheme: (theme, callback) => {
101 | if (themes[theme]) {
102 | setUpdating(true);
103 | setTheme(theme);
104 |
105 | instance.setTheme(theme);
106 |
107 | setTimeout(() => {
108 | setUpdating(false);
109 | if (callback) callback(theme);
110 | }, 1);
111 | }
112 | },
113 | get: (key, customProps = {}) => {
114 | if (scope) {
115 | const { _ } = instance.scoped(scope);
116 | return _(key)({ ...props, ...customProps });
117 | } else {
118 | return instance._(key)({ ...props, ...customProps });
119 | }
120 | },
121 | closest: (prop = "", value) => {
122 | const [key, variant] = prop.split(".");
123 | const next = instance.closest(
124 | key,
125 | variant ? active[key].variant : active[key].key,
126 | value,
127 | variant ? true : false,
128 | );
129 |
130 | return next;
131 | },
132 | };
133 | },
134 | }}
135 | >
136 |
137 | {props.children}
138 |
139 |
140 | );
141 | };
142 |
143 | export const UIConsumer = Context.Consumer;
144 |
145 | export const UIContext = Context;
146 |
147 | export const useUI = (...args) => {
148 | const ctx = useContext(UIContext);
149 |
150 | const context = ctx ? ctx.generateUI(...args) : {};
151 | return context;
152 | };
153 |
--------------------------------------------------------------------------------
/examples/nextjs/pages/index.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import styled from "styled-components";
3 |
4 | // import { useUI } from "theme-miner/lib/react/styled-components";
5 | import { useUI } from "../theme-miner/react/styled-components";
6 |
7 | // styled components
8 | import { UI } from "../ui";
9 | import { useWorld } from "world-i18n/lib/react";
10 | const { _: t, scoped, cond, mixin } = UI;
11 | const { _: button } = scoped("button");
12 |
13 | const Viewport = styled.div`
14 | height: 100vh;
15 | width: 100vw;
16 | display: flex;
17 | align-items: center;
18 | justify-content: center;
19 | background: #ccc;
20 | /* if mixin doesn't need or use the interactives, you need the run the under function like below */
21 | /* ${mixin("debug")({ color: "blue" })} */
22 | `;
23 |
24 | const Box = styled.div`
25 | border-radius: ${t`radius.active``px`};
26 | background: ${t`palette.active`};
27 | padding: ${t`padding.active``px`};
28 | margin: ${t`margin.active``px`};
29 | display: flex;
30 | align-items: center;
31 | justify-content: center;
32 | flex-direction: column;
33 | `;
34 |
35 | const Button = styled.div`
36 | cursor: pointer;
37 | margin: ${t`margin.active``px`};
38 | padding: ${t`padding.active``px`};
39 |
40 | border-radius: ${t`radius.active``px`};
41 |
42 | background: ${mixin`paint``palette.active`};
43 | color: ${mixin`paintFG``palette.active`};
44 |
45 | &:hover {
46 | background: ${mixin`asHover``palette.active`};
47 | }
48 | &:active {
49 | background: ${mixin`asActive``palette.active`};
50 | }
51 |
52 | min-height: ${button`scale.active.height``px`};
53 |
54 | width: 200px;
55 | display: flex;
56 | align-items: center;
57 | justify-content: center;
58 | flex-direction: column;
59 | `;
60 |
61 | const Text = styled.span`
62 | color: ${cond({
63 | // check the documentation for other usage
64 | if: "props.$inherit",
65 | then: null,
66 | else: mixin`paint``palette.active`,
67 | })};
68 | font-family: ${t`typography.active.family`};
69 | line-height: ${t`typography.active.height``px`};
70 | font-size: ${t`typography.active.size``px`};
71 | opacity: ${t`opacity.active`};
72 | `;
73 |
74 | const ButtonDemo = (props) => {
75 | const { t, locale } = useWorld();
76 | const ui = useUI(props);
77 |
78 | // ui.props._local instead of ui.props => this will return only the local props data
79 | // ui.props._glocal instead of ui.props => this will return only the glocal props data e.g. ThemeMiner.properties
80 | // ui.props._interactives instead of ui.props => this will return only the interactives props data
81 |
82 | const data = {
83 | // simple
84 | margin: ui.get("margin"),
85 | "margin.active": ui.get("margin.active"),
86 | "margin.active.0": ui.get("margin.active", { $margin: null }),
87 | // with variant
88 | typography: ui.get("typography"),
89 | "typography.active": ui.get("typography.active"),
90 | "typography.active.size": ui.get("typography.active.size"),
91 | // with variant direct
92 | "typography.default": ui.get("typography.default"),
93 | "typography.default.ty+0.size": ui.get("typography.default.ty+0.size"),
94 | palette: ui.get("palette"),
95 | "palette.active": ui.get("palette.active"),
96 | // with variant direct
97 | "palette.primary": ui.get("palette.primary"),
98 | "palette.primary.sh+0": ui.get("palette.primary.sh+0"),
99 | "palette.primary.contrast": ui.get("palette.primary.contrast"),
100 | "palette.primary.contrast.sh+0": ui.get("palette.primary.contrast.sh+0"),
101 | // middle
102 | "button.scale.active": ui.get("button.scale.active"),
103 | "button.scale.active.height": ui.get("button.scale.active.height"),
104 | "button.scale": ui.get("button.scale"),
105 | "button.scale.sc+1": ui.get("button.scale.sc+1"),
106 | "button.scale.sc+1.height": ui.get("button.scale.sc+1.height"),
107 | // generic
108 |
109 | "theme.button": ui.get("theme.button"),
110 | "props.$margin": ui.get("props.$margin"),
111 | };
112 |
113 | console.log("prop mine test", data);
114 |
115 | return (
116 |
127 | );
128 | };
129 |
130 | // page
131 | export default (props) => {
132 | const { t, locale } = useWorld();
133 | const ui = useUI(props);
134 |
135 | return (
136 |
137 |
138 |
147 |
148 |
157 |
158 |
159 | {locale}
160 |
161 |
162 |
163 | {t("hello")}
164 |
165 |
166 |
167 | {t("hello-description")}
168 |
169 |
170 |
176 |
177 |
178 | );
179 | };
180 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # ThemeMiner ⛏
2 |
3 | ThemeMiner is the missing piece for styled-components.
4 |
5 | It makes it very easy and readable, to create complex design systems in `React` with `styled-components`.
6 |
7 | ThemeMiner will consume the `theme` provided with ``.
8 |
9 | ## Install
10 |
11 | `yarn add theme-miner` or `npm install theme-miner --save`
12 |
13 | ## Setup
14 |
15 | To manage your design system and all the other variables first we create a theme file.
16 |
17 | theme.js
18 |
19 | ```js
20 | import { ThemeMiner } from "theme-miner";
21 |
22 | import { depth, colors, box } from "./constants";
23 |
24 | export const theme = {
25 | button: {
26 | depth: depth, // we could still overwrite default options for this scope only.
27 | variant: colors, // we could still overwrite default options for this scope only.
28 | size: {
29 | small: {
30 | ...box.size.small,
31 | fontSize: 8
32 | },
33 | normal: {
34 | ...box.size.normal,
35 | fontSize: 14
36 | },
37 | large: {
38 | ...box.size.medium
39 | fontSize: 20
40 | }
41 | }
42 | }
43 | };
44 |
45 | // these are interactives, we will use it as variables
46 | const interactives = {
47 | depth: { // or "myDepths"
48 | options: ["base", "flat", "raised", "overlay", "superior", "declaration"],
49 | default: "flat"
50 | },
51 | size: { // or "s"
52 | options: ["small", "normal", "large"],
53 | default: "normal"
54 | },
55 | variant: { // or "color"
56 | options: ["black", "white", "primary", "destructive", "positive"],
57 | default: "primary",
58 | variants: {
59 | key: "tone", // or "shade"
60 | options: ["lighter", "light", "main", "dark", "darker"],
61 | default: "main"
62 | }
63 | }
64 | };
65 |
66 | const options = {
67 | useTransient: true, // adds $ to interactives e.g. variant becames $variant
68 | useOptions: true, // allow us to use $black addition to $variant="black"
69 | useVariants: true, // allow us to use $light addition to $tone="light"
70 | // PS: don't use same identifiers both inside options and variants
71 | properties: [
72 | // always will be included in uiProps and passed to styled components
73 | "$color",
74 | "$passive",
75 | "$gutter",
76 | "$padding",
77 | "$radius",
78 | "$v",
79 | "$h"
80 | ]
81 | };
82 |
83 | const UI = new ThemeMiner({
84 | theme,
85 | interactives,
86 | options,
87 | mixins: {
88 | multiply: ui => {
89 | return (value, count) => {
90 | return `${value * count}`;
91 | };
92 | }
93 | }
94 | });
95 |
96 | export default UI;
97 | ```
98 |
99 | Now we can pass our theme file to the provider.
100 |
101 | App.js
102 |
103 | ```js
104 | import { ThemeProvider } from "styled-components";
105 | import { theme } from "./theme";
106 |
107 | const App = () => {
108 | return (
109 |
110 |
111 |
112 | );
113 | };
114 |
115 | export default App;
116 | ```
117 |
118 | This step is very recommended but not mandatory. A base component will expose us some api e.g. `this.ui` or `this.closest`
119 |
120 | BaseComponent.js
121 |
122 | ```js
123 | import UI from "../theme";
124 |
125 | const { properties, active, closest } = UI;
126 |
127 | class BaseComponent extends React.Component {
128 | // clean props for to use in a styled component
129 | get ui() {
130 | const uiProps = properties(this.props, this.uiProps || []);
131 | return { ...uiProps, __active: this.active };
132 | }
133 |
134 | // helps find lower or higher option in a specific interactive
135 | closest(key, value, checkVariant) {
136 | return closest(
137 | key,
138 | checkVariant ? this.active[key].variant : this.active[key].key,
139 | value,
140 | checkVariant
141 | );
142 | }
143 |
144 | // active interactives for this instance
145 | get active() {
146 | return active(this.props);
147 | }
148 | }
149 |
150 | export default BaseComponent;
151 | ```
152 |
153 | StyledButton.js
154 |
155 | ```js
156 | import styled from "styled-components";
157 |
158 | import UI from "../theme";
159 | const { cond, is, scoped } = UI;
160 | const { _, mixin } = scoped("button"); // _, mixin, calc could be scoped
161 |
162 | export const StyledButton = styled.div`
163 | font-size: ${_`size.fontSize``px`};
164 | border-radius: ${_("size.radius")("px") /* we can use without template literals */};
165 | height: ${_`size.box.height`(height=> `${100/height}px`) /* or customize the output */};
166 | width: ${_`size.box.width``%`};
167 | background ${_`variant.active`};
168 | color ${_`variant.contrast`};
169 | padding: ${mixin("multiply", 2)`size.padding``px`}
170 | text-decoration: ${cond({
171 | if: is.eq("props.active",true) // or "props.active" or _`props.active` as a string,
172 | // we could do this too; if: or(is("props.$variant","positive"),"props.active")
173 | then: "underline",
174 | else: null // optional
175 | })};
176 | `;
177 |
178 | // PS: we can also consume theme without scoped like UI._`button.size.fontSize``px`
179 |
180 | ```
181 |
182 | Button.js
183 |
184 | ```js
185 | import BaseComponent from "../BaseComponent";
186 | import StyledButton from "./StyledButton";
187 | class Button extends BaseComponent {
188 | constructor(props) {
189 | super(props);
190 | this.uiProps = ["active"];
191 | }
192 |
193 | render() {
194 | // this.ui allow us to pass only props necessary for styled component
195 | return {this.props.title};
196 | }
197 | }
198 | ```
199 |
200 | Home.js
201 |
202 | ```js
203 | import Button from "./Button";
204 | export const Home = () => {
205 | return (
206 |
207 |
210 | or
211 |
214 |
215 | );
216 | };
217 | ```
218 |
219 | ## API
220 |
221 | ### Global Methods
222 |
223 | #### scoped
224 |
225 | creates scoped helpers from `theme.scope_name`
226 |
227 | `scoped("scope_name")`
228 |
229 | returns two helper
230 |
231 | `{ _, mixin }`
232 |
233 | #### style
234 |
235 | returns resolved UI props and theme variables for styling
236 |
237 | `` style(`buttons.size.padding`, ({ button, theme, active, props }) => {}) ``
238 |
239 | #### \_
240 |
241 | same as style
242 |
243 | `` _`button.size.padding` ``
244 |
245 | #### calc
246 |
247 | calculates data in template literals, it's handy to use in conditions and unitless operations
248 |
249 | `` calc(`${_`size.padding`} * 2`) ``
250 |
251 | #### mixin
252 |
253 | use global mixins defined in theme file.
254 |
255 | `mixin("some_helper",1,2,3)("scope_name")(x=>{ // do something})`
256 |
257 | #### cond
258 |
259 | helps define conditions in styled-components
260 |
261 | `cond({if: "props.active", then: "10px", else: "8px"})`
262 |
263 | `cond({if: "props.active == true", then: "10px", else: "8px"})`
264 |
265 | `cond({if: "!props.active", then: "10px", else: "8px"})`
266 |
267 | `cond({if: "props.height > 10", then: "10px", else: "8px"})`
268 |
269 | `` cond({if: _`props.height`, then: (p)=> p.height , else: "0"}) ``
270 |
271 | `cond({if: is.ne("props.status","error"), then: "blue" , else: "red"})`
272 |
273 | `cond({if: (p)=> p.height/2 == 10, then: "foo" , else: "bar"})`
274 |
275 | `cond({if: and("props.active",is.eq("status","error")), then: "foo" , else: "bar"})`
276 |
277 | ### Helper Methods
278 |
279 | #### active
280 |
281 | return all active interactive keys and their variants if exists.
282 |
283 | `active(this.props)`
284 |
285 | #### properties
286 |
287 | collect all interactive variables and specified props.
288 |
289 | `properties(this.props, ["align","active","etc"])`
290 |
291 | #### closest
292 |
293 | collect all interactive variables and specified props.
294 |
295 | `closest("size", active(this.props).size.key, -1)`
296 |
297 | `closest("color", active(this.props).color, 1, true)`
298 |
299 | `closest("color", active(this.props).color.variant, -1, true)`
300 |
301 | ### Scoped Methods
302 |
303 | #### \_
304 |
305 | same as global style or \_ but it is scoped, so there is no need for scope name in dot notation.
306 |
307 | `` _`size.padding` ``
308 |
309 | #### mixin
310 |
311 | same as global mixins but scoped.
312 |
313 | `` mixin`variant.active`(color=> transparentize(0.9,color)) ``
314 |
315 | ### Condition Methods
316 |
317 | `or(a,b)` or helper for conditions
318 |
319 | `and(a,b)` and helper for conditions
320 |
321 | `is.eq(key,value)` checks if it is equal
322 |
323 | `is.ne(key,value)` checks if it is not equal
324 |
325 | `is.nset(key)` checks if it is not exists
326 |
327 | `is.set(key)` checks if it is exists
328 |
329 | `is.in(key,value)` checks if it is included
330 |
331 | `is.nin(key,value)` checks if it is not included
332 |
333 | `is.lt(key,value)` checks if it is little than
334 |
335 | `is.lte(key,value)` checks if it is equal or little than
336 |
337 | `is.gt(key,value)` checks if it is greater than
338 |
339 | `is.gte(key,value)` checks if it is equal or greater than
340 |
341 | `is.color(key)` checks if it is color
342 |
343 | ---
344 |
345 | ## Contribute
346 |
347 | Pull requests are welcome and please submit bugs 🐛.
348 |
349 | ## Contact
350 |
351 | - Follow [@doubco](https://twitter.com/doubco) on Twitter
352 | - Follow [@doubco](http://facebook.com/doubco) on Facebook
353 | - Follow [@doubco](http://instagram.com/doubco) on Instagram
354 | - Email
355 |
--------------------------------------------------------------------------------
/examples/nextjs/ui.js:
--------------------------------------------------------------------------------
1 | // import { ThemeMiner } from "theme-miner";
2 | import ThemeMiner from "./theme-miner/ThemeMiner";
3 |
4 | import { css } from "styled-components";
5 | import tinycolor from "tinycolor2";
6 |
7 | const random = (min, max) => {
8 | return Math.floor(Math.random() * (max - min + 1) + min);
9 | };
10 |
11 | const family = {
12 | default: `"Inter", sans-serif`,
13 | display: `"Doub.t Normal", sans-serif`,
14 | mono: `"JetBrains Mono", monospace`,
15 | };
16 |
17 | // palette
18 | const black = {
19 | "sh-2": "#444",
20 | "sh-1": "#333",
21 | "sh+0": "#222",
22 | "sh+1": "#111",
23 | "sh+2": "#000",
24 | };
25 |
26 | const white = {
27 | "sh-2": "#efefef",
28 | "sh-1": "#eaeaea",
29 | "sh+0": "#e4e4e4",
30 | "sh+1": "#dedede",
31 | "sh+2": "#d9d9d9",
32 | };
33 |
34 | const primary = {
35 | "sh-2": "#3b70d9",
36 | "sh-1": "#2963d7",
37 | "sh+0": "#255BC7",
38 | "sh+1": "#2253b6",
39 | "sh+2": "#1f4ba4",
40 | };
41 |
42 | const spacing = {
43 | "sp+0": 0,
44 | "sp+1": 8,
45 | "sp+2": 16,
46 | };
47 |
48 | // tokens
49 | const tokens = {
50 | palette: {
51 | black: { ...black, contrast: { ...white } },
52 | white: { ...white, contrast: { ...black } },
53 | primary: { ...primary, contrast: { ...white } },
54 | },
55 | opacity: {
56 | "op+0": 1,
57 | "op-1": 0.8,
58 | "op-2": 0.6,
59 | "op-3": 0.4,
60 | "op-4": 0.2,
61 | },
62 | depth: {
63 | "de+0": [
64 | {
65 | color: "#000",
66 | offset: {
67 | width: 0,
68 | height: 0,
69 | },
70 | opacity: 0,
71 | radius: 0,
72 | elevation: 0,
73 | },
74 | ],
75 | "de+1": [
76 | {
77 | color: "#000",
78 | offset: {
79 | width: 0,
80 | height: 4,
81 | },
82 | opacity: 0.125,
83 | radius: 4,
84 | elevation: 8,
85 | },
86 | ],
87 | "de+2": [
88 | {
89 | color: "#000",
90 | offset: {
91 | width: 0,
92 | height: 8,
93 | },
94 | opacity: 0.25,
95 | radius: 8,
96 | elevation: 16,
97 | },
98 | ],
99 | "de+3": [
100 | {
101 | color: "#000",
102 | offset: {
103 | width: 0,
104 | height: 16,
105 | },
106 | opacity: 0.5,
107 | radius: 16,
108 | elevation: 32,
109 | },
110 | ],
111 | },
112 | weight: {
113 | "we-2": 200,
114 | "we-1": 300,
115 | "we+0": 400,
116 | "we+1": 500,
117 | "we+2": 600,
118 | },
119 | typography: {
120 | default: {
121 | "ty-2": { family: family.default, size: 12, height: 16 },
122 | "ty-1": { family: family.default, size: 16, height: 24 },
123 | "ty+0": { family: family.default, size: 24, height: 32 },
124 | "ty+1": { family: family.default, size: 32, height: 48 },
125 | "ty+2": { family: family.default, size: 48, height: 64 },
126 | },
127 | display: {
128 | "ty-2": { family: family.display, size: 12, height: 16 },
129 | "ty-1": { family: family.display, size: 16, height: 24 },
130 | "ty+0": { family: family.display, size: 24, height: 32 },
131 | "ty+1": { family: family.display, size: 32, height: 48 },
132 | "ty+2": { family: family.display, size: 48, height: 64 },
133 | },
134 | mono: {
135 | "ty-2": { family: family.mono, size: 12, height: 16 },
136 | "ty-1": { family: family.mono, size: 16, height: 24 },
137 | "ty+0": { family: family.mono, size: 24, height: 32 },
138 | "ty+1": { family: family.mono, size: 32, height: 48 },
139 | "ty+2": { family: family.mono, size: 48, height: 64 },
140 | },
141 | },
142 | radius: {
143 | "ra+0": 0,
144 | "ra+1": 4,
145 | "ra+2": 8,
146 | },
147 | spacing,
148 | padding: spacing,
149 | margin: spacing,
150 | };
151 |
152 | // component variables
153 | const button = {
154 | scale: {
155 | "sc-2": { height: 16 },
156 | "sc-1": { height: 24 },
157 | "sc+0": { height: 32 },
158 | "sc+1": { height: 48 },
159 | "sc+2": { height: 64 },
160 | },
161 | };
162 |
163 | const interactives = {
164 | typography: {
165 | options: ["default", "display", "mono"],
166 | default: "default",
167 | variants: {
168 | key: "size", // could be anything but be careful to don't overlap with other variants' or interactives' key
169 | options: ["ty-2", "ty-1", "ty+0", "ty+1", "ty+2"],
170 | default: "ty+0",
171 | },
172 | },
173 | opacity: {
174 | options: ["op+0", "op-1", "op-2", "op-3", "op-4"],
175 | default: "op+0",
176 | },
177 | radius: {
178 | options: ["ra+0", "ra+1", "ra+2"],
179 | default: "ra+0",
180 | },
181 | depth: {
182 | options: ["de+0", "de+1", "de+2", "de+3"],
183 | default: "de+0",
184 | },
185 | scale: {
186 | options: ["sc-2", "sc-1", "sc+0", "sc+1", "sc+2"],
187 | // options could be anything logically ordered.
188 | // options: ["xsmall", "small", "medium", "large", "xlarge"],
189 | default: "sc+0",
190 | },
191 | palette: {
192 | options: ["black", "white", "primary"],
193 | default: "primary",
194 | variants: {
195 | key: "shade",
196 | // variant options also could be anything logically ordered.
197 | options: ["sh-2", "sh-1", "sh+0", "sh+1", "sh+2"],
198 | default: "sh+0",
199 | },
200 | },
201 | spacing: {
202 | options: ["sp+0", "sp+1", "sp+2"],
203 | default: "sp+0",
204 | },
205 | margin: {
206 | options: ["sp+0", "sp+1", "sp+2"],
207 | default: "sp+0",
208 | },
209 | padding: {
210 | options: ["sp+0", "sp+1", "sp+2"],
211 | default: "sp+0",
212 | },
213 | };
214 |
215 | const options = {
216 | useOptions: false,
217 | useVariants: false,
218 | // globally auto passed properties
219 | properties: ["$debug"],
220 | theming: {
221 | default: "white",
222 | paletteKey: "palette",
223 | themes: {
224 | white: {
225 | default: true,
226 | mode: "light",
227 | },
228 | black: {
229 | mode: "dark",
230 | },
231 | },
232 | },
233 | };
234 |
235 | const ui = new ThemeMiner({
236 | theme: {
237 | ...tokens,
238 | tokens,
239 | button,
240 | },
241 | interactives,
242 | options,
243 | onThemeChange: (themeKey) => {
244 | console.log("theme changed", themeKey);
245 | },
246 | onGenerateTheme: (instance, nextTheme) => {
247 | let newTheme = { ...instance.props.theme };
248 |
249 | // alter theme properties if there is some theme/mode specific changes on tokens or any other variables
250 | // if (nextTheme === "white") {
251 | // // update interactives' scopes
252 | // ["button", "title"].forEach((k) => {
253 | // newTheme[k] = { ...newTheme[k], foo: "bar" };
254 | // });
255 | // }
256 |
257 | return newTheme;
258 | },
259 | mixins: {
260 | debug: (
261 | instance,
262 | props,
263 | { useProps, disco = false, style, width, color } = {},
264 | ) => {
265 | const styles = ["dashed", "dotted", "solid"];
266 | // When disco mode on you will get 'Warning: Prop `className` did not match. Server' error on client side
267 | const borderWidth = width || 2;
268 | const borderStyle = disco ? styles[random(0, 2)] : style || "solid";
269 | const borderColor = disco
270 | ? `rgb(${random(0, 255)}, ${random(0, 255)}, ${random(0, 255)})`
271 | : color
272 | ? color
273 | : `red`;
274 |
275 | let nextValue = css`
276 | border: ${borderWidth}px ${borderStyle} ${borderColor};
277 | `;
278 |
279 | if (useProps && !p.$debug) {
280 | nextValue = "";
281 | }
282 |
283 | return nextValue;
284 | },
285 | asActive: (instance, props, value, diff = 1) => {
286 | const { theme, $negative, $color } = props;
287 | const palettes = theme.palette;
288 |
289 | // this is the default color
290 | let nextValue = value;
291 |
292 | if ($color) {
293 | if ($negative) {
294 | // reverse color if there is $negative in props
295 | // IMPROVE: we can calculate and select a different readable color when hover, will leave it like this for this example
296 | return tinycolor($color).getLuminance() > 0.5 ? "#000" : "#fff";
297 | } else {
298 | return tinycolor($color).darken(10 * Math.abs(diff));
299 | }
300 | } else {
301 | const { palette } = instance.active(props);
302 | const { key, variant } = palette;
303 |
304 | const nextVariant = instance.closest("palette", variant, diff, true);
305 |
306 | if ($negative) {
307 | nextValue = palettes[key].contrast[nextVariant];
308 | } else {
309 | nextValue = palettes[key][nextVariant];
310 | }
311 | }
312 |
313 | return nextValue;
314 | },
315 | // first 3 paramaters are coming from theme-miner, others are coming from your mixins paramaters e.g. mixin("asHover", -2)`palette.active`
316 | asHover: (instance, props, value, diff = -1) => {
317 | const { theme, $negative, $color } = props;
318 | const palettes = theme.palette;
319 |
320 | // this is the default color
321 | let nextValue = value;
322 |
323 | if ($color) {
324 | if ($negative) {
325 | // reverse color if there is $negative in props
326 | // IMPROVE: we can calculate and select a different readable color when hover, will leave it like this for this example
327 | return tinycolor($color).getLuminance() > 0.5 ? "#000" : "#fff";
328 | } else {
329 | return tinycolor($color).lighten(10 * Math.abs(diff));
330 | }
331 | } else {
332 | const { palette } = instance.active(props);
333 | const { key, variant } = palette;
334 |
335 | const nextVariant = instance.closest("palette", variant, diff, true);
336 |
337 | if ($negative) {
338 | nextValue = palettes[key].contrast[nextVariant];
339 | } else {
340 | nextValue = palettes[key][nextVariant];
341 | }
342 | }
343 |
344 | return nextValue;
345 | },
346 | paint: (instance, props, value, ...args) => {
347 | const { theme, $negative, $color } = props;
348 | const palettes = theme.palette;
349 |
350 | // this is the default color
351 | let nextValue = value;
352 |
353 | // support direct $color if there is $color in props
354 | if ($color) {
355 | if ($negative) {
356 | // reverse color if there is $negative in props
357 | return tinycolor($color).getLuminance() > 0.5 ? "#000" : "#fff";
358 | } else {
359 | return $color;
360 | }
361 | } else {
362 | const { palette } = instance.active(props);
363 |
364 | if ($negative) {
365 | // reverse color if there is $negative in props
366 | const { key, variant } = palette;
367 | nextValue = palettes[key].contrast[variant];
368 | }
369 | }
370 |
371 | return nextValue;
372 | },
373 | paintFG: (instance, props, value, ...args) => {
374 | const { theme, $color } = props;
375 | const palettes = theme.palette;
376 |
377 | const $negative = !props.$negative;
378 |
379 | // this is the default color
380 | let nextValue = value;
381 |
382 | // support direct $color if there is $color in props
383 | if ($color) {
384 | if ($negative) {
385 | // reverse color if there is $negative in props
386 | return tinycolor($color).getLuminance() > 0.5 ? "#000" : "#fff";
387 | } else {
388 | return $color;
389 | }
390 | } else {
391 | const { palette } = instance.active(props);
392 |
393 | if ($negative) {
394 | // reverse color if there is $negative in props
395 | const { key, variant } = palette;
396 | nextValue = palettes[key].contrast[variant];
397 | }
398 | }
399 |
400 | return nextValue;
401 | },
402 | },
403 | });
404 |
405 | export const UI = ui;
406 |
--------------------------------------------------------------------------------
/src/ThemeMiner.js:
--------------------------------------------------------------------------------
1 | import {
2 | isBoolean,
3 | isString,
4 | isObject,
5 | isArray,
6 | isNumber,
7 | isFunction,
8 | isColor,
9 | } from "@doubco/wtf";
10 |
11 | const ref = (obj, str) => {
12 | if (isString(str) && isObject(obj)) {
13 | str = str.split(".");
14 |
15 | for (let i = 0; i < str.length; i++) {
16 | obj = obj[str[i]] ? obj[str[i]] : obj[str[i]] === 0 ? 0 : { empty: true };
17 | }
18 |
19 | if (obj && obj.empty) return null;
20 |
21 | return obj;
22 | }
23 | return null;
24 | };
25 |
26 | const nest = (key, value) => {
27 | const o = { [key]: value };
28 | let oo = {},
29 | t,
30 | parts,
31 | part;
32 | for (let k in o) {
33 | t = oo;
34 | parts = k.split(".");
35 | let key = parts.pop();
36 | while (parts.length) {
37 | part = parts.shift();
38 | t = t[part] = t[part] || {};
39 | }
40 | t[key] = o[k];
41 | }
42 | return oo;
43 | };
44 |
45 | class ThemeMiner {
46 | constructor(props = {}) {
47 | this.props = {
48 | keys: {},
49 | options: {
50 | paletteKey: "palette",
51 |
52 | properties: [],
53 | useOptions: true,
54 | useVariants: true,
55 | useTransient: true,
56 | activeKey: "active",
57 | operators: {
58 | transient: "$",
59 | nin: " nin ",
60 | in: " in ",
61 | ne: " != ",
62 | eq: " == ",
63 | gt: " > ",
64 | gte: " >= ",
65 | lt: " < ",
66 | lte: " <= ",
67 | nset: "!",
68 | false: "!!",
69 | true: "==",
70 | },
71 | },
72 | };
73 |
74 | this.mixins = {};
75 |
76 | this.setProps(props);
77 |
78 | this.key = this.key.bind(this);
79 | this.vars = this.vars.bind(this);
80 | this.handlePropTypes = this.handlePropTypes.bind(this);
81 |
82 | this.style = this.style.bind(this);
83 | this._ = this._.bind(this);
84 | this.scoped = this.scoped.bind(this);
85 | this.active = this.active.bind(this);
86 | this.mixin = this.mixin.bind(this);
87 | this.calc = this.calc.bind(this);
88 |
89 | this.properties = this.properties.bind(this);
90 | this.closest = this.closest.bind(this);
91 |
92 | this.matchCondition = this.matchCondition.bind(this);
93 | this.or = this.or.bind(this);
94 | this.and = this.and.bind(this);
95 | this.cond = this.cond.bind(this);
96 | }
97 |
98 | setTheme(name) {
99 | this.currentTheme = name;
100 | if (this.props.onThemeChange) {
101 | this.props.onThemeChange(this.currentTheme);
102 | }
103 | }
104 |
105 | checkTheme(theme) {
106 | return this.getTheme(theme) ? true : false;
107 | }
108 |
109 | getTheme(name = this.currentTheme) {
110 | const { paletteKey } = this.props.options.theming || {};
111 | if (!paletteKey) throw Error("Please add 'paletteKey' to options.theming.");
112 | const palette = this.props.theme[paletteKey];
113 | return palette[name];
114 | }
115 |
116 | setProps(props = {}) {
117 | if (!this.props.theme) {
118 | this.props.theme = {};
119 | this.props.keys.theme = [];
120 | }
121 |
122 | if (props.theme) {
123 | this.props.theme = props.theme;
124 | this.props.keys.theme = Object.keys(props.theme);
125 | }
126 |
127 | if (props.options) {
128 | this.props.options = {
129 | ...this.props.options,
130 | ...props.options,
131 | };
132 |
133 | if (props.options.theming) {
134 | this.defaultTheme = props.options.theming.default;
135 | this.setTheme(props.options.theming.default);
136 | }
137 | }
138 |
139 | if (props.onGenerateTheme) {
140 | this.props.onGenerateTheme = props.onGenerateTheme;
141 | }
142 |
143 | if (props.onThemeChange) {
144 | this.props.onThemeChange = props.onThemeChange;
145 | }
146 |
147 | if (!this.props.interactives) {
148 | this.props.interactives = {};
149 | this.props.keys.interactives = [];
150 | }
151 |
152 | if (props.interactives) {
153 | this.props.interactives = props.interactives;
154 | this.props.keys.interactives = Object.keys(props.interactives);
155 | }
156 |
157 | if (props.mixins) {
158 | Object.keys(props.mixins).forEach((m) => {
159 | this.mixins[m] = props.mixins[m];
160 | });
161 | }
162 | }
163 |
164 | /*
165 | INTERNAL KEY RESOLVER
166 | Generates ui key.
167 | */
168 | key(i) {
169 | const { options } = this.props;
170 | return options.useTransient ? `${options.operators.transient}${i}` : i;
171 | }
172 |
173 | /*
174 | INTERNAL VARIABLE COLLECTOR
175 | Collects ui props by key.
176 | */
177 |
178 | vars(path, active) {
179 | const { theme, interactives, options } = this.props;
180 | let prepared;
181 | let realPath;
182 | const splitted = path.split(".");
183 |
184 | let interactive = splitted[splitted.indexOf(options.activeKey) - 1];
185 |
186 | const getActivePath = (interactive) => {
187 | const a = active[interactive];
188 |
189 | let activePath = "";
190 | if (a.variant) {
191 | activePath = `${a.key}.${a.variant}`;
192 | } else {
193 | activePath = `${a.key}`;
194 | }
195 | return activePath;
196 | };
197 |
198 | // active key is used
199 | if (interactive) {
200 | const activePath = getActivePath(interactive);
201 | realPath = `${path.replace(options.activeKey, activePath)}`;
202 | prepared = ref(theme, realPath);
203 | } else {
204 | realPath = path;
205 | prepared = ref(theme, realPath);
206 | }
207 |
208 | interactive = path.split(".").pop();
209 | if (this.props.keys.interactives.includes(interactive)) {
210 | if (!path.includes(options.activeKey)) {
211 | if (isObject(prepared)) {
212 | const activePath = `${path}.${getActivePath(interactive)}`;
213 | const activeData = ref(theme, activePath);
214 | prepared[options.activeKey] = activeData;
215 | }
216 | }
217 | }
218 |
219 | if (prepared !== null || prepared !== undefined) {
220 | return nest(path, prepared);
221 | } else {
222 | return path;
223 | }
224 | }
225 |
226 | /*
227 | INTERNAL PROP HANDLER
228 | Handles template literal, string, function inputs.
229 | */
230 | handlePropTypes(p, callback) {
231 | if (p) {
232 | if (isArray(p)) {
233 | // handle unit as literal
234 | return (ps) => `${callback(ps)}${p[0]}`;
235 | } else if (isString(p)) {
236 | // handle unit as string
237 | return (ps) => `${callback(ps)}${p}`;
238 | } else if (isFunction(p)) {
239 | // handle function callbacks
240 | return (ps) => p(callback(ps));
241 | } else {
242 | return callback(p);
243 | }
244 | }
245 | }
246 |
247 | /*
248 | ACTIVE HELPER
249 | Resolves all interactives active states.
250 | Examples:
251 | Theme.active(this.props)
252 | */
253 | active(props = {}) {
254 | const { interactives, options, keys } = this.props;
255 |
256 | let active = {};
257 |
258 | keys.interactives.forEach((k) => {
259 | let i = interactives[k];
260 |
261 | let value = props[this.key(k)];
262 |
263 | active[k] = {};
264 |
265 | if (options.useOptions) {
266 | if (i.options) {
267 | i.options.forEach((o) => {
268 | if (props[this.key(o)]) active[k].key = o;
269 | });
270 | }
271 | }
272 | if (value) {
273 | active[k].key = value;
274 | }
275 |
276 | if (!active[k].key) {
277 | active[k].key = i.default;
278 | }
279 |
280 | if (i.variants) {
281 | if (options.useVariants) {
282 | i.variants.options.forEach((o) => {
283 | if (props[this.key(o)]) active[k].variant = o;
284 | });
285 | }
286 |
287 | if (props[this.key(i.variants.key)])
288 | active[k].variant = props[this.key(i.variants.key)];
289 |
290 | if (!active[k].variant) active[k].variant = i.variants.default;
291 | }
292 | });
293 | return active;
294 | }
295 |
296 | /*
297 | STYLE HELPER
298 | Resolves and get props of given key.
299 | Examples:
300 | */
301 | style(input) {
302 | const { theme } = this.props;
303 | let type;
304 |
305 | if (isArray(input)) {
306 | type = "array";
307 | input = input[0];
308 | } else if (isString(input)) {
309 | type = "string";
310 | input = input;
311 | } else if (isFunction(input)) {
312 | type = "function";
313 | input = input;
314 | } else {
315 | input = input;
316 | }
317 |
318 | return (props) => {
319 | let x = props;
320 | // check if this props is already styled.
321 | if (!props.__generated) {
322 | let active = {};
323 | let vars = {};
324 |
325 | // anaylize key and get optimized props
326 | let scope;
327 | if (type == "array" || type == "string") {
328 | // use prefix if the parent key is in interactives
329 | scope = input;
330 | }
331 |
332 | if (scope) {
333 | scope = input.split(".")[0];
334 |
335 | if (scope == "props") scope = false;
336 | if (scope == "theme") scope = false;
337 |
338 | if (scope) {
339 | active =
340 | !props._disableCache && props.__active
341 | ? props.__active
342 | : this.active(props);
343 | vars = { ...vars, ...this.vars(input, active) };
344 | }
345 | }
346 | x = { ...vars, theme, active, props, __generated: true };
347 | }
348 |
349 | if (type == "array" || type == "string") {
350 | return ref(x, input);
351 | } else if (type == "function") {
352 | return input(x);
353 | } else {
354 | return input;
355 | }
356 | };
357 | }
358 |
359 | /*
360 | GENERAL HELPER
361 | Does same with style helper with unit support
362 | Examples:
363 | _`buttons.size.padding`
364 | _`active.variant.key`
365 | _`theme.spacing.micro`
366 | _`buttons.size.padding``px`
367 | _`buttons.size.padding`(padding => {})
368 | */
369 | _(key) {
370 | return (props) => this.handlePropTypes(props, this.style(key));
371 | }
372 |
373 | scoped(s) {
374 | const resolve = (s, k) => {
375 | let scope = s;
376 | let key = isArray(k) ? k[0] : k;
377 | let parent = key.split(".")[0];
378 | if (["theme", "props", "active"].includes(key.substr(0, parent.length))) {
379 | key = key.substr(parent.length + 1, key.length);
380 | scope = parent;
381 | }
382 | return { scope, key };
383 | };
384 |
385 | return {
386 | _: (k) => {
387 | const { scope, key } = resolve(s, k);
388 | return this._(`${scope}.${key}`);
389 | },
390 | mixin: (mixin, ...args) => {
391 | return (k) => {
392 | const { scope, key } = resolve(s, k);
393 | return this.mixin(mixin, ...args)(`${scope}.${key}`);
394 | };
395 | },
396 | };
397 | }
398 |
399 | /*
400 | MIXIN HELPER
401 | Allows usage of prop based mixins.
402 | Examples:
403 | mixin("multiply", 2)`button.size.padding`
404 | mixin("multiply", 2)`button.size.padding``px`
405 | mixin("multiply", 2)`button.size.padding`(padding => {})
406 | */
407 | mixin(mixin, ...args) {
408 | return (key) => {
409 | return (props) => {
410 | return this.handlePropTypes(props, (p) => {
411 | const value = this.style(key)(p);
412 | const instance = this;
413 | if (this.mixins[mixin]) {
414 | return this.mixins[mixin](
415 | instance,
416 | props,
417 | value ? value : key,
418 | ...args,
419 | );
420 | } else {
421 | throw Error(
422 | `Missing mixin: ${mixin}. Please add this mixin function to mixins.${mixin} in your ThemeMiner instance.`,
423 | );
424 | }
425 | });
426 | };
427 | };
428 | }
429 |
430 | /**
431 | PROPERTIES HELPER
432 | Collects all ui related properties from React props, * to make easy and clean passing to styled-components.
433 | Examples:
434 | Theme.properties(this.props)
435 | */
436 | cherryPickPropKeys(keys, props) {
437 | let newProps = {};
438 |
439 | keys.forEach((k) => {
440 | if (props[k] != undefined) {
441 | if (isBoolean(props[k])) {
442 | if (props[k]) {
443 | newProps[k] = props[k];
444 | }
445 | } else {
446 | newProps[k] = props[k];
447 | }
448 | }
449 | });
450 |
451 | return newProps;
452 | }
453 |
454 | properties(props = {}, localKeys = [], asObject) {
455 | const { interactives, options } = this.props;
456 | let keys = [];
457 | let globalKeys = [...options.properties];
458 |
459 | let interactivesKeys = [];
460 |
461 | Object.keys(interactives).forEach((key) => {
462 | let i = interactives[key];
463 | interactivesKeys = [...interactivesKeys, key];
464 | if (i.variants) {
465 | interactivesKeys = [...interactivesKeys, i.variants.key];
466 | }
467 | if (options.useOptions) {
468 | interactivesKeys = [...interactivesKeys, ...i.options];
469 | if (i.variants) {
470 | interactivesKeys = [...interactivesKeys, ...i.variants.options];
471 | }
472 | }
473 | });
474 |
475 | interactivesKeys = interactivesKeys.map((i) => this.key(i));
476 |
477 | keys = [...interactivesKeys, ...localKeys];
478 |
479 | if (asObject) {
480 | return {
481 | props: this.cherryPickPropKeys(keys, props),
482 | global: this.cherryPickPropKeys(globalKeys, props),
483 | local: this.cherryPickPropKeys(localKeys, props),
484 | interactives: this.cherryPickPropKeys(interactivesKeys, props),
485 | };
486 | } else {
487 | return this.cherryPickPropKeys(keys, props);
488 | }
489 | }
490 |
491 | /*
492 | CLOSEST HELPER
493 | Resolves closest inteactives' option based on given key.
494 | Examples:
495 | closest(this.ui.active.size.key, -2)
496 | */
497 | closest(key, value, change, variant) {
498 | const { interactives } = this.props;
499 |
500 | let so = interactives[key].options;
501 | if (variant) {
502 | so = interactives[key].variants.options;
503 | }
504 |
505 | let idx = so.indexOf(value);
506 |
507 | if (idx > -1) {
508 | if (change > 0) {
509 | return idx + change >= so.length ? so[so.length - 1] : so[idx + change];
510 | } else {
511 | return idx + change < 0 ? so[0] : so[idx + change];
512 | }
513 | }
514 | return value;
515 | }
516 |
517 | /*
518 | CALC HELPER
519 | Calculates the given operations.
520 | Examples:
521 | calc`(${_`button.size.height`} * 2) + ${_`padding`}`
522 | calc`(${_`button.size.height`} * 2) + ${_`padding`}``px`
523 | */
524 | calc(pieces) {
525 | return (props) => {
526 | const run = (p) => {
527 | let result = pieces[0];
528 | let substitutions = [].slice.call(arguments, 1);
529 | let x = 0;
530 | for (let piece of substitutions) {
531 | x++;
532 | if (isFunction(piece)) {
533 | result += piece(p);
534 | }
535 | if (isNumber(piece)) {
536 | result += piece;
537 | }
538 | result += pieces[x];
539 | }
540 |
541 | let response = "";
542 | try {
543 | response = new Function("return " + result)();
544 | } catch (e) {
545 | // eslint-disable-next-line
546 | console.warn("Invalid calculation", result);
547 | }
548 |
549 | return response;
550 | };
551 | return this.handlePropTypes(props, run);
552 | };
553 | }
554 |
555 | /*
556 | INTERNAL MATCH HELPER FOR OR, AND & COND OPERATOR
557 | */
558 | matchCondition(c) {
559 | const { operators } = this.props.options;
560 | let cond = c;
561 | if (isArray(cond)) cond = c[0];
562 | return (p) => {
563 | let matched;
564 | // run function if value is function
565 | if (isFunction(cond)) matched = cond(p);
566 | // check with is.set if value is string
567 | if (isString(cond)) {
568 | if (cond.includes(operators.nin)) {
569 | let [k, v] = cond.split(operators.nin);
570 | matched = this.is.nin(k, v)(p);
571 | } else if (cond.includes(operators.in)) {
572 | let [k, v] = cond.split(operators.in);
573 | matched = this.is.in(k, v)(p);
574 | } else if (cond.includes(operators.ne)) {
575 | let [k, v] = cond.split(operators.ne);
576 | matched = this.is.ne(k, v)(p);
577 | } else if (cond.includes(operators.eq)) {
578 | let [k, v] = cond.split(operators.eq);
579 | matched = this.is.eq(k, v)(p);
580 | } else if (cond.includes(operators.gt)) {
581 | let [k, v] = cond.split(operators.gt);
582 | matched = this.is.gt(k, v)(p);
583 | } else if (cond.includes(operators.gte)) {
584 | let [k, v] = cond.split(operators.gte);
585 | matched = this.is.gte(k, v)(p);
586 | } else if (cond.includes(operators.lt)) {
587 | let [k, v] = cond.split(operators.lt);
588 | matched = this.is.lt(k, v)(p);
589 | } else if (cond.includes(operators.lte)) {
590 | let [k, v] = cond.split(operators.lte);
591 | matched = this.is.lte(k, v)(p);
592 | } else if (cond.substr(0, operators.true.length) == operators.false) {
593 | let k = cond.replace(operators.false, "");
594 | matched = this.is.eq(k, false)(p);
595 | } else if (cond.substr(0, operators.true.length) == operators.true) {
596 | let k = cond.replace(operators.true, "");
597 | matched = this.is.eq(k, true)(p);
598 | } else if (cond.substr(0, operators.nset.length) == operators.nset) {
599 | let k = cond.replace(operators.nset, "");
600 | matched = this.is.nset(k)(p);
601 | } else {
602 | matched = this.is.set(cond)(p);
603 | }
604 | }
605 | return matched;
606 | };
607 | }
608 |
609 | /*
610 | IS HELPER FOR COND HELPER
611 | Checks given options.
612 | Examples:
613 | is.in("margin", "left")
614 | is.eq("active.size.key", "normal")
615 | is.set("props.$variant")
616 | */
617 | get is() {
618 | const g = (p, k) => {
619 | return this.style(k)(p);
620 | };
621 | return {
622 | // new methods
623 | nset: (k) => (p) => !g(p, k),
624 | set: (k) => (p) => g(p, k),
625 | in: (k, v) => (p) => {
626 | const val = g(p, k);
627 | return val && val.length && val.includes(v);
628 | },
629 | nin: (k, v) => (p) => {
630 | const val = g(p, k);
631 | return val && val.length && !val.includes(v);
632 | },
633 | eq: (k, v) => (p) => g(p, k) == v,
634 | ne: (k, v) => (p) => g(p, k) != v,
635 | lt: (k, v) => (p) => g(p, k) < v,
636 | lte: (k, v) => (p) => g(p, k) <= v,
637 | gt: (k, v) => (p) => g(p, k) > v,
638 | gte: (k, v) => (p) => g(p, k) >= v,
639 | color: (k) => (p) => isColor(g(p, k)),
640 | };
641 | }
642 |
643 | /*
644 | OR HELPER FOR COND HELPER
645 | Returns true if any given condition is true.
646 | Examples:
647 | or(is.eq("size","normal"),is.set("ghost"))
648 | */
649 | or(...conds) {
650 | return (p) => {
651 | let passed = false;
652 | if (conds && conds.length) {
653 | conds.forEach((cond) => {
654 | let matched = this.matchCondition(cond)(p);
655 | if (matched) {
656 | passed = true;
657 | }
658 | });
659 | }
660 | return passed;
661 | };
662 | }
663 |
664 | /*
665 | AND HELPER FOR COND HELPER
666 | Returns true if all given condition is true.
667 | Examples:
668 | and(is.eq("size","normal"),is.set("ghost"))
669 | */
670 | and(...conds) {
671 | return (p) => {
672 | let passed = true;
673 | if (conds && conds.length) {
674 | conds.forEach((cond) => {
675 | let matched = this.matchCondition(cond)(p);
676 | if (!matched) {
677 | passed = false;
678 | }
679 | });
680 | }
681 | return passed;
682 | };
683 | }
684 |
685 | /*
686 | CONDTION HELPER
687 | Resolves given conditions.
688 | Examples:
689 | cond({if: is.eq("$size", "micro"), then: "uppercase" , else: "none"})
690 | cond({if: (p) => {}, then:(p) => {}, else:(p) => {}})
691 | cond({if: "bg", then: _`theme.bg`, else: "none"})
692 | */
693 | cond(c) {
694 | return (p) => {
695 | let matched = this.matchCondition(c.if)(p);
696 |
697 | if (matched) {
698 | if (c.then) {
699 | if (isFunction(c.then)) {
700 | return c.then(p);
701 | } else {
702 | return c.then;
703 | }
704 | }
705 | } else {
706 | if (c.else) {
707 | if (isFunction(c.else)) {
708 | return c.else(p);
709 | } else {
710 | return c.else;
711 | }
712 | }
713 | }
714 | };
715 | }
716 | }
717 |
718 | export default ThemeMiner;
719 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@babel/code-frame@^7.0.0":
6 | version "7.0.0"
7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8"
8 | integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==
9 | dependencies:
10 | "@babel/highlight" "^7.0.0"
11 |
12 | "@babel/code-frame@^7.8.3":
13 | version "7.8.3"
14 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e"
15 | integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==
16 | dependencies:
17 | "@babel/highlight" "^7.8.3"
18 |
19 | "@babel/compat-data@^7.9.6":
20 | version "7.9.6"
21 | resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.9.6.tgz#3f604c40e420131affe6f2c8052e9a275ae2049b"
22 | integrity sha512-5QPTrNen2bm7RBc7dsOmcA5hbrS4O2Vhmk5XOL4zWW/zD/hV0iinpefDlkm+tBBy8kDtFaaeEvmAqt+nURAV2g==
23 | dependencies:
24 | browserslist "^4.11.1"
25 | invariant "^2.2.4"
26 | semver "^5.5.0"
27 |
28 | "@babel/core@^7.9.6":
29 | version "7.9.6"
30 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.9.6.tgz#d9aa1f580abf3b2286ef40b6904d390904c63376"
31 | integrity sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==
32 | dependencies:
33 | "@babel/code-frame" "^7.8.3"
34 | "@babel/generator" "^7.9.6"
35 | "@babel/helper-module-transforms" "^7.9.0"
36 | "@babel/helpers" "^7.9.6"
37 | "@babel/parser" "^7.9.6"
38 | "@babel/template" "^7.8.6"
39 | "@babel/traverse" "^7.9.6"
40 | "@babel/types" "^7.9.6"
41 | convert-source-map "^1.7.0"
42 | debug "^4.1.0"
43 | gensync "^1.0.0-beta.1"
44 | json5 "^2.1.2"
45 | lodash "^4.17.13"
46 | resolve "^1.3.2"
47 | semver "^5.4.1"
48 | source-map "^0.5.0"
49 |
50 | "@babel/generator@^7.9.6":
51 | version "7.9.6"
52 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.6.tgz#5408c82ac5de98cda0d77d8124e99fa1f2170a43"
53 | integrity sha512-+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ==
54 | dependencies:
55 | "@babel/types" "^7.9.6"
56 | jsesc "^2.5.1"
57 | lodash "^4.17.13"
58 | source-map "^0.5.0"
59 |
60 | "@babel/helper-annotate-as-pure@^7.8.3":
61 | version "7.8.3"
62 | resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz#60bc0bc657f63a0924ff9a4b4a0b24a13cf4deee"
63 | integrity sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==
64 | dependencies:
65 | "@babel/types" "^7.8.3"
66 |
67 | "@babel/helper-builder-binary-assignment-operator-visitor@^7.8.3":
68 | version "7.8.3"
69 | resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz#c84097a427a061ac56a1c30ebf54b7b22d241503"
70 | integrity sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw==
71 | dependencies:
72 | "@babel/helper-explode-assignable-expression" "^7.8.3"
73 | "@babel/types" "^7.8.3"
74 |
75 | "@babel/helper-builder-react-jsx-experimental@^7.9.0":
76 | version "7.9.5"
77 | resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.9.5.tgz#0b4b3e04e6123f03b404ca4dfd6528fe6bb92fe3"
78 | integrity sha512-HAagjAC93tk748jcXpZ7oYRZH485RCq/+yEv9SIWezHRPv9moZArTnkUNciUNzvwHUABmiWKlcxJvMcu59UwTg==
79 | dependencies:
80 | "@babel/helper-annotate-as-pure" "^7.8.3"
81 | "@babel/helper-module-imports" "^7.8.3"
82 | "@babel/types" "^7.9.5"
83 |
84 | "@babel/helper-builder-react-jsx@^7.9.0":
85 | version "7.9.0"
86 | resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.9.0.tgz#16bf391990b57732700a3278d4d9a81231ea8d32"
87 | integrity sha512-weiIo4gaoGgnhff54GQ3P5wsUQmnSwpkvU0r6ZHq6TzoSzKy4JxHEgnxNytaKbov2a9z/CVNyzliuCOUPEX3Jw==
88 | dependencies:
89 | "@babel/helper-annotate-as-pure" "^7.8.3"
90 | "@babel/types" "^7.9.0"
91 |
92 | "@babel/helper-compilation-targets@^7.9.6":
93 | version "7.9.6"
94 | resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.9.6.tgz#1e05b7ccc9d38d2f8b40b458b380a04dcfadd38a"
95 | integrity sha512-x2Nvu0igO0ejXzx09B/1fGBxY9NXQlBW2kZsSxCJft+KHN8t9XWzIvFxtPHnBOAXpVsdxZKZFbRUC8TsNKajMw==
96 | dependencies:
97 | "@babel/compat-data" "^7.9.6"
98 | browserslist "^4.11.1"
99 | invariant "^2.2.4"
100 | levenary "^1.1.1"
101 | semver "^5.5.0"
102 |
103 | "@babel/helper-create-class-features-plugin@^7.8.3":
104 | version "7.9.6"
105 | resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.9.6.tgz#965c8b0a9f051801fd9d3b372ca0ccf200a90897"
106 | integrity sha512-6N9IeuyHvMBRyjNYOMJHrhwtu4WJMrYf8hVbEHD3pbbbmNOk1kmXSQs7bA4dYDUaIx4ZEzdnvo6NwC3WHd/Qow==
107 | dependencies:
108 | "@babel/helper-function-name" "^7.9.5"
109 | "@babel/helper-member-expression-to-functions" "^7.8.3"
110 | "@babel/helper-optimise-call-expression" "^7.8.3"
111 | "@babel/helper-plugin-utils" "^7.8.3"
112 | "@babel/helper-replace-supers" "^7.9.6"
113 | "@babel/helper-split-export-declaration" "^7.8.3"
114 |
115 | "@babel/helper-create-regexp-features-plugin@^7.8.3", "@babel/helper-create-regexp-features-plugin@^7.8.8":
116 | version "7.8.8"
117 | resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz#5d84180b588f560b7864efaeea89243e58312087"
118 | integrity sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg==
119 | dependencies:
120 | "@babel/helper-annotate-as-pure" "^7.8.3"
121 | "@babel/helper-regex" "^7.8.3"
122 | regexpu-core "^4.7.0"
123 |
124 | "@babel/helper-define-map@^7.8.3":
125 | version "7.8.3"
126 | resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz#a0655cad5451c3760b726eba875f1cd8faa02c15"
127 | integrity sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g==
128 | dependencies:
129 | "@babel/helper-function-name" "^7.8.3"
130 | "@babel/types" "^7.8.3"
131 | lodash "^4.17.13"
132 |
133 | "@babel/helper-explode-assignable-expression@^7.8.3":
134 | version "7.8.3"
135 | resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz#a728dc5b4e89e30fc2dfc7d04fa28a930653f982"
136 | integrity sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw==
137 | dependencies:
138 | "@babel/traverse" "^7.8.3"
139 | "@babel/types" "^7.8.3"
140 |
141 | "@babel/helper-function-name@^7.8.3", "@babel/helper-function-name@^7.9.5":
142 | version "7.9.5"
143 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz#2b53820d35275120e1874a82e5aabe1376920a5c"
144 | integrity sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw==
145 | dependencies:
146 | "@babel/helper-get-function-arity" "^7.8.3"
147 | "@babel/template" "^7.8.3"
148 | "@babel/types" "^7.9.5"
149 |
150 | "@babel/helper-get-function-arity@^7.8.3":
151 | version "7.8.3"
152 | resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5"
153 | integrity sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==
154 | dependencies:
155 | "@babel/types" "^7.8.3"
156 |
157 | "@babel/helper-hoist-variables@^7.8.3":
158 | version "7.8.3"
159 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz#1dbe9b6b55d78c9b4183fc8cdc6e30ceb83b7134"
160 | integrity sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==
161 | dependencies:
162 | "@babel/types" "^7.8.3"
163 |
164 | "@babel/helper-member-expression-to-functions@^7.8.3":
165 | version "7.8.3"
166 | resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz#659b710498ea6c1d9907e0c73f206eee7dadc24c"
167 | integrity sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==
168 | dependencies:
169 | "@babel/types" "^7.8.3"
170 |
171 | "@babel/helper-module-imports@^7.0.0":
172 | version "7.0.0"
173 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d"
174 | integrity sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==
175 | dependencies:
176 | "@babel/types" "^7.0.0"
177 |
178 | "@babel/helper-module-imports@^7.8.3":
179 | version "7.8.3"
180 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz#7fe39589b39c016331b6b8c3f441e8f0b1419498"
181 | integrity sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==
182 | dependencies:
183 | "@babel/types" "^7.8.3"
184 |
185 | "@babel/helper-module-transforms@^7.9.0":
186 | version "7.9.0"
187 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz#43b34dfe15961918707d247327431388e9fe96e5"
188 | integrity sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA==
189 | dependencies:
190 | "@babel/helper-module-imports" "^7.8.3"
191 | "@babel/helper-replace-supers" "^7.8.6"
192 | "@babel/helper-simple-access" "^7.8.3"
193 | "@babel/helper-split-export-declaration" "^7.8.3"
194 | "@babel/template" "^7.8.6"
195 | "@babel/types" "^7.9.0"
196 | lodash "^4.17.13"
197 |
198 | "@babel/helper-optimise-call-expression@^7.8.3":
199 | version "7.8.3"
200 | resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz#7ed071813d09c75298ef4f208956006b6111ecb9"
201 | integrity sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==
202 | dependencies:
203 | "@babel/types" "^7.8.3"
204 |
205 | "@babel/helper-plugin-utils@^7.0.0":
206 | version "7.0.0"
207 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250"
208 | integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==
209 |
210 | "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
211 | version "7.8.3"
212 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz#9ea293be19babc0f52ff8ca88b34c3611b208670"
213 | integrity sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==
214 |
215 | "@babel/helper-regex@^7.8.3":
216 | version "7.8.3"
217 | resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.8.3.tgz#139772607d51b93f23effe72105b319d2a4c6965"
218 | integrity sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==
219 | dependencies:
220 | lodash "^4.17.13"
221 |
222 | "@babel/helper-remap-async-to-generator@^7.8.3":
223 | version "7.8.3"
224 | resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz#273c600d8b9bf5006142c1e35887d555c12edd86"
225 | integrity sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA==
226 | dependencies:
227 | "@babel/helper-annotate-as-pure" "^7.8.3"
228 | "@babel/helper-wrap-function" "^7.8.3"
229 | "@babel/template" "^7.8.3"
230 | "@babel/traverse" "^7.8.3"
231 | "@babel/types" "^7.8.3"
232 |
233 | "@babel/helper-replace-supers@^7.8.3", "@babel/helper-replace-supers@^7.8.6", "@babel/helper-replace-supers@^7.9.6":
234 | version "7.9.6"
235 | resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz#03149d7e6a5586ab6764996cd31d6981a17e1444"
236 | integrity sha512-qX+chbxkbArLyCImk3bWV+jB5gTNU/rsze+JlcF6Nf8tVTigPJSI1o1oBow/9Resa1yehUO9lIipsmu9oG4RzA==
237 | dependencies:
238 | "@babel/helper-member-expression-to-functions" "^7.8.3"
239 | "@babel/helper-optimise-call-expression" "^7.8.3"
240 | "@babel/traverse" "^7.9.6"
241 | "@babel/types" "^7.9.6"
242 |
243 | "@babel/helper-simple-access@^7.8.3":
244 | version "7.8.3"
245 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz#7f8109928b4dab4654076986af575231deb639ae"
246 | integrity sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==
247 | dependencies:
248 | "@babel/template" "^7.8.3"
249 | "@babel/types" "^7.8.3"
250 |
251 | "@babel/helper-split-export-declaration@^7.8.3":
252 | version "7.8.3"
253 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9"
254 | integrity sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==
255 | dependencies:
256 | "@babel/types" "^7.8.3"
257 |
258 | "@babel/helper-validator-identifier@^7.9.0", "@babel/helper-validator-identifier@^7.9.5":
259 | version "7.9.5"
260 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80"
261 | integrity sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==
262 |
263 | "@babel/helper-wrap-function@^7.8.3":
264 | version "7.8.3"
265 | resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz#9dbdb2bb55ef14aaa01fe8c99b629bd5352d8610"
266 | integrity sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ==
267 | dependencies:
268 | "@babel/helper-function-name" "^7.8.3"
269 | "@babel/template" "^7.8.3"
270 | "@babel/traverse" "^7.8.3"
271 | "@babel/types" "^7.8.3"
272 |
273 | "@babel/helpers@^7.9.6":
274 | version "7.9.6"
275 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.9.6.tgz#092c774743471d0bb6c7de3ad465ab3d3486d580"
276 | integrity sha512-tI4bUbldloLcHWoRUMAj4g1bF313M/o6fBKhIsb3QnGVPwRm9JsNf/gqMkQ7zjqReABiffPV6RWj7hEglID5Iw==
277 | dependencies:
278 | "@babel/template" "^7.8.3"
279 | "@babel/traverse" "^7.9.6"
280 | "@babel/types" "^7.9.6"
281 |
282 | "@babel/highlight@^7.0.0":
283 | version "7.0.0"
284 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4"
285 | integrity sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==
286 | dependencies:
287 | chalk "^2.0.0"
288 | esutils "^2.0.2"
289 | js-tokens "^4.0.0"
290 |
291 | "@babel/highlight@^7.8.3":
292 | version "7.9.0"
293 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.9.0.tgz#4e9b45ccb82b79607271b2979ad82c7b68163079"
294 | integrity sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==
295 | dependencies:
296 | "@babel/helper-validator-identifier" "^7.9.0"
297 | chalk "^2.0.0"
298 | js-tokens "^4.0.0"
299 |
300 | "@babel/parser@^7.7.0", "@babel/parser@^7.8.6", "@babel/parser@^7.9.6":
301 | version "7.9.6"
302 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.6.tgz#3b1bbb30dabe600cd72db58720998376ff653bc7"
303 | integrity sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q==
304 |
305 | "@babel/plugin-proposal-async-generator-functions@^7.8.3":
306 | version "7.8.3"
307 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz#bad329c670b382589721b27540c7d288601c6e6f"
308 | integrity sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw==
309 | dependencies:
310 | "@babel/helper-plugin-utils" "^7.8.3"
311 | "@babel/helper-remap-async-to-generator" "^7.8.3"
312 | "@babel/plugin-syntax-async-generators" "^7.8.0"
313 |
314 | "@babel/plugin-proposal-class-properties@^7.8.3":
315 | version "7.8.3"
316 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.8.3.tgz#5e06654af5cd04b608915aada9b2a6788004464e"
317 | integrity sha512-EqFhbo7IosdgPgZggHaNObkmO1kNUe3slaKu54d5OWvy+p9QIKOzK1GAEpAIsZtWVtPXUHSMcT4smvDrCfY4AA==
318 | dependencies:
319 | "@babel/helper-create-class-features-plugin" "^7.8.3"
320 | "@babel/helper-plugin-utils" "^7.8.3"
321 |
322 | "@babel/plugin-proposal-dynamic-import@^7.8.3":
323 | version "7.8.3"
324 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz#38c4fe555744826e97e2ae930b0fb4cc07e66054"
325 | integrity sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w==
326 | dependencies:
327 | "@babel/helper-plugin-utils" "^7.8.3"
328 | "@babel/plugin-syntax-dynamic-import" "^7.8.0"
329 |
330 | "@babel/plugin-proposal-json-strings@^7.8.3":
331 | version "7.8.3"
332 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz#da5216b238a98b58a1e05d6852104b10f9a70d6b"
333 | integrity sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q==
334 | dependencies:
335 | "@babel/helper-plugin-utils" "^7.8.3"
336 | "@babel/plugin-syntax-json-strings" "^7.8.0"
337 |
338 | "@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3":
339 | version "7.8.3"
340 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz#e4572253fdeed65cddeecfdab3f928afeb2fd5d2"
341 | integrity sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw==
342 | dependencies:
343 | "@babel/helper-plugin-utils" "^7.8.3"
344 | "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0"
345 |
346 | "@babel/plugin-proposal-numeric-separator@^7.8.3":
347 | version "7.8.3"
348 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.8.3.tgz#5d6769409699ec9b3b68684cd8116cedff93bad8"
349 | integrity sha512-jWioO1s6R/R+wEHizfaScNsAx+xKgwTLNXSh7tTC4Usj3ItsPEhYkEpU4h+lpnBwq7NBVOJXfO6cRFYcX69JUQ==
350 | dependencies:
351 | "@babel/helper-plugin-utils" "^7.8.3"
352 | "@babel/plugin-syntax-numeric-separator" "^7.8.3"
353 |
354 | "@babel/plugin-proposal-object-rest-spread@^7.9.6":
355 | version "7.9.6"
356 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.6.tgz#7a093586fcb18b08266eb1a7177da671ac575b63"
357 | integrity sha512-Ga6/fhGqA9Hj+y6whNpPv8psyaK5xzrQwSPsGPloVkvmH+PqW1ixdnfJ9uIO06OjQNYol3PMnfmJ8vfZtkzF+A==
358 | dependencies:
359 | "@babel/helper-plugin-utils" "^7.8.3"
360 | "@babel/plugin-syntax-object-rest-spread" "^7.8.0"
361 | "@babel/plugin-transform-parameters" "^7.9.5"
362 |
363 | "@babel/plugin-proposal-optional-catch-binding@^7.8.3":
364 | version "7.8.3"
365 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz#9dee96ab1650eed88646ae9734ca167ac4a9c5c9"
366 | integrity sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw==
367 | dependencies:
368 | "@babel/helper-plugin-utils" "^7.8.3"
369 | "@babel/plugin-syntax-optional-catch-binding" "^7.8.0"
370 |
371 | "@babel/plugin-proposal-optional-chaining@^7.9.0":
372 | version "7.9.0"
373 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.9.0.tgz#31db16b154c39d6b8a645292472b98394c292a58"
374 | integrity sha512-NDn5tu3tcv4W30jNhmc2hyD5c56G6cXx4TesJubhxrJeCvuuMpttxr0OnNCqbZGhFjLrg+NIhxxC+BK5F6yS3w==
375 | dependencies:
376 | "@babel/helper-plugin-utils" "^7.8.3"
377 | "@babel/plugin-syntax-optional-chaining" "^7.8.0"
378 |
379 | "@babel/plugin-proposal-unicode-property-regex@^7.4.4", "@babel/plugin-proposal-unicode-property-regex@^7.8.3":
380 | version "7.8.8"
381 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz#ee3a95e90cdc04fe8cd92ec3279fa017d68a0d1d"
382 | integrity sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A==
383 | dependencies:
384 | "@babel/helper-create-regexp-features-plugin" "^7.8.8"
385 | "@babel/helper-plugin-utils" "^7.8.3"
386 |
387 | "@babel/plugin-syntax-async-generators@^7.8.0":
388 | version "7.8.4"
389 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d"
390 | integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==
391 | dependencies:
392 | "@babel/helper-plugin-utils" "^7.8.0"
393 |
394 | "@babel/plugin-syntax-dynamic-import@^7.8.0":
395 | version "7.8.3"
396 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3"
397 | integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==
398 | dependencies:
399 | "@babel/helper-plugin-utils" "^7.8.0"
400 |
401 | "@babel/plugin-syntax-json-strings@^7.8.0":
402 | version "7.8.3"
403 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a"
404 | integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==
405 | dependencies:
406 | "@babel/helper-plugin-utils" "^7.8.0"
407 |
408 | "@babel/plugin-syntax-jsx@^7.8.3":
409 | version "7.8.3"
410 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.3.tgz#521b06c83c40480f1e58b4fd33b92eceb1d6ea94"
411 | integrity sha512-WxdW9xyLgBdefoo0Ynn3MRSkhe5tFVxxKNVdnZSh318WrG2e2jH+E9wd/++JsqcLJZPfz87njQJ8j2Upjm0M0A==
412 | dependencies:
413 | "@babel/helper-plugin-utils" "^7.8.3"
414 |
415 | "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0":
416 | version "7.8.3"
417 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9"
418 | integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==
419 | dependencies:
420 | "@babel/helper-plugin-utils" "^7.8.0"
421 |
422 | "@babel/plugin-syntax-numeric-separator@^7.8.0", "@babel/plugin-syntax-numeric-separator@^7.8.3":
423 | version "7.8.3"
424 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz#0e3fb63e09bea1b11e96467271c8308007e7c41f"
425 | integrity sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw==
426 | dependencies:
427 | "@babel/helper-plugin-utils" "^7.8.3"
428 |
429 | "@babel/plugin-syntax-object-rest-spread@^7.8.0":
430 | version "7.8.3"
431 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871"
432 | integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==
433 | dependencies:
434 | "@babel/helper-plugin-utils" "^7.8.0"
435 |
436 | "@babel/plugin-syntax-optional-catch-binding@^7.8.0":
437 | version "7.8.3"
438 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1"
439 | integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==
440 | dependencies:
441 | "@babel/helper-plugin-utils" "^7.8.0"
442 |
443 | "@babel/plugin-syntax-optional-chaining@^7.8.0":
444 | version "7.8.3"
445 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a"
446 | integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==
447 | dependencies:
448 | "@babel/helper-plugin-utils" "^7.8.0"
449 |
450 | "@babel/plugin-syntax-top-level-await@^7.8.3":
451 | version "7.8.3"
452 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz#3acdece695e6b13aaf57fc291d1a800950c71391"
453 | integrity sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g==
454 | dependencies:
455 | "@babel/helper-plugin-utils" "^7.8.3"
456 |
457 | "@babel/plugin-transform-arrow-functions@^7.8.3":
458 | version "7.8.3"
459 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz#82776c2ed0cd9e1a49956daeb896024c9473b8b6"
460 | integrity sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg==
461 | dependencies:
462 | "@babel/helper-plugin-utils" "^7.8.3"
463 |
464 | "@babel/plugin-transform-async-to-generator@^7.8.3":
465 | version "7.8.3"
466 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz#4308fad0d9409d71eafb9b1a6ee35f9d64b64086"
467 | integrity sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ==
468 | dependencies:
469 | "@babel/helper-module-imports" "^7.8.3"
470 | "@babel/helper-plugin-utils" "^7.8.3"
471 | "@babel/helper-remap-async-to-generator" "^7.8.3"
472 |
473 | "@babel/plugin-transform-block-scoped-functions@^7.8.3":
474 | version "7.8.3"
475 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz#437eec5b799b5852072084b3ae5ef66e8349e8a3"
476 | integrity sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg==
477 | dependencies:
478 | "@babel/helper-plugin-utils" "^7.8.3"
479 |
480 | "@babel/plugin-transform-block-scoping@^7.8.3":
481 | version "7.8.3"
482 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz#97d35dab66857a437c166358b91d09050c868f3a"
483 | integrity sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w==
484 | dependencies:
485 | "@babel/helper-plugin-utils" "^7.8.3"
486 | lodash "^4.17.13"
487 |
488 | "@babel/plugin-transform-classes@^7.9.5":
489 | version "7.9.5"
490 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.5.tgz#800597ddb8aefc2c293ed27459c1fcc935a26c2c"
491 | integrity sha512-x2kZoIuLC//O5iA7PEvecB105o7TLzZo8ofBVhP79N+DO3jaX+KYfww9TQcfBEZD0nikNyYcGB1IKtRq36rdmg==
492 | dependencies:
493 | "@babel/helper-annotate-as-pure" "^7.8.3"
494 | "@babel/helper-define-map" "^7.8.3"
495 | "@babel/helper-function-name" "^7.9.5"
496 | "@babel/helper-optimise-call-expression" "^7.8.3"
497 | "@babel/helper-plugin-utils" "^7.8.3"
498 | "@babel/helper-replace-supers" "^7.8.6"
499 | "@babel/helper-split-export-declaration" "^7.8.3"
500 | globals "^11.1.0"
501 |
502 | "@babel/plugin-transform-computed-properties@^7.8.3":
503 | version "7.8.3"
504 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz#96d0d28b7f7ce4eb5b120bb2e0e943343c86f81b"
505 | integrity sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA==
506 | dependencies:
507 | "@babel/helper-plugin-utils" "^7.8.3"
508 |
509 | "@babel/plugin-transform-destructuring@^7.9.5":
510 | version "7.9.5"
511 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.9.5.tgz#72c97cf5f38604aea3abf3b935b0e17b1db76a50"
512 | integrity sha512-j3OEsGel8nHL/iusv/mRd5fYZ3DrOxWC82x0ogmdN/vHfAP4MYw+AFKYanzWlktNwikKvlzUV//afBW5FTp17Q==
513 | dependencies:
514 | "@babel/helper-plugin-utils" "^7.8.3"
515 |
516 | "@babel/plugin-transform-dotall-regex@^7.4.4", "@babel/plugin-transform-dotall-regex@^7.8.3":
517 | version "7.8.3"
518 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz#c3c6ec5ee6125c6993c5cbca20dc8621a9ea7a6e"
519 | integrity sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw==
520 | dependencies:
521 | "@babel/helper-create-regexp-features-plugin" "^7.8.3"
522 | "@babel/helper-plugin-utils" "^7.8.3"
523 |
524 | "@babel/plugin-transform-duplicate-keys@^7.8.3":
525 | version "7.8.3"
526 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz#8d12df309aa537f272899c565ea1768e286e21f1"
527 | integrity sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ==
528 | dependencies:
529 | "@babel/helper-plugin-utils" "^7.8.3"
530 |
531 | "@babel/plugin-transform-exponentiation-operator@^7.8.3":
532 | version "7.8.3"
533 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz#581a6d7f56970e06bf51560cd64f5e947b70d7b7"
534 | integrity sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ==
535 | dependencies:
536 | "@babel/helper-builder-binary-assignment-operator-visitor" "^7.8.3"
537 | "@babel/helper-plugin-utils" "^7.8.3"
538 |
539 | "@babel/plugin-transform-for-of@^7.9.0":
540 | version "7.9.0"
541 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.9.0.tgz#0f260e27d3e29cd1bb3128da5e76c761aa6c108e"
542 | integrity sha512-lTAnWOpMwOXpyDx06N+ywmF3jNbafZEqZ96CGYabxHrxNX8l5ny7dt4bK/rGwAh9utyP2b2Hv7PlZh1AAS54FQ==
543 | dependencies:
544 | "@babel/helper-plugin-utils" "^7.8.3"
545 |
546 | "@babel/plugin-transform-function-name@^7.8.3":
547 | version "7.8.3"
548 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz#279373cb27322aaad67c2683e776dfc47196ed8b"
549 | integrity sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ==
550 | dependencies:
551 | "@babel/helper-function-name" "^7.8.3"
552 | "@babel/helper-plugin-utils" "^7.8.3"
553 |
554 | "@babel/plugin-transform-literals@^7.8.3":
555 | version "7.8.3"
556 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz#aef239823d91994ec7b68e55193525d76dbd5dc1"
557 | integrity sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A==
558 | dependencies:
559 | "@babel/helper-plugin-utils" "^7.8.3"
560 |
561 | "@babel/plugin-transform-member-expression-literals@^7.8.3":
562 | version "7.8.3"
563 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz#963fed4b620ac7cbf6029c755424029fa3a40410"
564 | integrity sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA==
565 | dependencies:
566 | "@babel/helper-plugin-utils" "^7.8.3"
567 |
568 | "@babel/plugin-transform-modules-amd@^7.9.6":
569 | version "7.9.6"
570 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.6.tgz#8539ec42c153d12ea3836e0e3ac30d5aae7b258e"
571 | integrity sha512-zoT0kgC3EixAyIAU+9vfaUVKTv9IxBDSabgHoUCBP6FqEJ+iNiN7ip7NBKcYqbfUDfuC2mFCbM7vbu4qJgOnDw==
572 | dependencies:
573 | "@babel/helper-module-transforms" "^7.9.0"
574 | "@babel/helper-plugin-utils" "^7.8.3"
575 | babel-plugin-dynamic-import-node "^2.3.3"
576 |
577 | "@babel/plugin-transform-modules-commonjs@^7.9.6":
578 | version "7.9.6"
579 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.6.tgz#64b7474a4279ee588cacd1906695ca721687c277"
580 | integrity sha512-7H25fSlLcn+iYimmsNe3uK1at79IE6SKW9q0/QeEHTMC9MdOZ+4bA+T1VFB5fgOqBWoqlifXRzYD0JPdmIrgSQ==
581 | dependencies:
582 | "@babel/helper-module-transforms" "^7.9.0"
583 | "@babel/helper-plugin-utils" "^7.8.3"
584 | "@babel/helper-simple-access" "^7.8.3"
585 | babel-plugin-dynamic-import-node "^2.3.3"
586 |
587 | "@babel/plugin-transform-modules-systemjs@^7.9.6":
588 | version "7.9.6"
589 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.9.6.tgz#207f1461c78a231d5337a92140e52422510d81a4"
590 | integrity sha512-NW5XQuW3N2tTHim8e1b7qGy7s0kZ2OH3m5octc49K1SdAKGxYxeIx7hiIz05kS1R2R+hOWcsr1eYwcGhrdHsrg==
591 | dependencies:
592 | "@babel/helper-hoist-variables" "^7.8.3"
593 | "@babel/helper-module-transforms" "^7.9.0"
594 | "@babel/helper-plugin-utils" "^7.8.3"
595 | babel-plugin-dynamic-import-node "^2.3.3"
596 |
597 | "@babel/plugin-transform-modules-umd@^7.9.0":
598 | version "7.9.0"
599 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.9.0.tgz#e909acae276fec280f9b821a5f38e1f08b480697"
600 | integrity sha512-uTWkXkIVtg/JGRSIABdBoMsoIeoHQHPTL0Y2E7xf5Oj7sLqwVsNXOkNk0VJc7vF0IMBsPeikHxFjGe+qmwPtTQ==
601 | dependencies:
602 | "@babel/helper-module-transforms" "^7.9.0"
603 | "@babel/helper-plugin-utils" "^7.8.3"
604 |
605 | "@babel/plugin-transform-named-capturing-groups-regex@^7.8.3":
606 | version "7.8.3"
607 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz#a2a72bffa202ac0e2d0506afd0939c5ecbc48c6c"
608 | integrity sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==
609 | dependencies:
610 | "@babel/helper-create-regexp-features-plugin" "^7.8.3"
611 |
612 | "@babel/plugin-transform-new-target@^7.8.3":
613 | version "7.8.3"
614 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz#60cc2ae66d85c95ab540eb34babb6434d4c70c43"
615 | integrity sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw==
616 | dependencies:
617 | "@babel/helper-plugin-utils" "^7.8.3"
618 |
619 | "@babel/plugin-transform-object-super@^7.8.3":
620 | version "7.8.3"
621 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz#ebb6a1e7a86ffa96858bd6ac0102d65944261725"
622 | integrity sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ==
623 | dependencies:
624 | "@babel/helper-plugin-utils" "^7.8.3"
625 | "@babel/helper-replace-supers" "^7.8.3"
626 |
627 | "@babel/plugin-transform-parameters@^7.9.5":
628 | version "7.9.5"
629 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.9.5.tgz#173b265746f5e15b2afe527eeda65b73623a0795"
630 | integrity sha512-0+1FhHnMfj6lIIhVvS4KGQJeuhe1GI//h5uptK4PvLt+BGBxsoUJbd3/IW002yk//6sZPlFgsG1hY6OHLcy6kA==
631 | dependencies:
632 | "@babel/helper-get-function-arity" "^7.8.3"
633 | "@babel/helper-plugin-utils" "^7.8.3"
634 |
635 | "@babel/plugin-transform-property-literals@^7.8.3":
636 | version "7.8.3"
637 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz#33194300d8539c1ed28c62ad5087ba3807b98263"
638 | integrity sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg==
639 | dependencies:
640 | "@babel/helper-plugin-utils" "^7.8.3"
641 |
642 | "@babel/plugin-transform-react-display-name@^7.8.3":
643 | version "7.8.3"
644 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.8.3.tgz#70ded987c91609f78353dd76d2fb2a0bb991e8e5"
645 | integrity sha512-3Jy/PCw8Fe6uBKtEgz3M82ljt+lTg+xJaM4og+eyu83qLT87ZUSckn0wy7r31jflURWLO83TW6Ylf7lyXj3m5A==
646 | dependencies:
647 | "@babel/helper-plugin-utils" "^7.8.3"
648 |
649 | "@babel/plugin-transform-react-jsx-development@^7.9.0":
650 | version "7.9.0"
651 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.9.0.tgz#3c2a130727caf00c2a293f0aed24520825dbf754"
652 | integrity sha512-tK8hWKrQncVvrhvtOiPpKrQjfNX3DtkNLSX4ObuGcpS9p0QrGetKmlySIGR07y48Zft8WVgPakqd/bk46JrMSw==
653 | dependencies:
654 | "@babel/helper-builder-react-jsx-experimental" "^7.9.0"
655 | "@babel/helper-plugin-utils" "^7.8.3"
656 | "@babel/plugin-syntax-jsx" "^7.8.3"
657 |
658 | "@babel/plugin-transform-react-jsx-self@^7.9.0":
659 | version "7.9.0"
660 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.9.0.tgz#f4f26a325820205239bb915bad8e06fcadabb49b"
661 | integrity sha512-K2ObbWPKT7KUTAoyjCsFilOkEgMvFG+y0FqOl6Lezd0/13kMkkjHskVsZvblRPj1PHA44PrToaZANrryppzTvQ==
662 | dependencies:
663 | "@babel/helper-plugin-utils" "^7.8.3"
664 | "@babel/plugin-syntax-jsx" "^7.8.3"
665 |
666 | "@babel/plugin-transform-react-jsx-source@^7.9.0":
667 | version "7.9.0"
668 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.9.0.tgz#89ef93025240dd5d17d3122294a093e5e0183de0"
669 | integrity sha512-K6m3LlSnTSfRkM6FcRk8saNEeaeyG5k7AVkBU2bZK3+1zdkSED3qNdsWrUgQBeTVD2Tp3VMmerxVO2yM5iITmw==
670 | dependencies:
671 | "@babel/helper-plugin-utils" "^7.8.3"
672 | "@babel/plugin-syntax-jsx" "^7.8.3"
673 |
674 | "@babel/plugin-transform-react-jsx@^7.9.4":
675 | version "7.9.4"
676 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.9.4.tgz#86f576c8540bd06d0e95e0b61ea76d55f6cbd03f"
677 | integrity sha512-Mjqf3pZBNLt854CK0C/kRuXAnE6H/bo7xYojP+WGtX8glDGSibcwnsWwhwoSuRg0+EBnxPC1ouVnuetUIlPSAw==
678 | dependencies:
679 | "@babel/helper-builder-react-jsx" "^7.9.0"
680 | "@babel/helper-builder-react-jsx-experimental" "^7.9.0"
681 | "@babel/helper-plugin-utils" "^7.8.3"
682 | "@babel/plugin-syntax-jsx" "^7.8.3"
683 |
684 | "@babel/plugin-transform-regenerator@^7.8.7":
685 | version "7.8.7"
686 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz#5e46a0dca2bee1ad8285eb0527e6abc9c37672f8"
687 | integrity sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA==
688 | dependencies:
689 | regenerator-transform "^0.14.2"
690 |
691 | "@babel/plugin-transform-reserved-words@^7.8.3":
692 | version "7.8.3"
693 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz#9a0635ac4e665d29b162837dd3cc50745dfdf1f5"
694 | integrity sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A==
695 | dependencies:
696 | "@babel/helper-plugin-utils" "^7.8.3"
697 |
698 | "@babel/plugin-transform-shorthand-properties@^7.8.3":
699 | version "7.8.3"
700 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz#28545216e023a832d4d3a1185ed492bcfeac08c8"
701 | integrity sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w==
702 | dependencies:
703 | "@babel/helper-plugin-utils" "^7.8.3"
704 |
705 | "@babel/plugin-transform-spread@^7.8.3":
706 | version "7.8.3"
707 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz#9c8ffe8170fdfb88b114ecb920b82fb6e95fe5e8"
708 | integrity sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g==
709 | dependencies:
710 | "@babel/helper-plugin-utils" "^7.8.3"
711 |
712 | "@babel/plugin-transform-sticky-regex@^7.8.3":
713 | version "7.8.3"
714 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz#be7a1290f81dae767475452199e1f76d6175b100"
715 | integrity sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw==
716 | dependencies:
717 | "@babel/helper-plugin-utils" "^7.8.3"
718 | "@babel/helper-regex" "^7.8.3"
719 |
720 | "@babel/plugin-transform-template-literals@^7.8.3":
721 | version "7.8.3"
722 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz#7bfa4732b455ea6a43130adc0ba767ec0e402a80"
723 | integrity sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ==
724 | dependencies:
725 | "@babel/helper-annotate-as-pure" "^7.8.3"
726 | "@babel/helper-plugin-utils" "^7.8.3"
727 |
728 | "@babel/plugin-transform-typeof-symbol@^7.8.4":
729 | version "7.8.4"
730 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz#ede4062315ce0aaf8a657a920858f1a2f35fc412"
731 | integrity sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg==
732 | dependencies:
733 | "@babel/helper-plugin-utils" "^7.8.3"
734 |
735 | "@babel/plugin-transform-unicode-regex@^7.8.3":
736 | version "7.8.3"
737 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz#0cef36e3ba73e5c57273effb182f46b91a1ecaad"
738 | integrity sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw==
739 | dependencies:
740 | "@babel/helper-create-regexp-features-plugin" "^7.8.3"
741 | "@babel/helper-plugin-utils" "^7.8.3"
742 |
743 | "@babel/preset-env@^7.9.6":
744 | version "7.9.6"
745 | resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.9.6.tgz#df063b276c6455ec6fcfc6e53aacc38da9b0aea6"
746 | integrity sha512-0gQJ9RTzO0heXOhzftog+a/WyOuqMrAIugVYxMYf83gh1CQaQDjMtsOpqOwXyDL/5JcWsrCm8l4ju8QC97O7EQ==
747 | dependencies:
748 | "@babel/compat-data" "^7.9.6"
749 | "@babel/helper-compilation-targets" "^7.9.6"
750 | "@babel/helper-module-imports" "^7.8.3"
751 | "@babel/helper-plugin-utils" "^7.8.3"
752 | "@babel/plugin-proposal-async-generator-functions" "^7.8.3"
753 | "@babel/plugin-proposal-dynamic-import" "^7.8.3"
754 | "@babel/plugin-proposal-json-strings" "^7.8.3"
755 | "@babel/plugin-proposal-nullish-coalescing-operator" "^7.8.3"
756 | "@babel/plugin-proposal-numeric-separator" "^7.8.3"
757 | "@babel/plugin-proposal-object-rest-spread" "^7.9.6"
758 | "@babel/plugin-proposal-optional-catch-binding" "^7.8.3"
759 | "@babel/plugin-proposal-optional-chaining" "^7.9.0"
760 | "@babel/plugin-proposal-unicode-property-regex" "^7.8.3"
761 | "@babel/plugin-syntax-async-generators" "^7.8.0"
762 | "@babel/plugin-syntax-dynamic-import" "^7.8.0"
763 | "@babel/plugin-syntax-json-strings" "^7.8.0"
764 | "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0"
765 | "@babel/plugin-syntax-numeric-separator" "^7.8.0"
766 | "@babel/plugin-syntax-object-rest-spread" "^7.8.0"
767 | "@babel/plugin-syntax-optional-catch-binding" "^7.8.0"
768 | "@babel/plugin-syntax-optional-chaining" "^7.8.0"
769 | "@babel/plugin-syntax-top-level-await" "^7.8.3"
770 | "@babel/plugin-transform-arrow-functions" "^7.8.3"
771 | "@babel/plugin-transform-async-to-generator" "^7.8.3"
772 | "@babel/plugin-transform-block-scoped-functions" "^7.8.3"
773 | "@babel/plugin-transform-block-scoping" "^7.8.3"
774 | "@babel/plugin-transform-classes" "^7.9.5"
775 | "@babel/plugin-transform-computed-properties" "^7.8.3"
776 | "@babel/plugin-transform-destructuring" "^7.9.5"
777 | "@babel/plugin-transform-dotall-regex" "^7.8.3"
778 | "@babel/plugin-transform-duplicate-keys" "^7.8.3"
779 | "@babel/plugin-transform-exponentiation-operator" "^7.8.3"
780 | "@babel/plugin-transform-for-of" "^7.9.0"
781 | "@babel/plugin-transform-function-name" "^7.8.3"
782 | "@babel/plugin-transform-literals" "^7.8.3"
783 | "@babel/plugin-transform-member-expression-literals" "^7.8.3"
784 | "@babel/plugin-transform-modules-amd" "^7.9.6"
785 | "@babel/plugin-transform-modules-commonjs" "^7.9.6"
786 | "@babel/plugin-transform-modules-systemjs" "^7.9.6"
787 | "@babel/plugin-transform-modules-umd" "^7.9.0"
788 | "@babel/plugin-transform-named-capturing-groups-regex" "^7.8.3"
789 | "@babel/plugin-transform-new-target" "^7.8.3"
790 | "@babel/plugin-transform-object-super" "^7.8.3"
791 | "@babel/plugin-transform-parameters" "^7.9.5"
792 | "@babel/plugin-transform-property-literals" "^7.8.3"
793 | "@babel/plugin-transform-regenerator" "^7.8.7"
794 | "@babel/plugin-transform-reserved-words" "^7.8.3"
795 | "@babel/plugin-transform-shorthand-properties" "^7.8.3"
796 | "@babel/plugin-transform-spread" "^7.8.3"
797 | "@babel/plugin-transform-sticky-regex" "^7.8.3"
798 | "@babel/plugin-transform-template-literals" "^7.8.3"
799 | "@babel/plugin-transform-typeof-symbol" "^7.8.4"
800 | "@babel/plugin-transform-unicode-regex" "^7.8.3"
801 | "@babel/preset-modules" "^0.1.3"
802 | "@babel/types" "^7.9.6"
803 | browserslist "^4.11.1"
804 | core-js-compat "^3.6.2"
805 | invariant "^2.2.2"
806 | levenary "^1.1.1"
807 | semver "^5.5.0"
808 |
809 | "@babel/preset-modules@^0.1.3":
810 | version "0.1.3"
811 | resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.3.tgz#13242b53b5ef8c883c3cf7dddd55b36ce80fbc72"
812 | integrity sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==
813 | dependencies:
814 | "@babel/helper-plugin-utils" "^7.0.0"
815 | "@babel/plugin-proposal-unicode-property-regex" "^7.4.4"
816 | "@babel/plugin-transform-dotall-regex" "^7.4.4"
817 | "@babel/types" "^7.4.4"
818 | esutils "^2.0.2"
819 |
820 | "@babel/preset-react@7.9.4":
821 | version "7.9.4"
822 | resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.9.4.tgz#c6c97693ac65b6b9c0b4f25b948a8f665463014d"
823 | integrity sha512-AxylVB3FXeOTQXNXyiuAQJSvss62FEotbX2Pzx3K/7c+MKJMdSg6Ose6QYllkdCFA8EInCJVw7M/o5QbLuA4ZQ==
824 | dependencies:
825 | "@babel/helper-plugin-utils" "^7.8.3"
826 | "@babel/plugin-transform-react-display-name" "^7.8.3"
827 | "@babel/plugin-transform-react-jsx" "^7.9.4"
828 | "@babel/plugin-transform-react-jsx-development" "^7.9.0"
829 | "@babel/plugin-transform-react-jsx-self" "^7.9.0"
830 | "@babel/plugin-transform-react-jsx-source" "^7.9.0"
831 |
832 | "@babel/runtime@^7.8.4":
833 | version "7.9.6"
834 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.6.tgz#a9102eb5cadedf3f31d08a9ecf294af7827ea29f"
835 | integrity sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ==
836 | dependencies:
837 | regenerator-runtime "^0.13.4"
838 |
839 | "@babel/template@^7.8.3", "@babel/template@^7.8.6":
840 | version "7.8.6"
841 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.6.tgz#86b22af15f828dfb086474f964dcc3e39c43ce2b"
842 | integrity sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==
843 | dependencies:
844 | "@babel/code-frame" "^7.8.3"
845 | "@babel/parser" "^7.8.6"
846 | "@babel/types" "^7.8.6"
847 |
848 | "@babel/traverse@^7.7.0", "@babel/traverse@^7.8.3", "@babel/traverse@^7.9.6":
849 | version "7.9.6"
850 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.9.6.tgz#5540d7577697bf619cc57b92aa0f1c231a94f442"
851 | integrity sha512-b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg==
852 | dependencies:
853 | "@babel/code-frame" "^7.8.3"
854 | "@babel/generator" "^7.9.6"
855 | "@babel/helper-function-name" "^7.9.5"
856 | "@babel/helper-split-export-declaration" "^7.8.3"
857 | "@babel/parser" "^7.9.6"
858 | "@babel/types" "^7.9.6"
859 | debug "^4.1.0"
860 | globals "^11.1.0"
861 | lodash "^4.17.13"
862 |
863 | "@babel/types@^7.0.0":
864 | version "7.3.2"
865 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.3.2.tgz#424f5be4be633fff33fb83ab8d67e4a8290f5a2f"
866 | integrity sha512-3Y6H8xlUlpbGR+XvawiH0UXehqydTmNmEpozWcXymqwcrwYAl5KMvKtQ+TF6f6E08V6Jur7v/ykdDSF+WDEIXQ==
867 | dependencies:
868 | esutils "^2.0.2"
869 | lodash "^4.17.10"
870 | to-fast-properties "^2.0.0"
871 |
872 | "@babel/types@^7.4.4", "@babel/types@^7.7.0", "@babel/types@^7.8.3", "@babel/types@^7.8.6", "@babel/types@^7.9.0", "@babel/types@^7.9.5", "@babel/types@^7.9.6":
873 | version "7.9.6"
874 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.6.tgz#2c5502b427251e9de1bd2dff95add646d95cc9f7"
875 | integrity sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA==
876 | dependencies:
877 | "@babel/helper-validator-identifier" "^7.9.5"
878 | lodash "^4.17.13"
879 | to-fast-properties "^2.0.0"
880 |
881 | "@doubco/wtf@^0.0.6":
882 | version "0.0.6"
883 | resolved "https://registry.yarnpkg.com/@doubco/wtf/-/wtf-0.0.6.tgz#b20184dfc4e48544a425029c8a221987e135580a"
884 | integrity sha512-LF0Xxj8aDL5B+8MLFYWyH0SuwKl5NNEUAxfcVvV49EWhzcP6ApXpHmSn1vmxfKDrmqUvh+88TGYU1qG7XGoWYQ==
885 |
886 | "@types/color-name@^1.1.1":
887 | version "1.1.1"
888 | resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
889 | integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==
890 |
891 | "@types/estree@0.0.39":
892 | version "0.0.39"
893 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f"
894 | integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==
895 |
896 | "@types/node@*":
897 | version "14.0.1"
898 | resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.1.tgz#5d93e0a099cd0acd5ef3d5bde3c086e1f49ff68c"
899 | integrity sha512-FAYBGwC+W6F9+huFIDtn43cpy7+SzG+atzRiTfdp3inUKL2hXnd4rG8hylJLIh4+hqrQy1P17kvJByE/z825hA==
900 |
901 | "@types/resolve@0.0.8":
902 | version "0.0.8"
903 | resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194"
904 | integrity sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==
905 | dependencies:
906 | "@types/node" "*"
907 |
908 | acorn-jsx@^5.2.0:
909 | version "5.2.0"
910 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe"
911 | integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==
912 |
913 | acorn@^7.1.1:
914 | version "7.2.0"
915 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.2.0.tgz#17ea7e40d7c8640ff54a694c889c26f31704effe"
916 | integrity sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ==
917 |
918 | ajv@^6.10.0, ajv@^6.10.2:
919 | version "6.12.2"
920 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd"
921 | integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==
922 | dependencies:
923 | fast-deep-equal "^3.1.1"
924 | fast-json-stable-stringify "^2.0.0"
925 | json-schema-traverse "^0.4.1"
926 | uri-js "^4.2.2"
927 |
928 | ansi-escapes@^4.2.1:
929 | version "4.3.1"
930 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61"
931 | integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==
932 | dependencies:
933 | type-fest "^0.11.0"
934 |
935 | ansi-regex@^4.1.0:
936 | version "4.1.0"
937 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
938 | integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
939 |
940 | ansi-regex@^5.0.0:
941 | version "5.0.0"
942 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
943 | integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
944 |
945 | ansi-styles@^3.2.0, ansi-styles@^3.2.1:
946 | version "3.2.1"
947 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
948 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
949 | dependencies:
950 | color-convert "^1.9.0"
951 |
952 | ansi-styles@^4.1.0:
953 | version "4.2.1"
954 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359"
955 | integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==
956 | dependencies:
957 | "@types/color-name" "^1.1.1"
958 | color-convert "^2.0.1"
959 |
960 | argparse@^1.0.7:
961 | version "1.0.10"
962 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
963 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
964 | dependencies:
965 | sprintf-js "~1.0.2"
966 |
967 | array-includes@^3.0.3:
968 | version "3.1.1"
969 | resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348"
970 | integrity sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==
971 | dependencies:
972 | define-properties "^1.1.3"
973 | es-abstract "^1.17.0"
974 | is-string "^1.0.5"
975 |
976 | array.prototype.flat@^1.2.1:
977 | version "1.2.3"
978 | resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz#0de82b426b0318dbfdb940089e38b043d37f6c7b"
979 | integrity sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==
980 | dependencies:
981 | define-properties "^1.1.3"
982 | es-abstract "^1.17.0-next.1"
983 |
984 | astral-regex@^1.0.0:
985 | version "1.0.0"
986 | resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
987 | integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==
988 |
989 | babel-eslint@^10.1.0:
990 | version "10.1.0"
991 | resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232"
992 | integrity sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==
993 | dependencies:
994 | "@babel/code-frame" "^7.0.0"
995 | "@babel/parser" "^7.7.0"
996 | "@babel/traverse" "^7.7.0"
997 | "@babel/types" "^7.7.0"
998 | eslint-visitor-keys "^1.0.0"
999 | resolve "^1.12.0"
1000 |
1001 | babel-plugin-dynamic-import-node@^2.3.3:
1002 | version "2.3.3"
1003 | resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3"
1004 | integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==
1005 | dependencies:
1006 | object.assign "^4.1.0"
1007 |
1008 | balanced-match@^1.0.0:
1009 | version "1.0.0"
1010 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
1011 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
1012 |
1013 | brace-expansion@^1.1.7:
1014 | version "1.1.11"
1015 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
1016 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
1017 | dependencies:
1018 | balanced-match "^1.0.0"
1019 | concat-map "0.0.1"
1020 |
1021 | browserslist@^4.11.1, browserslist@^4.8.5:
1022 | version "4.12.0"
1023 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.12.0.tgz#06c6d5715a1ede6c51fc39ff67fd647f740b656d"
1024 | integrity sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==
1025 | dependencies:
1026 | caniuse-lite "^1.0.30001043"
1027 | electron-to-chromium "^1.3.413"
1028 | node-releases "^1.1.53"
1029 | pkg-up "^2.0.0"
1030 |
1031 | builtin-modules@^3.1.0:
1032 | version "3.1.0"
1033 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484"
1034 | integrity sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==
1035 |
1036 | callsites@^3.0.0:
1037 | version "3.0.0"
1038 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.0.0.tgz#fb7eb569b72ad7a45812f93fd9430a3e410b3dd3"
1039 | integrity sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw==
1040 |
1041 | caniuse-lite@^1.0.30001043:
1042 | version "1.0.30001055"
1043 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001055.tgz#7b52c3537f7a8c0408aca867e83d2b04268b54cd"
1044 | integrity sha512-MbwsBmKrBSKIWldfdIagO5OJWZclpJtS4h0Jrk/4HFrXJxTdVdH23Fd+xCiHriVGvYcWyW8mR/CPsYajlH8Iuw==
1045 |
1046 | chalk@^2.0.0:
1047 | version "2.4.2"
1048 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
1049 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
1050 | dependencies:
1051 | ansi-styles "^3.2.1"
1052 | escape-string-regexp "^1.0.5"
1053 | supports-color "^5.3.0"
1054 |
1055 | chalk@^3.0.0:
1056 | version "3.0.0"
1057 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"
1058 | integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==
1059 | dependencies:
1060 | ansi-styles "^4.1.0"
1061 | supports-color "^7.1.0"
1062 |
1063 | chalk@^4.0.0:
1064 | version "4.0.0"
1065 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.0.0.tgz#6e98081ed2d17faab615eb52ac66ec1fe6209e72"
1066 | integrity sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==
1067 | dependencies:
1068 | ansi-styles "^4.1.0"
1069 | supports-color "^7.1.0"
1070 |
1071 | chardet@^0.7.0:
1072 | version "0.7.0"
1073 | resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
1074 | integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
1075 |
1076 | cli-cursor@^3.1.0:
1077 | version "3.1.0"
1078 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
1079 | integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==
1080 | dependencies:
1081 | restore-cursor "^3.1.0"
1082 |
1083 | cli-width@^2.0.0:
1084 | version "2.2.0"
1085 | resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
1086 | integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=
1087 |
1088 | color-convert@^1.9.0:
1089 | version "1.9.3"
1090 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
1091 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
1092 | dependencies:
1093 | color-name "1.1.3"
1094 |
1095 | color-convert@^2.0.1:
1096 | version "2.0.1"
1097 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
1098 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
1099 | dependencies:
1100 | color-name "~1.1.4"
1101 |
1102 | color-name@1.1.3:
1103 | version "1.1.3"
1104 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
1105 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
1106 |
1107 | color-name@~1.1.4:
1108 | version "1.1.4"
1109 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
1110 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
1111 |
1112 | concat-map@0.0.1:
1113 | version "0.0.1"
1114 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
1115 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
1116 |
1117 | contains-path@^0.1.0:
1118 | version "0.1.0"
1119 | resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a"
1120 | integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=
1121 |
1122 | convert-source-map@^1.7.0:
1123 | version "1.7.0"
1124 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442"
1125 | integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==
1126 | dependencies:
1127 | safe-buffer "~5.1.1"
1128 |
1129 | core-js-compat@^3.6.2:
1130 | version "3.6.5"
1131 | resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.5.tgz#2a51d9a4e25dfd6e690251aa81f99e3c05481f1c"
1132 | integrity sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==
1133 | dependencies:
1134 | browserslist "^4.8.5"
1135 | semver "7.0.0"
1136 |
1137 | cross-spawn@^7.0.2:
1138 | version "7.0.2"
1139 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.2.tgz#d0d7dcfa74e89115c7619f4f721a94e1fdb716d6"
1140 | integrity sha512-PD6G8QG3S4FK/XCGFbEQrDqO2AnMMsy0meR7lerlIOHAAbkuavGU/pOqprrlvfTNjvowivTeBsjebAL0NSoMxw==
1141 | dependencies:
1142 | path-key "^3.1.0"
1143 | shebang-command "^2.0.0"
1144 | which "^2.0.1"
1145 |
1146 | debug@^2.6.9:
1147 | version "2.6.9"
1148 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
1149 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
1150 | dependencies:
1151 | ms "2.0.0"
1152 |
1153 | debug@^4.0.1, debug@^4.1.0:
1154 | version "4.1.1"
1155 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
1156 | integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
1157 | dependencies:
1158 | ms "^2.1.1"
1159 |
1160 | deep-is@^0.1.3:
1161 | version "0.1.3"
1162 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
1163 | integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
1164 |
1165 | define-properties@^1.1.2, define-properties@^1.1.3:
1166 | version "1.1.3"
1167 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
1168 | integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==
1169 | dependencies:
1170 | object-keys "^1.0.12"
1171 |
1172 | doctrine@1.5.0:
1173 | version "1.5.0"
1174 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa"
1175 | integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=
1176 | dependencies:
1177 | esutils "^2.0.2"
1178 | isarray "^1.0.0"
1179 |
1180 | doctrine@^3.0.0:
1181 | version "3.0.0"
1182 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
1183 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
1184 | dependencies:
1185 | esutils "^2.0.2"
1186 |
1187 | electron-to-chromium@^1.3.413:
1188 | version "1.3.435"
1189 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.435.tgz#22a7008e8f5a317a6d2d80802bddacebb19ae025"
1190 | integrity sha512-BVXnq+NCefidU7GOFPx4CPBfPcccLCRBKZYSbvBJMSn2kwGD7ML+eUA9tqfHAumRqy3oX5zaeTI1Bpt7qVat0Q==
1191 |
1192 | emoji-regex@^7.0.1:
1193 | version "7.0.3"
1194 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
1195 | integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
1196 |
1197 | emoji-regex@^8.0.0:
1198 | version "8.0.0"
1199 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
1200 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
1201 |
1202 | error-ex@^1.2.0:
1203 | version "1.3.2"
1204 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
1205 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
1206 | dependencies:
1207 | is-arrayish "^0.2.1"
1208 |
1209 | es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.5:
1210 | version "1.17.5"
1211 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.5.tgz#d8c9d1d66c8981fb9200e2251d799eee92774ae9"
1212 | integrity sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==
1213 | dependencies:
1214 | es-to-primitive "^1.2.1"
1215 | function-bind "^1.1.1"
1216 | has "^1.0.3"
1217 | has-symbols "^1.0.1"
1218 | is-callable "^1.1.5"
1219 | is-regex "^1.0.5"
1220 | object-inspect "^1.7.0"
1221 | object-keys "^1.1.1"
1222 | object.assign "^4.1.0"
1223 | string.prototype.trimleft "^2.1.1"
1224 | string.prototype.trimright "^2.1.1"
1225 |
1226 | es-to-primitive@^1.2.1:
1227 | version "1.2.1"
1228 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
1229 | integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
1230 | dependencies:
1231 | is-callable "^1.1.4"
1232 | is-date-object "^1.0.1"
1233 | is-symbol "^1.0.2"
1234 |
1235 | escape-string-regexp@^1.0.5:
1236 | version "1.0.5"
1237 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
1238 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
1239 |
1240 | eslint-import-resolver-node@^0.3.2:
1241 | version "0.3.2"
1242 | resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a"
1243 | integrity sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==
1244 | dependencies:
1245 | debug "^2.6.9"
1246 | resolve "^1.5.0"
1247 |
1248 | eslint-module-utils@^2.4.1:
1249 | version "2.6.0"
1250 | resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6"
1251 | integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==
1252 | dependencies:
1253 | debug "^2.6.9"
1254 | pkg-dir "^2.0.0"
1255 |
1256 | eslint-plugin-import@^2.20.2:
1257 | version "2.20.2"
1258 | resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.20.2.tgz#91fc3807ce08be4837141272c8b99073906e588d"
1259 | integrity sha512-FObidqpXrR8OnCh4iNsxy+WACztJLXAHBO5hK79T1Hc77PgQZkyDGA5Ag9xAvRpglvLNxhH/zSmZ70/pZ31dHg==
1260 | dependencies:
1261 | array-includes "^3.0.3"
1262 | array.prototype.flat "^1.2.1"
1263 | contains-path "^0.1.0"
1264 | debug "^2.6.9"
1265 | doctrine "1.5.0"
1266 | eslint-import-resolver-node "^0.3.2"
1267 | eslint-module-utils "^2.4.1"
1268 | has "^1.0.3"
1269 | minimatch "^3.0.4"
1270 | object.values "^1.1.0"
1271 | read-pkg-up "^2.0.0"
1272 | resolve "^1.12.0"
1273 |
1274 | eslint-plugin-prettier@^3.1.3:
1275 | version "3.1.3"
1276 | resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.3.tgz#ae116a0fc0e598fdae48743a4430903de5b4e6ca"
1277 | integrity sha512-+HG5jmu/dN3ZV3T6eCD7a4BlAySdN7mLIbJYo0z1cFQuI+r2DiTJEFeF68ots93PsnrMxbzIZ2S/ieX+mkrBeQ==
1278 | dependencies:
1279 | prettier-linter-helpers "^1.0.0"
1280 |
1281 | eslint-scope@^5.0.0:
1282 | version "5.0.0"
1283 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9"
1284 | integrity sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==
1285 | dependencies:
1286 | esrecurse "^4.1.0"
1287 | estraverse "^4.1.1"
1288 |
1289 | eslint-utils@^2.0.0:
1290 | version "2.0.0"
1291 | resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.0.0.tgz#7be1cc70f27a72a76cd14aa698bcabed6890e1cd"
1292 | integrity sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA==
1293 | dependencies:
1294 | eslint-visitor-keys "^1.1.0"
1295 |
1296 | eslint-visitor-keys@^1.0.0:
1297 | version "1.0.0"
1298 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d"
1299 | integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==
1300 |
1301 | eslint-visitor-keys@^1.1.0:
1302 | version "1.1.0"
1303 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2"
1304 | integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==
1305 |
1306 | eslint@^7.0.0:
1307 | version "7.0.0"
1308 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.0.0.tgz#c35dfd04a4372110bd78c69a8d79864273919a08"
1309 | integrity sha512-qY1cwdOxMONHJfGqw52UOpZDeqXy8xmD0u8CT6jIstil72jkhURC704W8CFyTPDPllz4z4lu0Ql1+07PG/XdIg==
1310 | dependencies:
1311 | "@babel/code-frame" "^7.0.0"
1312 | ajv "^6.10.0"
1313 | chalk "^4.0.0"
1314 | cross-spawn "^7.0.2"
1315 | debug "^4.0.1"
1316 | doctrine "^3.0.0"
1317 | eslint-scope "^5.0.0"
1318 | eslint-utils "^2.0.0"
1319 | eslint-visitor-keys "^1.1.0"
1320 | espree "^7.0.0"
1321 | esquery "^1.2.0"
1322 | esutils "^2.0.2"
1323 | file-entry-cache "^5.0.1"
1324 | functional-red-black-tree "^1.0.1"
1325 | glob-parent "^5.0.0"
1326 | globals "^12.1.0"
1327 | ignore "^4.0.6"
1328 | import-fresh "^3.0.0"
1329 | imurmurhash "^0.1.4"
1330 | inquirer "^7.0.0"
1331 | is-glob "^4.0.0"
1332 | js-yaml "^3.13.1"
1333 | json-stable-stringify-without-jsonify "^1.0.1"
1334 | levn "^0.4.1"
1335 | lodash "^4.17.14"
1336 | minimatch "^3.0.4"
1337 | natural-compare "^1.4.0"
1338 | optionator "^0.9.1"
1339 | progress "^2.0.0"
1340 | regexpp "^3.1.0"
1341 | semver "^7.2.1"
1342 | strip-ansi "^6.0.0"
1343 | strip-json-comments "^3.1.0"
1344 | table "^5.2.3"
1345 | text-table "^0.2.0"
1346 | v8-compile-cache "^2.0.3"
1347 |
1348 | espree@^7.0.0:
1349 | version "7.0.0"
1350 | resolved "https://registry.yarnpkg.com/espree/-/espree-7.0.0.tgz#8a7a60f218e69f120a842dc24c5a88aa7748a74e"
1351 | integrity sha512-/r2XEx5Mw4pgKdyb7GNLQNsu++asx/dltf/CI8RFi9oGHxmQFgvLbc5Op4U6i8Oaj+kdslhJtVlEZeAqH5qOTw==
1352 | dependencies:
1353 | acorn "^7.1.1"
1354 | acorn-jsx "^5.2.0"
1355 | eslint-visitor-keys "^1.1.0"
1356 |
1357 | esprima@^4.0.0:
1358 | version "4.0.1"
1359 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
1360 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
1361 |
1362 | esquery@^1.2.0:
1363 | version "1.3.1"
1364 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57"
1365 | integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==
1366 | dependencies:
1367 | estraverse "^5.1.0"
1368 |
1369 | esrecurse@^4.1.0:
1370 | version "4.2.1"
1371 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf"
1372 | integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==
1373 | dependencies:
1374 | estraverse "^4.1.0"
1375 |
1376 | estraverse@^4.1.0, estraverse@^4.1.1:
1377 | version "4.2.0"
1378 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
1379 | integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=
1380 |
1381 | estraverse@^5.1.0:
1382 | version "5.1.0"
1383 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642"
1384 | integrity sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==
1385 |
1386 | estree-walker@^0.6.1:
1387 | version "0.6.1"
1388 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362"
1389 | integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==
1390 |
1391 | esutils@^2.0.2:
1392 | version "2.0.2"
1393 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
1394 | integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=
1395 |
1396 | external-editor@^3.0.3:
1397 | version "3.0.3"
1398 | resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27"
1399 | integrity sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==
1400 | dependencies:
1401 | chardet "^0.7.0"
1402 | iconv-lite "^0.4.24"
1403 | tmp "^0.0.33"
1404 |
1405 | fast-deep-equal@^3.1.1:
1406 | version "3.1.1"
1407 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4"
1408 | integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==
1409 |
1410 | fast-diff@^1.1.2:
1411 | version "1.2.0"
1412 | resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03"
1413 | integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==
1414 |
1415 | fast-json-stable-stringify@^2.0.0:
1416 | version "2.0.0"
1417 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
1418 | integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I=
1419 |
1420 | fast-levenshtein@^2.0.6:
1421 | version "2.0.6"
1422 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
1423 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
1424 |
1425 | figures@^3.0.0:
1426 | version "3.2.0"
1427 | resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af"
1428 | integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==
1429 | dependencies:
1430 | escape-string-regexp "^1.0.5"
1431 |
1432 | file-entry-cache@^5.0.1:
1433 | version "5.0.1"
1434 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c"
1435 | integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==
1436 | dependencies:
1437 | flat-cache "^2.0.1"
1438 |
1439 | find-up@^2.0.0, find-up@^2.1.0:
1440 | version "2.1.0"
1441 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
1442 | integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c=
1443 | dependencies:
1444 | locate-path "^2.0.0"
1445 |
1446 | flat-cache@^2.0.1:
1447 | version "2.0.1"
1448 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0"
1449 | integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==
1450 | dependencies:
1451 | flatted "^2.0.0"
1452 | rimraf "2.6.3"
1453 | write "1.0.3"
1454 |
1455 | flatted@^2.0.0:
1456 | version "2.0.2"
1457 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138"
1458 | integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==
1459 |
1460 | fs.realpath@^1.0.0:
1461 | version "1.0.0"
1462 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
1463 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
1464 |
1465 | function-bind@^1.1.1:
1466 | version "1.1.1"
1467 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
1468 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
1469 |
1470 | functional-red-black-tree@^1.0.1:
1471 | version "1.0.1"
1472 | resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
1473 | integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
1474 |
1475 | gensync@^1.0.0-beta.1:
1476 | version "1.0.0-beta.1"
1477 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269"
1478 | integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==
1479 |
1480 | glob-parent@^5.0.0:
1481 | version "5.1.1"
1482 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229"
1483 | integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==
1484 | dependencies:
1485 | is-glob "^4.0.1"
1486 |
1487 | glob@^7.1.3:
1488 | version "7.1.3"
1489 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1"
1490 | integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==
1491 | dependencies:
1492 | fs.realpath "^1.0.0"
1493 | inflight "^1.0.4"
1494 | inherits "2"
1495 | minimatch "^3.0.4"
1496 | once "^1.3.0"
1497 | path-is-absolute "^1.0.0"
1498 |
1499 | globals@^11.1.0:
1500 | version "11.10.0"
1501 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.10.0.tgz#1e09776dffda5e01816b3bb4077c8b59c24eaa50"
1502 | integrity sha512-0GZF1RiPKU97IHUO5TORo9w1PwrH/NBPl+fS7oMLdaTRiYmYbwK4NWoZWrAdd0/abG9R2BU+OiwyQpTpE6pdfQ==
1503 |
1504 | globals@^12.1.0:
1505 | version "12.4.0"
1506 | resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8"
1507 | integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==
1508 | dependencies:
1509 | type-fest "^0.8.1"
1510 |
1511 | graceful-fs@^4.1.2:
1512 | version "4.1.15"
1513 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
1514 | integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==
1515 |
1516 | has-flag@^3.0.0:
1517 | version "3.0.0"
1518 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
1519 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
1520 |
1521 | has-flag@^4.0.0:
1522 | version "4.0.0"
1523 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
1524 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
1525 |
1526 | has-symbols@^1.0.0, has-symbols@^1.0.1:
1527 | version "1.0.1"
1528 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8"
1529 | integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==
1530 |
1531 | has@^1.0.3:
1532 | version "1.0.3"
1533 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
1534 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
1535 | dependencies:
1536 | function-bind "^1.1.1"
1537 |
1538 | hosted-git-info@^2.1.4:
1539 | version "2.7.1"
1540 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047"
1541 | integrity sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==
1542 |
1543 | iconv-lite@^0.4.24:
1544 | version "0.4.24"
1545 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
1546 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
1547 | dependencies:
1548 | safer-buffer ">= 2.1.2 < 3"
1549 |
1550 | ignore@^4.0.6:
1551 | version "4.0.6"
1552 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
1553 | integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
1554 |
1555 | import-fresh@^3.0.0:
1556 | version "3.0.0"
1557 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.0.0.tgz#a3d897f420cab0e671236897f75bc14b4885c390"
1558 | integrity sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ==
1559 | dependencies:
1560 | parent-module "^1.0.0"
1561 | resolve-from "^4.0.0"
1562 |
1563 | imurmurhash@^0.1.4:
1564 | version "0.1.4"
1565 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
1566 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
1567 |
1568 | inflight@^1.0.4:
1569 | version "1.0.6"
1570 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
1571 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
1572 | dependencies:
1573 | once "^1.3.0"
1574 | wrappy "1"
1575 |
1576 | inherits@2:
1577 | version "2.0.3"
1578 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
1579 | integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
1580 |
1581 | inquirer@^7.0.0:
1582 | version "7.1.0"
1583 | resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.1.0.tgz#1298a01859883e17c7264b82870ae1034f92dd29"
1584 | integrity sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==
1585 | dependencies:
1586 | ansi-escapes "^4.2.1"
1587 | chalk "^3.0.0"
1588 | cli-cursor "^3.1.0"
1589 | cli-width "^2.0.0"
1590 | external-editor "^3.0.3"
1591 | figures "^3.0.0"
1592 | lodash "^4.17.15"
1593 | mute-stream "0.0.8"
1594 | run-async "^2.4.0"
1595 | rxjs "^6.5.3"
1596 | string-width "^4.1.0"
1597 | strip-ansi "^6.0.0"
1598 | through "^2.3.6"
1599 |
1600 | invariant@^2.2.2, invariant@^2.2.4:
1601 | version "2.2.4"
1602 | resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
1603 | integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
1604 | dependencies:
1605 | loose-envify "^1.0.0"
1606 |
1607 | is-arrayish@^0.2.1:
1608 | version "0.2.1"
1609 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
1610 | integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
1611 |
1612 | is-callable@^1.1.4, is-callable@^1.1.5:
1613 | version "1.1.5"
1614 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab"
1615 | integrity sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==
1616 |
1617 | is-date-object@^1.0.1:
1618 | version "1.0.2"
1619 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e"
1620 | integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==
1621 |
1622 | is-extglob@^2.1.1:
1623 | version "2.1.1"
1624 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
1625 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
1626 |
1627 | is-fullwidth-code-point@^2.0.0:
1628 | version "2.0.0"
1629 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
1630 | integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
1631 |
1632 | is-fullwidth-code-point@^3.0.0:
1633 | version "3.0.0"
1634 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
1635 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
1636 |
1637 | is-glob@^4.0.0, is-glob@^4.0.1:
1638 | version "4.0.1"
1639 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
1640 | integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
1641 | dependencies:
1642 | is-extglob "^2.1.1"
1643 |
1644 | is-module@^1.0.0:
1645 | version "1.0.0"
1646 | resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591"
1647 | integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=
1648 |
1649 | is-reference@^1.1.2:
1650 | version "1.1.4"
1651 | resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.1.4.tgz#3f95849886ddb70256a3e6d062b1a68c13c51427"
1652 | integrity sha512-uJA/CDPO3Tao3GTrxYn6AwkM4nUPJiGGYu5+cB8qbC7WGFlrKZbiRo7SFKxUAEpFUfiHofWCXBUNhvYJMh+6zw==
1653 | dependencies:
1654 | "@types/estree" "0.0.39"
1655 |
1656 | is-regex@^1.0.5:
1657 | version "1.0.5"
1658 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae"
1659 | integrity sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==
1660 | dependencies:
1661 | has "^1.0.3"
1662 |
1663 | is-string@^1.0.5:
1664 | version "1.0.5"
1665 | resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6"
1666 | integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==
1667 |
1668 | is-symbol@^1.0.2:
1669 | version "1.0.3"
1670 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937"
1671 | integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==
1672 | dependencies:
1673 | has-symbols "^1.0.1"
1674 |
1675 | isarray@^1.0.0:
1676 | version "1.0.0"
1677 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
1678 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
1679 |
1680 | isexe@^2.0.0:
1681 | version "2.0.0"
1682 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
1683 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
1684 |
1685 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
1686 | version "4.0.0"
1687 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
1688 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
1689 |
1690 | js-yaml@^3.13.1:
1691 | version "3.13.1"
1692 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
1693 | integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==
1694 | dependencies:
1695 | argparse "^1.0.7"
1696 | esprima "^4.0.0"
1697 |
1698 | jsesc@^2.5.1:
1699 | version "2.5.2"
1700 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
1701 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
1702 |
1703 | jsesc@~0.5.0:
1704 | version "0.5.0"
1705 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
1706 | integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=
1707 |
1708 | json-schema-traverse@^0.4.1:
1709 | version "0.4.1"
1710 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
1711 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
1712 |
1713 | json-stable-stringify-without-jsonify@^1.0.1:
1714 | version "1.0.1"
1715 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
1716 | integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
1717 |
1718 | json5@^2.1.2:
1719 | version "2.1.3"
1720 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43"
1721 | integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==
1722 | dependencies:
1723 | minimist "^1.2.5"
1724 |
1725 | leven@^3.1.0:
1726 | version "3.1.0"
1727 | resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
1728 | integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==
1729 |
1730 | levenary@^1.1.1:
1731 | version "1.1.1"
1732 | resolved "https://registry.yarnpkg.com/levenary/-/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77"
1733 | integrity sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==
1734 | dependencies:
1735 | leven "^3.1.0"
1736 |
1737 | levn@^0.4.1:
1738 | version "0.4.1"
1739 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
1740 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
1741 | dependencies:
1742 | prelude-ls "^1.2.1"
1743 | type-check "~0.4.0"
1744 |
1745 | load-json-file@^2.0.0:
1746 | version "2.0.0"
1747 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
1748 | integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=
1749 | dependencies:
1750 | graceful-fs "^4.1.2"
1751 | parse-json "^2.2.0"
1752 | pify "^2.0.0"
1753 | strip-bom "^3.0.0"
1754 |
1755 | locate-path@^2.0.0:
1756 | version "2.0.0"
1757 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
1758 | integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=
1759 | dependencies:
1760 | p-locate "^2.0.0"
1761 | path-exists "^3.0.0"
1762 |
1763 | lodash@^4.17.10:
1764 | version "4.17.11"
1765 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
1766 | integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==
1767 |
1768 | lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15:
1769 | version "4.17.15"
1770 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
1771 | integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
1772 |
1773 | loose-envify@^1.0.0:
1774 | version "1.4.0"
1775 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
1776 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
1777 | dependencies:
1778 | js-tokens "^3.0.0 || ^4.0.0"
1779 |
1780 | magic-string@^0.25.2:
1781 | version "0.25.7"
1782 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051"
1783 | integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==
1784 | dependencies:
1785 | sourcemap-codec "^1.4.4"
1786 |
1787 | mime@^2.4.4:
1788 | version "2.4.5"
1789 | resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.5.tgz#d8de2ecb92982dedbb6541c9b6841d7f218ea009"
1790 | integrity sha512-3hQhEUF027BuxZjQA3s7rIv/7VCQPa27hN9u9g87sEkWaKwQPuXOkVKtOeiyUrnWqTDiOs8Ed2rwg733mB0R5w==
1791 |
1792 | mimic-fn@^2.1.0:
1793 | version "2.1.0"
1794 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
1795 | integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
1796 |
1797 | minimatch@^3.0.4:
1798 | version "3.0.4"
1799 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
1800 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
1801 | dependencies:
1802 | brace-expansion "^1.1.7"
1803 |
1804 | minimist@0.0.8:
1805 | version "0.0.8"
1806 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
1807 | integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=
1808 |
1809 | minimist@^1.2.5:
1810 | version "1.2.5"
1811 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
1812 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
1813 |
1814 | mkdirp@^0.5.1:
1815 | version "0.5.1"
1816 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
1817 | integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
1818 | dependencies:
1819 | minimist "0.0.8"
1820 |
1821 | ms@2.0.0:
1822 | version "2.0.0"
1823 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
1824 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
1825 |
1826 | ms@^2.1.1:
1827 | version "2.1.1"
1828 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"
1829 | integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==
1830 |
1831 | mute-stream@0.0.8:
1832 | version "0.0.8"
1833 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
1834 | integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
1835 |
1836 | natural-compare@^1.4.0:
1837 | version "1.4.0"
1838 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
1839 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
1840 |
1841 | node-releases@^1.1.53:
1842 | version "1.1.55"
1843 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.55.tgz#8af23b7c561d8e2e6e36a46637bab84633b07cee"
1844 | integrity sha512-H3R3YR/8TjT5WPin/wOoHOUPHgvj8leuU/Keta/rwelEQN9pA/S2Dx8/se4pZ2LBxSd0nAGzsNzhqwa77v7F1w==
1845 |
1846 | normalize-package-data@^2.3.2:
1847 | version "2.5.0"
1848 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
1849 | integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
1850 | dependencies:
1851 | hosted-git-info "^2.1.4"
1852 | resolve "^1.10.0"
1853 | semver "2 || 3 || 4 || 5"
1854 | validate-npm-package-license "^3.0.1"
1855 |
1856 | object-inspect@^1.7.0:
1857 | version "1.7.0"
1858 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67"
1859 | integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==
1860 |
1861 | object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1:
1862 | version "1.1.1"
1863 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
1864 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
1865 |
1866 | object.assign@^4.1.0:
1867 | version "4.1.0"
1868 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da"
1869 | integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==
1870 | dependencies:
1871 | define-properties "^1.1.2"
1872 | function-bind "^1.1.1"
1873 | has-symbols "^1.0.0"
1874 | object-keys "^1.0.11"
1875 |
1876 | object.values@^1.1.0:
1877 | version "1.1.1"
1878 | resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e"
1879 | integrity sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==
1880 | dependencies:
1881 | define-properties "^1.1.3"
1882 | es-abstract "^1.17.0-next.1"
1883 | function-bind "^1.1.1"
1884 | has "^1.0.3"
1885 |
1886 | once@^1.3.0:
1887 | version "1.4.0"
1888 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
1889 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
1890 | dependencies:
1891 | wrappy "1"
1892 |
1893 | onetime@^5.1.0:
1894 | version "5.1.0"
1895 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5"
1896 | integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==
1897 | dependencies:
1898 | mimic-fn "^2.1.0"
1899 |
1900 | optionator@^0.9.1:
1901 | version "0.9.1"
1902 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
1903 | integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
1904 | dependencies:
1905 | deep-is "^0.1.3"
1906 | fast-levenshtein "^2.0.6"
1907 | levn "^0.4.1"
1908 | prelude-ls "^1.2.1"
1909 | type-check "^0.4.0"
1910 | word-wrap "^1.2.3"
1911 |
1912 | os-tmpdir@~1.0.2:
1913 | version "1.0.2"
1914 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
1915 | integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
1916 |
1917 | p-limit@^1.1.0:
1918 | version "1.3.0"
1919 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
1920 | integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==
1921 | dependencies:
1922 | p-try "^1.0.0"
1923 |
1924 | p-locate@^2.0.0:
1925 | version "2.0.0"
1926 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
1927 | integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=
1928 | dependencies:
1929 | p-limit "^1.1.0"
1930 |
1931 | p-try@^1.0.0:
1932 | version "1.0.0"
1933 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
1934 | integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=
1935 |
1936 | parent-module@^1.0.0:
1937 | version "1.0.0"
1938 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.0.tgz#df250bdc5391f4a085fb589dad761f5ad6b865b5"
1939 | integrity sha512-8Mf5juOMmiE4FcmzYc4IaiS9L3+9paz2KOiXzkRviCP6aDmN49Hz6EMWz0lGNp9pX80GvvAuLADtyGfW/Em3TA==
1940 | dependencies:
1941 | callsites "^3.0.0"
1942 |
1943 | parse-json@^2.2.0:
1944 | version "2.2.0"
1945 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
1946 | integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=
1947 | dependencies:
1948 | error-ex "^1.2.0"
1949 |
1950 | path-exists@^3.0.0:
1951 | version "3.0.0"
1952 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
1953 | integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
1954 |
1955 | path-is-absolute@^1.0.0:
1956 | version "1.0.1"
1957 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
1958 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
1959 |
1960 | path-key@^3.1.0:
1961 | version "3.1.1"
1962 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
1963 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
1964 |
1965 | path-parse@^1.0.6:
1966 | version "1.0.6"
1967 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
1968 | integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
1969 |
1970 | path-type@^2.0.0:
1971 | version "2.0.0"
1972 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
1973 | integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=
1974 | dependencies:
1975 | pify "^2.0.0"
1976 |
1977 | pify@^2.0.0:
1978 | version "2.3.0"
1979 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
1980 | integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
1981 |
1982 | pkg-dir@^2.0.0:
1983 | version "2.0.0"
1984 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b"
1985 | integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=
1986 | dependencies:
1987 | find-up "^2.1.0"
1988 |
1989 | pkg-up@^2.0.0:
1990 | version "2.0.0"
1991 | resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f"
1992 | integrity sha1-yBmscoBZpGHKscOImivjxJoATX8=
1993 | dependencies:
1994 | find-up "^2.1.0"
1995 |
1996 | prelude-ls@^1.2.1:
1997 | version "1.2.1"
1998 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
1999 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
2000 |
2001 | prettier-linter-helpers@^1.0.0:
2002 | version "1.0.0"
2003 | resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b"
2004 | integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==
2005 | dependencies:
2006 | fast-diff "^1.1.2"
2007 |
2008 | prettier@^2.0.5:
2009 | version "2.0.5"
2010 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.0.5.tgz#d6d56282455243f2f92cc1716692c08aa31522d4"
2011 | integrity sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg==
2012 |
2013 | private@^0.1.8:
2014 | version "0.1.8"
2015 | resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
2016 | integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==
2017 |
2018 | progress@^2.0.0:
2019 | version "2.0.3"
2020 | resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
2021 | integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
2022 |
2023 | punycode@^2.1.0:
2024 | version "2.1.1"
2025 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
2026 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
2027 |
2028 | read-pkg-up@^2.0.0:
2029 | version "2.0.0"
2030 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
2031 | integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=
2032 | dependencies:
2033 | find-up "^2.0.0"
2034 | read-pkg "^2.0.0"
2035 |
2036 | read-pkg@^2.0.0:
2037 | version "2.0.0"
2038 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
2039 | integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=
2040 | dependencies:
2041 | load-json-file "^2.0.0"
2042 | normalize-package-data "^2.3.2"
2043 | path-type "^2.0.0"
2044 |
2045 | regenerate-unicode-properties@^8.2.0:
2046 | version "8.2.0"
2047 | resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec"
2048 | integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==
2049 | dependencies:
2050 | regenerate "^1.4.0"
2051 |
2052 | regenerate@^1.4.0:
2053 | version "1.4.0"
2054 | resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11"
2055 | integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==
2056 |
2057 | regenerator-runtime@^0.13.4:
2058 | version "0.13.5"
2059 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697"
2060 | integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==
2061 |
2062 | regenerator-transform@^0.14.2:
2063 | version "0.14.4"
2064 | resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.4.tgz#5266857896518d1616a78a0479337a30ea974cc7"
2065 | integrity sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==
2066 | dependencies:
2067 | "@babel/runtime" "^7.8.4"
2068 | private "^0.1.8"
2069 |
2070 | regexpp@^3.1.0:
2071 | version "3.1.0"
2072 | resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2"
2073 | integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==
2074 |
2075 | regexpu-core@^4.7.0:
2076 | version "4.7.0"
2077 | resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938"
2078 | integrity sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==
2079 | dependencies:
2080 | regenerate "^1.4.0"
2081 | regenerate-unicode-properties "^8.2.0"
2082 | regjsgen "^0.5.1"
2083 | regjsparser "^0.6.4"
2084 | unicode-match-property-ecmascript "^1.0.4"
2085 | unicode-match-property-value-ecmascript "^1.2.0"
2086 |
2087 | regjsgen@^0.5.1:
2088 | version "0.5.1"
2089 | resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.1.tgz#48f0bf1a5ea205196929c0d9798b42d1ed98443c"
2090 | integrity sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==
2091 |
2092 | regjsparser@^0.6.4:
2093 | version "0.6.4"
2094 | resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272"
2095 | integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==
2096 | dependencies:
2097 | jsesc "~0.5.0"
2098 |
2099 | resolve-from@^4.0.0:
2100 | version "4.0.0"
2101 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
2102 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
2103 |
2104 | resolve@^1.10.0, resolve@^1.3.2, resolve@^1.5.0:
2105 | version "1.10.0"
2106 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba"
2107 | integrity sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==
2108 | dependencies:
2109 | path-parse "^1.0.6"
2110 |
2111 | resolve@^1.11.0, resolve@^1.11.1, resolve@^1.12.0:
2112 | version "1.17.0"
2113 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444"
2114 | integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==
2115 | dependencies:
2116 | path-parse "^1.0.6"
2117 |
2118 | restore-cursor@^3.1.0:
2119 | version "3.1.0"
2120 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
2121 | integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==
2122 | dependencies:
2123 | onetime "^5.1.0"
2124 | signal-exit "^3.0.2"
2125 |
2126 | rimraf@2.6.3:
2127 | version "2.6.3"
2128 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
2129 | integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
2130 | dependencies:
2131 | glob "^7.1.3"
2132 |
2133 | rollup-plugin-babel@^4.4.0:
2134 | version "4.4.0"
2135 | resolved "https://registry.yarnpkg.com/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz#d15bd259466a9d1accbdb2fe2fff17c52d030acb"
2136 | integrity sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw==
2137 | dependencies:
2138 | "@babel/helper-module-imports" "^7.0.0"
2139 | rollup-pluginutils "^2.8.1"
2140 |
2141 | rollup-plugin-commonjs@^10.1.0:
2142 | version "10.1.0"
2143 | resolved "https://registry.yarnpkg.com/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.1.0.tgz#417af3b54503878e084d127adf4d1caf8beb86fb"
2144 | integrity sha512-jlXbjZSQg8EIeAAvepNwhJj++qJWNJw1Cl0YnOqKtP5Djx+fFGkp3WRh+W0ASCaFG5w1jhmzDxgu3SJuVxPF4Q==
2145 | dependencies:
2146 | estree-walker "^0.6.1"
2147 | is-reference "^1.1.2"
2148 | magic-string "^0.25.2"
2149 | resolve "^1.11.0"
2150 | rollup-pluginutils "^2.8.1"
2151 |
2152 | rollup-plugin-node-resolve@^5.2.0:
2153 | version "5.2.0"
2154 | resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz#730f93d10ed202473b1fb54a5997a7db8c6d8523"
2155 | integrity sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw==
2156 | dependencies:
2157 | "@types/resolve" "0.0.8"
2158 | builtin-modules "^3.1.0"
2159 | is-module "^1.0.0"
2160 | resolve "^1.11.1"
2161 | rollup-pluginutils "^2.8.1"
2162 |
2163 | rollup-plugin-peer-deps-external@^2.2.2:
2164 | version "2.2.2"
2165 | resolved "https://registry.yarnpkg.com/rollup-plugin-peer-deps-external/-/rollup-plugin-peer-deps-external-2.2.2.tgz#506cef67fb68f41cca3ec08ca6ff7936b190f568"
2166 | integrity sha512-XcHH4UW9exRTAf73d8rk2dw2UgF//cWbilhRI4Ni/n+t0zA1eBtohKyJROn0fxa4/+WZ5R3onAyIDiwRQL+59A==
2167 |
2168 | rollup-plugin-url@^3.0.1:
2169 | version "3.0.1"
2170 | resolved "https://registry.yarnpkg.com/rollup-plugin-url/-/rollup-plugin-url-3.0.1.tgz#6362fd31d7ce6d078dc5adffbd844f080de61bd7"
2171 | integrity sha512-fQVrxlW335snHfPqZ7a0JIkkYEIrLeFobpAxRMQnyv7xQeJOY1yOd84STIdCaLYPoGzwOq8waOdGipNH181kzg==
2172 | dependencies:
2173 | mime "^2.4.4"
2174 | rollup-pluginutils "^2.8.2"
2175 |
2176 | rollup-pluginutils@^2.8.1, rollup-pluginutils@^2.8.2:
2177 | version "2.8.2"
2178 | resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e"
2179 | integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==
2180 | dependencies:
2181 | estree-walker "^0.6.1"
2182 |
2183 | run-async@^2.4.0:
2184 | version "2.4.1"
2185 | resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455"
2186 | integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==
2187 |
2188 | rxjs@^6.5.3:
2189 | version "6.5.5"
2190 | resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz#c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec"
2191 | integrity sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==
2192 | dependencies:
2193 | tslib "^1.9.0"
2194 |
2195 | safe-buffer@~5.1.1:
2196 | version "5.1.2"
2197 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
2198 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
2199 |
2200 | "safer-buffer@>= 2.1.2 < 3":
2201 | version "2.1.2"
2202 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
2203 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
2204 |
2205 | "semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0:
2206 | version "5.6.0"
2207 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004"
2208 | integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==
2209 |
2210 | semver@7.0.0:
2211 | version "7.0.0"
2212 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
2213 | integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
2214 |
2215 | semver@^7.2.1:
2216 | version "7.3.2"
2217 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
2218 | integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
2219 |
2220 | shebang-command@^2.0.0:
2221 | version "2.0.0"
2222 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
2223 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
2224 | dependencies:
2225 | shebang-regex "^3.0.0"
2226 |
2227 | shebang-regex@^3.0.0:
2228 | version "3.0.0"
2229 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
2230 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
2231 |
2232 | signal-exit@^3.0.2:
2233 | version "3.0.2"
2234 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
2235 | integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
2236 |
2237 | slice-ansi@^2.1.0:
2238 | version "2.1.0"
2239 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636"
2240 | integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==
2241 | dependencies:
2242 | ansi-styles "^3.2.0"
2243 | astral-regex "^1.0.0"
2244 | is-fullwidth-code-point "^2.0.0"
2245 |
2246 | source-map@^0.5.0:
2247 | version "0.5.7"
2248 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
2249 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
2250 |
2251 | sourcemap-codec@^1.4.4:
2252 | version "1.4.4"
2253 | resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.4.tgz#c63ea927c029dd6bd9a2b7fa03b3fec02ad56e9f"
2254 | integrity sha512-CYAPYdBu34781kLHkaW3m6b/uUSyMOC2R61gcYMWooeuaGtjof86ZA/8T+qVPPt7np1085CR9hmMGrySwEc8Xg==
2255 |
2256 | spdx-correct@^3.0.0:
2257 | version "3.1.0"
2258 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4"
2259 | integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==
2260 | dependencies:
2261 | spdx-expression-parse "^3.0.0"
2262 | spdx-license-ids "^3.0.0"
2263 |
2264 | spdx-exceptions@^2.1.0:
2265 | version "2.2.0"
2266 | resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977"
2267 | integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==
2268 |
2269 | spdx-expression-parse@^3.0.0:
2270 | version "3.0.0"
2271 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0"
2272 | integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==
2273 | dependencies:
2274 | spdx-exceptions "^2.1.0"
2275 | spdx-license-ids "^3.0.0"
2276 |
2277 | spdx-license-ids@^3.0.0:
2278 | version "3.0.3"
2279 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz#81c0ce8f21474756148bbb5f3bfc0f36bf15d76e"
2280 | integrity sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g==
2281 |
2282 | sprintf-js@~1.0.2:
2283 | version "1.0.3"
2284 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
2285 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
2286 |
2287 | string-width@^3.0.0:
2288 | version "3.1.0"
2289 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
2290 | integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
2291 | dependencies:
2292 | emoji-regex "^7.0.1"
2293 | is-fullwidth-code-point "^2.0.0"
2294 | strip-ansi "^5.1.0"
2295 |
2296 | string-width@^4.1.0:
2297 | version "4.2.0"
2298 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5"
2299 | integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==
2300 | dependencies:
2301 | emoji-regex "^8.0.0"
2302 | is-fullwidth-code-point "^3.0.0"
2303 | strip-ansi "^6.0.0"
2304 |
2305 | string.prototype.trimend@^1.0.0:
2306 | version "1.0.1"
2307 | resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913"
2308 | integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==
2309 | dependencies:
2310 | define-properties "^1.1.3"
2311 | es-abstract "^1.17.5"
2312 |
2313 | string.prototype.trimleft@^2.1.1:
2314 | version "2.1.2"
2315 | resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz#4408aa2e5d6ddd0c9a80739b087fbc067c03b3cc"
2316 | integrity sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==
2317 | dependencies:
2318 | define-properties "^1.1.3"
2319 | es-abstract "^1.17.5"
2320 | string.prototype.trimstart "^1.0.0"
2321 |
2322 | string.prototype.trimright@^2.1.1:
2323 | version "2.1.2"
2324 | resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz#c76f1cef30f21bbad8afeb8db1511496cfb0f2a3"
2325 | integrity sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==
2326 | dependencies:
2327 | define-properties "^1.1.3"
2328 | es-abstract "^1.17.5"
2329 | string.prototype.trimend "^1.0.0"
2330 |
2331 | string.prototype.trimstart@^1.0.0:
2332 | version "1.0.1"
2333 | resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54"
2334 | integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==
2335 | dependencies:
2336 | define-properties "^1.1.3"
2337 | es-abstract "^1.17.5"
2338 |
2339 | strip-ansi@^5.1.0:
2340 | version "5.2.0"
2341 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
2342 | integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
2343 | dependencies:
2344 | ansi-regex "^4.1.0"
2345 |
2346 | strip-ansi@^6.0.0:
2347 | version "6.0.0"
2348 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
2349 | integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
2350 | dependencies:
2351 | ansi-regex "^5.0.0"
2352 |
2353 | strip-bom@^3.0.0:
2354 | version "3.0.0"
2355 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
2356 | integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=
2357 |
2358 | strip-json-comments@^3.1.0:
2359 | version "3.1.0"
2360 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.0.tgz#7638d31422129ecf4457440009fba03f9f9ac180"
2361 | integrity sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==
2362 |
2363 | supports-color@^5.3.0:
2364 | version "5.5.0"
2365 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
2366 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
2367 | dependencies:
2368 | has-flag "^3.0.0"
2369 |
2370 | supports-color@^7.1.0:
2371 | version "7.1.0"
2372 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1"
2373 | integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==
2374 | dependencies:
2375 | has-flag "^4.0.0"
2376 |
2377 | table@^5.2.3:
2378 | version "5.4.6"
2379 | resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e"
2380 | integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==
2381 | dependencies:
2382 | ajv "^6.10.2"
2383 | lodash "^4.17.14"
2384 | slice-ansi "^2.1.0"
2385 | string-width "^3.0.0"
2386 |
2387 | text-table@^0.2.0:
2388 | version "0.2.0"
2389 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
2390 | integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
2391 |
2392 | through@^2.3.6:
2393 | version "2.3.8"
2394 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
2395 | integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
2396 |
2397 | tmp@^0.0.33:
2398 | version "0.0.33"
2399 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
2400 | integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==
2401 | dependencies:
2402 | os-tmpdir "~1.0.2"
2403 |
2404 | to-fast-properties@^2.0.0:
2405 | version "2.0.0"
2406 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
2407 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
2408 |
2409 | tslib@^1.9.0:
2410 | version "1.9.3"
2411 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286"
2412 | integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==
2413 |
2414 | type-check@^0.4.0, type-check@~0.4.0:
2415 | version "0.4.0"
2416 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
2417 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
2418 | dependencies:
2419 | prelude-ls "^1.2.1"
2420 |
2421 | type-fest@^0.11.0:
2422 | version "0.11.0"
2423 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1"
2424 | integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==
2425 |
2426 | type-fest@^0.8.1:
2427 | version "0.8.1"
2428 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
2429 | integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
2430 |
2431 | unicode-canonical-property-names-ecmascript@^1.0.4:
2432 | version "1.0.4"
2433 | resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818"
2434 | integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==
2435 |
2436 | unicode-match-property-ecmascript@^1.0.4:
2437 | version "1.0.4"
2438 | resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c"
2439 | integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==
2440 | dependencies:
2441 | unicode-canonical-property-names-ecmascript "^1.0.4"
2442 | unicode-property-aliases-ecmascript "^1.0.4"
2443 |
2444 | unicode-match-property-value-ecmascript@^1.2.0:
2445 | version "1.2.0"
2446 | resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531"
2447 | integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==
2448 |
2449 | unicode-property-aliases-ecmascript@^1.0.4:
2450 | version "1.0.4"
2451 | resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz#5a533f31b4317ea76f17d807fa0d116546111dd0"
2452 | integrity sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg==
2453 |
2454 | uri-js@^4.2.2:
2455 | version "4.2.2"
2456 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"
2457 | integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==
2458 | dependencies:
2459 | punycode "^2.1.0"
2460 |
2461 | v8-compile-cache@^2.0.3:
2462 | version "2.1.0"
2463 | resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e"
2464 | integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==
2465 |
2466 | validate-npm-package-license@^3.0.1:
2467 | version "3.0.4"
2468 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
2469 | integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==
2470 | dependencies:
2471 | spdx-correct "^3.0.0"
2472 | spdx-expression-parse "^3.0.0"
2473 |
2474 | which@^2.0.1:
2475 | version "2.0.2"
2476 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
2477 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
2478 | dependencies:
2479 | isexe "^2.0.0"
2480 |
2481 | word-wrap@^1.2.3:
2482 | version "1.2.3"
2483 | resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
2484 | integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
2485 |
2486 | wrappy@1:
2487 | version "1.0.2"
2488 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
2489 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
2490 |
2491 | write@1.0.3:
2492 | version "1.0.3"
2493 | resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3"
2494 | integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==
2495 | dependencies:
2496 | mkdirp "^0.5.1"
2497 |
--------------------------------------------------------------------------------