mirror of
https://github.com/captbaritone/webamp.git
synced 2026-08-02 15:03:53 +00:00
Improve hook dependencies
This commit is contained in:
parent
bd5fa82c99
commit
8c915f7f06
9 changed files with 128 additions and 330 deletions
|
|
@ -13,7 +13,8 @@
|
|||
"prettier",
|
||||
"import",
|
||||
"no-constructor-bind",
|
||||
"@typescript-eslint"
|
||||
"@typescript-eslint",
|
||||
"react-hooks"
|
||||
],
|
||||
"settings": {
|
||||
"react": {
|
||||
|
|
@ -148,6 +149,8 @@
|
|||
"import/no-named-as-default-member": "error",
|
||||
"import/no-unresolved": "error",
|
||||
"import/order": "warn",
|
||||
"no-constructor-bind/no-constructor-bind": "error"
|
||||
"no-constructor-bind/no-constructor-bind": "error",
|
||||
"react-hooks/rules-of-hooks": "error",
|
||||
"react-hooks/exhaustive-deps": "error"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -48,11 +48,11 @@ function ContextMenuTarget(props: Props) {
|
|||
return () => {
|
||||
document.removeEventListener("click", handleGlobalClick);
|
||||
};
|
||||
}, [selected, handleNode.current]);
|
||||
}, [selected]);
|
||||
|
||||
const offset = useMemo(() => {
|
||||
return getNodeOffset(handleNode.current);
|
||||
}, [selected, handleNode.current]);
|
||||
}, []);
|
||||
|
||||
const { handle, children, top, bottom, ...passThroughProps } = props;
|
||||
return (
|
||||
|
|
|
|||
|
|
@ -17,6 +17,12 @@ function supress(e: React.DragEvent<HTMLDivElement>) {
|
|||
}
|
||||
|
||||
const DropTarget = (props: Props) => {
|
||||
const {
|
||||
// eslint-disable-next-line no-shadow, no-unused-vars
|
||||
handleDrop,
|
||||
...passThroughProps
|
||||
} = props;
|
||||
|
||||
const onDrop = useCallback((e: React.DragEvent<HTMLDivElement>) => {
|
||||
supress(e);
|
||||
// TODO: We could probably move this coordinate logic into the playlist.
|
||||
|
|
@ -27,14 +33,8 @@ const DropTarget = (props: Props) => {
|
|||
}
|
||||
|
||||
const { left: x, top: y } = currentTarget.getBoundingClientRect();
|
||||
props.handleDrop(e, { x, y });
|
||||
}, [props.handleDrop]);
|
||||
|
||||
const {
|
||||
// eslint-disable-next-line no-shadow, no-unused-vars
|
||||
handleDrop,
|
||||
...passThroughProps
|
||||
} = props;
|
||||
handleDrop(e, { x, y });
|
||||
}, [handleDrop]);
|
||||
return (
|
||||
<div
|
||||
{...passThroughProps}
|
||||
|
|
|
|||
|
|
@ -21,29 +21,30 @@ function enterFullScreen(node: HTMLDivElement) {
|
|||
}
|
||||
|
||||
function FullScreen(props: Props) {
|
||||
const { onChange, enabled } = props;
|
||||
const ref = useRef<HTMLDivElement | null>(null);
|
||||
|
||||
useEffect(() => {
|
||||
function detectFullScreen() {
|
||||
if (props.onChange) {
|
||||
props.onChange(fscreen.fullscreenElement === ref.current);
|
||||
if (onChange) {
|
||||
onChange(fscreen.fullscreenElement === ref.current);
|
||||
}
|
||||
}
|
||||
fscreen.addEventListener("fullscreenchange", detectFullScreen);
|
||||
return () => {
|
||||
fscreen.removeEventListener("fullscreenchange", detectFullScreen);
|
||||
};
|
||||
}, [props.onChange, ref.current]);
|
||||
}, [onChange]);
|
||||
|
||||
// This must run in response to a click event, so we'll use useLayoutEffect just in case.
|
||||
useLayoutEffect(() => {
|
||||
const enabled = fscreen.fullscreenElement === ref.current;
|
||||
if (enabled && !props.enabled) {
|
||||
const isEnabled = fscreen.fullscreenElement === ref.current;
|
||||
if (isEnabled && !enabled) {
|
||||
leaveFullScreen();
|
||||
} else if (!enabled && props.enabled && ref.current != null) {
|
||||
} else if (!isEnabled && enabled && ref.current != null) {
|
||||
enterFullScreen(ref.current);
|
||||
}
|
||||
}, [props.enabled, ref.current]);
|
||||
}, [enabled]);
|
||||
|
||||
return (
|
||||
<div
|
||||
|
|
|
|||
|
|
@ -38,7 +38,19 @@ const TRANSITION_TYPE_DURATIONS = {
|
|||
[TransitionType.USER_PRESET]: 5.7,
|
||||
};
|
||||
|
||||
function Visualizer(props: Props) {
|
||||
function Visualizer(_props: Props) {
|
||||
const {
|
||||
butterchurn,
|
||||
analyser,
|
||||
width,
|
||||
height,
|
||||
currentPreset,
|
||||
transitionType,
|
||||
trackTitle,
|
||||
isEnabledVisualizer,
|
||||
message,
|
||||
playing,
|
||||
} = _props;
|
||||
const canvasRef = useRef(null);
|
||||
const [visualizer, setVisualizer] = useState<ButterchurnVisualizer | null>(
|
||||
null
|
||||
|
|
@ -46,7 +58,7 @@ function Visualizer(props: Props) {
|
|||
|
||||
// Initialize the visualizer
|
||||
useEffect(() => {
|
||||
if (canvasRef.current == null || props.butterchurn == null) {
|
||||
if (canvasRef.current == null || butterchurn == null) {
|
||||
return;
|
||||
}
|
||||
if (visualizer != null) {
|
||||
|
|
@ -55,73 +67,75 @@ function Visualizer(props: Props) {
|
|||
// node, or the canvas, that change won't be respected.
|
||||
return;
|
||||
}
|
||||
const _visualizer = props.butterchurn.createVisualizer(
|
||||
props.analyser.context,
|
||||
const _visualizer = butterchurn.createVisualizer(
|
||||
analyser.context,
|
||||
canvasRef.current,
|
||||
{
|
||||
width: props.width,
|
||||
height: props.height,
|
||||
width,
|
||||
height,
|
||||
meshWidth: 32,
|
||||
meshHeight: 24,
|
||||
pixelRatio: window.devicePixelRatio || 1,
|
||||
}
|
||||
);
|
||||
_visualizer.connectAudio(props.analyser);
|
||||
_visualizer.connectAudio(analyser);
|
||||
setVisualizer(_visualizer);
|
||||
}, [canvasRef.current, props.butterchurn, props.analyser]);
|
||||
}, [butterchurn, analyser, height, width, visualizer]);
|
||||
|
||||
// Ensure render size stays up to date
|
||||
useEffect(() => {
|
||||
if (visualizer == null) {
|
||||
return;
|
||||
}
|
||||
visualizer.setRendererSize(props.width, props.height);
|
||||
}, [visualizer, props.width, props.height]);
|
||||
visualizer.setRendererSize(width, height);
|
||||
}, [visualizer, width, height]);
|
||||
|
||||
// Load presets when they change
|
||||
const hasLoadedPreset = useRef<boolean>(false);
|
||||
useEffect(() => {
|
||||
if (visualizer == null || props.currentPreset == null) {
|
||||
if (visualizer == null || currentPreset == null) {
|
||||
return;
|
||||
}
|
||||
if (hasLoadedPreset.current) {
|
||||
visualizer.loadPreset(
|
||||
props.currentPreset,
|
||||
TRANSITION_TYPE_DURATIONS[props.transitionType]
|
||||
currentPreset,
|
||||
TRANSITION_TYPE_DURATIONS[transitionType]
|
||||
);
|
||||
} else {
|
||||
visualizer.loadPreset(
|
||||
props.currentPreset,
|
||||
currentPreset,
|
||||
TRANSITION_TYPE_DURATIONS[TransitionType.IMMEDIATE]
|
||||
);
|
||||
hasLoadedPreset.current = true;
|
||||
}
|
||||
}, [visualizer, props.currentPreset]);
|
||||
// We don't want to trigger the transition if the transition type changes.
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
}, [visualizer, currentPreset]);
|
||||
|
||||
// Handle title animations
|
||||
useEffect(() => {
|
||||
if (visualizer == null || !props.trackTitle) {
|
||||
if (visualizer == null || !trackTitle) {
|
||||
return;
|
||||
}
|
||||
visualizer.launchSongTitleAnim(props.trackTitle);
|
||||
}, [visualizer, props.trackTitle]);
|
||||
visualizer.launchSongTitleAnim(trackTitle);
|
||||
}, [visualizer, trackTitle]);
|
||||
|
||||
const lastShownMessage = useRef<null | number>(null);
|
||||
|
||||
useEffect(() => {
|
||||
if (visualizer == null || props.message == null) {
|
||||
if (visualizer == null || message == null) {
|
||||
return;
|
||||
}
|
||||
if (
|
||||
lastShownMessage.current == null ||
|
||||
props.message.time > lastShownMessage.current
|
||||
message.time > lastShownMessage.current
|
||||
) {
|
||||
lastShownMessage.current = Date.now();
|
||||
visualizer.launchSongTitleAnim(props.message.text);
|
||||
visualizer.launchSongTitleAnim(message.text);
|
||||
}
|
||||
}, [visualizer, props.message]);
|
||||
}, [visualizer, message]);
|
||||
|
||||
const shouldAnimate = props.playing && props.isEnabledVisualizer;
|
||||
const shouldAnimate = playing && isEnabledVisualizer;
|
||||
|
||||
// Kick off the animation loop
|
||||
useEffect(() => {
|
||||
|
|
@ -143,12 +157,12 @@ function Visualizer(props: Props) {
|
|||
|
||||
return (
|
||||
<canvas
|
||||
height={props.height}
|
||||
width={props.width}
|
||||
height={height}
|
||||
width={width}
|
||||
style={{
|
||||
height: "100%",
|
||||
width: "100%",
|
||||
display: props.isEnabledVisualizer ? "block" : "none",
|
||||
display: isEnabledVisualizer ? "block" : "none",
|
||||
}}
|
||||
ref={canvasRef}
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -50,40 +50,63 @@ interface OwnProps {
|
|||
|
||||
type Props = StateProps & DispatchProps & OwnProps;
|
||||
|
||||
function Milkdrop(props: Props) {
|
||||
function useMilkdropKeyBindings(props: Props) {
|
||||
const {
|
||||
onFocusedKeyDown,
|
||||
selectNextPreset,
|
||||
selectPreviousPreset,
|
||||
toggleRandomize,
|
||||
togglePresetOverlay,
|
||||
scheduleMilkdropMessage,
|
||||
trackTitle,
|
||||
toggleCycling,
|
||||
} = props;
|
||||
// Handle keyboard events
|
||||
useEffect(() => {
|
||||
return props.onFocusedKeyDown(e => {
|
||||
return onFocusedKeyDown(e => {
|
||||
switch (e.keyCode) {
|
||||
case 32: // spacebar
|
||||
props.selectNextPreset();
|
||||
selectNextPreset();
|
||||
break;
|
||||
case 8: // backspace
|
||||
props.selectPreviousPreset(TransitionType.IMMEDIATE);
|
||||
selectPreviousPreset(TransitionType.IMMEDIATE);
|
||||
break;
|
||||
case 72: // H
|
||||
props.selectNextPreset(TransitionType.IMMEDIATE);
|
||||
selectNextPreset(TransitionType.IMMEDIATE);
|
||||
break;
|
||||
case 82: // R
|
||||
props.toggleRandomize();
|
||||
toggleRandomize();
|
||||
break;
|
||||
case 76: // L
|
||||
props.togglePresetOverlay();
|
||||
togglePresetOverlay();
|
||||
e.stopPropagation();
|
||||
break;
|
||||
case 84: // T
|
||||
if (props.trackTitle != null) {
|
||||
props.scheduleMilkdropMessage(props.trackTitle);
|
||||
if (trackTitle != null) {
|
||||
scheduleMilkdropMessage(trackTitle);
|
||||
}
|
||||
e.stopPropagation();
|
||||
break;
|
||||
case 145: // scroll lock
|
||||
case 125: // F14 (scroll lock for OS X)
|
||||
props.toggleCycling();
|
||||
toggleCycling();
|
||||
break;
|
||||
}
|
||||
});
|
||||
}, [props.onFocusedKeyDown]);
|
||||
}, [
|
||||
onFocusedKeyDown,
|
||||
selectNextPreset,
|
||||
selectPreviousPreset,
|
||||
toggleRandomize,
|
||||
togglePresetOverlay,
|
||||
scheduleMilkdropMessage,
|
||||
trackTitle,
|
||||
toggleCycling,
|
||||
]);
|
||||
}
|
||||
|
||||
function Milkdrop(props: Props) {
|
||||
useMilkdropKeyBindings(props);
|
||||
|
||||
// Cycle presets
|
||||
useEffect(() => {
|
||||
|
|
|
|||
|
|
@ -14,14 +14,14 @@ export function useScreenSize() {
|
|||
|
||||
export function useWindowSize() {
|
||||
const [size, setSize] = useState<Size>(Utils.getWindowSize());
|
||||
const hander = Utils.throttle(() => {
|
||||
const handler = Utils.throttle(() => {
|
||||
setSize(Utils.getWindowSize());
|
||||
}, 100) as () => void;
|
||||
useEffect(() => {
|
||||
window.addEventListener("resize", hander);
|
||||
window.addEventListener("resize", handler);
|
||||
return () => {
|
||||
window.removeEventListener("resize", hander);
|
||||
window.removeEventListener("resize", handler);
|
||||
};
|
||||
}, [setSize]);
|
||||
}, [setSize, handler]);
|
||||
return size;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -150,8 +150,11 @@
|
|||
"config/jest.*.js"
|
||||
]
|
||||
},
|
||||
"prettier": {"trailingComma": "es5"},
|
||||
"prettier": {
|
||||
"trailingComma": "es5"
|
||||
},
|
||||
"dependencies": {
|
||||
"eslint-plugin-react-hooks": "^1.5.1",
|
||||
"fscreen": "^1.0.2"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
292
yarn.lock
292
yarn.lock
|
|
@ -996,26 +996,16 @@ acorn-globals@^4.1.0:
|
|||
dependencies:
|
||||
acorn "^5.0.0"
|
||||
|
||||
acorn-jsx@^3.0.0:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
|
||||
dependencies:
|
||||
acorn "^3.0.4"
|
||||
|
||||
acorn-jsx@^5.0.0:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e"
|
||||
integrity sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==
|
||||
|
||||
acorn@^3.0.4:
|
||||
version "3.3.0"
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
|
||||
|
||||
acorn@^5.0.0:
|
||||
version "5.4.1"
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.4.1.tgz#fdc58d9d17f4a4e98d102ded826a9b9759125102"
|
||||
|
||||
acorn@^5.3.0, acorn@^5.5.0:
|
||||
acorn@^5.3.0:
|
||||
version "5.5.3"
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.5.3.tgz#f473dd47e0277a08e28e9bec5aeeb04751f0b8c9"
|
||||
|
||||
|
|
@ -1044,10 +1034,6 @@ ajv-errors@^1.0.0:
|
|||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.0.tgz#ecf021fa108fd17dfb5e6b383f2dd233e31ffc59"
|
||||
|
||||
ajv-keywords@^2.1.0:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762"
|
||||
|
||||
ajv-keywords@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.1.0.tgz#ac2b27939c543e95d2c06e7f7f5c27be4aa543be"
|
||||
|
|
@ -1059,7 +1045,7 @@ ajv@^4.9.1:
|
|||
co "^4.6.0"
|
||||
json-stable-stringify "^1.0.1"
|
||||
|
||||
ajv@^5.1.0, ajv@^5.2.3, ajv@^5.3.0:
|
||||
ajv@^5.1.0:
|
||||
version "5.5.2"
|
||||
resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965"
|
||||
dependencies:
|
||||
|
|
@ -1246,7 +1232,7 @@ array-unique@^0.3.2:
|
|||
version "0.3.2"
|
||||
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
|
||||
|
||||
arrify@^1.0.0, arrify@^1.0.1:
|
||||
arrify@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
|
||||
|
||||
|
|
@ -1332,7 +1318,7 @@ aws4@^1.6.0, aws4@^1.8.0:
|
|||
version "1.8.0"
|
||||
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"
|
||||
|
||||
babel-code-frame@^6.22.0, babel-code-frame@^6.26.0:
|
||||
babel-code-frame@^6.26.0:
|
||||
version "6.26.0"
|
||||
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
|
||||
dependencies:
|
||||
|
|
@ -1945,22 +1931,12 @@ caller-callsite@^2.0.0:
|
|||
dependencies:
|
||||
callsites "^2.0.0"
|
||||
|
||||
caller-path@^0.1.0:
|
||||
version "0.1.0"
|
||||
resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f"
|
||||
dependencies:
|
||||
callsites "^0.2.0"
|
||||
|
||||
caller-path@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4"
|
||||
dependencies:
|
||||
caller-callsite "^2.0.0"
|
||||
|
||||
callsites@^0.2.0:
|
||||
version "0.2.0"
|
||||
resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca"
|
||||
|
||||
callsites@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
|
||||
|
|
@ -2075,10 +2051,6 @@ chalk@^2.4.2:
|
|||
escape-string-regexp "^1.0.5"
|
||||
supports-color "^5.3.0"
|
||||
|
||||
chardet@^0.4.0:
|
||||
version "0.4.2"
|
||||
resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2"
|
||||
|
||||
chardet@^0.5.0:
|
||||
version "0.5.0"
|
||||
resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.5.0.tgz#fe3ac73c00c3d865ffcc02a0682e2c20b6a06029"
|
||||
|
|
@ -2161,10 +2133,6 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
|
|||
inherits "^2.0.1"
|
||||
safe-buffer "^5.0.1"
|
||||
|
||||
circular-json@^0.3.1:
|
||||
version "0.3.3"
|
||||
resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66"
|
||||
|
||||
class-utils@^0.3.5:
|
||||
version "0.3.6"
|
||||
resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
|
||||
|
|
@ -2376,14 +2344,6 @@ concat-stream@^1.5.0:
|
|||
readable-stream "^2.2.2"
|
||||
typedarray "^0.0.6"
|
||||
|
||||
concat-stream@^1.6.0:
|
||||
version "1.6.0"
|
||||
resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7"
|
||||
dependencies:
|
||||
inherits "^2.0.3"
|
||||
readable-stream "^2.2.2"
|
||||
typedarray "^0.0.6"
|
||||
|
||||
config-chain@^1.1.11:
|
||||
version "1.1.12"
|
||||
resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa"
|
||||
|
|
@ -2497,15 +2457,6 @@ corser@~2.0.0:
|
|||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/corser/-/corser-2.0.1.tgz#8eda252ecaab5840dcd975ceb90d9370c819ff87"
|
||||
|
||||
cosmiconfig@^3.0.1:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-3.1.0.tgz#640a94bf9847f321800403cd273af60665c73397"
|
||||
dependencies:
|
||||
is-directory "^0.3.1"
|
||||
js-yaml "^3.9.0"
|
||||
parse-json "^3.0.0"
|
||||
require-from-string "^2.0.1"
|
||||
|
||||
cosmiconfig@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-4.0.0.tgz#760391549580bbd2df1e562bc177b13c290972dc"
|
||||
|
|
@ -2552,7 +2503,7 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:
|
|||
safe-buffer "^5.0.1"
|
||||
sha.js "^2.4.8"
|
||||
|
||||
cross-spawn@^5.0.1, cross-spawn@^5.1.0:
|
||||
cross-spawn@^5.0.1:
|
||||
version "5.1.0"
|
||||
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
|
||||
dependencies:
|
||||
|
|
@ -3000,18 +2951,6 @@ define-property@^2.0.2:
|
|||
is-descriptor "^1.0.2"
|
||||
isobject "^3.0.1"
|
||||
|
||||
del@^2.0.2:
|
||||
version "2.2.2"
|
||||
resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8"
|
||||
dependencies:
|
||||
globby "^5.0.0"
|
||||
is-path-cwd "^1.0.0"
|
||||
is-path-in-cwd "^1.0.0"
|
||||
object-assign "^4.0.1"
|
||||
pify "^2.0.0"
|
||||
pinkie-promise "^2.0.0"
|
||||
rimraf "^2.2.8"
|
||||
|
||||
del@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5"
|
||||
|
|
@ -3111,7 +3050,7 @@ doctrine@1.5.0:
|
|||
esutils "^2.0.2"
|
||||
isarray "^1.0.0"
|
||||
|
||||
doctrine@^2.0.2, doctrine@^2.1.0:
|
||||
doctrine@^2.0.2:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
|
||||
dependencies:
|
||||
|
|
@ -3342,7 +3281,7 @@ errno@^0.1.3:
|
|||
dependencies:
|
||||
prr "~1.0.1"
|
||||
|
||||
errno@^0.1.4, errno@~0.1.7:
|
||||
errno@~0.1.7:
|
||||
version "0.1.7"
|
||||
resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618"
|
||||
dependencies:
|
||||
|
|
@ -3492,6 +3431,11 @@ eslint-plugin-prettier@^2.2.0:
|
|||
fast-diff "^1.1.1"
|
||||
jest-docblock "^21.0.0"
|
||||
|
||||
eslint-plugin-react-hooks@^1.5.1:
|
||||
version "1.5.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.5.1.tgz#3c601326914ee0e1fedd709115db4940bdbbed4a"
|
||||
integrity sha512-i3dIrmZ+Ssrm0LrbbtuGcRf7EEpe1FaMuL8XnnpZO0X4tk3dZNzevWxD0/7nMAFa5yZQfNnYkfEP0MmwLvbdHw==
|
||||
|
||||
eslint-plugin-react@^7.7.0:
|
||||
version "7.7.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.7.0.tgz#f606c719dbd8a1a2b3d25c16299813878cca0160"
|
||||
|
|
@ -3501,7 +3445,7 @@ eslint-plugin-react@^7.7.0:
|
|||
jsx-ast-utils "^2.0.1"
|
||||
prop-types "^15.6.0"
|
||||
|
||||
eslint-scope@3.7.1, eslint-scope@^3.7.1:
|
||||
eslint-scope@3.7.1:
|
||||
version "3.7.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8"
|
||||
dependencies:
|
||||
|
|
@ -3532,49 +3476,6 @@ eslint-visitor-keys@^1.0.0:
|
|||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d"
|
||||
|
||||
eslint@^4.5.0:
|
||||
version "4.19.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.19.1.tgz#32d1d653e1d90408854bfb296f076ec7e186a300"
|
||||
dependencies:
|
||||
ajv "^5.3.0"
|
||||
babel-code-frame "^6.22.0"
|
||||
chalk "^2.1.0"
|
||||
concat-stream "^1.6.0"
|
||||
cross-spawn "^5.1.0"
|
||||
debug "^3.1.0"
|
||||
doctrine "^2.1.0"
|
||||
eslint-scope "^3.7.1"
|
||||
eslint-visitor-keys "^1.0.0"
|
||||
espree "^3.5.4"
|
||||
esquery "^1.0.0"
|
||||
esutils "^2.0.2"
|
||||
file-entry-cache "^2.0.0"
|
||||
functional-red-black-tree "^1.0.1"
|
||||
glob "^7.1.2"
|
||||
globals "^11.0.1"
|
||||
ignore "^3.3.3"
|
||||
imurmurhash "^0.1.4"
|
||||
inquirer "^3.0.6"
|
||||
is-resolvable "^1.0.0"
|
||||
js-yaml "^3.9.1"
|
||||
json-stable-stringify-without-jsonify "^1.0.1"
|
||||
levn "^0.3.0"
|
||||
lodash "^4.17.4"
|
||||
minimatch "^3.0.2"
|
||||
mkdirp "^0.5.1"
|
||||
natural-compare "^1.4.0"
|
||||
optionator "^0.8.2"
|
||||
path-is-inside "^1.0.2"
|
||||
pluralize "^7.0.0"
|
||||
progress "^2.0.0"
|
||||
regexpp "^1.0.1"
|
||||
require-uncached "^1.0.3"
|
||||
semver "^5.3.0"
|
||||
strip-ansi "^4.0.0"
|
||||
strip-json-comments "~2.0.1"
|
||||
table "4.0.2"
|
||||
text-table "~0.2.0"
|
||||
|
||||
eslint@^5.15.1:
|
||||
version "5.15.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.15.1.tgz#8266b089fd5391e0009a047050795b1d73664524"
|
||||
|
|
@ -3617,13 +3518,6 @@ eslint@^5.15.1:
|
|||
table "^5.2.3"
|
||||
text-table "^0.2.0"
|
||||
|
||||
espree@^3.5.4:
|
||||
version "3.5.4"
|
||||
resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7"
|
||||
dependencies:
|
||||
acorn "^5.5.0"
|
||||
acorn-jsx "^3.0.0"
|
||||
|
||||
espree@^5.0.1:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/espree/-/espree-5.0.1.tgz#5d6526fa4fc7f0788a5cf75b15f30323e2f81f7a"
|
||||
|
|
@ -3641,12 +3535,6 @@ esprima@^4.0.0:
|
|||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804"
|
||||
|
||||
esquery@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa"
|
||||
dependencies:
|
||||
estraverse "^4.0.0"
|
||||
|
||||
esquery@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708"
|
||||
|
|
@ -3923,14 +3811,6 @@ extend@~3.0.1, extend@~3.0.2:
|
|||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
|
||||
|
||||
external-editor@^2.0.4:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.1.0.tgz#3d026a21b7f95b5726387d4200ac160d372c3b48"
|
||||
dependencies:
|
||||
chardet "^0.4.0"
|
||||
iconv-lite "^0.4.17"
|
||||
tmp "^0.0.33"
|
||||
|
||||
external-editor@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.0.tgz#dc35c48c6f98a30ca27a20e9687d7f3c77704bb6"
|
||||
|
|
@ -4078,13 +3958,6 @@ figures@^2.0.0:
|
|||
dependencies:
|
||||
escape-string-regexp "^1.0.5"
|
||||
|
||||
file-entry-cache@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361"
|
||||
dependencies:
|
||||
flat-cache "^1.2.1"
|
||||
object-assign "^4.0.1"
|
||||
|
||||
file-entry-cache@^5.0.1:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c"
|
||||
|
|
@ -4260,15 +4133,6 @@ find-versions@^3.0.0:
|
|||
array-uniq "^2.0.0"
|
||||
semver-regex "^2.0.0"
|
||||
|
||||
flat-cache@^1.2.1:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.0.tgz#d3030b32b38154f4e3b7e9c709f490f7ef97c481"
|
||||
dependencies:
|
||||
circular-json "^0.3.1"
|
||||
del "^2.0.2"
|
||||
graceful-fs "^4.1.2"
|
||||
write "^0.2.1"
|
||||
|
||||
flat-cache@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0"
|
||||
|
|
@ -4578,10 +4442,6 @@ global@~4.3.0:
|
|||
min-document "^2.19.0"
|
||||
process "~0.5.1"
|
||||
|
||||
globals@^11.0.1:
|
||||
version "11.3.0"
|
||||
resolved "https://registry.yarnpkg.com/globals/-/globals-11.3.0.tgz#e04fdb7b9796d8adac9c8f64c14837b2313378b0"
|
||||
|
||||
globals@^11.1.0:
|
||||
version "11.9.0"
|
||||
resolved "https://registry.yarnpkg.com/globals/-/globals-11.9.0.tgz#bde236808e987f290768a93d065060d78e6ab249"
|
||||
|
|
@ -4595,17 +4455,6 @@ globals@^9.18.0:
|
|||
version "9.18.0"
|
||||
resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
|
||||
|
||||
globby@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d"
|
||||
dependencies:
|
||||
array-union "^1.0.1"
|
||||
arrify "^1.0.0"
|
||||
glob "^7.0.3"
|
||||
object-assign "^4.0.1"
|
||||
pify "^2.0.0"
|
||||
pinkie-promise "^2.0.0"
|
||||
|
||||
globby@^6.1.0:
|
||||
version "6.1.0"
|
||||
resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c"
|
||||
|
|
@ -5091,7 +4940,7 @@ https-proxy-agent@^2.1.0:
|
|||
agent-base "^4.1.0"
|
||||
debug "^3.1.0"
|
||||
|
||||
iconv-lite@0.4.19, iconv-lite@^0.4.17, iconv-lite@~0.4.13:
|
||||
iconv-lite@0.4.19, iconv-lite@~0.4.13:
|
||||
version "0.4.19"
|
||||
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b"
|
||||
|
||||
|
|
@ -5139,7 +4988,7 @@ ignore-walk@^3.0.1:
|
|||
dependencies:
|
||||
minimatch "^3.0.4"
|
||||
|
||||
ignore@^3.3.3, ignore@^3.3.5:
|
||||
ignore@^3.3.5:
|
||||
version "3.3.7"
|
||||
resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.7.tgz#612289bfb3c220e186a58118618d5be8c1bab021"
|
||||
|
||||
|
|
@ -5246,25 +5095,6 @@ ini@^1.3.4, ini@~1.3.0:
|
|||
version "1.3.5"
|
||||
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
|
||||
|
||||
inquirer@^3.0.6:
|
||||
version "3.3.0"
|
||||
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9"
|
||||
dependencies:
|
||||
ansi-escapes "^3.0.0"
|
||||
chalk "^2.0.0"
|
||||
cli-cursor "^2.1.0"
|
||||
cli-width "^2.0.0"
|
||||
external-editor "^2.0.4"
|
||||
figures "^2.0.0"
|
||||
lodash "^4.3.0"
|
||||
mute-stream "0.0.7"
|
||||
run-async "^2.2.0"
|
||||
rx-lite "^4.0.8"
|
||||
rx-lite-aggregates "^4.0.8"
|
||||
string-width "^2.1.0"
|
||||
strip-ansi "^4.0.0"
|
||||
through "^2.3.6"
|
||||
|
||||
inquirer@^6.0.0:
|
||||
version "6.0.0"
|
||||
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.0.0.tgz#e8c20303ddc15bbfc2c12a6213710ccd9e1413d8"
|
||||
|
|
@ -6028,17 +5858,6 @@ jest-resolve@^24.1.0:
|
|||
chalk "^2.0.1"
|
||||
realpath-native "^1.0.0"
|
||||
|
||||
jest-runner-eslint@^0.4.0:
|
||||
version "0.4.0"
|
||||
resolved "https://registry.yarnpkg.com/jest-runner-eslint/-/jest-runner-eslint-0.4.0.tgz#938a54fb767d1803d45613ae3eac0adc2de426db"
|
||||
dependencies:
|
||||
cosmiconfig "^3.0.1"
|
||||
eslint "^4.5.0"
|
||||
find-up "^2.1.0"
|
||||
pify "3.0.0"
|
||||
throat "4.1.0"
|
||||
worker-farm "1.5.0"
|
||||
|
||||
jest-runner@^24.1.0:
|
||||
version "24.1.0"
|
||||
resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.1.0.tgz#3686a2bb89ce62800da23d7fdc3da2c32792943b"
|
||||
|
|
@ -6209,7 +6028,7 @@ js-yaml@^3.9.0:
|
|||
argparse "^1.0.7"
|
||||
esprima "^4.0.0"
|
||||
|
||||
js-yaml@^3.9.1, js-yaml@~3.10.0:
|
||||
js-yaml@~3.10.0:
|
||||
version "3.10.0"
|
||||
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc"
|
||||
dependencies:
|
||||
|
|
@ -7654,12 +7473,6 @@ parse-json@^2.2.0:
|
|||
dependencies:
|
||||
error-ex "^1.2.0"
|
||||
|
||||
parse-json@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-3.0.0.tgz#fa6f47b18e23826ead32f263e744d0e1e847fb13"
|
||||
dependencies:
|
||||
error-ex "^1.3.1"
|
||||
|
||||
parse-json@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
|
||||
|
|
@ -7779,14 +7592,14 @@ phin@^2.9.1:
|
|||
version "2.9.3"
|
||||
resolved "https://registry.yarnpkg.com/phin/-/phin-2.9.3.tgz#f9b6ac10a035636fb65dfc576aaaa17b8743125c"
|
||||
|
||||
pify@3.0.0, pify@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
|
||||
|
||||
pify@^2.0.0, pify@^2.2.0, pify@^2.3.0:
|
||||
version "2.3.0"
|
||||
resolved "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
|
||||
|
||||
pify@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
|
||||
|
||||
pify@^4.0.1:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
|
||||
|
|
@ -7831,10 +7644,6 @@ pkg-dir@^3.0.0:
|
|||
dependencies:
|
||||
find-up "^3.0.0"
|
||||
|
||||
pluralize@^7.0.0:
|
||||
version "7.0.0"
|
||||
resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777"
|
||||
|
||||
pn@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb"
|
||||
|
|
@ -8760,10 +8569,6 @@ regex-not@^1.0.0, regex-not@^1.0.2:
|
|||
extend-shallow "^3.0.2"
|
||||
safe-regex "^1.1.0"
|
||||
|
||||
regexpp@^1.0.1:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-1.1.0.tgz#0e3516dd0b7904f413d2d4193dce4618c3a689ab"
|
||||
|
||||
regexpp@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f"
|
||||
|
|
@ -8953,13 +8758,6 @@ require-main-filename@^1.0.1:
|
|||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
|
||||
|
||||
require-uncached@^1.0.3:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3"
|
||||
dependencies:
|
||||
caller-path "^0.1.0"
|
||||
resolve-from "^1.0.0"
|
||||
|
||||
requireindex@^1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/requireindex/-/requireindex-1.2.0.tgz#3463cdb22ee151902635aa6c9535d4de9c2ef1ef"
|
||||
|
|
@ -8990,10 +8788,6 @@ resolve-dir@^0.1.0:
|
|||
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"
|
||||
|
||||
resolve-from@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
|
||||
|
|
@ -9084,16 +8878,6 @@ run-queue@^1.0.0, run-queue@^1.0.3:
|
|||
dependencies:
|
||||
aproba "^1.1.1"
|
||||
|
||||
rx-lite-aggregates@^4.0.8:
|
||||
version "4.0.8"
|
||||
resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be"
|
||||
dependencies:
|
||||
rx-lite "*"
|
||||
|
||||
rx-lite@*, rx-lite@^4.0.8:
|
||||
version "4.0.8"
|
||||
resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444"
|
||||
|
||||
rxjs@^6.1.0:
|
||||
version "6.2.1"
|
||||
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.2.1.tgz#246cebec189a6cbc143a3ef9f62d6f4c91813ca1"
|
||||
|
|
@ -9385,12 +9169,6 @@ slash@^2.0.0:
|
|||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44"
|
||||
|
||||
slice-ansi@1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d"
|
||||
dependencies:
|
||||
is-fullwidth-code-point "^2.0.0"
|
||||
|
||||
slice-ansi@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636"
|
||||
|
|
@ -9928,17 +9706,6 @@ symbol-tree@^3.2.2:
|
|||
version "3.2.2"
|
||||
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6"
|
||||
|
||||
table@4.0.2:
|
||||
version "4.0.2"
|
||||
resolved "https://registry.yarnpkg.com/table/-/table-4.0.2.tgz#a33447375391e766ad34d3486e6e2aedc84d2e36"
|
||||
dependencies:
|
||||
ajv "^5.2.3"
|
||||
ajv-keywords "^2.1.0"
|
||||
chalk "^2.1.0"
|
||||
lodash "^4.17.4"
|
||||
slice-ansi "1.0.0"
|
||||
string-width "^2.1.1"
|
||||
|
||||
table@^5.2.3:
|
||||
version "5.2.3"
|
||||
resolved "https://registry.yarnpkg.com/table/-/table-5.2.3.tgz#cde0cc6eb06751c009efab27e8c820ca5b67b7f2"
|
||||
|
|
@ -10059,7 +9826,7 @@ test-exclude@^5.0.0:
|
|||
read-pkg-up "^4.0.0"
|
||||
require-main-filename "^1.0.1"
|
||||
|
||||
text-table@^0.2.0, text-table@~0.2.0:
|
||||
text-table@^0.2.0:
|
||||
version "0.2.0"
|
||||
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
|
||||
|
||||
|
|
@ -10067,7 +9834,7 @@ then-read-stream@^1.3.0, then-read-stream@^1.3.1:
|
|||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/then-read-stream/-/then-read-stream-1.3.1.tgz#81f91fa31d8044bd9a6d49b84af4fb6b34b5cfc7"
|
||||
|
||||
throat@4.1.0, throat@^4.0.0:
|
||||
throat@^4.0.0:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a"
|
||||
|
||||
|
|
@ -10935,13 +10702,6 @@ workbox-webpack-plugin@^3.6.3:
|
|||
json-stable-stringify "^1.0.1"
|
||||
workbox-build "^3.6.3"
|
||||
|
||||
worker-farm@1.5.0:
|
||||
version "1.5.0"
|
||||
resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.5.0.tgz#adfdf0cd40581465ed0a1f648f9735722afd5c8d"
|
||||
dependencies:
|
||||
errno "^0.1.4"
|
||||
xtend "^4.0.1"
|
||||
|
||||
worker-farm@^1.5.2:
|
||||
version "1.6.0"
|
||||
resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.6.0.tgz#aecc405976fab5a95526180846f0dba288f3a4a0"
|
||||
|
|
@ -10974,12 +10734,6 @@ write@1.0.3:
|
|||
dependencies:
|
||||
mkdirp "^0.5.1"
|
||||
|
||||
write@^0.2.1:
|
||||
version "0.2.1"
|
||||
resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757"
|
||||
dependencies:
|
||||
mkdirp "^0.5.1"
|
||||
|
||||
ws@^3.0.0:
|
||||
version "3.3.3"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2"
|
||||
|
|
@ -11037,7 +10791,7 @@ xregexp@4.0.0:
|
|||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.0.0.tgz#e698189de49dd2a18cc5687b05e17c8e43943020"
|
||||
|
||||
xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1:
|
||||
xtend@^4.0.0, xtend@~4.0.1:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue