mirror of
https://github.com/reduxjs/redux-devtools.git
synced 2025-07-27 00:19:55 +03:00
More
This commit is contained in:
parent
72029d8046
commit
9d26e6595b
|
@ -8,7 +8,7 @@
|
||||||
"eslint-plugin-prettier": "^3.1.4",
|
"eslint-plugin-prettier": "^3.1.4",
|
||||||
"eslint-plugin-react": "^7.20.5",
|
"eslint-plugin-react": "^7.20.5",
|
||||||
"husky": "^4.2.5",
|
"husky": "^4.2.5",
|
||||||
"jest": "^24.9.0",
|
"jest": "^26.2.2",
|
||||||
"lerna": "^3.22.1",
|
"lerna": "^3.22.1",
|
||||||
"lint-staged": "^8.2.1",
|
"lint-staged": "^8.2.1",
|
||||||
"prettier": "^1.19.1"
|
"prettier": "^1.19.1"
|
||||||
|
|
|
@ -46,7 +46,7 @@
|
||||||
"enzyme-adapter-react-16": "^1.15.3",
|
"enzyme-adapter-react-16": "^1.15.3",
|
||||||
"enzyme-to-json": "^3.5.0",
|
"enzyme-to-json": "^3.5.0",
|
||||||
"git-url-parse": "^11.1.2",
|
"git-url-parse": "^11.1.2",
|
||||||
"jest": "^24.9.0",
|
"jest": "^26.2.2",
|
||||||
"jsdom": "^11.12.0",
|
"jsdom": "^11.12.0",
|
||||||
"react": "^16.13.1",
|
"react": "^16.13.1",
|
||||||
"react-dom": "^16.13.1",
|
"react-dom": "^16.13.1",
|
||||||
|
|
|
@ -7,18 +7,24 @@ import 'codemirror/mode/javascript/javascript';
|
||||||
describe('Editor', function() {
|
describe('Editor', function() {
|
||||||
const getBoundingClientRect = jest.fn();
|
const getBoundingClientRect = jest.fn();
|
||||||
const getClientRects = jest.fn();
|
const getClientRects = jest.fn();
|
||||||
document.body.createTextRange = function() {
|
|
||||||
return {
|
// See https://github.com/jsdom/jsdom/issues/3002
|
||||||
getBoundingClientRect() {
|
document.createRange = () => {
|
||||||
getBoundingClientRect();
|
const range = new Range();
|
||||||
return {};
|
|
||||||
},
|
range.getBoundingClientRect = getBoundingClientRect;
|
||||||
getClientRects() {
|
|
||||||
|
range.getClientRects = () => {
|
||||||
getClientRects();
|
getClientRects();
|
||||||
return {};
|
return {
|
||||||
}
|
item: () => null,
|
||||||
|
length: 0,
|
||||||
|
[Symbol.iterator]: jest.fn()
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
return range;
|
||||||
|
};
|
||||||
const wrapper = mount(<Editor value="var a = 1;" />);
|
const wrapper = mount(<Editor value="var a = 1;" />);
|
||||||
|
|
||||||
it('renders correctly', () => {
|
it('renders correctly', () => {
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
"@babel/preset-env": "^7.11.0",
|
"@babel/preset-env": "^7.11.0",
|
||||||
"babel-loader": "^8.1.0",
|
"babel-loader": "^8.1.0",
|
||||||
"immutable": "^3.8.2",
|
"immutable": "^3.8.2",
|
||||||
"jest": "^24.9.0",
|
"jest": "^26.2.2",
|
||||||
"rimraf": "^2.7.1",
|
"rimraf": "^2.7.1",
|
||||||
"webpack": "^4.44.1",
|
"webpack": "^4.44.1",
|
||||||
"webpack-cli": "^3.3.12"
|
"webpack-cli": "^3.3.12"
|
||||||
|
|
|
@ -45,7 +45,7 @@
|
||||||
"@babel/preset-env": "^7.11.0",
|
"@babel/preset-env": "^7.11.0",
|
||||||
"@babel/preset-react": "^7.10.4",
|
"@babel/preset-react": "^7.10.4",
|
||||||
"babel-loader": "^8.1.0",
|
"babel-loader": "^8.1.0",
|
||||||
"jest": "^24.9.0",
|
"jest": "^26.2.2",
|
||||||
"react": "^16.13.1",
|
"react": "^16.13.1",
|
||||||
"react-dom": "^16.13.1",
|
"react-dom": "^16.13.1",
|
||||||
"react-test-renderer": "^16.13.1",
|
"react-test-renderer": "^16.13.1",
|
||||||
|
|
|
@ -57,7 +57,7 @@
|
||||||
"uuid": "^3.4.0"
|
"uuid": "^3.4.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"jest": "^24.9.0",
|
"jest": "^26.2.2",
|
||||||
"socketcluster-client": "^14.3.1",
|
"socketcluster-client": "^14.3.1",
|
||||||
"supertest": "^3.4.2"
|
"supertest": "^3.4.2"
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,7 +51,7 @@
|
||||||
"file-loader": "^6.0.0",
|
"file-loader": "^6.0.0",
|
||||||
"html-loader": "^1.1.0",
|
"html-loader": "^1.1.0",
|
||||||
"html-webpack-plugin": "^4.3.0",
|
"html-webpack-plugin": "^4.3.0",
|
||||||
"jest": "^24.9.0",
|
"jest": "^26.2.2",
|
||||||
"raw-loader": "^1.0.0",
|
"raw-loader": "^1.0.0",
|
||||||
"react": "^16.13.1",
|
"react": "^16.13.1",
|
||||||
"react-dom": "^16.13.1",
|
"react-dom": "^16.13.1",
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
"@babel/preset-env": "^7.11.0",
|
"@babel/preset-env": "^7.11.0",
|
||||||
"babel-loader": "^8.1.0",
|
"babel-loader": "^8.1.0",
|
||||||
"expect": "^26.2.0",
|
"expect": "^26.2.0",
|
||||||
"jest": "^24.9.0",
|
"jest": "^26.2.2",
|
||||||
"redux": "^4.0.5",
|
"redux": "^4.0.5",
|
||||||
"rimraf": "^2.7.1",
|
"rimraf": "^2.7.1",
|
||||||
"rxjs": "^6.6.2"
|
"rxjs": "^6.6.2"
|
||||||
|
|
|
@ -24,61 +24,37 @@ const styles = {
|
||||||
|
|
||||||
const ROOT = '/'; // process.env.NODE_ENV === 'production' ? '/' : '/';
|
const ROOT = '/'; // process.env.NODE_ENV === 'production' ? '/' : '/';
|
||||||
|
|
||||||
function buildUrl(options) {
|
|
||||||
return `${ROOT}?` + [
|
|
||||||
options.useExtension ? 'ext' : '',
|
|
||||||
options.theme ? 'theme=' + options.theme : '',
|
|
||||||
options.dark ? 'dark' : ''
|
|
||||||
].filter(s => s).join('&');
|
|
||||||
}
|
|
||||||
|
|
||||||
class DemoApp extends React.Component {
|
class DemoApp extends React.Component {
|
||||||
render() {
|
render() {
|
||||||
const options = getOptions();
|
const options = getOptions();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div style={styles.wrapper}>
|
<div style={styles.wrapper}>
|
||||||
<h3>
|
<h3>{pkg.name || <span style={styles.muted}>Package Name</span>}</h3>
|
||||||
{pkg.name || <span style={styles.muted}>Package Name</span>}
|
<h5>
|
||||||
</h3>
|
{pkg.description || (
|
||||||
<h5>{pkg.description || <span style={styles.muted}>Package Description</span>}</h5>
|
<span style={styles.muted}>Package Description</span>
|
||||||
|
)}
|
||||||
|
</h5>
|
||||||
<Toolbar>
|
<Toolbar>
|
||||||
<Spacer />
|
<Spacer />
|
||||||
<Button onClick={this.props.increment}>
|
<Button onClick={this.props.increment}>Increment</Button>
|
||||||
Increment
|
<Button onClick={this.props.push}>Push</Button>
|
||||||
</Button>
|
<Button onClick={this.props.pop}>Pop</Button>
|
||||||
<Button onClick={this.props.push}>
|
<Button onClick={this.props.replace}>Replace</Button>
|
||||||
Push
|
<Button onClick={this.props.changeNested}>Change Nested</Button>
|
||||||
</Button>
|
|
||||||
<Button onClick={this.props.pop}>
|
|
||||||
Pop
|
|
||||||
</Button>
|
|
||||||
<Button onClick={this.props.replace}>
|
|
||||||
Replace
|
|
||||||
</Button>
|
|
||||||
<Button onClick={this.props.changeNested}>
|
|
||||||
Change Nested
|
|
||||||
</Button>
|
|
||||||
<Spacer />
|
<Spacer />
|
||||||
</Toolbar>
|
</Toolbar>
|
||||||
<Toolbar>
|
<Toolbar>
|
||||||
<Spacer />
|
<Spacer />
|
||||||
<Button onClick={this.props.pushHugeArray}>
|
<Button onClick={this.props.pushHugeArray}>Push Huge Array</Button>
|
||||||
Push Huge Array
|
<Button onClick={this.props.addHugeObect}>Add Huge Object</Button>
|
||||||
</Button>
|
<Button onClick={this.props.hugePayload}>Huge Payload</Button>
|
||||||
<Button onClick={this.props.addHugeObect}>
|
|
||||||
Add Huge Object
|
|
||||||
</Button>
|
|
||||||
<Button onClick={this.props.hugePayload}>
|
|
||||||
Huge Payload
|
|
||||||
</Button>
|
|
||||||
<Spacer />
|
<Spacer />
|
||||||
</Toolbar>
|
</Toolbar>
|
||||||
<Toolbar>
|
<Toolbar>
|
||||||
<Spacer />
|
<Spacer />
|
||||||
<Button onClick={this.props.addIterator}>
|
<Button onClick={this.props.addIterator}>Add Iterator</Button>
|
||||||
Add Iterator
|
|
||||||
</Button>
|
|
||||||
<Button onClick={this.props.addImmutableMap}>
|
<Button onClick={this.props.addImmutableMap}>
|
||||||
Add Immutable Map
|
Add Immutable Map
|
||||||
</Button>
|
</Button>
|
||||||
|
@ -89,15 +65,9 @@ class DemoApp extends React.Component {
|
||||||
</Toolbar>
|
</Toolbar>
|
||||||
<Toolbar>
|
<Toolbar>
|
||||||
<Spacer />
|
<Spacer />
|
||||||
<Button onClick={this.props.addRecursive}>
|
<Button onClick={this.props.addRecursive}>Add Recursive</Button>
|
||||||
Add Recursive
|
<Button onClick={this.props.addFunction}>Add Function</Button>
|
||||||
</Button>
|
<Button onClick={this.props.addSymbol}>Add Symbol</Button>
|
||||||
<Button onClick={this.props.addFunction}>
|
|
||||||
Add Function
|
|
||||||
</Button>
|
|
||||||
<Button onClick={this.props.addSymbol}>
|
|
||||||
Add Symbol
|
|
||||||
</Button>
|
|
||||||
<Spacer />
|
<Spacer />
|
||||||
</Toolbar>
|
</Toolbar>
|
||||||
<Toolbar>
|
<Toolbar>
|
||||||
|
@ -105,16 +75,19 @@ class DemoApp extends React.Component {
|
||||||
<Button onClick={this.toggleTimeoutUpdate}>
|
<Button onClick={this.toggleTimeoutUpdate}>
|
||||||
Timeout Update {this.props.timeoutUpdateEnabled ? 'On' : 'Off'}
|
Timeout Update {this.props.timeoutUpdateEnabled ? 'On' : 'Off'}
|
||||||
</Button>
|
</Button>
|
||||||
<Button onClick={this.props.shuffleArray}>
|
<Button onClick={this.props.shuffleArray}>Shuffle Array</Button>
|
||||||
Shuffle Array
|
|
||||||
</Button>
|
|
||||||
<Spacer />
|
<Spacer />
|
||||||
</Toolbar>
|
</Toolbar>
|
||||||
<div>
|
<div>
|
||||||
{options.useExtension ?
|
{options.useExtension ? (
|
||||||
<a href={`${ROOT}`} style={styles.link}>Disable browser extension</a> :
|
<a href={`${ROOT}`} style={styles.link}>
|
||||||
<a href={`${ROOT}?ext`} style={styles.link}>Use browser extension</a>
|
Disable browser extension
|
||||||
}
|
</a>
|
||||||
|
) : (
|
||||||
|
<a href={`${ROOT}?ext`} style={styles.link}>
|
||||||
|
Use browser extension
|
||||||
|
</a>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
@ -129,14 +102,13 @@ class DemoApp extends React.Component {
|
||||||
} else {
|
} else {
|
||||||
clearTimeout(this.timeout);
|
clearTimeout(this.timeout);
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export default connect(
|
export default connect(state => state, {
|
||||||
state => state,
|
|
||||||
{
|
|
||||||
toggleTimeoutUpdate: timeoutUpdateEnabled => ({
|
toggleTimeoutUpdate: timeoutUpdateEnabled => ({
|
||||||
type: 'TOGGLE_TIMEOUT_UPDATE', timeoutUpdateEnabled
|
type: 'TOGGLE_TIMEOUT_UPDATE',
|
||||||
|
timeoutUpdateEnabled
|
||||||
}),
|
}),
|
||||||
timeoutUpdate: () => ({ type: 'TIMEOUT_UPDATE' }),
|
timeoutUpdate: () => ({ type: 'TIMEOUT_UPDATE' }),
|
||||||
increment: () => ({ type: 'INCREMENT' }),
|
increment: () => ({ type: 'INCREMENT' }),
|
||||||
|
@ -158,5 +130,4 @@ export default connect(
|
||||||
addSymbol: () => ({ type: 'ADD_SYMBOL' }),
|
addSymbol: () => ({ type: 'ADD_SYMBOL' }),
|
||||||
shuffleArray: () => ({ type: 'SHUFFLE_ARRAY' }),
|
shuffleArray: () => ({ type: 'SHUFFLE_ARRAY' }),
|
||||||
pushRoute
|
pushRoute
|
||||||
}
|
})(DemoApp);
|
||||||
)(DemoApp);
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ export default function getOptions() {
|
||||||
supportImmutable: window.location.search.indexOf('immutable') !== -1,
|
supportImmutable: window.location.search.indexOf('immutable') !== -1,
|
||||||
theme: do {
|
theme: do {
|
||||||
const match = window.location.search.match(/theme=([^&]+)/);
|
const match = window.location.search.match(/theme=([^&]+)/);
|
||||||
match ? match[1] : 'inspector'
|
match ? match[1] : 'inspector';
|
||||||
},
|
},
|
||||||
dark: window.location.search.indexOf('dark') !== -1
|
dark: window.location.search.indexOf('dark') !== -1
|
||||||
};
|
};
|
||||||
|
|
|
@ -3,13 +3,15 @@ import shuffle from 'lodash.shuffle';
|
||||||
|
|
||||||
const NESTED = {
|
const NESTED = {
|
||||||
long: {
|
long: {
|
||||||
nested: [{
|
nested: [
|
||||||
|
{
|
||||||
path: {
|
path: {
|
||||||
to: {
|
to: {
|
||||||
a: 'key'
|
a: 'key'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}]
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -27,13 +29,18 @@ const IMMUTABLE_MAP = Immutable.Map({
|
||||||
|
|
||||||
/* eslint-enable babel/new-cap */
|
/* eslint-enable babel/new-cap */
|
||||||
|
|
||||||
const HUGE_ARRAY = Array.from({ length: 5000 })
|
const HUGE_ARRAY = Array.from({ length: 5000 }).map((_, key) => ({
|
||||||
.map((_, key) => ({ str: 'key ' + key }));
|
str: 'key ' + key
|
||||||
|
}));
|
||||||
|
|
||||||
const HUGE_OBJECT = Array.from({ length: 5000 })
|
const HUGE_OBJECT = Array.from({ length: 5000 }).reduce(
|
||||||
.reduce((o, _, key) => (o['key ' + key] = 'item ' + key, o), {});
|
(o, _, key) => ((o['key ' + key] = 'item ' + key), o),
|
||||||
|
{}
|
||||||
|
);
|
||||||
|
|
||||||
const FUNC = function (a, b, c) { return a + b + c; };
|
const FUNC = function(a, b, c) {
|
||||||
|
return a + b + c;
|
||||||
|
};
|
||||||
|
|
||||||
const RECURSIVE = {};
|
const RECURSIVE = {};
|
||||||
RECURSIVE.obj = RECURSIVE;
|
RECURSIVE.obj = RECURSIVE;
|
||||||
|
@ -44,7 +51,7 @@ function createIterator() {
|
||||||
for (var i = 0; i < 333; i++) {
|
for (var i = 0; i < 333; i++) {
|
||||||
yield 'item ' + i;
|
yield 'item ' + i;
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
return iterable;
|
return iterable;
|
||||||
}
|
}
|
||||||
|
@ -52,52 +59,61 @@ function createIterator() {
|
||||||
const DEFAULT_SHUFFLE_ARRAY = [0, 1, null, { id: 1 }, { id: 2 }, 'string'];
|
const DEFAULT_SHUFFLE_ARRAY = [0, 1, null, { id: 1 }, { id: 2 }, 'string'];
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
timeoutUpdateEnabled: (state=false, action) => action.type === 'TOGGLE_TIMEOUT_UPDATE' ?
|
timeoutUpdateEnabled: (state = false, action) =>
|
||||||
action.timeoutUpdateEnabled : state,
|
action.type === 'TOGGLE_TIMEOUT_UPDATE'
|
||||||
store: (state=0, action) => action.type === 'INCREMENT' ? state + 1 : state,
|
? action.timeoutUpdateEnabled
|
||||||
|
: state,
|
||||||
|
store: (state = 0, action) =>
|
||||||
|
action.type === 'INCREMENT' ? state + 1 : state,
|
||||||
undefined: (state = { val: undefined }) => state,
|
undefined: (state = { val: undefined }) => state,
|
||||||
null: (state = null) => state,
|
null: (state = null) => state,
|
||||||
func: (state = () => {}) => state,
|
func: (state = () => {}) => state,
|
||||||
array: (state=[], action) => action.type === 'PUSH' ?
|
array: (state = [], action) =>
|
||||||
[...state, Math.random()] : (
|
action.type === 'PUSH'
|
||||||
action.type === 'POP' ? state.slice(0, state.length - 1) : (
|
? [...state, Math.random()]
|
||||||
action.type === 'REPLACE' ? [Math.random(), ...state.slice(1)] : state
|
: action.type === 'POP'
|
||||||
)
|
? state.slice(0, state.length - 1)
|
||||||
),
|
: action.type === 'REPLACE'
|
||||||
hugeArrays: (state=[], action) => action.type === 'PUSH_HUGE_ARRAY' ?
|
? [Math.random(), ...state.slice(1)]
|
||||||
[ ...state, ...HUGE_ARRAY ] : state,
|
: state,
|
||||||
hugeObjects: (state=[], action) => action.type === 'ADD_HUGE_OBJECT' ?
|
hugeArrays: (state = [], action) =>
|
||||||
[ ...state, HUGE_OBJECT ] : state,
|
action.type === 'PUSH_HUGE_ARRAY' ? [...state, ...HUGE_ARRAY] : state,
|
||||||
iterators: (state=[], action) => action.type === 'ADD_ITERATOR' ?
|
hugeObjects: (state = [], action) =>
|
||||||
[...state, createIterator()] : state,
|
action.type === 'ADD_HUGE_OBJECT' ? [...state, HUGE_OBJECT] : state,
|
||||||
|
iterators: (state = [], action) =>
|
||||||
|
action.type === 'ADD_ITERATOR' ? [...state, createIterator()] : state,
|
||||||
nested: (state = NESTED, action) =>
|
nested: (state = NESTED, action) =>
|
||||||
action.type === 'CHANGE_NESTED' ?
|
action.type === 'CHANGE_NESTED'
|
||||||
{
|
? {
|
||||||
...state,
|
...state,
|
||||||
long: {
|
long: {
|
||||||
nested: [{
|
nested: [
|
||||||
|
{
|
||||||
path: {
|
path: {
|
||||||
to: {
|
to: {
|
||||||
a: state.long.nested[0].path.to.a + '!'
|
a: state.long.nested[0].path.to.a + '!'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}]
|
|
||||||
}
|
}
|
||||||
} : state,
|
]
|
||||||
recursive: (state=[], action) => action.type === 'ADD_RECURSIVE' ?
|
}
|
||||||
[...state, { ...RECURSIVE }] : state,
|
}
|
||||||
immutables: (state=[], action) => action.type === 'ADD_IMMUTABLE_MAP' ?
|
: state,
|
||||||
[...state, IMMUTABLE_MAP] : state,
|
recursive: (state = [], action) =>
|
||||||
immutableNested: (state=IMMUTABLE_NESTED, action) => action.type === 'CHANGE_IMMUTABLE_NESTED' ?
|
action.type === 'ADD_RECURSIVE' ? [...state, { ...RECURSIVE }] : state,
|
||||||
state.updateIn(
|
immutables: (state = [], action) =>
|
||||||
|
action.type === 'ADD_IMMUTABLE_MAP' ? [...state, IMMUTABLE_MAP] : state,
|
||||||
|
immutableNested: (state = IMMUTABLE_NESTED, action) =>
|
||||||
|
action.type === 'CHANGE_IMMUTABLE_NESTED'
|
||||||
|
? state.updateIn(
|
||||||
['long', 'nested', 0, 'path', 'to', 'a'],
|
['long', 'nested', 0, 'path', 'to', 'a'],
|
||||||
str => str + '!'
|
str => str + '!'
|
||||||
) : state,
|
)
|
||||||
addFunction: (state=null, action) => action.type === 'ADD_FUNCTION' ?
|
: state,
|
||||||
{ f: FUNC } : state,
|
addFunction: (state = null, action) =>
|
||||||
addSymbol: (state=null, action) => action.type === 'ADD_SYMBOL' ?
|
action.type === 'ADD_FUNCTION' ? { f: FUNC } : state,
|
||||||
{ s: window.Symbol('symbol') } : state,
|
addSymbol: (state = null, action) =>
|
||||||
|
action.type === 'ADD_SYMBOL' ? { s: window.Symbol('symbol') } : state,
|
||||||
shuffleArray: (state = DEFAULT_SHUFFLE_ARRAY, action) =>
|
shuffleArray: (state = DEFAULT_SHUFFLE_ARRAY, action) =>
|
||||||
action.type === 'SHUFFLE_ARRAY' ?
|
action.type === 'SHUFFLE_ARRAY' ? shuffle(state) : state
|
||||||
shuffle(state) : state
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -52,7 +52,7 @@
|
||||||
"export-files-webpack-plugin": "^0.0.1",
|
"export-files-webpack-plugin": "^0.0.1",
|
||||||
"file-loader": "^6.0.0",
|
"file-loader": "^6.0.0",
|
||||||
"html-webpack-plugin": "^4.3.0",
|
"html-webpack-plugin": "^4.3.0",
|
||||||
"jest": "^24.9.0",
|
"jest": "^26.2.2",
|
||||||
"lodash.shuffle": "^4.2.0",
|
"lodash.shuffle": "^4.2.0",
|
||||||
"react-dom": "^16.13.1",
|
"react-dom": "^16.13.1",
|
||||||
"react-redux": "^6.0.1",
|
"react-redux": "^6.0.1",
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
"enzyme": "^3.11.0",
|
"enzyme": "^3.11.0",
|
||||||
"enzyme-adapter-react-16": "^1.15.3",
|
"enzyme-adapter-react-16": "^1.15.3",
|
||||||
"enzyme-to-json": "^3.5.0",
|
"enzyme-to-json": "^3.5.0",
|
||||||
"jest": "^24.9.0",
|
"jest": "^26.2.2",
|
||||||
"react-dom": "^16.13.1",
|
"react-dom": "^16.13.1",
|
||||||
"react-test-renderer": "^16.13.1",
|
"react-test-renderer": "^16.13.1",
|
||||||
"rimraf": "^2.7.1"
|
"rimraf": "^2.7.1"
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
"@babel/preset-env": "^7.11.0",
|
"@babel/preset-env": "^7.11.0",
|
||||||
"@babel/preset-react": "^7.10.4",
|
"@babel/preset-react": "^7.10.4",
|
||||||
"babel-loader": "^8.1.0",
|
"babel-loader": "^8.1.0",
|
||||||
"jest": "^24.9.0",
|
"jest": "^26.2.2",
|
||||||
"react": "^16.13.1",
|
"react": "^16.13.1",
|
||||||
"react-dom": "^16.13.1",
|
"react-dom": "^16.13.1",
|
||||||
"react-redux": "^6.0.1",
|
"react-redux": "^6.0.1",
|
||||||
|
|
Loading…
Reference in New Issue
Block a user