diff --git a/README.md b/README.md
index 5e93ceb91..77ff78f54 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
-Easy peasy redux-powered state management
+Easy peasy state for React
[![npm](https://img.shields.io/npm/v/easy-peasy.svg?style=flat-square)](http://npm.im/easy-peasy)
[![MIT License](https://img.shields.io/npm/l/easy-peasy.svg?style=flat-square)](http://opensource.org/licenses/MIT)
@@ -9,7 +9,7 @@
[![Codecov](https://img.shields.io/codecov/c/github/ctrlplusb/easy-peasy.svg?style=flat-square)](https://codecov.io/github/ctrlplusb/easy-peasy)
```javascript
-import { createStore } from 'easy-peasy';
+import { EasyPeasyProvider, createStore, useStore, useAction } from 'easy-peasy';
const store = createStore({
count: 1,
@@ -18,10 +18,17 @@ const store = createStore({
}
});
-store.dispatch.inc();
+const Counter = () => {
+ const count = useStore(state => state.count)
+ const inc = useAction(actions => actions.inc)
+ return ( (
+
+
+
+)
```
## Features
@@ -502,7 +509,7 @@ const totalPriceSelector = select(state =>
state.products.reduce((acc, cur) => acc + cur.price, 0),
)
-const finalPriceSelector = select(
+const netPriceSelector = select(
state => state.totalPrice * ((100 - state.discount) / 100),
[totalPriceSelector] // 👈 declare that this selector depends on totalPrice
)
@@ -511,7 +518,7 @@ const store = createStore({
discount: 25,
products: [{ name: 'Shoes', price: 160 }, { name: 'Hat', price: 40 }],
totalPrice: totalPriceSelector,
- finalPrice: finalPriceSelector
+ netPrice: netPriceSelector // price after discount applied
});
```
diff --git a/package.json b/package.json
index 4af7ebca0..7ad0a1310 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "easy-peasy",
- "version": "0.9.1",
- "description": "Easy peasy redux-powered state management",
+ "version": "0.10.0-alpha.0",
+ "description": "Easy peasy state for React",
"license": "MIT",
"main": "dist/easy-peasy.js",
"files": [
@@ -28,9 +28,12 @@
"test:coverage": "npm run test -- --coverage",
"test:coverage:deploy": "npm run test:coverage && codecov"
},
- "peerDependencies": {},
+ "peerDependencies": {
+ "prop-types": "^15.6.2",
+ "react": "16.7.0-alpha.0"
+ },
"dependencies": {
- "immer": "^1.7.2",
+ "immer": "^1.7.3",
"memoize-one": "^4.0.2",
"redux": "^4.0.1",
"redux-thunk": "^2.3.0"
@@ -68,13 +71,16 @@
"prettier-eslint": "^8.8.2",
"pretty-bytes": "^5.1.0",
"pretty-format": "^23.6.0",
+ "prop-types": "^15.6.2",
"ramda": "^0.25.0",
+ "react": "16.7.0-alpha.0",
+ "react-dom": "16.7.0-alpha.0",
+ "react-testing-library": "^5.2.3",
"readline-sync": "^1.4.7",
"rimraf": "^2.6.2",
"rollup": "^0.66.6",
"rollup-plugin-babel": "^4.0.3",
- "rollup-plugin-uglify": "^6.0.0",
- "sinon": "^7.0.0"
+ "rollup-plugin-uglify": "^6.0.0"
},
"jest": {
"collectCoverageFrom": [
diff --git a/rollup.config.js b/rollup.config.js
index 145ad2ffe..7d6c0a120 100644
--- a/rollup.config.js
+++ b/rollup.config.js
@@ -5,7 +5,14 @@ const packageJson = require('./package.json')
process.env.BABEL_ENV = 'production'
module.exports = {
- external: ['immer', 'memoize-one', 'redux', 'redux-thunk'],
+ external: [
+ 'immer',
+ 'memoize-one',
+ 'prop-types',
+ 'react',
+ 'redux',
+ 'redux-thunk',
+ ],
input: 'src/index.js',
output: {
file: `dist/${packageJson.name}.js`,
diff --git a/src/context.js b/src/context.js
new file mode 100644
index 000000000..01af69da4
--- /dev/null
+++ b/src/context.js
@@ -0,0 +1,5 @@
+import { createContext } from 'react'
+
+const EasyPeasyContext = createContext()
+
+export default EasyPeasyContext
diff --git a/src/hooks.js b/src/hooks.js
new file mode 100644
index 000000000..0b20884b2
--- /dev/null
+++ b/src/hooks.js
@@ -0,0 +1,15 @@
+import { useState, useEffect, useMemo, useContext } from 'react'
+import EasyPeasyContext from './context'
+
+export function useStore(mapState) {
+ const store = useContext(EasyPeasyContext)
+ const [state, setState] = useState(mapState(store.getState()))
+ const result = useMemo(() => state, [state])
+ useEffect(() => store.subscribe(() => setState(mapState(store.getState()))))
+ return result
+}
+
+export function useAction(mapActions) {
+ const store = useContext(EasyPeasyContext)
+ return mapActions(store.dispatch)
+}
diff --git a/src/index.js b/src/index.js
index 7f0084d88..3c3498372 100644
--- a/src/index.js
+++ b/src/index.js
@@ -1,3 +1,5 @@
import { createStore, effect, select } from './easy-peasy'
+import { useStore, useAction } from './hooks'
+import EasyPeasyProvider from './provider'
-export { createStore, effect, select }
+export { createStore, effect, select, useStore, useAction, EasyPeasyProvider }
diff --git a/src/provider.js b/src/provider.js
new file mode 100644
index 000000000..adc9b612b
--- /dev/null
+++ b/src/provider.js
@@ -0,0 +1,16 @@
+import React from 'react'
+import PropTypes from 'prop-types'
+import EasyPeasyContext from './context'
+
+const EasyPeasyProvider = ({ children, store }) => (
+
+ {children}
+
+)
+
+EasyPeasyProvider.propTypes = {
+ children: PropTypes.node.isRequired,
+ store: PropTypes.object.isRequired,
+}
+
+export default EasyPeasyProvider
diff --git a/yarn.lock b/yarn.lock
index 7745b8977..a038666a8 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -718,31 +718,10 @@
dependencies:
any-observable "^0.3.0"
-"@sinonjs/commons@^1.0.2":
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.0.2.tgz#3e0ac737781627b8844257fadc3d803997d0526e"
- integrity sha512-WR3dlgqJP4QNrLC4iXN/5/2WaLQQ0VijOOkmflqFGVJ6wLEpbSjo7c0ZeGIdtY8Crk7xBBp87sM6+Mkerz7alw==
- dependencies:
- type-detect "4.0.8"
-
-"@sinonjs/formatio@3.0.0", "@sinonjs/formatio@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@sinonjs/formatio/-/formatio-3.0.0.tgz#9d282d81030a03a03fa0c5ce31fd8786a4da311a"
- integrity sha512-vdjoYLDptCgvtJs57ULshak3iJe4NW3sJ3g36xVDGff5AE8P30S6A093EIEPjdi2noGhfuNOEkbxt3J3awFW1w==
- dependencies:
- "@sinonjs/samsam" "2.1.0"
-
-"@sinonjs/samsam@2.1.0":
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-2.1.0.tgz#b8b8f5b819605bd63601a6ede459156880f38ea3"
- integrity sha512-5x2kFgJYupaF1ns/RmharQ90lQkd2ELS8A9X0ymkAAdemYHGtI2KiUHG8nX2WU0T1qgnOU5YMqnBM2V7NUanNw==
- dependencies:
- array-from "^2.1.1"
-
-"@sinonjs/samsam@^2.1.2":
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-2.1.2.tgz#16947fce5f57258d01f1688fdc32723093c55d3f"
- integrity sha512-ZwTHAlC9akprWDinwEPD4kOuwaYZlyMwVJIANsKNC3QVp0AHB04m7RnB4eqeWfgmxw8MGTzS9uMaw93Z3QcZbw==
+"@sheerun/mutationobserver-shim@^0.3.2":
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/@sheerun/mutationobserver-shim/-/mutationobserver-shim-0.3.2.tgz#8013f2af54a2b7d735f71560ff360d3a8176a87b"
+ integrity sha512-vTCdPp/T/Q3oSqwHmZ5Kpa9oI7iLtGl3RQaA/NyLHikvcrPxACkkKVr/XzkSPJWXHRhKGzVvb0urJsbMlRxi1Q==
"@types/estree@0.0.39":
version "0.0.39"
@@ -969,11 +948,6 @@ array-equal@^1.0.0:
resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93"
integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=
-array-from@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/array-from/-/array-from-2.1.1.tgz#cfe9d8c26628b9dc5aecc62a9f5d8f1f352c1195"
- integrity sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=
-
array-includes@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d"
@@ -2019,7 +1993,7 @@ detect-newline@^2.1.0:
resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2"
integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=
-diff@^3.2.0, diff@^3.5.0:
+diff@^3.2.0:
version "3.5.0"
resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12"
integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==
@@ -2044,6 +2018,15 @@ doctrine@^2.1.0:
dependencies:
esutils "^2.0.2"
+dom-testing-library@^3.12.0:
+ version "3.12.0"
+ resolved "https://registry.yarnpkg.com/dom-testing-library/-/dom-testing-library-3.12.0.tgz#45c33124fe6a347410117802a367d3291514fe6f"
+ integrity sha512-eWykEDuKmffXOUKvv4IK00krvC4m+V2/y137M1YccWanUlfUzqS1+3eqm3GMC9qMqCJugfHWn6OpIaQd9rwqcw==
+ dependencies:
+ "@sheerun/mutationobserver-shim" "^0.3.2"
+ pretty-format "^23.6.0"
+ wait-for-expect "^1.0.0"
+
domexception@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90"
@@ -3144,10 +3127,10 @@ ignore@^4.0.6:
resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
-immer@^1.7.2:
- version "1.7.2"
- resolved "https://registry.yarnpkg.com/immer/-/immer-1.7.2.tgz#a51e9723c50b27e132f6566facbec1c85fc69547"
- integrity sha512-4Urocwu9+XLDJw4Tc6ZCg7APVjjLInCFvO4TwGsAYV5zT6YYSor14dsZR0+0tHlDIN92cFUOq+i7fC00G5vTxA==
+immer@^1.7.3:
+ version "1.7.3"
+ resolved "https://registry.yarnpkg.com/immer/-/immer-1.7.3.tgz#c71fa79d8ba115a01198803e3ea1ed92ad1f230e"
+ integrity sha512-vmgik/m1H8wmG9hDDeO0bjlKdm1R3MAvfmlBEMLFBYy5q+ZhUTqgRD+iWjnbCGHIQEc64UOVUaRNaAG3kK7nLw==
import-local@^1.0.0:
version "1.0.0"
@@ -3549,11 +3532,6 @@ is-windows@^1.0.0, is-windows@^1.0.2:
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
-isarray@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
- integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=
-
isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
@@ -4116,11 +4094,6 @@ jsx-ast-utils@^2.0.1:
dependencies:
array-includes "^3.0.3"
-just-extend@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-3.0.0.tgz#cee004031eaabf6406da03a7b84e4fe9d78ef288"
- integrity sha512-Fu3T6pKBuxjWT/p4DkqGHFRsysc8OauWr4ZRTY9dIx07Y9O0RkoR5jcv28aeD1vuAwhm3nLkDurwLXoALp4DpQ==
-
kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
version "3.2.2"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
@@ -4291,11 +4264,6 @@ locate-path@^3.0.0:
p-locate "^3.0.0"
path-exists "^3.0.0"
-lodash.get@^4.4.2:
- version "4.4.2"
- resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
- integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=
-
lodash.merge@^4.6.0:
version "4.6.1"
resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.1.tgz#adc25d9cb99b9391c59624f379fbba60d7111d54"
@@ -4361,16 +4329,6 @@ loglevel@^1.4.1:
resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.1.tgz#e0fc95133b6ef276cdc8887cdaf24aa6f156f8fa"
integrity sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=
-lolex@^2.3.2:
- version "2.3.2"
- resolved "https://registry.yarnpkg.com/lolex/-/lolex-2.3.2.tgz#85f9450425103bf9e7a60668ea25dc43274ca807"
- integrity sha512-A5pN2tkFj7H0dGIAM6MFvHKMJcPnjZsOMvR7ujCjfgW5TbV6H9vb1PgxLtHvjqNZTHsUolz+6/WEO0N1xNx2ng==
-
-lolex@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/lolex/-/lolex-3.0.0.tgz#f04ee1a8aa13f60f1abd7b0e8f4213ec72ec193e"
- integrity sha512-hcnW80h3j2lbUfFdMArd5UPA/vxZJ+G8vobd+wg3nVEQA0EigStbYcrG030FJxL6xiDDPEkoMatV9xIh5OecQQ==
-
longest@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
@@ -4383,7 +4341,7 @@ loose-envify@^1.0.0, loose-envify@^1.3.1:
dependencies:
js-tokens "^3.0.0"
-loose-envify@^1.4.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"
integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
@@ -4611,17 +4569,6 @@ nice-try@^1.0.4:
resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.4.tgz#d93962f6c52f2c1558c0fbda6d512819f1efe1c4"
integrity sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA==
-nise@^1.4.5:
- version "1.4.6"
- resolved "https://registry.yarnpkg.com/nise/-/nise-1.4.6.tgz#76cc3915925056ae6c405dd8ad5d12bde570c19f"
- integrity sha512-1GedetLKzmqmgwabuMSqPsT7oumdR77SBpDfNNJhADRIeA3LN/2RVqR4fFqwvzhAqcTef6PPCzQwITE/YQ8S8A==
- dependencies:
- "@sinonjs/formatio" "3.0.0"
- just-extend "^3.0.0"
- lolex "^2.3.2"
- path-to-regexp "^1.7.0"
- text-encoding "^0.6.4"
-
no-case@^2.2.0, no-case@^2.3.2:
version "2.3.2"
resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac"
@@ -5047,13 +4994,6 @@ path-parse@^1.0.5:
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
integrity sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=
-path-to-regexp@^1.7.0:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d"
- integrity sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=
- dependencies:
- isarray "0.0.1"
-
path-type@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
@@ -5308,6 +5248,33 @@ rc@^1.1.7:
minimist "^1.2.0"
strip-json-comments "~2.0.1"
+react-dom@16.7.0-alpha.0:
+ version "16.7.0-alpha.0"
+ resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.7.0-alpha.0.tgz#8379158d4c76d63c989f325f45dfa5762582584f"
+ integrity sha512-/XUn1ldxmoV2B7ov0rWT5LMZaaHMlF9GGLkUsmPRxmWTJwRDOuAPXidSaSlmR/VOhDSI1s+v3+KzFqhhDFJxYA==
+ dependencies:
+ loose-envify "^1.1.0"
+ object-assign "^4.1.1"
+ prop-types "^15.6.2"
+ scheduler "^0.11.0-alpha.0"
+
+react-testing-library@^5.2.3:
+ version "5.2.3"
+ resolved "https://registry.yarnpkg.com/react-testing-library/-/react-testing-library-5.2.3.tgz#c3be44bfa5eb1ba2acc1fb218785c40ebbdfe8ed"
+ integrity sha512-Bw52++7uORuIQnL55lK/WQfppqAc9+8yFG4lWUp/kmSOvYDnt8J9oI5fNCfAGSQi9iIhAv9aNsI2G5rtid0nrA==
+ dependencies:
+ dom-testing-library "^3.12.0"
+
+react@16.7.0-alpha.0:
+ version "16.7.0-alpha.0"
+ resolved "https://registry.yarnpkg.com/react/-/react-16.7.0-alpha.0.tgz#e2ed4abe6f268c9b092a1d1e572953684d1783a9"
+ integrity sha512-V0za4H01aoAF0SdzahHepvfvzTQ1xxkgMX4z8uKzn+wzZAlVk0IVpleqyxZWluqmdftNedj6fIIZRO/rVYVFvQ==
+ dependencies:
+ loose-envify "^1.1.0"
+ object-assign "^4.1.1"
+ prop-types "^15.6.2"
+ scheduler "^0.11.0-alpha.0"
+
read-pkg-up@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
@@ -5809,6 +5776,14 @@ sax@^1.2.4:
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
+scheduler@^0.11.0-alpha.0:
+ version "0.11.0-alpha.0"
+ resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.11.0-alpha.0.tgz#7b132c726608993471db07866f2d59a52b9e190b"
+ integrity sha512-0tUDHYSyni/EHkMMBysVXVwfanCWWbLsulnDB1tGrQiWWrVuRVoclWCPHCYC/1iR5Rj34EQhxh3/F36V+F+ZpA==
+ dependencies:
+ loose-envify "^1.1.0"
+ object-assign "^4.1.1"
+
semver-compare@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
@@ -5889,21 +5864,6 @@ signal-exit@^3.0.0, signal-exit@^3.0.2:
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
-sinon@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/sinon/-/sinon-7.0.0.tgz#99f2e5198d90a01ccbcebd4dc181a24827cb90dd"
- integrity sha512-8OrSYFPZ9xaECfi1ayVMd0ihYCW2OZYgX3rBczrB990gHZMM+aftvhNTJazGz/luS0Us9NWgD5P3KGQ7kYZvGg==
- dependencies:
- "@sinonjs/commons" "^1.0.2"
- "@sinonjs/formatio" "^3.0.0"
- "@sinonjs/samsam" "^2.1.2"
- diff "^3.5.0"
- lodash.get "^4.4.2"
- lolex "^3.0.0"
- nise "^1.4.5"
- supports-color "^5.5.0"
- type-detect "^4.0.8"
-
sisteransi@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-0.1.1.tgz#5431447d5f7d1675aac667ccd0b865a4994cb3ce"
@@ -6220,13 +6180,6 @@ supports-color@^5.3.0:
dependencies:
has-flag "^3.0.0"
-supports-color@^5.5.0:
- version "5.5.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
- integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
- dependencies:
- has-flag "^3.0.0"
-
swap-case@^1.1.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/swap-case/-/swap-case-1.1.2.tgz#c39203a4587385fad3c850a0bd1bcafa081974e3"
@@ -6301,11 +6254,6 @@ test-exclude@^4.2.1:
read-pkg-up "^1.0.1"
require-main-filename "^1.0.1"
-text-encoding@^0.6.4:
- version "0.6.4"
- resolved "https://registry.yarnpkg.com/text-encoding/-/text-encoding-0.6.4.tgz#e399a982257a276dae428bb92845cb71bdc26d19"
- integrity sha1-45mpgiV6J22uQou5KEXLcb3CbRk=
-
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"
@@ -6427,11 +6375,6 @@ type-check@~0.3.2:
dependencies:
prelude-ls "~1.1.2"
-type-detect@4.0.8, type-detect@^4.0.8:
- version "4.0.8"
- resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
- integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
-
typedarray@^0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
@@ -6626,6 +6569,11 @@ w3c-hr-time@^1.0.1:
dependencies:
browser-process-hrtime "^0.1.2"
+wait-for-expect@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/wait-for-expect/-/wait-for-expect-1.0.1.tgz#73ab346ed56ed2ef66c380a59fd623755ceac0ce"
+ integrity sha512-TPZMSxGWUl2DWmqdspLDEy97/S1Mqq0pzbh2A7jTq0WbJurUb5GKli+bai6ayeYdeWTF0rQNWZmUvCVZ9gkrfA==
+
walker@~1.0.5:
version "1.0.7"
resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb"