diff --git a/package.json b/package.json
index 4b23c72..75e4c5a 100644
--- a/package.json
+++ b/package.json
@@ -3,12 +3,14 @@
"version": "0.1.0",
"private": true,
"dependencies": {
+ "p5": "^0.7.3",
"popmotion": "^8.4.1",
"react": "^16.5.2",
"react-dom": "^16.5.2",
+ "react-p5-wrapper": "^0.0.4",
"react-scripts": "2.0.4",
- "styled-components": "^3.4.10",
- "styled-normalize": "^8.0.2"
+ "styled-components": "^4.1.3",
+ "styled-normalize": "^8.0.6"
},
"scripts": {
"start": "react-scripts start",
@@ -28,8 +30,6 @@
"devDependencies": {
"inline-worker": "^1.1.0",
"lodash": "^4.17.11",
- "p5": "^0.7.2",
- "react-p5-wrapper": "0.0.4",
"snapsvg": "^0.5.1",
"snapsvg-cjs": "0.0.6",
"svg.js": "^2.6.6"
diff --git a/sketch/cassette.sketch b/sketch/cassette.sketch
index 7f13488..853ed46 100755
Binary files a/sketch/cassette.sketch and b/sketch/cassette.sketch differ
diff --git a/src/App.js b/src/App.js
index ca8b072..5e7e04c 100644
--- a/src/App.js
+++ b/src/App.js
@@ -1,13 +1,13 @@
import React, { Component } from "react";
import CassetteTape from "./components/CassetteTape";
-import { injectGlobal } from "styled-components";
+import { createGlobalStyle } from "styled-components";
import styledNormalize from "styled-normalize";
-injectGlobal`
+const GlobalStyles = createGlobalStyle`
@import url('https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400');
-${styledNormalize}
+${styledNormalize};
html {
box-sizing: border-box;
@@ -27,6 +27,7 @@ class App extends Component {
render() {
return (
+
);
diff --git a/src/components/CassetteTape.jsx b/src/components/CassetteTape.jsx
index 6276440..52da5b3 100644
--- a/src/components/CassetteTape.jsx
+++ b/src/components/CassetteTape.jsx
@@ -83,6 +83,9 @@ class CassetteTape extends React.Component {
if (isRecording) {
this.stopRecording();
} else {
+ if (this.recorder.recorder.context.state === "suspended") {
+ this.recorder.recorder.context.resume();
+ }
this.recorder.record();
}
@@ -139,7 +142,7 @@ class CassetteTape extends React.Component {
}}
>
diff --git a/src/components/Recorder.jsx b/src/components/Recorder.jsx
deleted file mode 100755
index 66d7159..0000000
--- a/src/components/Recorder.jsx
+++ /dev/null
@@ -1,169 +0,0 @@
-// cool blog article on how to do this: http://www.smartjava.org/content/exploring-html5-web-audio-visualizing-sound
-// https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API/Visualizations_with_Web_Audio_API
-
-// distortion curve for the waveshaper, thanks to Kevin Ennis
-// http://stackoverflow.com/questions/22312841/waveshaper-node-in-webaudio-how-to-emulate-distortion
-
-import React, { Component } from "react";
-import { string, number, bool, func } from "prop-types";
-import { MicrophoneRecorder } from "./libs/MicrophoneRecorder";
-import AudioContext from "./libs/AudioContext";
-import AudioPlayer from "./libs/AudioPlayer";
-import Visualizer from "./libs/Visualizer";
-
-export default class Recorder extends Component {
- constructor(props) {
- super(props);
- this.state = {
- analyser: null,
- microphoneRecorder: null,
- canvas: null,
- canvasCtx: null
- };
- }
-
- componentDidMount() {
- const {
- onSave,
- onStop,
- onStart,
- onData,
- audioElem,
- audioBitsPerSecond,
- mimeType
- } = this.props;
- const { visualizer } = this.refs;
- const canvas = visualizer;
- const canvasCtx = canvas.getContext("2d");
- const options = {
- audioBitsPerSecond: audioBitsPerSecond,
- mimeType: mimeType
- };
-
- if (audioElem) {
- const analyser = AudioContext.getAnalyser();
-
- AudioPlayer.create(audioElem);
-
- this.setState(
- {
- analyser: analyser,
- canvas: canvas,
- canvasCtx: canvasCtx
- },
- () => {
- this.visualize();
- }
- );
- } else {
- const analyser = AudioContext.getAnalyser();
-
- this.setState(
- {
- analyser: analyser,
- microphoneRecorder: new MicrophoneRecorder(
- onStart,
- onStop,
- onSave,
- onData,
- options
- ),
- canvas: canvas,
- canvasCtx: canvasCtx
- },
- () => {
- this.visualize();
- }
- );
- }
- }
-
- visualize = () => {
- const self = this;
- const {
- backgroundColor,
- strokeColor,
- width,
- height,
- visualSetting
- } = this.props;
- const { canvas, canvasCtx, analyser } = this.state;
-
- if (visualSetting === "sinewave") {
- Visualizer.visualizeSineWave(
- analyser,
- canvasCtx,
- canvas,
- width,
- height,
- backgroundColor,
- strokeColor
- );
- } else if (visualSetting === "frequencyBars") {
- Visualizer.visualizeFrequencyBars(
- analyser,
- canvasCtx,
- canvas,
- width,
- height,
- backgroundColor,
- strokeColor
- );
- }
- };
-
- clear() {
- const { width, height } = this.props;
- const { canvasCtx } = this.state;
- canvasCtx.clearRect(0, 0, width, height);
- }
-
- render() {
- const { record, onStop, width, height } = this.props;
- const { microphoneRecorder } = this.state;
-
- if (record) {
- if (microphoneRecorder) {
- microphoneRecorder.startRecording();
- }
- } else {
- if (microphoneRecorder) {
- microphoneRecorder.stopRecording(onStop);
- this.clear();
- }
- }
-
- return (
-
- );
- }
-}
-
-Recorder.propTypes = {
- backgroundColor: string,
- strokeColor: string,
- className: string,
- audioBitsPerSecond: number,
- mimeType: string,
- height: number,
- record: bool.isRequired,
- onStop: func,
- onData: func
-};
-
-Recorder.defaultProps = {
- backgroundColor: "rgba(255, 255, 255, 0.5)",
- strokeColor: "#000000",
- className: "visualizer",
- audioBitsPerSecond: 128000,
- mimeType: "audio/webm;codecs=opus",
- record: false,
- width: 640,
- height: 100,
- visualSetting: "sinewave"
-};
diff --git a/src/components/recorder/audio-recorder.js b/src/components/recorder/audio-recorder.js
index 2c4ef70..98769de 100755
--- a/src/components/recorder/audio-recorder.js
+++ b/src/components/recorder/audio-recorder.js
@@ -8,6 +8,7 @@ class AudioRecorder {
};
let audioContext;
+
try {
// webkit shim
window.AudioContext = window.AudioContext || window.webkitAudioContext;
diff --git a/src/components/visualization/sketch.js b/src/components/visualization/sketch.js
index a6494e5..82a25b4 100644
--- a/src/components/visualization/sketch.js
+++ b/src/components/visualization/sketch.js
@@ -58,4 +58,10 @@ export default function sketch(p) {
p.vertex(0, p.windowHeight);
p.endShape(p.CLOSE);
};
+
+ p.touchStarted = function() {
+ if (mic.mediaStream.context.state !== "running") {
+ mic.mediaStream.context.resume();
+ }
+ };
}
diff --git a/yarn.lock b/yarn.lock
index 4a7ea65..c306a62 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -732,6 +732,33 @@
version "1.4.0"
resolved "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7"
+"@emotion/is-prop-valid@^0.7.3":
+ version "0.7.3"
+ resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.7.3.tgz#a6bf4fa5387cbba59d44e698a4680f481a8da6cc"
+ dependencies:
+ "@emotion/memoize" "0.7.1"
+
+"@emotion/memoize@0.7.1":
+ version "0.7.1"
+ resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.1.tgz#e93c13942592cf5ef01aa8297444dc192beee52f"
+
+"@emotion/unitless@^0.7.0":
+ version "0.7.3"
+ resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.3.tgz#6310a047f12d21a1036fb031317219892440416f"
+
+"@popmotion/easing@^1.0.1":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@popmotion/easing/-/easing-1.0.2.tgz#17d925c45b4bf44189e5a38038d149df42d8c0b4"
+
+"@popmotion/popcorn@^0.3.2":
+ version "0.3.4"
+ resolved "https://registry.yarnpkg.com/@popmotion/popcorn/-/popcorn-0.3.4.tgz#afbf70cbe2d729a24dcd88c64eb8c7e902ca6cfb"
+ dependencies:
+ "@popmotion/easing" "^1.0.1"
+ framesync "^4.0.1"
+ hey-listen "^1.0.5"
+ style-value-types "^3.1.0"
+
"@svgr/core@^2.4.1":
version "2.4.1"
resolved "https://registry.yarnpkg.com/@svgr/core/-/core-2.4.1.tgz#03a407c28c4a1d84305ae95021e8eabfda8fa731"
@@ -1335,6 +1362,19 @@ babel-plugin-named-asset-import@^0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.2.2.tgz#af1290f77e073411ef1a12f17fc458f1111122eb"
+"babel-plugin-styled-components@>= 1":
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.10.0.tgz#ff1f42ad2cc78c21f26b62266b8f564dbc862939"
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.0.0"
+ "@babel/helper-module-imports" "^7.0.0"
+ babel-plugin-syntax-jsx "^6.18.0"
+ lodash "^4.17.10"
+
+babel-plugin-syntax-jsx@^6.18.0:
+ version "6.18.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946"
+
babel-plugin-syntax-object-rest-spread@^6.13.0, babel-plugin-syntax-object-rest-spread@^6.8.0:
version "6.13.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5"
@@ -1560,6 +1600,15 @@ braces@^2.3.0, braces@^2.3.1:
split-string "^3.0.2"
to-regex "^3.0.1"
+brfs@^1.4.0:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/brfs/-/brfs-1.6.1.tgz#b78ce2336d818e25eea04a0947cba6d4fb8849c3"
+ dependencies:
+ quote-stream "^1.0.1"
+ resolve "^1.1.5"
+ static-module "^2.2.0"
+ through2 "^2.0.0"
+
brorand@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
@@ -1649,6 +1698,10 @@ bser@^2.0.0:
dependencies:
node-int64 "^0.4.0"
+buffer-equal@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-0.0.1.tgz#91bc74b11ea405bc916bc6aa908faafa5b4aac4b"
+
buffer-from@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
@@ -1761,6 +1814,10 @@ camelcase@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42"
+camelize@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.0.tgz#164a5483e630fa4321e5af07020e531831b2609b"
+
caniuse-api@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0"
@@ -1867,6 +1924,10 @@ class-utils@^0.3.5:
isobject "^3.0.0"
static-extend "^0.1.1"
+classnames@^2.1.2:
+ version "2.2.6"
+ resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce"
+
clean-css@4.2.x:
version "4.2.1"
resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17"
@@ -2021,7 +2082,7 @@ concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
-concat-stream@^1.5.0:
+concat-stream@^1.5.0, concat-stream@~1.6.0:
version "1.6.2"
resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
dependencies:
@@ -2180,6 +2241,10 @@ crypto-browserify@^3.11.0:
randombytes "^2.0.0"
randomfill "^1.0.3"
+css-color-keywords@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05"
+
css-color-names@0.0.4, css-color-names@^0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
@@ -2238,6 +2303,14 @@ css-selector-tokenizer@^0.7.0:
fastparse "^1.1.1"
regexpu-core "^1.0.0"
+css-to-react-native@^2.2.2:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-2.3.0.tgz#bf80d24ec4a08e430306ef429c0586e6ed5485f7"
+ dependencies:
+ camelize "^1.0.0"
+ css-color-keywords "^1.0.0"
+ postcss-value-parser "^3.3.0"
+
css-tree@1.0.0-alpha.28:
version "1.0.0-alpha.28"
resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.28.tgz#8e8968190d886c9477bc8d61e96f61af3f7ffa7f"
@@ -2650,6 +2723,12 @@ dotenv@6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-6.0.0.tgz#24e37c041741c5f4b25324958ebbc34bca965935"
+duplexer2@~0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1"
+ dependencies:
+ readable-stream "^2.0.2"
+
duplexer@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
@@ -2750,6 +2829,10 @@ es-to-primitive@^1.1.1:
is-date-object "^1.0.1"
is-symbol "^1.0.2"
+es6-promise@^4.0.5:
+ version "4.2.6"
+ resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.6.tgz#b685edd8258886365ea62b57d30de28fadcd974f"
+
escape-html@~1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
@@ -2769,6 +2852,28 @@ escodegen@^1.11.0, escodegen@^1.9.1:
optionalDependencies:
source-map "~0.6.1"
+escodegen@^1.8.1:
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.1.tgz#c485ff8d6b4cdb89e27f4a856e91f118401ca510"
+ dependencies:
+ esprima "^3.1.3"
+ estraverse "^4.2.0"
+ esutils "^2.0.2"
+ optionator "^0.8.1"
+ optionalDependencies:
+ source-map "~0.6.1"
+
+escodegen@~1.9.0:
+ version "1.9.1"
+ resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.9.1.tgz#dbae17ef96c8e4bedb1356f4504fa4cc2f7cb7e2"
+ dependencies:
+ esprima "^3.1.3"
+ estraverse "^4.2.0"
+ esutils "^2.0.2"
+ optionator "^0.8.1"
+ optionalDependencies:
+ source-map "~0.6.1"
+
eslint-config-react-app@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-3.0.3.tgz#490a7d8e04ae3055e78bb9aa3ee61781c14133b3"
@@ -2947,6 +3052,10 @@ etag@~1.8.1:
version "1.8.1"
resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
+eve@~0.5.1:
+ version "0.5.4"
+ resolved "https://registry.yarnpkg.com/eve/-/eve-0.5.4.tgz#67d080b9725291d7e389e34c26860dd97f1debaa"
+
eventemitter3@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163"
@@ -3130,6 +3239,15 @@ extsprintf@^1.2.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
+falafel@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/falafel/-/falafel-2.1.0.tgz#96bb17761daba94f46d001738b3cedf3a67fe06c"
+ dependencies:
+ acorn "^5.0.0"
+ foreach "^2.0.5"
+ isarray "0.0.1"
+ object-keys "^1.0.6"
+
fast-deep-equal@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614"
@@ -3168,6 +3286,10 @@ fb-watchman@^2.0.0:
dependencies:
bser "^2.0.0"
+fetch-jsonp@^1.0.6:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/fetch-jsonp/-/fetch-jsonp-1.1.3.tgz#9eb9e585ba08aaf700563538d17bbebbcd5a3db2"
+
figgy-pudding@^3.1.0, figgy-pudding@^3.5.1:
version "3.5.1"
resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790"
@@ -3327,6 +3449,10 @@ for-own@^1.0.0:
dependencies:
for-in "^1.0.1"
+foreach@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"
+
forever-agent@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
@@ -3349,6 +3475,12 @@ fragment-cache@^0.2.1:
dependencies:
map-cache "^0.2.2"
+framesync@^4.0.0, framesync@^4.0.1:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/framesync/-/framesync-4.0.2.tgz#b03b62852f12b0d80086b60834b089718f03cda5"
+ dependencies:
+ hey-listen "^1.0.5"
+
fresh@0.5.2:
version "0.5.2"
resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
@@ -3681,6 +3813,10 @@ hex-color-regex@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e"
+hey-listen@^1.0.4, hey-listen@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/hey-listen/-/hey-listen-1.0.5.tgz#6d0a3a2f60177f65bc4404d571a00025bf5dc20e"
+
hmac-drbg@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
@@ -3934,6 +4070,10 @@ ini@^1.3.4, ini@~1.3.0:
version "1.3.5"
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
+inline-worker@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/inline-worker/-/inline-worker-1.1.0.tgz#55e96f54915a642b00872a2daa6fe832b424c98d"
+
inquirer@6.2.0, inquirer@^6.1.0:
version "6.2.0"
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.0.tgz#51adcd776f661369dc1e894859c2560a224abdd8"
@@ -4981,7 +5121,7 @@ lodash.uniq@^4.5.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
-"lodash@>=3.5 <5", lodash@^4.13.1, lodash@^4.17.10, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0:
+"lodash@>=3.5 <5", lodash@^4.13.1, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0:
version "4.17.11"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
@@ -4989,7 +5129,7 @@ loglevel@^1.4.1:
version "1.6.1"
resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.1.tgz#e0fc95133b6ef276cdc8887cdaf24aa6f156f8fa"
-loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1:
+loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
dependencies:
@@ -5006,6 +5146,12 @@ lru-cache@^4.0.1, lru-cache@^4.1.1, lru-cache@^4.1.3:
pseudomap "^1.0.2"
yallist "^2.1.2"
+magic-string@^0.22.4:
+ version "0.22.5"
+ resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.22.5.tgz#8e9cf5afddf44385c1da5bc2a6a0dbd10b03657e"
+ dependencies:
+ vlq "^0.2.2"
+
make-dir@^1.0.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c"
@@ -5072,6 +5218,10 @@ mem@^4.0.0:
mimic-fn "^1.0.0"
p-is-promise "^1.1.0"
+memoize-one@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-4.1.0.tgz#a2387c58c03fff27ca390c31b764a79addf3f906"
+
memory-fs@^0.4.0, memory-fs@~0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
@@ -5091,6 +5241,12 @@ merge-descriptors@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
+merge-source-map@1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.0.4.tgz#a5de46538dae84d4114cc5ea02b4772a6346701f"
+ dependencies:
+ source-map "^0.5.6"
+
merge-stream@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1"
@@ -5196,7 +5352,7 @@ minimist@0.0.8:
version "0.0.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
-minimist@^1.1.1, minimist@^1.2.0:
+minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
@@ -5511,10 +5667,18 @@ object-hash@^1.1.4:
version "1.3.0"
resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.0.tgz#76d9ba6ff113cf8efc0d996102851fe6723963e2"
+object-inspect@~1.4.0:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.4.1.tgz#37ffb10e71adaf3748d05f713b4c9452f402cbc4"
+
object-keys@^1.0.12:
version "1.0.12"
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2"
+object-keys@^1.0.6:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.0.tgz#11bd22348dd2e096a045ab06f6c85bcc340fa032"
+
object-visit@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
@@ -5576,6 +5740,12 @@ onetime@^2.0.0:
dependencies:
mimic-fn "^1.0.0"
+opentype.js@^0.7.1:
+ version "0.7.3"
+ resolved "https://registry.yarnpkg.com/opentype.js/-/opentype.js-0.7.3.tgz#40fb8ce18bfd60e74448efdfe442834098397aab"
+ dependencies:
+ tiny-inflate "^1.0.2"
+
opn@5.4.0, opn@^5.1.0:
version "5.4.0"
resolved "https://registry.yarnpkg.com/opn/-/opn-5.4.0.tgz#cb545e7aab78562beb11aa3bfabc7042e1761035"
@@ -5696,6 +5866,20 @@ p-try@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz#85080bb87c64688fa47996fe8f7dfbe8211760b1"
+p5@^0.5.5:
+ version "0.5.16"
+ resolved "https://registry.yarnpkg.com/p5/-/p5-0.5.16.tgz#0b4572dbbac8897aac4ae2b603b8e3d9d21ef243"
+ dependencies:
+ brfs "^1.4.0"
+ es6-promise "^4.0.5"
+ fetch-jsonp "^1.0.6"
+ opentype.js "^0.7.1"
+ whatwg-fetch "^2.0.2"
+
+p5@^0.7.3:
+ version "0.7.3"
+ resolved "https://registry.yarnpkg.com/p5/-/p5-0.7.3.tgz#a0660327feb8da3e43359a16ad62566b96a7cabe"
+
pako@~1.0.5:
version "1.0.6"
resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258"
@@ -5796,7 +5980,7 @@ path-key@^2.0.0, path-key@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
-path-parse@^1.0.5:
+path-parse@^1.0.5, path-parse@^1.0.6:
version "1.0.6"
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
@@ -5886,6 +6070,18 @@ pnp-webpack-plugin@1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.1.0.tgz#947a96d1db94bb5a1fc014d83b581e428699ac8c"
+popmotion@^8.4.1:
+ version "8.6.4"
+ resolved "https://registry.yarnpkg.com/popmotion/-/popmotion-8.6.4.tgz#84596dca14dfa982b0e6fda9e1d1bc45ba1f1f33"
+ dependencies:
+ "@popmotion/easing" "^1.0.1"
+ "@popmotion/popcorn" "^0.3.2"
+ framesync "^4.0.0"
+ hey-listen "^1.0.5"
+ style-value-types "^3.1.0"
+ stylefire "2.4.3"
+ tslib "^1.9.1"
+
portfinder@^1.0.9:
version "1.0.17"
resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.17.tgz#a8a1691143e46c4735edefcf4fbcccedad26456a"
@@ -6507,12 +6703,13 @@ prompts@^0.1.9:
kleur "^2.0.1"
sisteransi "^0.1.1"
-prop-types@^15.6.2:
- version "15.6.2"
- resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.2.tgz#05d5ca77b4453e985d60fc7ff8c859094a497102"
+prop-types@^15.5.4, prop-types@^15.6.2:
+ version "15.7.2"
+ resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
dependencies:
- loose-envify "^1.3.1"
+ loose-envify "^1.4.0"
object-assign "^4.1.1"
+ react-is "^16.8.1"
proxy-addr@~2.0.3:
version "2.0.4"
@@ -6602,6 +6799,14 @@ querystringify@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.0.0.tgz#fa3ed6e68eb15159457c89b37bc6472833195755"
+quote-stream@^1.0.1, quote-stream@~1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/quote-stream/-/quote-stream-1.0.2.tgz#84963f8c9c26b942e153feeb53aae74652b7e0b2"
+ dependencies:
+ buffer-equal "0.0.1"
+ minimist "^1.1.3"
+ through2 "^2.0.0"
+
raf@3.4.0:
version "3.4.0"
resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.0.tgz#a28876881b4bc2ca9117d4138163ddb80f781575"
@@ -6688,19 +6893,30 @@ react-dev-utils@^6.0.4:
strip-ansi "4.0.0"
text-table "0.2.0"
-react-dom@16.5.2:
- version "16.5.2"
- resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.5.2.tgz#b69ee47aa20bab5327b2b9d7c1fe2a30f2cfa9d7"
+react-dom@^16.5.2:
+ version "16.8.4"
+ resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.8.4.tgz#1061a8e01a2b3b0c8160037441c3bf00a0e3bc48"
dependencies:
loose-envify "^1.1.0"
object-assign "^4.1.1"
prop-types "^15.6.2"
- schedule "^0.5.0"
+ scheduler "^0.13.4"
react-error-overlay@^5.0.4:
version "5.0.4"
resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-5.0.4.tgz#39cf184d770f98b65a2ee59a779d03b8d092b69e"
+react-is@^16.6.0, react-is@^16.8.1:
+ version "16.8.4"
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.4.tgz#90f336a68c3a29a096a3d648ab80e87ec61482a2"
+
+react-p5-wrapper@^0.0.4:
+ version "0.0.4"
+ resolved "https://registry.yarnpkg.com/react-p5-wrapper/-/react-p5-wrapper-0.0.4.tgz#0b73a3eab275e446281f5f05dbba4b8d196afa20"
+ dependencies:
+ classnames "^2.1.2"
+ p5 "^0.5.5"
+
react-scripts@2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-2.0.4.tgz#244a69abbf5630a80ad81349a6d0d56d91583c6c"
@@ -6754,14 +6970,14 @@ react-scripts@2.0.4:
optionalDependencies:
fsevents "1.2.4"
-react@16.5.2:
- version "16.5.2"
- resolved "https://registry.yarnpkg.com/react/-/react-16.5.2.tgz#19f6b444ed139baa45609eee6dc3d318b3895d42"
+react@^16.5.2:
+ version "16.8.4"
+ resolved "https://registry.yarnpkg.com/react/-/react-16.8.4.tgz#fdf7bd9ae53f03a9c4cd1a371432c206be1c4768"
dependencies:
loose-envify "^1.1.0"
object-assign "^4.1.1"
prop-types "^15.6.2"
- schedule "^0.5.0"
+ scheduler "^0.13.4"
read-pkg-up@^1.0.1:
version "1.0.1"
@@ -6793,7 +7009,7 @@ read-pkg@^2.0.0:
normalize-package-data "^2.3.2"
path-type "^2.0.0"
-"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.3, readable-stream@^2.3.6:
+"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.3, readable-stream@~2.3.6:
version "2.3.6"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
dependencies:
@@ -7050,6 +7266,12 @@ resolve@1.8.1, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.6.0, resolve@^1.8.1:
dependencies:
path-parse "^1.0.5"
+resolve@^1.1.5:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba"
+ dependencies:
+ path-parse "^1.0.6"
+
restore-cursor@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
@@ -7158,10 +7380,11 @@ saxes@^3.1.2:
dependencies:
xmlchars "^1.3.1"
-schedule@^0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/schedule/-/schedule-0.5.0.tgz#c128fffa0b402488b08b55ae74bb9df55cc29cc8"
+scheduler@^0.13.4:
+ version "0.13.4"
+ resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.13.4.tgz#8fef05e7a3580c76c0364d2df5e550e4c9140298"
dependencies:
+ loose-envify "^1.1.0"
object-assign "^4.1.1"
schema-utils@^0.4.4, schema-utils@^0.4.5:
@@ -7294,6 +7517,10 @@ shallow-clone@^1.0.0:
kind-of "^5.0.0"
mixin-object "^2.0.1"
+shallow-copy@~0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/shallow-copy/-/shallow-copy-0.0.1.tgz#415f42702d73d810330292cc5ee86eae1a11a170"
+
shebang-command@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
@@ -7368,6 +7595,18 @@ snapdragon@^0.8.1:
source-map-resolve "^0.5.0"
use "^3.1.0"
+snapsvg-cjs@0.0.6:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/snapsvg-cjs/-/snapsvg-cjs-0.0.6.tgz#3b2f56af2573d3d364c3ed5bf8885745f4d2dde1"
+ dependencies:
+ snapsvg "0.5.1"
+
+snapsvg@0.5.1, snapsvg@^0.5.1:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/snapsvg/-/snapsvg-0.5.1.tgz#0caf52c79189a290746fc446cc5e863f6bdddfe3"
+ dependencies:
+ eve "~0.5.1"
+
sockjs-client@1.1.5:
version "1.1.5"
resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.5.tgz#1bb7c0f7222c40f42adf14f4442cbd1269771a83"
@@ -7515,6 +7754,12 @@ stack-utils@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.1.tgz#d4f33ab54e8e38778b0ca5cfd3b3afb12db68620"
+static-eval@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/static-eval/-/static-eval-2.0.2.tgz#2d1759306b1befa688938454c546b7871f806a42"
+ dependencies:
+ escodegen "^1.8.1"
+
static-extend@^0.1.1:
version "0.1.2"
resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
@@ -7522,6 +7767,25 @@ static-extend@^0.1.1:
define-property "^0.2.5"
object-copy "^0.1.0"
+static-module@^2.2.0:
+ version "2.2.5"
+ resolved "https://registry.yarnpkg.com/static-module/-/static-module-2.2.5.tgz#bd40abceae33da6b7afb84a0e4329ff8852bfbbf"
+ dependencies:
+ concat-stream "~1.6.0"
+ convert-source-map "^1.5.1"
+ duplexer2 "~0.1.4"
+ escodegen "~1.9.0"
+ falafel "^2.1.0"
+ has "^1.0.1"
+ magic-string "^0.22.4"
+ merge-source-map "1.0.4"
+ object-inspect "~1.4.0"
+ quote-stream "~1.0.2"
+ readable-stream "~2.3.3"
+ shallow-copy "~0.0.1"
+ static-eval "^2.0.0"
+ through2 "~2.0.3"
+
"statuses@>= 1.3.1 < 2", "statuses@>= 1.4.0 < 2":
version "1.5.0"
resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
@@ -7646,6 +7910,38 @@ style-loader@0.23.0:
loader-utils "^1.1.0"
schema-utils "^0.4.5"
+style-value-types@^3.0.6, style-value-types@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/style-value-types/-/style-value-types-3.1.0.tgz#07e06090e7581adff4c7955d544c1029d0663795"
+
+styled-components@^4.1.3:
+ version "4.1.3"
+ resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-4.1.3.tgz#4472447208e618b57e84deaaeb6acd34a5e0fe9b"
+ dependencies:
+ "@babel/helper-module-imports" "^7.0.0"
+ "@emotion/is-prop-valid" "^0.7.3"
+ "@emotion/unitless" "^0.7.0"
+ babel-plugin-styled-components ">= 1"
+ css-to-react-native "^2.2.2"
+ memoize-one "^4.0.0"
+ prop-types "^15.5.4"
+ react-is "^16.6.0"
+ stylis "^3.5.0"
+ stylis-rule-sheet "^0.0.10"
+ supports-color "^5.5.0"
+
+styled-normalize@^8.0.6:
+ version "8.0.6"
+ resolved "https://registry.yarnpkg.com/styled-normalize/-/styled-normalize-8.0.6.tgz#f27f87292f46aa79ad6db6339aff5db529df3c91"
+
+stylefire@2.4.3:
+ version "2.4.3"
+ resolved "https://registry.yarnpkg.com/stylefire/-/stylefire-2.4.3.tgz#1b39847251000bda86ebf82fa2bb4be7dafe6bc4"
+ dependencies:
+ framesync "^4.0.0"
+ hey-listen "^1.0.4"
+ style-value-types "^3.0.6"
+
stylehacks@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.1.tgz#3186595d047ab0df813d213e51c8b94e0b9010f2"
@@ -7654,6 +7950,14 @@ stylehacks@^4.0.0:
postcss "^7.0.0"
postcss-selector-parser "^3.0.0"
+stylis-rule-sheet@^0.0.10:
+ version "0.0.10"
+ resolved "https://registry.yarnpkg.com/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz#44e64a2b076643f4b52e5ff71efc04d8c3c4a430"
+
+stylis@^3.5.0:
+ version "3.5.4"
+ resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.4.tgz#f665f25f5e299cf3d64654ab949a57c768b73fbe"
+
supports-color@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
@@ -7670,6 +7974,10 @@ supports-color@^5.1.0, supports-color@^5.3.0, supports-color@^5.4.0, supports-co
dependencies:
has-flag "^3.0.0"
+svg.js@^2.6.6:
+ version "2.7.1"
+ resolved "https://registry.yarnpkg.com/svg.js/-/svg.js-2.7.1.tgz#eb977ed4737001eab859949b4a398ee1bb79948d"
+
svgo@^1.0.0, svgo@^1.0.5:
version "1.1.1"
resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.1.1.tgz#12384b03335bcecd85cfa5f4e3375fed671cb985"
@@ -7759,11 +8067,11 @@ throat@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a"
-through2@^2.0.0:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be"
+through2@^2.0.0, through2@~2.0.3:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
dependencies:
- readable-stream "^2.1.5"
+ readable-stream "~2.3.6"
xtend "~4.0.1"
through@^2.3.6:
@@ -7784,6 +8092,10 @@ timsort@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4"
+tiny-inflate@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/tiny-inflate/-/tiny-inflate-1.0.2.tgz#93d9decffc8805bd57eae4310f0b745e9b6fb3a7"
+
tmp@^0.0.33:
version "0.0.33"
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
@@ -7855,7 +8167,7 @@ tryer@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8"
-tslib@^1.9.0:
+tslib@^1.9.0, tslib@^1.9.1:
version "1.9.3"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286"
@@ -8086,6 +8398,10 @@ verror@1.10.0:
core-util-is "1.0.2"
extsprintf "^1.2.0"
+vlq@^0.2.2:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26"
+
vm-browserify@0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73"
@@ -8243,6 +8559,10 @@ whatwg-fetch@3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb"
+whatwg-fetch@^2.0.2:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f"
+
whatwg-mimetype@^2.1.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.2.0.tgz#a3d58ef10b76009b042d03e25591ece89b88d171"