diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 9f82955e3ef..0f656b72ab4 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -8,7 +8,8 @@ Provide a detailed summary of your PR. Explain how you arrived at your solution. - [ ] Checked in **mobile** - [ ] Checked in **IE11** and **Firefox** - [ ] Props have proper **autodocs** -- [ ] Added **[documentation](https://github.com/elastic/eui/blob/master/wiki/documentation-guidelines.md)** examples +- [ ] Added **[documentation](https://github.com/elastic/eui/blob/master/wiki/documentation-guidelines.md)** +- [ ] Checked **[Code Sandbox](https://codesandbox.io/)** works for the any docs examples - [ ] Added or updated **[jest tests](https://github.com/elastic/eui/blob/master/wiki/testing.md)** - [ ] Checked for **breaking changes** and labeled appropriately - [ ] Checked for **accessibility** including keyboard-only and screenreader modes diff --git a/package.json b/package.json index 4139aa2f10b..22b7e904e49 100644 --- a/package.json +++ b/package.json @@ -119,6 +119,7 @@ "chokidar": "^1.7.0", "chromedriver": "^77.0.0", "circular-dependency-plugin": "^5.0.2", + "codesandbox": "^2.1.11", "core-js": "^2.5.1", "cross-env": "^5.2.0", "css-loader": "^0.28.7", diff --git a/src-docs/src/components/codesandbox/index.js b/src-docs/src/components/codesandbox/index.js new file mode 100644 index 00000000000..a18778db350 --- /dev/null +++ b/src-docs/src/components/codesandbox/index.js @@ -0,0 +1 @@ +export { CodeSandboxLink } from './link'; diff --git a/src-docs/src/components/codesandbox/link.js b/src-docs/src/components/codesandbox/link.js new file mode 100644 index 00000000000..a910df0173d --- /dev/null +++ b/src-docs/src/components/codesandbox/link.js @@ -0,0 +1,153 @@ +import React from 'react'; +import { getParameters } from 'codesandbox/lib/api/define'; +import { + cleanEuiImports, + hasDisplayToggles, + listExtraDeps, +} from '../../services'; + +import { EuiSpacer } from '../../../../src/components'; + +/* HOW THE CODE SANDBOX REGEX WORKS + * Given the prop `content` we manipulate the provided source string to format + * it for use as an independent file in Code Sandbox. In order the following + * regex and magic happens: + * + * 1. A `content` prop is passed containing the src-doc example code we need to manipulate for CS. + * 2. If no content exists (like the homepage link), we'll make a hello world file bundled with EUI and call it a day. + * 3. If content exists, we build an `index.js` file with a component based on the original content. + * 4. If content contains `DisplayToggles`, we also generate a `display_toggles.js` file alongside the `index.js` file to import. + * 5. Through regex we read the dependencies of both `content` and `display_toggles` and pass that to CS. + * 6. We pass the files and dependencies as params to CS through a POST call. + * */ + +const displayTogglesRawCode = require('!!raw-loader!../../views/form_controls/display_toggles'); + +/* 1 */ +export const CodeSandboxLink = ({ children, content }) => { + let indexContent; + + if (!content) { + /* 2 */ + indexContent = `import ReactDOM from 'react-dom'; +import '@elastic/eui/dist/eui_theme_light.css' +// import '@elastic/eui/dist/eui_theme_dark.css' +import React from 'react'; + +import { + EuiButton, +} from '@elastic/eui'; + +const Demo = () => (Hello world!); + +ReactDOM.render( + , + document.getElementById('root') +); +`; + } else { + /** This cleans the Demo JS example for Code Sanbox. + - Replaces relative imports with pure @elastic/eui ones + - Changes the JS example from a default export to a component const named Demo + **/ + const exampleCleaned = cleanEuiImports(content) + .replace('export default', 'const Demo =') + .replace( + /(from )'(..\/)+display_toggles(\/?';)/, + "from './display_toggles';" + ); + + // If the code example still has local doc imports after the above cleaning it's + // too complicated for code sandbox so we don't provide a link + const hasLocalImports = /(from )'((.|..)\/).*?';/.test(exampleCleaned); + + if (hasLocalImports && !hasDisplayToggles(exampleCleaned)) { + return null; + } + + // Renders the new Demo component generically into the code sandbox page + const exampleClose = `ReactDOM.render( + , + document.getElementById('root') + );`; + // The Code Sanbbox demo needs to import CSS at the top of the document. CS has trouble + // with our dynamic imports so we need to warn the user for now + const exampleStart = `import ReactDOM from 'react-dom'; +// import '@elastic/eui/dist/eui_theme_dark.css'; +import '@elastic/eui/dist/eui_theme_light.css'`; + + // Concat the three pieces of the example into a single string to use for index.js + const cleanedContent = `${exampleStart} +${exampleCleaned} +${exampleClose} + `; + indexContent = cleanedContent.replace( + /(from )'.+display_toggles';/, + "from './display_toggles';" + ); + } + + const indexContentDeps = listExtraDeps(indexContent); + let mergedDeps = indexContentDeps; + + /* 4 */ + if (hasDisplayToggles(indexContent)) { + const cleanedDisplayToggles = cleanEuiImports(displayTogglesRawCode); + const displayToggleDeps = listExtraDeps(cleanedDisplayToggles); + + /* 5 */ + mergedDeps = { ...indexContentDeps, ...displayToggleDeps }; + } + + const config = { + files: { + 'package.json': { + content: { + dependencies: { + react: 'latest', + 'react-dom': 'latest', + 'react-scripts': 'latest', + moment: 'latest', + '@elastic/eui': 'latest', + '@elastic/datemath': 'latest', + ...mergedDeps, + }, + }, + }, + /* 3 */ + 'index.js': { + content: indexContent, + }, + }, + }; + + /* 4 */ + if (hasDisplayToggles(indexContent)) { + const cleanedDisplayToggles = cleanEuiImports(displayTogglesRawCode); + + config.files['display_toggles.js'] = { + content: cleanedDisplayToggles, + }; + } + + const params = getParameters(config); + + const childWithSubmit = React.cloneElement(children, { + type: 'submit', + }); + + return ( +
+ {/* 6 */} + + + + {childWithSubmit} + + + ); +}; diff --git a/src-docs/src/components/guide_section/guide_section.js b/src-docs/src/components/guide_section/guide_section.js index 7cfdbf18bd7..afa339b8d7b 100644 --- a/src-docs/src/components/guide_section/guide_section.js +++ b/src-docs/src/components/guide_section/guide_section.js @@ -18,8 +18,13 @@ import { EuiTextColor, EuiTitle, EuiLink, + EuiButtonEmpty, } from '../../../../src/components'; +import { CodeSandboxLink } from '../codesandbox'; + +import { cleanEuiImports } from '../../services'; + function markup(text) { const regex = /(#[a-zA-Z]+)|(`[^`]+`)/g; return text.split(regex).map((token, index) => { @@ -156,10 +161,6 @@ export class GuideSection extends Component { if (name === 'javascript') { renderedCode = renderedCode - .replace( - /(from )'(..\/)+src\/components(\/?';)/g, - "from '@elastic/eui';" - ) .replace( /(from )'(..\/)+src\/services(\/?';)/g, "from '@elastic/eui/lib/services';" @@ -203,6 +204,7 @@ export class GuideSection extends Component { renderedCode = renderedCode.replace('\n\n\n', '\n\n'); len = renderedCode.replace('\n\n\n', '\n\n').length; } + renderedCode = cleanEuiImports(renderedCode); } else if (name === 'html') { renderedCode = code.render(); } @@ -463,6 +465,7 @@ export class GuideSection extends Component { if (name === 'javascript') { return (
+ {name === 'javascript' ? this.renderCodeSandBoxButton() : null} {euiCodeBlock}
); @@ -502,6 +505,16 @@ export class GuideSection extends Component { ); } + renderCodeSandBoxButton() { + return ( + + + Try out this demo on Code Sandbox + + + ); + } + render() { const chrome = this.renderChrome(); diff --git a/src-docs/src/services/index.js b/src-docs/src/services/index.js index 15f1f12466d..198af523375 100644 --- a/src-docs/src/services/index.js +++ b/src-docs/src/services/index.js @@ -2,6 +2,12 @@ export { renderToHtml } from './string/render_to_html'; export { translateUsingPseudoLocale } from './string/pseudo_locale_translator'; +export { + cleanEuiImports, + hasDisplayToggles, + listExtraDeps, +} from './string/clean_imports'; + export { registerTheme, applyTheme } from './theme/theme'; export { getRouterLinkProps, registerRouter } from './routing/routing'; diff --git a/src-docs/src/services/string/clean_imports.js b/src-docs/src/services/string/clean_imports.js new file mode 100644 index 00000000000..be267090801 --- /dev/null +++ b/src-docs/src/services/string/clean_imports.js @@ -0,0 +1,27 @@ +export const hasDisplayToggles = code => { + return /DisplayToggles/.test(code); +}; + +export const cleanEuiImports = code => { + return code + .replace(/(from )'(..\/)+src\/components(\/?';)/, "from '@elastic/eui';") + .replace( + /(from )'(..\/)+src\/services(\/?';)/, + "from '@elastic/eui/lib/services';" + ); +}; + +export const listExtraDeps = code => { + return [ + ...code.matchAll( + // Match anything not directly calling eui (like lib dirs) + /(import)(?!.*(elastic\/eui|\.))\s.*?'(?(@[^.]+?\/)?[^.]+?)['\/]/g + ), + ] + .map(x => x.groups.import) + .reduce((deps, dep) => { + // Make sure that we are using the latest version of a dep + deps[dep] = 'latest'; + return deps; + }, {}); +}; diff --git a/src-docs/src/views/accessibility/keyboard_accessible.js b/src-docs/src/views/accessibility/keyboard_accessible.js index 3d08c0ac598..5eafc1a12b6 100644 --- a/src-docs/src/views/accessibility/keyboard_accessible.js +++ b/src-docs/src/views/accessibility/keyboard_accessible.js @@ -1,7 +1,6 @@ import React from 'react'; -import { EuiKeyboardAccessible } from '../../../../src/components'; -import { EuiText } from '../../../../src/components/text'; +import { EuiKeyboardAccessible, EuiText } from '../../../../src/components'; // For custom components, we just need to make sure they delegate props to their rendered root // element, e.g. onClick, tabIndex, and role. diff --git a/src-docs/src/views/code_editor/code_editor.js b/src-docs/src/views/code_editor/code_editor.js index 5a7ceb3d8b0..5f9524988ed 100644 --- a/src-docs/src/views/code_editor/code_editor.js +++ b/src-docs/src/views/code_editor/code_editor.js @@ -1,5 +1,6 @@ import React, { useState } from 'react'; +import 'react-ace'; // this import can be omitted from your project, but is required for our Code Sandbox demo link to work import 'brace/theme/github'; import 'brace/mode/javascript'; import 'brace/snippets/javascript'; diff --git a/src-docs/src/views/color_picker/alpha.js b/src-docs/src/views/color_picker/alpha.js index 0ff835994cd..1509fdb99a7 100644 --- a/src-docs/src/views/color_picker/alpha.js +++ b/src-docs/src/views/color_picker/alpha.js @@ -3,7 +3,7 @@ import React from 'react'; import { EuiColorPicker, EuiFormRow } from '../../../../src/components'; import { useColorPickerState } from '../../../../src/services'; -export const Alpha = () => { +export default () => { const [color, setColor, errors] = useColorPickerState('#D36086'); const [color2, setColor2, errors2] = useColorPickerState('211, 96, 134'); diff --git a/src-docs/src/views/color_picker/color_picker.js b/src-docs/src/views/color_picker/color_picker.js index 44694fea491..7fb7fa65964 100644 --- a/src-docs/src/views/color_picker/color_picker.js +++ b/src-docs/src/views/color_picker/color_picker.js @@ -3,7 +3,7 @@ import React from 'react'; import { EuiColorPicker, EuiFormRow } from '../../../../src/components'; import { useColorPickerState } from '../../../../src/services'; -export const ColorPicker = () => { +export default () => { const [color, setColor, errors] = useColorPickerState('#D36086'); return ( diff --git a/src-docs/src/views/color_picker/color_picker_example.js b/src-docs/src/views/color_picker/color_picker_example.js index 35b12de3c9d..7c1868d766a 100644 --- a/src-docs/src/views/color_picker/color_picker_example.js +++ b/src-docs/src/views/color_picker/color_picker_example.js @@ -18,7 +18,7 @@ import { EuiColorPalettePickerPaletteGradient, } from './props'; -import { ColorPicker } from './color_picker'; +import ColorPicker from './color_picker'; const colorPickerSource = require('!!raw-loader!./color_picker'); const colorPickerHtml = renderToHtml(ColorPicker); const colorPickerSnippet = ` `; -import { ColorStops } from './color_stops'; +import ColorStops from './color_stops'; const colorStopsSource = require('!!raw-loader!./color_stops'); const colorStopsHtml = renderToHtml(ColorStops); const colorStopsSnippetStandard = ` `; -import { ColorStopsRange } from './color_stops_range'; +import ColorStopsRange from './color_stops_range'; const colorStopsRangeSource = require('!!raw-loader!./color_stops_range'); const colorStopsRangeHtml = renderToHtml(ColorStopsRange); const colorPickerRangeSnippet = ` `; -import { Alpha } from './alpha'; +import Alpha from './alpha'; const alphaSource = require('!!raw-loader!./alpha'); const alphaHtml = renderToHtml(Alpha); const alphaSnippet = ``; -import { Formats } from './formats'; +import Formats from './formats'; const formatsSource = require('!!raw-loader!./formats'); const formatsHtml = renderToHtml(Formats); const formatsSnippet = ``; -import { CustomSwatches } from './custom_swatches'; +import CustomSwatches from './custom_swatches'; const customSwatchesSource = require('!!raw-loader!./custom_swatches'); const customSwatchesHtml = renderToHtml(CustomSwatches); const customSwatchesSnippet = ` `; -import { CustomButton } from './custom_button'; +import CustomButton from './custom_button'; const customButtonSource = require('!!raw-loader!./custom_button'); const customButtonHtml = renderToHtml(CustomButton); const customButtonSnippet = ` `; -import { Modes } from './modes'; +import Modes from './modes'; const modesSource = require('!!raw-loader!./modes'); const modesHtml = renderToHtml(Modes); const modesSwatchSnippet = `// Swatches only @@ -211,7 +211,7 @@ const stopModesPickerSnippet = `// Gradient map only /> `; -import { Inline } from './inline'; +import Inline from './inline'; const inlineSource = require('!!raw-loader!./inline'); const inlineHtml = renderToHtml(Inline); const inlineSnippet = ` { +export default () => { const [colorStops, setColorStops, addColor] = useColorStopsState(true); const [extendedColorStops, setExtendedColorStops] = useState([ diff --git a/src-docs/src/views/color_picker/color_stops_range.js b/src-docs/src/views/color_picker/color_stops_range.js index 10c18c6f35c..8be3ac082e7 100644 --- a/src-docs/src/views/color_picker/color_stops_range.js +++ b/src-docs/src/views/color_picker/color_stops_range.js @@ -2,7 +2,7 @@ import React, { useState } from 'react'; import { EuiColorStops, EuiFormRow } from '../../../../src/components'; -export const ColorStopsRange = () => { +export default () => { const [emptyColorStops, setEmptyColorStops] = useState([]); const handleEmptyChange = colorStops => { diff --git a/src-docs/src/views/color_picker/custom_button.js b/src-docs/src/views/color_picker/custom_button.js index a18b6235f31..0eece70516b 100644 --- a/src-docs/src/views/color_picker/custom_button.js +++ b/src-docs/src/views/color_picker/custom_button.js @@ -10,7 +10,7 @@ import { import { useColorPickerState } from '../../../../src/services'; -export const CustomButton = () => { +export default () => { const [color, setColor, errors] = useColorPickerState(''); const [selectedColor, setSelectedColor] = useState(color); const handleColorChange = (text, { hex, isValid }) => { diff --git a/src-docs/src/views/color_picker/custom_swatches.js b/src-docs/src/views/color_picker/custom_swatches.js index bd505656584..74152df83cd 100644 --- a/src-docs/src/views/color_picker/custom_swatches.js +++ b/src-docs/src/views/color_picker/custom_swatches.js @@ -12,7 +12,7 @@ import { useColorStopsState, } from '../../../../src/services'; -export const CustomSwatches = () => { +export default () => { const [color, setColor, errors] = useColorPickerState(); const [colorStops, setColorStops] = useColorStopsState(); diff --git a/src-docs/src/views/color_picker/formats.js b/src-docs/src/views/color_picker/formats.js index a4c2bc699ae..994df1de67e 100644 --- a/src-docs/src/views/color_picker/formats.js +++ b/src-docs/src/views/color_picker/formats.js @@ -3,7 +3,7 @@ import React from 'react'; import { EuiColorPicker, EuiFormRow } from '../../../../src/components'; import { useColorPickerState } from '../../../../src/services'; -export const Formats = () => { +export default () => { const [color, setColor, errors] = useColorPickerState('#D36086'); const [color2, setColor2, errors2] = useColorPickerState('#D36086'); const [color3, setColor3, errors3] = useColorPickerState('211, 96, 134'); diff --git a/src-docs/src/views/color_picker/inline.js b/src-docs/src/views/color_picker/inline.js index 87cecf3f194..6e7949147c7 100644 --- a/src-docs/src/views/color_picker/inline.js +++ b/src-docs/src/views/color_picker/inline.js @@ -3,7 +3,7 @@ import React from 'react'; import { EuiColorPicker } from '../../../../src/components'; import { useColorPickerState } from '../../../../src/services'; -export const Inline = () => { +export default () => { const [color, setColor, errors] = useColorPickerState('#D36086'); return ( { +export default () => { const [color, setColor] = useColorPickerState('#D36086'); const [colorStops, setColorStops, addStop] = useColorStopsState(true); diff --git a/src-docs/src/views/color_picker/modes.js b/src-docs/src/views/color_picker/modes.js index 1f1c8b60463..7f003a44761 100644 --- a/src-docs/src/views/color_picker/modes.js +++ b/src-docs/src/views/color_picker/modes.js @@ -12,7 +12,7 @@ import { useColorStopsState, } from '../../../../src/services'; -export const Modes = () => { +export default () => { const [color, setColor, errors] = useColorPickerState('#D36086'); const [colorStops, setColorStops] = useColorStopsState(); diff --git a/src-docs/src/views/drag_and_drop/drag_and_drop.js b/src-docs/src/views/drag_and_drop/drag_and_drop.js index dd4d8978688..50cf5b3531e 100644 --- a/src-docs/src/views/drag_and_drop/drag_and_drop.js +++ b/src-docs/src/views/drag_and_drop/drag_and_drop.js @@ -4,11 +4,19 @@ import { EuiDraggable, EuiDroppable, EuiPanel, + euiDragDropReorder, } from '../../../../src/components'; +import { htmlIdGenerator } from '../../../../src/services'; -import { euiDragDropReorder } from '../../../../src/components/drag_and_drop'; +const makeId = htmlIdGenerator(); -import { makeList } from './helper'; +const makeList = (number, start = 1) => + Array.from({ length: number }, (v, k) => k + start).map(el => { + return { + content: `Item ${el}`, + id: makeId(), + }; + }); export default () => { const [list, setList] = useState(makeList(3)); diff --git a/src-docs/src/views/drag_and_drop/drag_and_drop_bare.js b/src-docs/src/views/drag_and_drop/drag_and_drop_bare.js index 32baf53ae4a..e33c16541cb 100644 --- a/src-docs/src/views/drag_and_drop/drag_and_drop_bare.js +++ b/src-docs/src/views/drag_and_drop/drag_and_drop_bare.js @@ -4,8 +4,17 @@ import { EuiDraggable, EuiDroppable, } from '../../../../src/components'; +import { htmlIdGenerator } from '../../../../src/services'; -import { makeList } from './helper'; +const makeId = htmlIdGenerator(); + +const makeList = (number, start = 1) => + Array.from({ length: number }, (v, k) => k + start).map(el => { + return { + content: `Item ${el}`, + id: makeId(), + }; + }); export default () => { const [list] = useState(makeList(3)); diff --git a/src-docs/src/views/drag_and_drop/drag_and_drop_clone.js b/src-docs/src/views/drag_and_drop/drag_and_drop_clone.js index 4056a8b0c44..451fb60f38c 100644 --- a/src-docs/src/views/drag_and_drop/drag_and_drop_clone.js +++ b/src-docs/src/views/drag_and_drop/drag_and_drop_clone.js @@ -8,14 +8,20 @@ import { EuiDroppable, EuiIcon, EuiPanel, -} from '../../../../src/components'; - -import { euiDragDropCopy, euiDragDropReorder, -} from '../../../../src/components/drag_and_drop'; +} from '../../../../src/components'; +import { htmlIdGenerator } from '../../../../src/services'; + +const makeId = htmlIdGenerator(); -import { makeId, makeList } from './helper'; +const makeList = (number, start = 1) => + Array.from({ length: number }, (v, k) => k + start).map(el => { + return { + content: `Item ${el}`, + id: makeId(), + }; + }); export default () => { const [isItemRemovable, setIsItemRemovable] = useState(false); diff --git a/src-docs/src/views/drag_and_drop/drag_and_drop_complex.js b/src-docs/src/views/drag_and_drop/drag_and_drop_complex.js index fa66efafc42..7d6a33a9b6f 100644 --- a/src-docs/src/views/drag_and_drop/drag_and_drop_complex.js +++ b/src-docs/src/views/drag_and_drop/drag_and_drop_complex.js @@ -5,14 +5,20 @@ import { EuiDroppable, EuiButtonIcon, EuiPanel, -} from '../../../../src/components'; - -import { euiDragDropMove, euiDragDropReorder, -} from '../../../../src/components/drag_and_drop'; +} from '../../../../src/components'; +import { htmlIdGenerator } from '../../../../src/services'; + +const makeId = htmlIdGenerator(); -import { makeList } from './helper'; +const makeList = (number, start = 1) => + Array.from({ length: number }, (v, k) => k + start).map(el => { + return { + content: `Item ${el}`, + id: makeId(), + }; + }); export default () => { const [list, setList] = useState([1, 2]); diff --git a/src-docs/src/views/drag_and_drop/drag_and_drop_custom_handle.js b/src-docs/src/views/drag_and_drop/drag_and_drop_custom_handle.js index 5c7e6e0aef2..839aaa18069 100644 --- a/src-docs/src/views/drag_and_drop/drag_and_drop_custom_handle.js +++ b/src-docs/src/views/drag_and_drop/drag_and_drop_custom_handle.js @@ -7,11 +7,19 @@ import { EuiFlexItem, EuiIcon, EuiPanel, + euiDragDropReorder, } from '../../../../src/components'; +import { htmlIdGenerator } from '../../../../src/services'; -import { euiDragDropReorder } from '../../../../src/components/drag_and_drop'; +const makeId = htmlIdGenerator(); -import { makeList } from './helper'; +const makeList = (number, start = 1) => + Array.from({ length: number }, (v, k) => k + start).map(el => { + return { + content: `Item ${el}`, + id: makeId(), + }; + }); export default () => { const [list, setList] = useState(makeList(3)); diff --git a/src-docs/src/views/drag_and_drop/drag_and_drop_disable_blocking.js b/src-docs/src/views/drag_and_drop/drag_and_drop_disable_blocking.js index 2678930e6ac..3fa2d00b308 100644 --- a/src-docs/src/views/drag_and_drop/drag_and_drop_disable_blocking.js +++ b/src-docs/src/views/drag_and_drop/drag_and_drop_disable_blocking.js @@ -4,11 +4,19 @@ import { EuiDragDropContext, EuiDraggable, EuiDroppable, + euiDragDropReorder, } from '../../../../src/components'; +import { htmlIdGenerator } from '../../../../src/services'; -import { euiDragDropReorder } from '../../../../src/components/drag_and_drop'; +const makeId = htmlIdGenerator(); -import { makeList } from './helper'; +const makeList = (number, start = 1) => + Array.from({ length: number }, (v, k) => k + start).map(el => { + return { + content: `Item ${el}`, + id: makeId(), + }; + }); export default () => { const [list, setList] = useState(makeList(3)); diff --git a/src-docs/src/views/drag_and_drop/drag_and_drop_move_lists.js b/src-docs/src/views/drag_and_drop/drag_and_drop_move_lists.js index d61c636515b..4f84222f4dc 100644 --- a/src-docs/src/views/drag_and_drop/drag_and_drop_move_lists.js +++ b/src-docs/src/views/drag_and_drop/drag_and_drop_move_lists.js @@ -7,14 +7,20 @@ import { EuiDroppable, EuiIcon, EuiPanel, -} from '../../../../src/components'; - -import { euiDragDropMove, euiDragDropReorder, -} from '../../../../src/components/drag_and_drop'; +} from '../../../../src/components'; +import { htmlIdGenerator } from '../../../../src/services'; + +const makeId = htmlIdGenerator(); -import { makeList } from './helper'; +const makeList = (number, start = 1) => + Array.from({ length: number }, (v, k) => k + start).map(el => { + return { + content: `Item ${el}`, + id: makeId(), + }; + }); export default () => { const [list1, setList1] = useState(makeList(3)); diff --git a/src-docs/src/views/drag_and_drop/drag_and_drop_types.js b/src-docs/src/views/drag_and_drop/drag_and_drop_types.js index e32cfc6d489..990c028389b 100644 --- a/src-docs/src/views/drag_and_drop/drag_and_drop_types.js +++ b/src-docs/src/views/drag_and_drop/drag_and_drop_types.js @@ -6,14 +6,20 @@ import { EuiDraggable, EuiDroppable, EuiPanel, -} from '../../../../src/components'; - -import { euiDragDropMove, euiDragDropReorder, -} from '../../../../src/components/drag_and_drop'; +} from '../../../../src/components'; +import { htmlIdGenerator } from '../../../../src/services'; + +const makeId = htmlIdGenerator(); -import { makeList } from './helper'; +const makeList = (number, start = 1) => + Array.from({ length: number }, (v, k) => k + start).map(el => { + return { + content: `Item ${el}`, + id: makeId(), + }; + }); export default () => { const [list1, setList1] = useState(makeList(3)); diff --git a/src-docs/src/views/drag_and_drop/helper.js b/src-docs/src/views/drag_and_drop/helper.js deleted file mode 100644 index 9e3668abef1..00000000000 --- a/src-docs/src/views/drag_and_drop/helper.js +++ /dev/null @@ -1,11 +0,0 @@ -import { htmlIdGenerator } from '../../../../src/services'; - -export const makeId = htmlIdGenerator(); - -export const makeList = (number, start = 1) => - Array.from({ length: number }, (v, k) => k + start).map(el => { - return { - content: `Item ${el}`, - id: makeId(), - }; - }); diff --git a/src-docs/src/views/facet/facet_layout.js b/src-docs/src/views/facet/facet_layout.js index 4dec84bd2a9..8888e089e25 100644 --- a/src-docs/src/views/facet/facet_layout.js +++ b/src-docs/src/views/facet/facet_layout.js @@ -9,7 +9,7 @@ import { EuiSpacer, } from '../../../../src/components'; -import { VISUALIZATION_COLORS } from '../../../../src/services'; +import { euiPaletteColorBlind } from '../../../../src/services'; export default () => { const [icon, setIcon] = useState(false); @@ -67,42 +67,42 @@ export default () => { id: 'facet0', label: 'Simple, no icon', quantity: 6, - iconColor: VISUALIZATION_COLORS[0], + iconColor: euiPaletteColorBlind[0], onClick: facet0Clicked, }, { id: 'facet1', label: 'Label or color indicator', quantity: 60, - iconColor: VISUALIZATION_COLORS[1], + iconColor: euiPaletteColorBlind[1], onClick: facet1Clicked, }, { id: 'facet2', label: 'Disable all others', quantity: 600, - iconColor: VISUALIZATION_COLORS[2], + iconColor: euiPaletteColorBlind[2], onClick: facet2Clicked, }, { id: 'facet3', label: 'Avatars instead of icons', quantity: 60, - iconColor: VISUALIZATION_COLORS[3], + iconColor: euiPaletteColorBlind[3], onClick: facet3Clicked, }, { id: 'facet4', label: 'Show all as loading', quantity: 6, - iconColor: VISUALIZATION_COLORS[4], + iconColor: euiPaletteColorBlind[4], onClick: facet4Clicked, }, { id: 'facet5', label: 'Just here to show truncation of really long labels', quantity: 0, - iconColor: VISUALIZATION_COLORS[5], + iconColor: euiPaletteColorBlind[5], }, ]; diff --git a/src-docs/src/views/flyout/flyout_complicated.js b/src-docs/src/views/flyout/flyout_complicated.js index 8069a653910..ede8cf87470 100644 --- a/src-docs/src/views/flyout/flyout_complicated.js +++ b/src-docs/src/views/flyout/flyout_complicated.js @@ -1,4 +1,4 @@ -import React, { useState } from 'react'; +import React, { useState, Fragment } from 'react'; import { EuiButton, @@ -18,14 +18,14 @@ import { EuiTabs, EuiText, EuiTitle, + EuiSuperSelect, } from '../../../../src/components'; -import SuperSelectComplexExample from '../super_select/super_select_complex'; - export default () => { const [isFlyoutVisible, setIsFlyoutVisible] = useState(false); const [selectedTabId, setSelectedTabId] = useState('1'); const [isPopoverOpen, setIsPopoverOpen] = useState(false); + const [superSelectvalue, setSuperSeelctValue] = useState('option_one'); const tabs = [ { @@ -57,6 +57,55 @@ export default () => { )); + const superSelectOptions = [ + { + value: 'option_one', + inputDisplay: 'Option one', + dropdownDisplay: ( + + Option one + +

+ Has a short description giving more detail to the option. +

+
+
+ ), + }, + { + value: 'option_two', + inputDisplay: 'Option two', + dropdownDisplay: ( + + Option two + +

+ Has a short description giving more detail to the option. +

+
+
+ ), + }, + { + value: 'option_three', + inputDisplay: 'Option three', + dropdownDisplay: ( + + Option three + +

+ Has a short description giving more detail to the option. +

+
+
+ ), + }, + ]; + + const onSuperSelectChange = value => { + setSuperSeelctValue(value); + }; + const flyoutContent = (

@@ -159,7 +208,13 @@ export default () => { - + onSuperSelectChange(value)} + itemLayoutAlign="top" + hasDividers + /> diff --git a/src-docs/src/views/form_controls/display_toggles.js b/src-docs/src/views/form_controls/display_toggles.js index ab869f50d22..ac85f8bf0a4 100644 --- a/src-docs/src/views/form_controls/display_toggles.js +++ b/src-docs/src/views/form_controls/display_toggles.js @@ -1,5 +1,4 @@ import React, { cloneElement, Component, Fragment } from 'react'; -import { Link } from 'react-router-dom'; import PropTypes from 'prop-types'; import { @@ -13,8 +12,6 @@ import { EuiSpacer, } from '../../../../src/components'; -import { SIZES } from '../../../../src/components/spacer/spacer'; - export class DisplayToggles extends Component { constructor(props) { super(props); @@ -160,9 +157,9 @@ export class DisplayToggles extends Component { compressed{' '} - + - + } @@ -224,7 +221,8 @@ DisplayToggles.propTypes = { canAppend: PropTypes.bool, canInvalid: PropTypes.bool, extras: PropTypes.arrayOf(PropTypes.node), - spacerSize: PropTypes.oneOf(SIZES), + // Manually building the spacer array to avoid having to import Spacer into codesandbox + spacerSize: PropTypes.oneOf(['xs', 's', 'm', 'l', 'xl', 'xxl']), }; DisplayToggles.defaultProps = { diff --git a/src-docs/src/views/form_layouts/form_rows.js b/src-docs/src/views/form_layouts/form_rows.js index 63c89d8dd11..9716946c72a 100644 --- a/src-docs/src/views/form_layouts/form_rows.js +++ b/src-docs/src/views/form_layouts/form_rows.js @@ -15,7 +15,7 @@ import { EuiText, } from '../../../../src/components'; -import { htmlIdGenerator } from '../../../../src/services/accessibility'; +import { htmlIdGenerator } from '../../../../src/services'; export default () => { const idPrefix = htmlIdGenerator()(); diff --git a/src-docs/src/views/home/home_view.js b/src-docs/src/views/home/home_view.js index 8ddda46d77d..387cf9ad292 100644 --- a/src-docs/src/views/home/home_view.js +++ b/src-docs/src/views/home/home_view.js @@ -27,6 +27,8 @@ import { EuiScreenReaderOnly, } from '../../../../src/components'; +import { CodeSandboxLink } from '../../components/codesandbox'; + const pkg = require('../../../../package.json'); export const HomeView = () => ( @@ -98,9 +100,11 @@ export const HomeView = () => ( - - Codesandbox - + + + Codesandbox + + diff --git a/src-docs/src/views/inner_text/inner_text.js b/src-docs/src/views/inner_text/inner_text.js index 1e1246455e6..ef4461a9ed6 100644 --- a/src-docs/src/views/inner_text/inner_text.js +++ b/src-docs/src/views/inner_text/inner_text.js @@ -1,7 +1,5 @@ import React, { useEffect, useState } from 'react'; -import { EuiInnerText } from '../../../../src/components/inner_text'; - import { EuiBadge, EuiCode, @@ -10,6 +8,7 @@ import { EuiPanel, EuiText, EuiSpacer, + EuiInnerText, } from '../../../../src/components'; export default () => { diff --git a/src-docs/src/views/modal/modal.js b/src-docs/src/views/modal/modal.js index e3093b48966..d205eeb2c16 100644 --- a/src-docs/src/views/modal/modal.js +++ b/src-docs/src/views/modal/modal.js @@ -1,4 +1,4 @@ -import React, { useState } from 'react'; +import React, { useState, Fragment } from 'react'; import { EuiButton, @@ -16,15 +16,16 @@ import { EuiSwitch, EuiCodeBlock, EuiSpacer, + EuiSuperSelect, + EuiText, } from '../../../../src/components'; -import SuperSelectComplexExample from '../super_select/super_select_complex'; - -import makeId from '../../../../src/components/form/form_row/make_id'; +import { htmlIdGenerator } from '../../../../src/services'; export default () => { const [isModalVisible, setIsModalVisible] = useState(false); const [isSwitchChecked, setIsSwitchChecked] = useState(true); + const [superSelectvalue, setSuperSeelctValue] = useState('option_one'); const onSwitchChange = () => setIsSwitchChecked(isSwitchChecked => !isSwitchChecked); @@ -33,11 +34,56 @@ export default () => { const showModal = () => setIsModalVisible(true); + const superSelectOptions = [ + { + value: 'option_one', + inputDisplay: 'Option one', + dropdownDisplay: ( + + Option one + +

+ Has a short description giving more detail to the option. +

+
+ + ), + }, + { + value: 'option_two', + inputDisplay: 'Option two', + dropdownDisplay: ( + + Option two + +

+ Has a short description giving more detail to the option. +

+
+
+ ), + }, + { + value: 'option_three', + inputDisplay: 'Option three', + dropdownDisplay: ( + + Option three + +

+ Has a short description giving more detail to the option. +

+
+
+ ), + }, + ]; + const formSample = ( { - + onSuperSelectChange(value)} + itemLayoutAlign="top" + hasDividers + /> @@ -65,6 +117,10 @@ export default () => { ); + const onSuperSelectChange = value => { + setSuperSeelctValue(value); + }; + let modal; if (isModalVisible) { diff --git a/src-docs/src/views/resizable_container/lorem.txt b/src-docs/src/views/resizable_container/lorem.txt deleted file mode 100644 index 709b6c49260..00000000000 --- a/src-docs/src/views/resizable_container/lorem.txt +++ /dev/null @@ -1,29 +0,0 @@ -Lorem ipsum dolor sit amet, omnis omittam patrioque eam ad, eum -discere efficiantur ut. Ei duo sale melius discere, per animal -equidem rationibus at. Maiestatis mnesarchum per ea, te eum option -petentium repudiandae. Ne summo dicam timeam vis, duo etiam primis -maiestatis ex. Per detraxit mediocrem ad. Ei vix postulant -aliquando, has ei epicurei quaerendum necessitatibus. No vis idque -nihil ancillae, ea nostrud incorrupte interesset mel. Ex vim paulo -docendi, docendi omittam complectitur ne quo, ea nam mundi -salutatus. An detraxit splendide sed, ridens rationibus cu has. In -nam tota meliore torquatos, stet detracto insolens cu his. Quidam -pericula cum ei, modus essent vis an, mea ut veri placerat. Ne cum -fugit dolor aeterno. No augue audiam consequuntur quo. Case -detraxit reprehendunt ad qui, vis autem possim eu, vel ut duis -erroribus. At accusata delicatissimi vis, ad eam eruditi ceteros -pertinacia, at mandamus quaerendum vis. Ut simul omittam menandri -his, quodsi vituperata et his, ut eum melius tractatos petentium. -Nec illud molestie an. Te sed dolor ridens atomorum, quem eirmod -sed id. Sea iusto dicant populo an. Ius aeque fuisset et, duo id -amet invenire. Ad duo appareat rationibus sadipscing, nullam -verterem vix no. Ut melius cetero pertinax usu, ei sententiae -reprimique eam. Eu usu ferri graeco. Ei qui paulo latine -rationibus, dico dicat tempor usu ad. Ut eligendi interesset mel, -ius ut modus animal propriae, justo epicurei no his. Ea sit enim -sale omittantur, quot malorum intellegat pro ad, ocurreret -salutatus vel cu. Brute quaeque facilisis in nec. His velit -percipitur eu, libris possim convenire nec no. Ad mel exerci -explicari, vidit brute percipitur an vim, phaedrum volutpat -consequuntur mea ad. Ei sed adhuc mentitum consetetur, ea justo -perpetua pro, cetero lucilius sententiae eos eu. diff --git a/src-docs/src/views/resizable_container/resizable_container_basic.js b/src-docs/src/views/resizable_container/resizable_container_basic.js index e7581eee35c..3c4f9eeffff 100644 --- a/src-docs/src/views/resizable_container/resizable_container_basic.js +++ b/src-docs/src/views/resizable_container/resizable_container_basic.js @@ -1,8 +1,14 @@ import React from 'react'; - import { EuiText, EuiResizableContainer } from '../../../../src/components'; +import { fake } from 'faker'; -const text = require('!!raw-loader!./lorem.txt'); +const text = ( + <> +

{fake('{{lorem.paragraphs}}')}

+

{fake('{{lorem.paragraphs}}')}

+

{fake('{{lorem.paragraphs}}')}

+ +); export default () => ( diff --git a/src-docs/src/views/resizable_container/resizable_container_reset_values.js b/src-docs/src/views/resizable_container/resizable_container_reset_values.js index 09107ae439b..0b77525473c 100644 --- a/src-docs/src/views/resizable_container/resizable_container_reset_values.js +++ b/src-docs/src/views/resizable_container/resizable_container_reset_values.js @@ -8,8 +8,15 @@ import { EuiButton, EuiSpacer, } from '../../../../src/components'; +import { fake } from 'faker'; -const text = require('!!raw-loader!./lorem.txt'); +const text = ( + <> +

{fake('{{lorem.paragraphs}}')}

+

{fake('{{lorem.paragraphs}}')}

+

{fake('{{lorem.paragraphs}}')}

+ +); const firstPanelId = 'resizable-panel__1'; const secondPanelId = 'resizable-panel__2'; diff --git a/src-docs/src/views/resizable_container/resizable_container_three_panels.js b/src-docs/src/views/resizable_container/resizable_container_three_panels.js index 29dd9fb4d91..ee37135cfe9 100644 --- a/src-docs/src/views/resizable_container/resizable_container_three_panels.js +++ b/src-docs/src/views/resizable_container/resizable_container_three_panels.js @@ -1,8 +1,8 @@ import React from 'react'; - import { EuiText, EuiResizableContainer } from '../../../../src/components'; +import { fake } from 'faker'; -const text = require('!!raw-loader!./lorem.txt'); +const text = fake('{{lorem.paragraphs}}'); export default () => ( diff --git a/src-docs/src/views/resizable_container/resizable_container_vertical.js b/src-docs/src/views/resizable_container/resizable_container_vertical.js index b00bd1fa877..edc649f29ee 100644 --- a/src-docs/src/views/resizable_container/resizable_container_vertical.js +++ b/src-docs/src/views/resizable_container/resizable_container_vertical.js @@ -1,8 +1,15 @@ import React from 'react'; import { EuiText, EuiResizableContainer } from '../../../../src/components'; +import { fake } from 'faker'; -const text = require('!!raw-loader!./lorem.txt'); +const text = ( + <> +

{fake('{{lorem.paragraphs}}')}

+

{fake('{{lorem.paragraphs}}')}

+

{fake('{{lorem.paragraphs}}')}

+ +); export default () => ( diff --git a/src-docs/src/views/tree_view/compressed.js b/src-docs/src/views/tree_view/compressed.js index a2abe7b0e6c..8ee22befef7 100644 --- a/src-docs/src/views/tree_view/compressed.js +++ b/src-docs/src/views/tree_view/compressed.js @@ -2,7 +2,7 @@ import React from 'react'; import { EuiTreeView, EuiToken } from '../../../../src/components'; -export const TreeViewCompressed = () => { +export default () => { const items = [ { label: 'transporter', diff --git a/src-docs/src/views/tree_view/tree_view.js b/src-docs/src/views/tree_view/tree_view.js index a5f9e2b477d..31de34020d5 100644 --- a/src-docs/src/views/tree_view/tree_view.js +++ b/src-docs/src/views/tree_view/tree_view.js @@ -2,7 +2,7 @@ import React from 'react'; import { EuiIcon, EuiTreeView, EuiToken } from '../../../../src/components'; -export const TreeView = () => { +export default () => { const showAlert = () => { alert('You squashed a bug!'); }; diff --git a/src-docs/src/views/tree_view/tree_view_example.js b/src-docs/src/views/tree_view/tree_view_example.js index 532eb2f9b08..59369d81dec 100644 --- a/src-docs/src/views/tree_view/tree_view_example.js +++ b/src-docs/src/views/tree_view/tree_view_example.js @@ -7,8 +7,8 @@ import { GuideSectionTypes } from '../../components'; import { EuiCode, EuiTreeView } from '../../../../src/components'; import { EuiTreeViewNode } from './tree_view_props'; -import { TreeView } from './tree_view'; -import { TreeViewCompressed } from './compressed'; +import TreeView from './tree_view'; +import TreeViewCompressed from './compressed'; const treeViewSource = require('!!raw-loader!./tree_view'); const treeViewHtml = renderToHtml(TreeView); @@ -17,11 +17,11 @@ const treeViewCompressedSource = require('!!raw-loader!./compressed'); const treeViewCompressedHtml = renderToHtml(TreeViewCompressed); const treeViewSnippet = [ - `, iconWhenExpanded: , isExpanded: true, @@ -42,7 +42,7 @@ const treeViewSnippet = [ label: 'Item Two', id: 'item_two', } - ]} + ]} />`, ]; diff --git a/yarn.lock b/yarn.lock index a8d47012db5..7078bdb955d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1600,6 +1600,13 @@ adm-zip@0.4.11, adm-zip@~0.4.3: resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.11.tgz#2aa54c84c4b01a9d0fb89bb11982a51f13e3d62a" integrity sha512-L8vcjDTCOIJk7wFvmlEUN7AsSb8T+2JrdP7KINBjzr24TJ5Mwj590sLu3BC7zNZowvJWa/JtPmD8eJCzdtDWjA== +agent-base@4, agent-base@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" + integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== + dependencies: + es6-promisify "^5.0.0" + agent-base@^4.1.0: version "4.2.1" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9" @@ -1607,12 +1614,12 @@ agent-base@^4.1.0: dependencies: es6-promisify "^5.0.0" -agent-base@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" - integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== +agentkeepalive@^3.3.0: + version "3.5.2" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-3.5.2.tgz#a113924dd3fa24a0bc3b78108c450c2abee00f67" + integrity sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ== dependencies: - es6-promisify "^5.0.0" + humanize-ms "^1.2.1" aggregate-error@^1.0.0: version "1.0.0" @@ -1747,6 +1754,11 @@ ansi-escapes@^3.0.0: resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.0.0.tgz#ec3e8b4e9f8064fc02c3ac9b65f1c275bda8ef92" integrity sha512-O/klc27mWNUigtv0F8NJWbLF00OcegQalkqKURWdosW08YZKi4m6CnSUSvIZG1otNJbTWhN01Hhz389DW7mvDQ== +ansi-escapes@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" + integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== + ansi-escapes@^4.2.1: version "4.3.1" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" @@ -2194,6 +2206,14 @@ axe-puppeteer@^1.0.0: dependencies: axe-core "^3.1.2" +axios@^0.18.1: + version "0.18.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.18.1.tgz#ff3f0de2e7b5d180e757ad98000f1081b87bcea3" + integrity sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g== + dependencies: + follow-redirects "1.5.10" + is-buffer "^2.0.2" + axobject-query@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.0.2.tgz#ea187abe5b9002b377f925d8bf7d1c561adf38f9" @@ -2456,6 +2476,11 @@ binary-extensions@^1.0.0: resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-2.0.0.tgz#e597d1a7a6a3558a2d1c7241a16c99965e6aa40f" integrity sha1-5ZfRp6ajVYotHHJBoWyZll5qpA8= +binaryextensions@^2.1.2: + version "2.3.0" + resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-2.3.0.tgz#1d269cbf7e6243ea886aa41453c3651ccbe13c22" + integrity sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg== + bindings@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" @@ -2501,16 +2526,16 @@ bluebird@3.5.1, bluebird@^3.4.7: resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" integrity sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA== +bluebird@^3.5.0, bluebird@^3.5.5: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + bluebird@^3.5.1: version "3.5.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.2.tgz#1be0908e054a751754549c270489c1505d4ab15a" integrity sha512-dhHTWMI7kMx5whMQntl7Vr9C6BvV10lFXDAasnqnrMYhXVCzzk6IO9Fo2L75jXHT07WrOngL1WDXOp+yYS91Yg== -bluebird@^3.5.5: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - bmp-js@0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/bmp-js/-/bmp-js-0.0.3.tgz#64113e9c7cf1202b376ed607bf30626ebe57b18a" @@ -2805,11 +2830,35 @@ builtin-status-codes@^3.0.0: resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= +builtins@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" + integrity sha1-y5T662HIaWRR2zZTThQi+U8K7og= + bytes@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= +cacache@^10.0.0: + version "10.0.4" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-10.0.4.tgz#6452367999eff9d4188aefd9a14e9d7c6a263460" + integrity sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA== + dependencies: + bluebird "^3.5.1" + chownr "^1.0.1" + glob "^7.1.2" + graceful-fs "^4.1.11" + lru-cache "^4.1.1" + mississippi "^2.0.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.2" + ssri "^5.2.4" + unique-filename "^1.1.0" + y18n "^4.0.0" + cacache@^11.2.0: version "11.2.0" resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.2.0.tgz#617bdc0b02844af56310e411c0878941d5739965" @@ -2851,6 +2900,25 @@ cacache@^12.0.2: unique-filename "^1.1.1" y18n "^4.0.0" +cacache@^9.2.9: + version "9.3.0" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-9.3.0.tgz#9cd58f2dd0b8c8cacf685b7067b416d6d3cf9db1" + integrity sha512-Vbi8J1XfC8v+FbQ6QkOtKXsHpPnB0i9uMeYFJoj40EbdOsEqWB3DPpNjfsnYBkqOPYA8UvrqH6FZPpBP0zdN7g== + dependencies: + bluebird "^3.5.0" + chownr "^1.0.1" + glob "^7.1.2" + graceful-fs "^4.1.11" + lru-cache "^4.1.1" + mississippi "^1.3.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.1" + ssri "^4.1.6" + unique-filename "^1.1.0" + y18n "^3.2.1" + cache-base@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" @@ -3212,6 +3280,11 @@ chromedriver@^77.0.0: request "^2.88.0" tcp-port-used "^1.0.1" +ci-info@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" + integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== + ci-info@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" @@ -3310,6 +3383,11 @@ cli-spinners@^1.0.0: resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.1.0.tgz#f1847b168844d917a671eb9d147e3df497c90d06" integrity sha1-8YR7FohE2RemceudFH499JfJDQY= +cli-spinners@^1.0.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.3.1.tgz#002c1990912d0d59580c93bd36c056de99e4259a" + integrity sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg== + cli-table@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" @@ -3439,6 +3517,47 @@ code-point-at@^1.0.0: resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= +codesandbox-import-util-types@^2.1.9: + version "2.1.9" + resolved "https://registry.yarnpkg.com/codesandbox-import-util-types/-/codesandbox-import-util-types-2.1.9.tgz#24ba5ec3d966f51f18b78c48d32e6411da90aa74" + integrity sha512-Vc4qh+neVfHtS3RG+7wvaErMoEKdNTnLFnyj4Dcbn3NV7v9nlPj/z6MGhHp9S+vAjegWorFzxg9lKB1WGHTt5Q== + +codesandbox-import-utils@^2.1.14: + version "2.1.14" + resolved "https://registry.yarnpkg.com/codesandbox-import-utils/-/codesandbox-import-utils-2.1.14.tgz#b8222d95208048173ddc754f00618dde5e892eda" + integrity sha512-IOV1lk/hEnp6KV4uuHvfjrdIbYSVx11WXr75ABjHPuBh117AgKEbujTduoAChDuEofevV6GwlIyl32EBNECE1Q== + dependencies: + codesandbox-import-util-types "^2.1.9" + istextorbinary "^2.2.1" + lz-string "^1.4.4" + +codesandbox@^2.1.11: + version "2.1.14" + resolved "https://registry.yarnpkg.com/codesandbox/-/codesandbox-2.1.14.tgz#63a61773f20038af29107a3d2921e576016250fe" + integrity sha512-aVOFvUXvsX+a+oTZ7c+mHdWoo3L/C96SDL6iBMOBFB7a0TjjKM03aVmFgrssGdd1cAGCagolGe0zii6EwMS5hQ== + dependencies: + axios "^0.18.1" + chalk "^2.4.1" + codesandbox-import-util-types "^2.1.9" + codesandbox-import-utils "^2.1.14" + commander "^2.9.0" + datauri "^1.1.0" + filesize "^3.6.1" + fs-extra "^3.0.1" + git-branch "^1.0.0" + git-repo-name "^0.6.0" + git-username "^0.5.0" + humps "^2.0.1" + inquirer "^6.2.2" + lodash "^4.17.5" + lz-string "^1.4.4" + ms "^2.0.0" + open "^6.3.0" + ora "^1.3.0" + pacote "^2.7.36" + shortid "^2.2.8" + update-notifier "^2.2.0" + collection-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" @@ -3595,7 +3714,7 @@ commander@^2.15.1, commander@^2.8.1: resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== -commander@^2.20.0, commander@~2.20.3: +commander@^2.20.0, commander@^2.9.0, commander@~2.20.3: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -4285,6 +4404,13 @@ currently-unhandled@^0.4.1: dependencies: array-find-index "^1.0.1" +cwd@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/cwd/-/cwd-0.9.1.tgz#41e10a7e1ab833dc59c2eca83814c7de77b5a4fd" + integrity sha1-QeEKfhq4M9xZwuyoOBTH3ne1pP0= + dependencies: + find-pkg "^0.1.0" + cycle@1.0.x: version "1.0.3" resolved "https://registry.yarnpkg.com/cycle/-/cycle-1.0.3.tgz#21e80b2be8580f98b468f379430662b046c34ad2" @@ -4388,6 +4514,15 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" +datauri@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/datauri/-/datauri-1.1.0.tgz#c6184ff6b928ede4e41ccc23ab954c7839c4fb39" + integrity sha512-0q+cTTKx7q8eDteZRIQLTFJuiIsVing17UbWTPssY4JLSMaYsk/VKpNulBDo9NSgQWcvlPrkEHW8kUO67T/7mQ== + dependencies: + image-size "^0.6.2" + mimer "^0.3.2" + semver "^5.5.0" + date-now@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" @@ -4413,7 +4548,7 @@ debug@2.6.9, debug@^2.1.1, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6. dependencies: ms "2.0.0" -debug@3.1.0, debug@^3.1.0: +debug@3.1.0, debug@=3.1.0, debug@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== @@ -4903,6 +5038,14 @@ editions@^1.1.1: resolved "https://registry.yarnpkg.com/editions/-/editions-1.3.3.tgz#0907101bdda20fac3cbe334c27cbd0688dc99a5b" integrity sha1-CQcQG92iD6w8vjNMJ8vQaI3Jmls= +editions@^2.2.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/editions/-/editions-2.3.1.tgz#3bc9962f1978e801312fbd0aebfed63b49bfe698" + integrity sha512-ptGvkwTvGdGfC0hfhKg0MT+TRLRKGtUiWGBInxOm5pz7ssADezahjCUaYuZ8Dr+C05FW0AECIIPt4WBxVINEhA== + dependencies: + errlop "^2.0.0" + semver "^6.3.0" + ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" @@ -5071,6 +5214,16 @@ enzyme@^3.10.0: rst-selector-parser "^2.2.3" string.prototype.trim "^1.1.2" +err-code@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960" + integrity sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA= + +errlop@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/errlop/-/errlop-2.2.0.tgz#1ff383f8f917ae328bebb802d6ca69666a42d21b" + integrity sha512-e64Qj9+4aZzjzzFpZC7p5kmm/ccCrbLhAJplhsDXQFs87XTsXwOpH4s1Io2s90Tau/8r2j9f4l/thhDevRjzxw== + errno@^0.1.3: version "0.1.6" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.6.tgz#c386ce8a6283f14fc09563b71560908c9bf53026" @@ -5772,6 +5925,13 @@ expand-range@^1.8.1: dependencies: fill-range "^2.1.0" +expand-tilde@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-1.2.2.tgz#0b81eba897e5a3d31d1c3d102f8f01441e559449" + integrity sha1-C4HrqJflo9MdHD0QL48BRB5VlEk= + dependencies: + os-homedir "^1.0.1" + expect@^24.1.0: version "24.1.0" resolved "https://registry.yarnpkg.com/expect/-/expect-24.1.0.tgz#88e73301c4c785cde5f16da130ab407bdaf8c0f2" @@ -6060,6 +6220,11 @@ file-loader@^1.1.11: loader-utils "^1.0.2" schema-utils "^0.4.5" +file-name@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/file-name/-/file-name-0.1.0.tgz#12b122f120f9c34dbc176c1ab81a548aced6def7" + integrity sha1-ErEi8SD5w028F2wauBpUis7W3vc= + file-type@^3.1.0: version "3.9.0" resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9" @@ -6083,6 +6248,11 @@ fileset@^2.0.3: glob "^7.0.3" minimatch "^3.0.3" +filesize@^3.6.1: + version "3.6.1" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" + integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg== + fill-range@^2.1.0: version "2.2.4" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565" @@ -6149,6 +6319,21 @@ find-cache-dir@^2.1.0: make-dir "^2.0.0" pkg-dir "^3.0.0" +find-file-up@^0.1.2: + version "0.1.3" + resolved "https://registry.yarnpkg.com/find-file-up/-/find-file-up-0.1.3.tgz#cf68091bcf9f300a40da411b37da5cce5a2fbea0" + integrity sha1-z2gJG8+fMApA2kEbN9pczlovvqA= + dependencies: + fs-exists-sync "^0.1.0" + resolve-dir "^0.1.0" + +find-pkg@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/find-pkg/-/find-pkg-0.1.2.tgz#1bdc22c06e36365532e2a248046854b9788da557" + integrity sha1-G9wiwG42NlUy4qJIBGhUuXiNpVc= + dependencies: + find-file-up "^0.1.2" + find-root@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" @@ -6243,6 +6428,13 @@ focus-lock@^0.5.2: resolved "https://registry.yarnpkg.com/focus-lock/-/focus-lock-0.5.4.tgz#537644d61b9e90fd97075aa680b8add1de24e819" integrity sha512-A9ngdb0NyI6UygBQ0eD+p8SpLWTkdEDn67I3EGUUcDUfxH694mLA/xBWwhWhoj/2YLtsv2EoQdAx9UOKs8d/ZQ== +follow-redirects@1.5.10: + version "1.5.10" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a" + integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ== + dependencies: + debug "=3.1.0" + for-each@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.2.tgz#2c40450b9348e97f281322593ba96704b9abd4d4" @@ -6368,6 +6560,11 @@ fs-constants@^1.0.0: resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== +fs-exists-sync@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" + integrity sha1-mC1ok6+RjnLQjeyehnP/K1qNat0= + fs-extra@^0.30.0: version "0.30.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0" @@ -6555,6 +6752,11 @@ generate-object-property@^1.1.0: dependencies: is-property "^1.0.0" +genfun@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/genfun/-/genfun-4.0.1.tgz#ed10041f2e4a7f1b0a38466d17a5c3e27df1dfc1" + integrity sha1-7RAEHy5KfxsKOEZtF6XD4n3x38E= + gensync@^1.0.0-beta.1: version "1.0.0-beta.1" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" @@ -6622,6 +6824,37 @@ gh-got@^6.0.0: got "^7.0.0" is-plain-obj "^1.1.0" +git-branch@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/git-branch/-/git-branch-1.0.0.tgz#64cc7dd75da2d81a9d4679087c1f8b56e6bd2d3d" + integrity sha512-ZTzuqw5Df8fyLXQWrX6hK+4FpNCdKzMcERlxENEGO5aKcLmG7MAszhrMhluUKNKmOS/JAGijDMQDXDCDw1mE/A== + +git-config-path@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/git-config-path/-/git-config-path-1.0.1.tgz#6d33f7ed63db0d0e118131503bab3aca47d54664" + integrity sha1-bTP37WPbDQ4RgTFQO6s6ykfVRmQ= + dependencies: + extend-shallow "^2.0.1" + fs-exists-sync "^0.1.0" + homedir-polyfill "^1.0.0" + +git-repo-name@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/git-repo-name/-/git-repo-name-0.6.0.tgz#af09884656aa537ec625c7087008175cd61228ff" + integrity sha1-rwmIRlaqU37GJccIcAgXXNYSKP8= + dependencies: + cwd "^0.9.1" + file-name "^0.1.0" + lazy-cache "^1.0.4" + remote-origin-url "^0.5.1" + +git-username@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/git-username/-/git-username-0.5.1.tgz#432a41b34a19607892354004c9893a8829ffa4f0" + integrity sha512-xjUjrj3i4kup2A3a/ZVZB1Nt0PUX7SU7KeVqIbXPdslT7NbNfyO04JMxBv4gar77JePdS+A6f05jG1Viy6+U1w== + dependencies: + remote-origin-url "^0.4.0" + github-username@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/github-username/-/github-username-4.1.0.tgz#cbe280041883206da4212ae9e4b5f169c30bf417" @@ -6729,6 +6962,24 @@ global-modules-path@^2.3.0: resolved "https://registry.yarnpkg.com/global-modules-path/-/global-modules-path-2.3.0.tgz#b0e2bac6beac39745f7db5c59d26a36a0b94f7dc" integrity sha512-HchvMJNYh9dGSCy8pOQ2O8u/hoXaL+0XhnrwH0RyLiSXMMTl9W3N6KUU73+JFOg5PGjtzl6VZzUQsnrpm7Szag== +global-modules@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-0.2.3.tgz#ea5a3bed42c6d6ce995a4f8a1269b5dae223828d" + integrity sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0= + dependencies: + global-prefix "^0.1.4" + is-windows "^0.2.0" + +global-prefix@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-0.1.5.tgz#8d3bc6b8da3ca8112a160d8d496ff0462bfef78f" + integrity sha1-jTvGuNo8qBEqFg2NSW/wRiv+948= + dependencies: + homedir-polyfill "^1.0.0" + ini "^1.3.4" + is-windows "^0.2.0" + which "^1.2.12" + global@~4.3.0: version "4.3.2" resolved "https://registry.yarnpkg.com/global/-/global-4.3.2.tgz#e76989268a6c74c38908b1305b10fc0e394e9d0f" @@ -7130,11 +7381,23 @@ hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0: dependencies: react-is "^16.7.0" +homedir-polyfill@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" + integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== + dependencies: + parse-passwd "^1.0.0" + hosted-git-info@^2.1.4: version "2.5.0" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" integrity sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg== +hosted-git-info@^2.4.2: + version "2.8.8" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" + integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== + hpack.js@^2.1.6: version "2.1.6" resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" @@ -7235,6 +7498,11 @@ htmlparser2@~3.3.0: domutils "1.1" readable-stream "1.0" +http-cache-semantics@^3.8.0: + version "3.8.1" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" + integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w== + http-deceiver@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" @@ -7255,6 +7523,14 @@ http-parser-js@>=0.4.0: resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.9.tgz#ea1a04fb64adff0242e9974f297dd4c3cad271e1" integrity sha1-6hoE+2St/wJC6ZdPKX3Uw8rSceE= +http-proxy-agent@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405" + integrity sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg== + dependencies: + agent-base "4" + debug "3.1.0" + http-proxy-middleware@~0.18.0: version "0.18.0" resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz#0987e6bb5a5606e5a69168d8f967a87f15dd8aab" @@ -7295,7 +7571,7 @@ https-proxy-agent@2.2.1: agent-base "^4.1.0" debug "^3.1.0" -https-proxy-agent@^2.2.1: +https-proxy-agent@^2.1.0, https-proxy-agent@^2.2.1: version "2.2.4" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b" integrity sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg== @@ -7316,6 +7592,13 @@ humanize-duration@~3.12.0: resolved "https://registry.yarnpkg.com/humanize-duration/-/humanize-duration-3.12.1.tgz#e9a531519d001ee600b6400fc353fed4fa3b235f" integrity sha512-Eu68Xnq5C38391em1zfVy8tiapQrOvTNTlWpax9smHMlEEUcudXrdMfXMoMRyZx4uODowYgi1AYiMzUXEbG+sA== +humanize-ms@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" + integrity sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0= + dependencies: + ms "^2.0.0" + humanize-string@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/humanize-string/-/humanize-string-1.0.1.tgz#fce2d6c545efc25dea1f23235182c98da0180b42" @@ -7323,6 +7606,11 @@ humanize-string@^1.0.0: dependencies: decamelize "^1.0.0" +humps@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/humps/-/humps-2.0.1.tgz#dd02ea6081bd0568dc5d073184463957ba9ef9aa" + integrity sha1-3QLqYIG9BWjcXQcxhEY5V7qe+ao= + i@0.3.x: version "0.3.6" resolved "https://registry.yarnpkg.com/i/-/i-0.3.6.tgz#d96c92732076f072711b6b10fd7d4f65ad8ee23d" @@ -7391,6 +7679,11 @@ image-size@^0.5.0: resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w= +image-size@^0.6.2: + version "0.6.3" + resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.6.3.tgz#e7e5c65bb534bd7cdcedd6cb5166272a85f75fb2" + integrity sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA== + import-fresh@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" @@ -7488,7 +7781,7 @@ inherits@2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= -ini@^1.3.4, ini@~1.3.0: +ini@^1.3.3, ini@^1.3.4, ini@~1.3.0: version "1.3.5" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== @@ -7570,6 +7863,25 @@ inquirer@^3.0.1, inquirer@^3.3.0, inquirer@~3.3.0: strip-ansi "^4.0.0" through "^2.3.6" +inquirer@^6.2.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca" + integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ== + dependencies: + ansi-escapes "^3.2.0" + chalk "^2.4.2" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^3.0.3" + figures "^2.0.0" + lodash "^4.17.12" + mute-stream "0.0.7" + run-async "^2.2.0" + rxjs "^6.4.0" + string-width "^2.1.0" + strip-ansi "^5.1.0" + through "^2.3.6" + inquirer@^7.0.0: version "7.1.0" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.1.0.tgz#1298a01859883e17c7264b82870ae1034f92dd29" @@ -7673,7 +7985,7 @@ ip-regex@^2.1.0: resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= -ip@^1.1.0, ip@^1.1.5: +ip@^1.1.0, ip@^1.1.4, ip@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= @@ -7734,6 +8046,11 @@ is-buffer@^1.0.2, is-buffer@^1.1.5, is-buffer@~1.1.1: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== +is-buffer@^2.0.2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" + integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A== + is-builtin-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" @@ -7756,6 +8073,13 @@ is-callable@^1.1.5: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab" integrity sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q== +is-ci@^1.0.10: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" + integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg== + dependencies: + ci-info "^1.5.0" + is-ci@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" @@ -8170,6 +8494,11 @@ is-utf8@^0.2.0: resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= +is-windows@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c" + integrity sha1-3hqm1j6indJIc3tp8f+LgALSEIw= + is-windows@^1.0.0, is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" @@ -8314,6 +8643,15 @@ istextorbinary@^2.1.0: editions "^1.1.1" textextensions "1 || 2" +istextorbinary@^2.2.1: + version "2.6.0" + resolved "https://registry.yarnpkg.com/istextorbinary/-/istextorbinary-2.6.0.tgz#60776315fb0fa3999add276c02c69557b9ca28ab" + integrity sha512-+XRlFseT8B3L9KyjxxLjfXSLMuErKDsd8DBNrsaxoViABMEZlOSCstwmw0qpoFX3+U6yWU1yhLudAe6/lETGGA== + dependencies: + binaryextensions "^2.1.2" + editions "^2.2.0" + textextensions "^2.5.0" + isurl@^1.0.0-alpha5: version "1.0.0" resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" @@ -8777,16 +9115,16 @@ jsesc@~0.5.0: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= +json-parse-better-errors@^1.0.0, json-parse-better-errors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + json-parse-better-errors@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.1.tgz#50183cd1b2d25275de069e9e71b467ac9eab973a" integrity sha512-xyQpxeWWMKyJps9CuGJYeng6ssI5bpqS9ltQpdVQ90t4ql6NdnxFKh95JcRt2cun/DjMVNrdjniLPuMA69xmCw== -json-parse-better-errors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - json-schema-traverse@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" @@ -8967,7 +9305,7 @@ lazy-cache@^0.2.3: resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-0.2.7.tgz#7feddf2dcb6edb77d11ef1d117ab5ffdf0ab1b65" integrity sha1-f+3fLctu23fRHvHRF6tf/fCrG2U= -lazy-cache@^1.0.3: +lazy-cache@^1.0.3, lazy-cache@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4= @@ -9282,7 +9620,7 @@ lodash@^3.3.1: resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" integrity sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y= -lodash@^4.0.0, lodash@^4.11.1, lodash@^4.13.1, lodash@^4.15.0, lodash@^4.16.1, lodash@^4.16.6, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.8.0, lodash@~4.17.4: +lodash@^4.0.0, lodash@^4.11.1, lodash@^4.13.1, lodash@^4.15.0, lodash@^4.16.1, lodash@^4.16.6, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.8.0, lodash@~4.17.4: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== @@ -9351,6 +9689,14 @@ lru-cache@^4.0.0, lru-cache@^4.0.1: pseudomap "^1.0.2" yallist "^2.1.2" +lru-cache@^4.1.1: + version "4.1.5" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + lru-cache@^4.1.3: version "4.1.3" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c" @@ -9371,6 +9717,11 @@ lsmod@1.0.0: resolved "https://registry.yarnpkg.com/lsmod/-/lsmod-1.0.0.tgz#9a00f76dca36eb23fa05350afe1b585d4299e64b" integrity sha1-mgD3bco26yP6BTUK/htYXUKZ5ks= +lz-string@^1.4.4: + version "1.4.4" + resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.4.4.tgz#c0d8eaf36059f705796e1e344811cf4c498d3a26" + integrity sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY= + macaddress@^0.2.8: version "0.2.9" resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.9.tgz#3579b8b9acd5b96b4553abf0f394185a86813cb3" @@ -9398,6 +9749,23 @@ make-dir@^2.0.0, make-dir@^2.1.0: pify "^4.0.1" semver "^5.6.0" +make-fetch-happen@^2.4.13: + version "2.6.0" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-2.6.0.tgz#8474aa52198f6b1ae4f3094c04e8370d35ea8a38" + integrity sha512-FFq0lNI0ax+n9IWzWpH8A4JdgYiAp2DDYIZ3rsaav8JDe8I+72CzK6PQW/oom15YDZpV5bYW/9INd6nIJ2ZfZw== + dependencies: + agentkeepalive "^3.3.0" + cacache "^10.0.0" + http-cache-semantics "^3.8.0" + http-proxy-agent "^2.0.0" + https-proxy-agent "^2.1.0" + lru-cache "^4.1.1" + mississippi "^1.2.0" + node-fetch-npm "^2.0.2" + promise-retry "^1.1.1" + socks-proxy-agent "^3.0.1" + ssri "^5.0.0" + makeerror@1.0.x: version "1.0.11" resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" @@ -9730,6 +10098,11 @@ mime@^2.3.1: resolved "https://registry.yarnpkg.com/mime/-/mime-2.3.1.tgz#b1621c54d63b97c47d3cfe7f7215f7d64517c369" integrity sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg== +mimer@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/mimer/-/mimer-0.3.2.tgz#0b83aabdf48eaacfd2e093ed4c0ed3d38eda8073" + integrity sha512-N6NcgDQAevhP/02DQ/epK6daLy4NKrIHyTlJcO6qBiYn98q+Y4a/knNsAATCe1xLS2F0nEmJp+QYli2s8vKwyQ== + mimic-fn@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" @@ -9820,6 +10193,38 @@ minizlib@^1.0.4, minizlib@^1.1.0: dependencies: minipass "^2.2.1" +mississippi@^1.2.0, mississippi@^1.3.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-1.3.1.tgz#2a8bb465e86550ac8b36a7b6f45599171d78671e" + integrity sha512-/6rB8YXFbAtsUVRphIRQqB0+9c7VaPHCjVtvto+JqwVxgz8Zz+I+f68/JgQ+Pb4VlZb2svA9OtdXnHHsZz7ltg== + dependencies: + concat-stream "^1.5.0" + duplexify "^3.4.2" + end-of-stream "^1.1.0" + flush-write-stream "^1.0.0" + from2 "^2.1.0" + parallel-transform "^1.1.0" + pump "^1.0.0" + pumpify "^1.3.3" + stream-each "^1.1.0" + through2 "^2.0.0" + +mississippi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-2.0.0.tgz#3442a508fafc28500486feea99409676e4ee5a6f" + integrity sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw== + dependencies: + concat-stream "^1.5.0" + duplexify "^3.4.2" + end-of-stream "^1.1.0" + flush-write-stream "^1.0.0" + from2 "^2.1.0" + parallel-transform "^1.1.0" + pump "^2.0.1" + pumpify "^1.3.3" + stream-each "^1.1.0" + through2 "^2.0.0" + mississippi@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" @@ -9919,6 +10324,11 @@ ms@2.0.0: resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= +ms@^2.0.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + ms@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" @@ -9982,6 +10392,11 @@ nan@^2.12.1: resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== +nanoid@^2.1.0: + version "2.1.11" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.11.tgz#ec24b8a758d591561531b4176a01e3ab4f0f0280" + integrity sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA== + nanomatch@^1.2.5: version "1.2.7" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.7.tgz#53cd4aa109ff68b7f869591fdc9d10daeeea3e79" @@ -10098,6 +10513,15 @@ node-dir@^0.1.10: dependencies: minimatch "^3.0.2" +node-fetch-npm@^2.0.2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.4.tgz#6507d0e17a9ec0be3bec516958a497cec54bf5a4" + integrity sha512-iOuIQDWDyjhv9qSDrj9aq/klt6F9z1p2otB3AV7v3zBDcL/x+OfGsvGQZZCcMZbUf4Ujw1xGNQkjvGnVT22cKg== + dependencies: + encoding "^0.1.11" + json-parse-better-errors "^1.0.0" + safe-buffer "^5.1.1" + node-fetch@^1.0.1: version "1.7.3" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" @@ -10353,6 +10777,16 @@ normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" +normalize-package-data@^2.4.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + normalize-path@^2.0.0, normalize-path@^2.0.1, normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" @@ -10405,6 +10839,16 @@ npm-keyword@^4.1.0: pinkie-promise "^2.0.0" registry-url "^3.0.3" +npm-package-arg@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-5.1.2.tgz#fb18d17bb61e60900d6312619919bd753755ab37" + integrity sha512-wJBsrf0qpypPT7A0LART18hCdyhpCMxeTtcb0X4IZO2jsP6Om7EHN1d9KSKiqD+KVH030RVNpWS9thk+pb7wzA== + dependencies: + hosted-git-info "^2.4.2" + osenv "^0.1.4" + semver "^5.1.0" + validate-npm-package-name "^3.0.0" + npm-packlist@^1.1.6: version "1.1.12" resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.12.tgz#22bde2ebc12e72ca482abd67afc51eb49377243a" @@ -10413,6 +10857,14 @@ npm-packlist@^1.1.6: ignore-walk "^3.0.1" npm-bundled "^1.0.1" +npm-pick-manifest@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-1.0.4.tgz#a5ee6510c1fe7221c0bc0414e70924c14045f7e8" + integrity sha512-MKxNdeyOZysPRTTbHtW0M5Fw38Jo/3ARsoGw5qjCfS+XGjvNB/Gb4qtAZUFmKPM2mVum+eX559eHvKywU856BQ== + dependencies: + npm-package-arg "^5.1.2" + semver "^5.3.0" + npm-run-path@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-1.0.0.tgz#f5c32bf595fe81ae927daec52e82f8b000ac3c8f" @@ -10707,6 +11159,13 @@ onetime@^5.1.0: dependencies: mimic-fn "^2.1.0" +open@^6.3.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" + integrity sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg== + dependencies: + is-wsl "^1.1.0" + opn@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95" @@ -10764,6 +11223,16 @@ ora@^1.1.0: cli-spinners "^1.0.0" log-symbols "^1.0.2" +ora@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/ora/-/ora-1.4.0.tgz#884458215b3a5d4097592285f93321bb7a79e2e5" + integrity sha512-iMK1DOQxzzh2MBlVsU42G80mnrvUhqsMh74phHtDlrcTZPK0pH6o7l7DRshK+0YsxDyEuaOkziVdvM3T0QTzpw== + dependencies: + chalk "^2.1.0" + cli-cursor "^2.1.0" + cli-spinners "^1.0.1" + log-symbols "^2.1.0" + original@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" @@ -10960,6 +11429,33 @@ package-json@^4.0.0: registry-url "^3.0.3" semver "^5.1.0" +pacote@^2.7.36: + version "2.7.38" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-2.7.38.tgz#5091f8774298c26c3eca24606037f1bb73db74c1" + integrity sha512-XxHUyHQB7QCVBxoXeVu0yKxT+2PvJucsc0+1E+6f95lMUxEAYERgSAc71ckYXrYr35Ew3xFU/LrhdIK21GQFFA== + dependencies: + bluebird "^3.5.0" + cacache "^9.2.9" + glob "^7.1.2" + lru-cache "^4.1.1" + make-fetch-happen "^2.4.13" + minimatch "^3.0.4" + mississippi "^1.2.0" + normalize-package-data "^2.4.0" + npm-package-arg "^5.1.2" + npm-pick-manifest "^1.0.4" + osenv "^0.1.4" + promise-inflight "^1.0.1" + promise-retry "^1.1.1" + protoduck "^4.0.0" + safe-buffer "^5.1.1" + semver "^5.3.0" + ssri "^4.1.6" + tar-fs "^1.15.3" + tar-stream "^1.5.4" + unique-filename "^1.1.0" + which "^1.2.12" + pad-component@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/pad-component/-/pad-component-0.0.1.tgz#ad1f22ce1bf0fdc0d6ddd908af17f351a404b8ac" @@ -11029,6 +11525,23 @@ parse-color@^1.0.0: dependencies: color-convert "~0.5.0" +parse-git-config@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/parse-git-config/-/parse-git-config-0.2.0.tgz#272833fdd15fea146fb75d336d236b963b6ff706" + integrity sha1-Jygz/dFf6hRvt10zbSNrljtv9wY= + dependencies: + ini "^1.3.3" + +parse-git-config@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/parse-git-config/-/parse-git-config-1.1.1.tgz#d3a9984317132f57398712bba438e129590ddf8c" + integrity sha1-06mYQxcTL1c5hxK7pDjhKVkN34w= + dependencies: + extend-shallow "^2.0.1" + fs-exists-sync "^0.1.0" + git-config-path "^1.0.1" + ini "^1.3.4" + parse-glob@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" @@ -11079,6 +11592,11 @@ parse-json@^5.0.0: json-parse-better-errors "^1.0.1" lines-and-columns "^1.1.6" +parse-passwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= + parse5@^3.0.1: version "3.0.3" resolved "https://registry.yarnpkg.com/parse5/-/parse5-3.0.3.tgz#042f792ffdd36851551cf4e9e066b3874ab45b5c" @@ -12071,6 +12589,14 @@ promise-inflight@^1.0.1: resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= +promise-retry@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-1.1.1.tgz#6739e968e3051da20ce6497fb2b50f6911df3d6d" + integrity sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0= + dependencies: + err-code "^1.0.0" + retry "^0.10.0" + promise@^7.1.1: version "7.3.1" resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" @@ -12123,6 +12649,13 @@ prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, object-assign "^4.1.1" react-is "^16.8.1" +protoduck@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/protoduck/-/protoduck-4.0.0.tgz#fe4874d8c7913366cfd9ead12453a22cd3657f8e" + integrity sha1-/kh02MeRM2bP2erRJFOiLNNlf44= + dependencies: + genfun "^4.0.1" + proxy-addr@~2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.2.tgz#6571504f47bb988ec8180253f85dd7e14952bdec" @@ -12177,7 +12710,7 @@ pump@^1.0.0: end-of-stream "^1.1.0" once "^1.3.1" -pump@^2.0.0: +pump@^2.0.0, pump@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== @@ -13017,6 +13550,20 @@ relateurl@0.2.x: resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= +remote-origin-url@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/remote-origin-url/-/remote-origin-url-0.4.0.tgz#4d3e2902f34e2d37d1c263d87710b77eb4086a30" + integrity sha1-TT4pAvNOLTfRwmPYdxC3frQIajA= + dependencies: + parse-git-config "^0.2.0" + +remote-origin-url@^0.5.1: + version "0.5.3" + resolved "https://registry.yarnpkg.com/remote-origin-url/-/remote-origin-url-0.5.3.tgz#b9fc6ced2c826690d0b07218b2b8c17fcec88e87" + integrity sha512-crQ7Xk1m/F2IiwBx5oTqk/c0hjoumrEz+a36+ZoVupskQRE/q7pAwHKsTNeiZ31sbSTELvVlVv4h1W0Xo5szKg== + dependencies: + parse-git-config "^1.1.1" + remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" @@ -13178,6 +13725,14 @@ resolve-cwd@^2.0.0: dependencies: resolve-from "^3.0.0" +resolve-dir@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-0.1.1.tgz#b219259a5602fac5c5c496ad894a6e8cc430261e" + integrity sha1-shklmlYC+sXFxJatiUpujMQwJh4= + dependencies: + expand-tilde "^1.2.2" + global-modules "^0.2.3" + resolve-from@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" @@ -13215,6 +13770,13 @@ resolve@^1.1.6, resolve@^1.5.0: dependencies: path-parse "^1.0.5" +resolve@^1.10.0: + version "1.17.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" + integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== + dependencies: + path-parse "^1.0.6" + resolve@^1.12.0, resolve@^1.13.1, resolve@^1.15.1: version "1.15.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.1.tgz#27bdcdeffeaf2d6244b95bb0f9f4b4653451f3e8" @@ -13258,6 +13820,11 @@ ret@~0.1.10: resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== +retry@^0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" + integrity sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q= + revalidator@0.1.x: version "0.1.8" resolved "https://registry.yarnpkg.com/revalidator/-/revalidator-0.1.8.tgz#fece61bfa0c1b52a206bd6b18198184bdd523a3b" @@ -13371,7 +13938,7 @@ rx@^4.1.0: resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" integrity sha1-pfE/957zt0D+MKqAP7CfmIBdR4I= -rxjs@^6.5.3: +rxjs@^6.4.0, rxjs@^6.5.3: version "6.5.5" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz#c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec" integrity sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ== @@ -13830,6 +14397,13 @@ shellwords@^0.1.1: resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== +shortid@^2.2.8: + version "2.2.15" + resolved "https://registry.yarnpkg.com/shortid/-/shortid-2.2.15.tgz#2b902eaa93a69b11120373cd42a1f1fe4437c122" + integrity sha512-5EaCy2mx2Jgc/Fdn9uuDuNIIfWBpzY4XIlhoqtXF6qsf+/+SGZ+FxDdX/ZsMZiWupIWNqAEmiNY4RC+LSmCeOw== + dependencies: + nanoid "^2.1.0" + side-channel@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.2.tgz#df5d1abadb4e4bf4af1cd8852bf132d2f7876947" @@ -13879,6 +14453,11 @@ slide@^1.1.5: resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" integrity sha1-VusCfWW00tzmyy4tMsTUr8nh1wc= +smart-buffer@^1.0.13: + version "1.1.15" + resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-1.1.15.tgz#7f114b5b65fab3e2a35aa775bb12f0d1c649bf16" + integrity sha1-fxFLW2X6s+KjWqd1uxLw0cZJvxY= + snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" @@ -13929,6 +14508,22 @@ sockjs@0.3.19: faye-websocket "^0.10.0" uuid "^3.0.1" +socks-proxy-agent@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-3.0.1.tgz#2eae7cf8e2a82d34565761539a7f9718c5617659" + integrity sha512-ZwEDymm204mTzvdqyUqOdovVr2YRd2NYskrYrF2LXyZ9qDiMAoFESGK8CRphiO7rtbo2Y757k2Nia3x2hGtalA== + dependencies: + agent-base "^4.1.0" + socks "^1.1.10" + +socks@^1.1.10: + version "1.1.10" + resolved "https://registry.yarnpkg.com/socks/-/socks-1.1.10.tgz#5b8b7fc7c8f341c53ed056e929b7bf4de8ba7b5a" + integrity sha1-W4t/x8jzQcU+0FbpKbe/Tei6e1o= + dependencies: + ip "^1.1.4" + smart-buffer "^1.0.13" + sort-keys@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" @@ -14080,6 +14675,20 @@ sshpk@^1.7.0: safer-buffer "^2.0.2" tweetnacl "~0.14.0" +ssri@^4.1.6: + version "4.1.6" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-4.1.6.tgz#0cb49b6ac84457e7bdd466cb730c3cb623e9a25b" + integrity sha512-WUbCdgSAMQjTFZRWvSPpauryvREEA+Krn19rx67UlJEJx/M192ZHxMmJXjZ4tkdFm+Sb0SXGlENeQVlA5wY7kA== + dependencies: + safe-buffer "^5.1.0" + +ssri@^5.0.0, ssri@^5.2.4: + version "5.3.0" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-5.3.0.tgz#ba3872c9c6d33a0704a7d71ff045e5ec48999d06" + integrity sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ== + dependencies: + safe-buffer "^5.1.1" + ssri@^6.0.0, ssri@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" @@ -14627,7 +15236,7 @@ tapable@^1.1.3: resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== -tar-fs@^1.16.3: +tar-fs@^1.15.3, tar-fs@^1.16.3: version "1.16.3" resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.16.3.tgz#966a628841da2c4010406a82167cbd5e0c72d509" integrity sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw== @@ -14648,7 +15257,7 @@ tar-stream@2.0.0: inherits "^2.0.3" readable-stream "^3.1.1" -tar-stream@^1.1.2: +tar-stream@^1.1.2, tar-stream@^1.5.4: version "1.6.2" resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A== @@ -14763,6 +15372,11 @@ text-table@^0.2.0, text-table@~0.2.0: resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-2.1.0.tgz#1be0dc2a0dc244d44be8a09af6a85afb93c4dbc3" integrity sha1-G+DcKg3CRNRL6KCa9qha+5PE28M= +textextensions@^2.5.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-2.6.0.tgz#d7e4ab13fe54e32e08873be40d51b74229b00fc4" + integrity sha512-49WtAWS+tcsy93dRt6P0P3AMD2m5PvXRhuEA0kaXos5ZLlujtYmpmFsB+QvWUSxE1ZsstmYXfQ7L40+EcQgpAQ== + throat@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" @@ -15231,6 +15845,22 @@ update-notifier@^2.1.0: semver-diff "^2.0.0" xdg-basedir "^3.0.0" +update-notifier@^2.2.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6" + integrity sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw== + dependencies: + boxen "^1.2.1" + chalk "^2.0.1" + configstore "^3.0.0" + import-lazy "^2.1.0" + is-ci "^1.0.10" + is-installed-globally "^0.1.0" + is-npm "^1.0.0" + latest-version "^3.0.0" + semver-diff "^2.0.0" + xdg-basedir "^3.0.0" + upper-case@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" @@ -15410,6 +16040,13 @@ validate-npm-package-license@^3.0.1: spdx-correct "~1.0.0" spdx-expression-parse "~1.0.0" +validate-npm-package-name@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" + integrity sha1-X6kS2B630MdK/BQN5zF/DKffQ34= + dependencies: + builtins "^1.0.3" + value-equal@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c"