Upgrade ESLint so we can use JSX Fragment syntax (#16328)
Now that we're using Babel 7, this is the last blocker.
Andrew Clark committed
Aug 9, 2019 at 12:59 UTC
0bd0c5269f2fe90ff7897ed5ce9146db99126eaf
40 files changed
+831
-682
.eslintrc.js
+22
-17
@@ -12,18 +12,13 @@ module.exports = {
12
extends: 'fbjs',
13
14
// Stop ESLint from looking for a configuration file in parent folders
15
- 'root': true,
15
+ root: true,
16
17
- plugins: [
18
- 'jest',
19
- 'no-for-of-loops',
20
- 'react',
21
- 'react-internal',
22
- ],
17
+ plugins: ['jest', 'no-for-of-loops', 'react', 'react-internal'],
18
24
- parser: 'espree',
19
+ parser: 'babel-eslint',
20
parserOptions: {
26
- ecmaVersion: 2017,
21
+ ecmaVersion: 8,
22
sourceType: 'script',
23
ecmaFeatures: {
24
experimentalObjectRestSpread: true,
@@ -40,8 +35,8 @@ module.exports = {
35
'dot-location': [ERROR, 'property'],
36
'dot-notation': ERROR,
37
'eol-last': ERROR,
43
- 'eqeqeq': [ERROR, 'allow-null'],
44
- 'indent': OFF,
38
+ eqeqeq: [ERROR, 'allow-null'],
39
+ indent: OFF,
40
'jsx-quotes': [ERROR, 'prefer-double'],
41
'keyword-spacing': [ERROR, {after: true, before: true}],
42
'no-bitwise': OFF,
@@ -51,9 +46,9 @@ module.exports = {
46
'no-shadow': ERROR,
47
'no-unused-expressions': ERROR,
48
'no-unused-vars': [ERROR, {args: 'none'}],
54
- 'no-use-before-define': [ERROR, {functions: false, variables: false}],
49
+ 'no-use-before-define': OFF,
50
'no-useless-concat': OFF,
56
- 'quotes': [ERROR, 'single', {avoidEscape: true, allowTemplateLiterals: true }],
51
+ quotes: [ERROR, 'single', {avoidEscape: true, allowTemplateLiterals: true}],
52
'space-before-blocks': ERROR,
53
'space-before-function-paren': OFF,
54
'valid-typeof': [ERROR, {requireStringLiterals: true}],
@@ -65,6 +60,12 @@ module.exports = {
60
'no-var': ERROR,
61
strict: ERROR,
62
63
+ // Enforced by Prettier
64
+ // TODO: Prettier doesn't handle long strings or long comments. Not a big
65
+ // deal. But I turned it off because loading the plugin causes some obscure
66
+ // syntax error and it didn't seem worth investigating.
67
+ 'max-len': OFF,
68
+
69
// React & JSX
70
// Our transforms set this automatically
71
'react/jsx-boolean-value': [ERROR, 'always'],
@@ -78,7 +79,10 @@ module.exports = {
79
'react/react-in-jsx-scope': ERROR,
80
'react/self-closing-comp': ERROR,
81
// We don't care to do this
81
- 'react/jsx-wrap-multilines': [ERROR, {declaration: false, assignment: false}],
82
+ 'react/jsx-wrap-multilines': [
83
+ ERROR,
84
+ {declaration: false, assignment: false},
85
+ ],
86
87
// Prevent for...of loops because they require a Symbol polyfill.
88
// You can disable this rule for code that isn't shipped (e.g. build scripts and tests).
@@ -112,6 +116,7 @@ module.exports = {
116
files: esNextPaths,
117
parser: 'babel-eslint',
118
parserOptions: {
119
+ ecmaVersion: 8,
120
sourceType: 'module',
121
},
122
rules: {
@@ -124,14 +129,14 @@ module.exports = {
129
rules: {
130
// https://github.com/jest-community/eslint-plugin-jest
131
'jest/no-focused-tests': ERROR,
127
- }
132
+ },
133
},
134
{
135
files: ['packages/react-native-renderer/**/*.js'],
136
globals: {
137
nativeFabricUIManager: true,
133
- }
134
- }
138
+ },
139
+ },
140
],
141
142
globals: {
fixtures/dom/src/components/fixtures/suspense/index.js
+6
-6
@@ -46,7 +46,7 @@ class SuspendyTreeChild extends React.Component {
46
47
render() {
48
return (
49
- <React.Fragment>
49
+ <>
50
<Suspense fallback={<div>(display: none)</div>}>
51
<div>
52
<AsyncStep text={`${this.state.step} + ${this.id}`} ms={500} />
@@ -54,7 +54,7 @@ class SuspendyTreeChild extends React.Component {
54
</div>
55
</Suspense>
56
<button onClick={this.increment}>Hide</button>
57
- </React.Fragment>
57
+ </>
58
);
59
}
60
}
@@ -86,22 +86,22 @@ class SuspendyTree extends React.Component {
86
};
87
render() {
88
return (
89
- <React.Fragment>
89
+ <>
90
<div ref={this.parentContainer}>
91
<div ref={this.container} />
92
</div>
93
<div>
94
{this.container.current !== null
95
? ReactDOM.createPortal(
96
- <React.Fragment>
96
+ <>
97
<SuspendyTreeChild>{this.props.children}</SuspendyTreeChild>
98
<button onClick={this.removeAndRestore}>Remove</button>
99
- </React.Fragment>,
99
+ </>,
100
this.container.current
101
)
102
: null}
103
</div>
104
- </React.Fragment>
104
+ </>
105
);
106
}
107
}
package.json
+2
-2
@@ -45,12 +45,12 @@
45
"cross-env": "^5.1.1",
46
"danger": "^3.0.4",
47
"error-stack-parser": "^2.0.2",
48
- "eslint": "^4.1.0",
48
+ "eslint": "^6.1.0",
49
"eslint-config-fbjs": "^1.1.1",
50
- "eslint-plugin-babel": "^3.3.0",
50
"eslint-plugin-flowtype": "^2.25.0",
51
"eslint-plugin-jest": "^21.6.1",
52
"eslint-plugin-no-for-of-loops": "^1.0.0",
53
+ "eslint-plugin-babel": "^5.3.0",
54
"eslint-plugin-react": "^6.7.1",
55
"eslint-plugin-react-internal": "link:./scripts/eslint-rules",
56
"fbjs-scripts": "^0.8.3",
packages/react-dom/src/__tests__/ReactDOMFiber-test.js
+5
-5
@@ -178,11 +178,11 @@ describe('ReactDOMFiber', () => {
178
179
it('renders an empty fragment', () => {
180
const Div = () => <div />;
181
- const EmptyFragment = () => <React.Fragment />;
181
+ const EmptyFragment = () => <></>;
182
const NonEmptyFragment = () => (
183
- <React.Fragment>
183
+ <>
184
<Div />
185
- </React.Fragment>
185
+ </>
186
);
187
188
ReactDOM.render(<EmptyFragment />, container);
@@ -475,10 +475,10 @@ describe('ReactDOMFiber', () => {
475
return (
476
<div>
477
{this.state.show && (
478
- <React.Fragment>
478
+ <>
479
{ReactDOM.createPortal(null, portalContainer)}
480
<div>child</div>
481
- </React.Fragment>
481
+ </>
482
)}
483
<div>parent</div>
484
</div>
packages/react-dom/src/__tests__/ReactDOMFiberAsync-test.internal.js
+2
-2
@@ -581,11 +581,11 @@ describe('ReactDOMFiberAsync', () => {
581
}
582
583
root.render(
584
- <React.Fragment>
584
+ <>
585
<Text text="A" />
586
<Text text="B" />
587
<Text text="C" />
588
- </React.Fragment>,
588
+ </>,
589
);
590
591
// Nothing should have rendered yet
packages/react-dom/src/__tests__/ReactDOMHooks-test.js
+4
-4
@@ -82,10 +82,10 @@ describe('ReactDOMHooks', () => {
82
});
83
84
return (
85
- <React.Fragment>
85
+ <>
86
<input ref={inputRef} onInput={handleInput} />
87
<label ref={labelRef}>{text}</label>
88
- </React.Fragment>
88
+ </>
89
);
90
};
91
@@ -115,10 +115,10 @@ describe('ReactDOMHooks', () => {
115
});
116
117
return (
118
- <React.Fragment>
118
+ <>
119
<input ref={inputRef} onInput={handleInput} />
120
<label ref={labelRef}>{text}</label>
121
- </React.Fragment>
121
+ </>
122
);
123
};
124
packages/react-dom/src/__tests__/ReactDOMServerIntegrationClassContextType-test.js
+2
-2
@@ -240,12 +240,12 @@ describe('ReactDOMServerIntegration', () => {
240
</Theme.Provider>
241
<LanguageConsumer>
242
{language => (
243
- <React.Fragment>
243
+ <>
244
<ThemeConsumer>
245
{theme => <div id="theme3">{theme}</div>}
246
</ThemeConsumer>
247
<div id="language2">{language}</div>
248
- </React.Fragment>
248
+ </>
249
)}
250
</LanguageConsumer>
251
</Theme.Provider>
packages/react-dom/src/__tests__/ReactDOMServerIntegrationFragment-test.js
+16
-16
@@ -42,9 +42,9 @@ describe('ReactDOMServerIntegration', () => {
42
describe('React.Fragment', () => {
43
itRenders('a fragment with one child', async render => {
44
let e = await render(
45
- <React.Fragment>
45
+ <>
46
<div>text1</div>
47
- </React.Fragment>,
47
+ </>,
48
);
49
let parent = e.parentNode;
50
expect(parent.childNodes[0].tagName).toBe('DIV');
@@ -56,19 +56,19 @@ describe('ReactDOMServerIntegration', () => {
56
};
57
let Footer = props => {
58
return (
59
- <React.Fragment>
59
+ <>
60
<h2>footer</h2>
61
<h3>about</h3>
62
- </React.Fragment>
62
+ </>
63
);
64
};
65
let e = await render(
66
- <React.Fragment>
66
+ <>
67
<div>text1</div>
68
<span>text2</span>
69
<Header />
70
<Footer />
71
- </React.Fragment>,
71
+ </>,
72
);
73
let parent = e.parentNode;
74
expect(parent.childNodes[0].tagName).toBe('DIV');
@@ -80,21 +80,21 @@ describe('ReactDOMServerIntegration', () => {
80
81
itRenders('a nested fragment', async render => {
82
let e = await render(
83
- <React.Fragment>
84
- <React.Fragment>
83
+ <>
84
+ <>
85
<div>text1</div>
86
- </React.Fragment>
86
+ </>
87
<span>text2</span>
88
- <React.Fragment>
89
- <React.Fragment>
90
- <React.Fragment>
88
+ <>
89
+ <>
90
+ <>
91
{null}
92
<p />
93
- </React.Fragment>
93
+ </>
94
{false}
95
- </React.Fragment>
96
- </React.Fragment>
97
- </React.Fragment>,
95
+ </>
96
+ </>
97
+ </>,
98
);
99
let parent = e.parentNode;
100
expect(parent.childNodes[0].tagName).toBe('DIV');
packages/react-dom/src/__tests__/ReactDOMServerIntegrationNewContext-test.js
+2
-2
@@ -270,12 +270,12 @@ describe('ReactDOMServerIntegration', () => {
270
</Theme.Provider>
271
<Language.Consumer>
272
{language => (
273
- <React.Fragment>
273
+ <>
274
<Theme.Consumer>
275
{theme => <div id="theme3">{theme}</div>}
276
</Theme.Consumer>
277
<div id="language2">{language}</div>
278
- </React.Fragment>
278
+ </>
279
)}
280
</Language.Consumer>
281
</Theme.Provider>
packages/react-dom/src/__tests__/ReactDOMServerPartialHydration-test.internal.js
+4
-4
@@ -157,10 +157,10 @@ describe('ReactDOMServerPartialHydration', () => {
157
throw promise;
158
} else {
159
return (
160
- <React.Fragment>
160
+ <>
161
<div>Middle</div>
162
Some text
163
- </React.Fragment>
163
+ </>
164
);
165
}
166
}
@@ -1022,12 +1022,12 @@ describe('ReactDOMServerPartialHydration', () => {
1022
<div>
1023
<Suspense
1024
fallback={
1025
- <React.Fragment>
1025
+ <>
1026
<Suspense fallback="Loading...">
1027
<Child />
1028
</Suspense>
1029
<span>Inner Sibling</span>
1030
- </React.Fragment>
1030
+ </>
1031
}>
1032
<Child />
1033
</Suspense>
packages/react-reconciler/src/__tests__/ReactBatchedMode-test.internal.js
+6
-6
@@ -53,11 +53,11 @@ describe('ReactBatchedMode', () => {
53
const root = ReactNoop.createSyncRoot();
54
55
root.render(
56
- <React.Fragment>
56
+ <>
57
<Text text="A" />
58
<Text text="B" />
59
<Text text="C" />
60
- </React.Fragment>,
60
+ </>,
61
);
62
63
// Nothing should have rendered yet
@@ -112,11 +112,11 @@ describe('ReactBatchedMode', () => {
112
expect(Scheduler).toHaveYielded(['Promise resolved [B]']);
113
expect(Scheduler).toFlushExpired(['A', 'B', 'C']);
114
expect(root).toMatchRenderedOutput(
115
- <React.Fragment>
115
+ <>
116
<span>A</span>
117
<span>B</span>
118
<span>C</span>
119
- </React.Fragment>,
119
+ </>,
120
);
121
});
122
@@ -133,10 +133,10 @@ describe('ReactBatchedMode', () => {
133
const foo1 = React.createRef(null);
134
const foo2 = React.createRef(null);
135
root.render(
136
- <React.Fragment>
136
+ <>
137
<Foo label="A" ref={foo1} />
138
<Foo label="B" ref={foo2} />
139
- </React.Fragment>,
139
+ </>,
140
);
141
142
// Mount
packages/react-reconciler/src/__tests__/ReactExpiration-test.internal.js
+2
-2
@@ -207,12 +207,12 @@ describe('ReactExpiration', () => {
207
208
function App() {
209
return (
210
- <React.Fragment>
210
+ <>
211
<Connected label="A" />
212
<Connected label="B" />
213
<Connected label="C" />
214
<Connected label="D" />
215
- </React.Fragment>
215
+ </>
216
);
217
}
218
packages/react-reconciler/src/__tests__/ReactFragment-test.js
+58
-60
@@ -39,9 +39,9 @@ describe('ReactFragment', () => {
39
40
it('should render a single child via noop renderer', () => {
41
const element = (
42
- <React.Fragment>
42
+ <>
43
<span>foo</span>
44
- </React.Fragment>
44
+ </>
45
);
46
47
ReactNoop.render(element);
@@ -61,9 +61,9 @@ describe('ReactFragment', () => {
61
62
it('should render multiple children via noop renderer', () => {
63
const element = (
64
- <React.Fragment>
64
+ <>
65
hello <span>world</span>
66
- </React.Fragment>
66
+ </>
67
);
68
69
ReactNoop.render(element);
@@ -74,9 +74,7 @@ describe('ReactFragment', () => {
74
75
it('should render an iterable via noop renderer', () => {
76
const element = (
77
- <React.Fragment>
78
- {new Set([<span key="a">hi</span>, <span key="b">bye</span>])}
79
- </React.Fragment>
77
+ <>{new Set([<span key="a">hi</span>, <span key="b">bye</span>])}</>
78
);
79
80
ReactNoop.render(element);
@@ -102,10 +100,10 @@ describe('ReactFragment', () => {
100
return condition ? (
101
<Stateful key="a" />
102
) : (
105
- <React.Fragment>
103
+ <>
104
<Stateful key="a" />
105
<div key="b">World</div>
108
- </React.Fragment>
106
+ </>
107
);
108
}
109
@@ -140,13 +138,13 @@ describe('ReactFragment', () => {
138
139
function Foo({condition}) {
140
return condition ? (
143
- <React.Fragment>
141
+ <>
142
<Stateful />
145
- </React.Fragment>
143
+ </>
144
) : (
147
- <React.Fragment>
145
+ <>
146
<Stateful />
149
- </React.Fragment>
147
+ </>
148
);
149
}
150
@@ -181,22 +179,22 @@ describe('ReactFragment', () => {
179
180
function Foo({condition}) {
181
return condition ? (
184
- <React.Fragment>
185
- <React.Fragment>
186
- <React.Fragment>
182
+ <>
183
+ <>
184
+ <>
185
<Stateful key="a" />
188
- </React.Fragment>
189
- </React.Fragment>
190
- </React.Fragment>
186
+ </>
187
+ </>
188
+ </>
189
) : (
192
- <React.Fragment>
193
- <React.Fragment>
194
- <React.Fragment>
190
+ <>
191
+ <>
192
+ <>
193
<div />
194
<Stateful key="a" />
197
- </React.Fragment>
198
- </React.Fragment>
199
- </React.Fragment>
195
+ </>
196
+ </>
197
+ </>
198
);
199
}
200
@@ -231,15 +229,15 @@ describe('ReactFragment', () => {
229
230
function Foo({condition}) {
231
return condition ? (
234
- <React.Fragment>
235
- <React.Fragment>
232
+ <>
233
+ <>
234
<Stateful key="a" />
237
- </React.Fragment>
238
- </React.Fragment>
235
+ </>
236
+ </>
237
) : (
240
- <React.Fragment>
238
+ <>
239
<Stateful key="a" />
242
- </React.Fragment>
240
+ </>
241
);
242
}
243
@@ -276,11 +274,11 @@ describe('ReactFragment', () => {
274
return condition ? (
275
<Stateful key="a" />
276
) : (
279
- <React.Fragment>
280
- <React.Fragment>
277
+ <>
278
+ <>
279
<Stateful key="a" />
282
- </React.Fragment>
283
- </React.Fragment>
280
+ </>
281
+ </>
282
);
283
}
284
@@ -317,12 +315,12 @@ describe('ReactFragment', () => {
315
return condition ? (
316
<Stateful key="a" />
317
) : (
320
- <React.Fragment>
321
- <React.Fragment>
318
+ <>
319
+ <>
320
<Stateful key="a" />
323
- </React.Fragment>
321
+ </>
322
<div />
325
- </React.Fragment>
323
+ </>
324
);
325
}
326
@@ -357,11 +355,11 @@ describe('ReactFragment', () => {
355
356
function Foo({condition}) {
357
return condition ? (
360
- <React.Fragment>
358
+ <>
359
<Stateful key="a" />
362
- </React.Fragment>
360
+ </>
361
) : (
364
- <React.Fragment>{[<Stateful key="a" />]}</React.Fragment>
362
+ <>{[<Stateful key="a" />]}</>
363
);
364
}
365
@@ -398,9 +396,9 @@ describe('ReactFragment', () => {
396
return condition ? (
397
[<Stateful key="a" />]
398
) : (
401
- <React.Fragment>
399
+ <>
400
<Stateful key="a" />
403
- </React.Fragment>
401
+ </>
402
);
403
}
404
@@ -435,13 +433,13 @@ describe('ReactFragment', () => {
433
434
function Foo({condition}) {
435
return condition ? (
438
- <React.Fragment>{[<Stateful key="a" />]}</React.Fragment>
436
+ <>{[<Stateful key="a" />]}</>
437
) : (
440
- <React.Fragment>
441
- <React.Fragment>
438
+ <>
439
+ <>
440
<Stateful key="a" />
443
- </React.Fragment>
444
- </React.Fragment>
441
+ </>
442
+ </>
443
);
444
}
445
@@ -476,7 +474,7 @@ describe('ReactFragment', () => {
474
475
function Foo({condition}) {
476
return condition ? (
479
- <React.Fragment>{[<Stateful key="a" />]}</React.Fragment>
477
+ <>{[<Stateful key="a" />]}</>
478
) : (
479
[[<Stateful key="a" />]]
480
);
@@ -513,11 +511,11 @@ describe('ReactFragment', () => {
511
512
function Foo({condition}) {
513
return condition ? (
516
- <React.Fragment>
517
- <React.Fragment>
514
+ <>
515
+ <>
516
<Stateful key="a" />
519
- </React.Fragment>
520
- </React.Fragment>
517
+ </>
518
+ </>
519
) : (
520
[[<Stateful key="a" />]]
521
);
@@ -600,9 +598,9 @@ describe('ReactFragment', () => {
598
<Stateful />
599
</React.Fragment>
600
) : (
603
- <React.Fragment>
601
+ <>
602
<Stateful />
605
- </React.Fragment>
603
+ </>
604
);
605
}
606
@@ -741,15 +739,15 @@ describe('ReactFragment', () => {
739
return condition
740
? [
741
<span />,
744
- <React.Fragment>
742
+ <>
743
<Stateful />
746
- </React.Fragment>,
744
+ </>,
745
]
746
: [
747
<span />,
750
- <React.Fragment>
748
+ <>
749
<Stateful />
752
- </React.Fragment>,
750
+ </>,
751
];
752
}
753
packages/react-reconciler/src/__tests__/ReactHooks-test.internal.js
+4
-4
@@ -1077,10 +1077,10 @@ describe('ReactHooks', () => {
1077
1078
expect(() =>
1079
ReactTestRenderer.create(
1080
- <React.Fragment>
1080
+ <>
1081
<Fn />
1082
<Cls />
1083
- </React.Fragment>,
1083
+ </>,
1084
),
1085
).toWarnDev(['Context can only be read while React is rendering']);
1086
});
@@ -1753,10 +1753,10 @@ describe('ReactHooks', () => {
1753
1754
expect(() =>
1755
ReactTestRenderer.create(
1756
- <React.Fragment>
1756
+ <>
1757
<A />
1758
<B />
1759
- </React.Fragment>,
1759
+ </>,
1760
),
1761
).toThrow('Hello');
1762
});
packages/react-reconciler/src/__tests__/ReactHooksWithNoopRenderer-test.internal.js
+2
-2
@@ -1596,10 +1596,10 @@ describe('ReactHooksWithNoopRenderer', () => {
1596
incrementBy,
1597
]);
1598
return (
1599
- <React.Fragment>
1599
+ <>
1600
<IncrementButton increment={increment} ref={button} />
1601
<Text text={'Count: ' + count} />
1602
- </React.Fragment>
1602
+ </>
1603
);
1604
}
1605
packages/react-reconciler/src/__tests__/ReactIncrementalErrorHandling-test.internal.js
+2
-2
@@ -320,10 +320,10 @@ describe('ReactIncrementalErrorHandling', () => {
320
function Parent() {
321
Scheduler.unstable_yieldValue('Parent');
322
return (
323
- <React.Fragment>
323
+ <>
324
<BadRender />
325
<Sibling />
326
- </React.Fragment>
326
+ </>
327
);
328
}
329
packages/react-reconciler/src/__tests__/ReactIncrementalUpdates-test.internal.js
+2
-2
@@ -420,10 +420,10 @@ describe('ReactIncrementalUpdates', () => {
420
render() {
421
foo = this;
422
return (
423
- <React.Fragment>
423
+ <>
424
<span prop={this.state.value} />
425
<Bar />
426
- </React.Fragment>
426
+ </>
427
);
428
}
429
}
packages/react-reconciler/src/__tests__/ReactLazy-test.internal.js
+2
-2
@@ -301,10 +301,10 @@ describe('ReactLazy', () => {
301
function LazyImpl(props) {
302
Scheduler.unstable_yieldValue('Lazy');
303
return (
304
- <React.Fragment>
304
+ <>
305
<Text text={props.siblingText} />
306
{props.children}
307
- </React.Fragment>
307
+ </>
308
);
309
}
310
LazyImpl.defaultProps = {siblingText: 'Sibling'};
packages/react-reconciler/src/__tests__/ReactNewContext-test.internal.js
+24
-25
@@ -361,7 +361,7 @@ describe('ReactNewContext', () => {
361
};
362
363
ReactNoop.render(
364
- <React.Fragment>
364
+ <>
365
<BarContext.Provider value={{value: 'bar-updated'}}>
366
<BarConsumer>
367
{({value}) => <Verify actual={value} expected="bar-updated" />}
@@ -382,7 +382,7 @@ describe('ReactNewContext', () => {
382
<BarConsumer>
383
{({value}) => <Verify actual={value} expected="bar-initial" />}
384
</BarConsumer>
385
- </React.Fragment>,
385
+ </>,
386
);
387
expect(Scheduler).toFlushWithoutYielding();
388
});
@@ -559,7 +559,7 @@ describe('ReactNewContext', () => {
559
560
function App(props) {
561
return (
562
- <React.Fragment>
562
+ <>
563
<Context.Provider value="Does not unwind">
564
<ErrorBoundary>
565
<Context.Provider value="Unwinds after BadRender throws">
@@ -568,7 +568,7 @@ describe('ReactNewContext', () => {
568
</ErrorBoundary>
569
<Consumer />
570
</Context.Provider>
571
- </React.Fragment>
571
+ </>
572
);
573
}
574
@@ -706,10 +706,10 @@ describe('ReactNewContext', () => {
706
{value => {
707
Scheduler.unstable_yieldValue('Foo');
708
return (
709
- <React.Fragment>
709
+ <>
710
<span prop={'Foo: ' + value.foo} />
711
{props.children && props.children()}
712
- </React.Fragment>
712
+ </>
713
);
714
}}
715
</Consumer>
@@ -722,10 +722,10 @@ describe('ReactNewContext', () => {
722
{value => {
723
Scheduler.unstable_yieldValue('Bar');
724
return (
725
- <React.Fragment>
725
+ <>
726
<span prop={'Bar: ' + value.bar} />
727
{props.children && props.children()}
728
- </React.Fragment>
728
+ </>
729
);
730
}}
731
</Consumer>
@@ -866,10 +866,10 @@ describe('ReactNewContext', () => {
866
render() {
867
Scheduler.unstable_yieldValue('PureIndirection');
868
return (
869
- <React.Fragment>
869
+ <>
870
<ChildWithInlineRenderCallback />
871
<ChildWithCachedRenderCallback />
872
- </React.Fragment>
872
+ </>
873
);
874
}
875
}
@@ -1001,12 +1001,12 @@ describe('ReactNewContext', () => {
1001
class StaticContent extends React.PureComponent {
1002
render() {
1003
return (
1004
- <React.Fragment>
1005
- <React.Fragment>
1004
+ <>
1005
+ <>
1006
<span prop="static 1" />
1007
<span prop="static 2" />
1008
- </React.Fragment>
1009
- </React.Fragment>
1008
+ </>
1009
+ </>
1010
);
1011
}
1012
}
@@ -1622,7 +1622,6 @@ describe('ReactNewContext', () => {
1622
});
1623
1624
describe('fuzz test', () => {
1625
- const Fragment = React.Fragment;
1625
const contextKeys = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
1626
1627
const FLUSH_ALL = 'FLUSH_ALL';
@@ -1714,14 +1713,14 @@ describe('ReactNewContext', () => {
1713
return (
1714
<Context.Consumer key={i}>
1715
{value => (
1717
- <Fragment>
1716
+ <>
1717
<span prop={`${randomKey}:${value}`} />
1718
<ConsumerTree
1719
rand={this.props.rand}
1720
depth={this.props.depth + 1}
1721
maxDepth={this.props.maxDepth}
1722
/>
1724
- </Fragment>
1723
+ </>
1724
)}
1725
</Context.Consumer>
1726
);
@@ -1837,13 +1836,13 @@ Context fuzz tester error! Copy and paste the following line into the test suite
1836
1837
function Component() {
1838
return (
1840
- <React.Fragment>
1839
+ <>
1840
<BarContext.Provider value={{value: 'bar-updated'}}>
1841
<BarConsumer>
1842
{({value}) => <div actual={value} expected="bar-updated" />}
1843
</BarConsumer>
1844
</BarContext.Provider>
1846
- </React.Fragment>
1845
+ </>
1846
);
1847
}
1848
@@ -1864,13 +1863,13 @@ Context fuzz tester error! Copy and paste the following line into the test suite
1863
1864
function Component() {
1865
return (
1867
- <React.Fragment>
1866
+ <>
1867
<BarContext.Provider value={{value: 'bar-updated'}}>
1868
<BarContext.Consumer>
1869
{({value}) => <div actual={value} expected="bar-updated" />}
1870
</BarContext.Consumer>
1871
</BarContext.Provider>
1873
- </React.Fragment>
1872
+ </>
1873
);
1874
}
1875
@@ -1884,13 +1883,13 @@ Context fuzz tester error! Copy and paste the following line into the test suite
1883
1884
function Component() {
1885
return (
1887
- <React.Fragment>
1886
+ <>
1887
<BarContext.Provider value={{value: 'bar-updated'}}>
1888
<BarConsumer.Consumer.Consumer>
1889
{({value}) => <div actual={value} expected="bar-updated" />}
1890
</BarConsumer.Consumer.Consumer>
1891
</BarContext.Provider>
1893
- </React.Fragment>
1892
+ </>
1893
);
1894
}
1895
@@ -1908,13 +1907,13 @@ Context fuzz tester error! Copy and paste the following line into the test suite
1907
1908
function Component() {
1909
return (
1911
- <React.Fragment>
1910
+ <>
1911
<BarContext.Consumer.Provider value={{value: 'bar-updated'}}>
1912
<BarContext.Consumer>
1913
{({value}) => <div actual={value} expected="bar-updated" />}
1914
</BarContext.Consumer>
1915
</BarContext.Consumer.Provider>
1917
- </React.Fragment>
1916
+ </>
1917
);
1918
}
1919
packages/react-reconciler/src/__tests__/ReactSchedulerIntegration-test.internal.js
+2
-2
@@ -97,11 +97,11 @@ describe('ReactSchedulerIntegration', () => {
97
98
runWithPriority(UserBlockingPriority, () => {
99
ReactNoop.render(
100
- <React.Fragment>
100
+ <>
101
<ReadPriority />
102
<ReadPriority />
103
<ReadPriority />
104
- </React.Fragment>,
104
+ </>,
105
);
106
});
107
packages/react-reconciler/src/__tests__/ReactSuspense-test.internal.js
+6
-6
@@ -152,14 +152,14 @@ describe('ReactSuspense', () => {
152
it('suspends siblings and later recovers each independently', () => {
153
// Render two sibling Suspense components
154
const root = ReactTestRenderer.create(
155
- <React.Fragment>
155
+ <>
156
<Suspense fallback={<Text text="Loading A..." />}>
157
<AsyncText text="A" ms={5000} />
158
</Suspense>
159
<Suspense fallback={<Text text="Loading B..." />}>
160
<AsyncText text="B" ms={6000} />
161
</Suspense>
162
- </React.Fragment>,
162
+ </>,
163
{
164
unstable_isConcurrent: true,
165
},
@@ -219,10 +219,10 @@ describe('ReactSuspense', () => {
219
}
220
221
const root = ReactTestRenderer.create(
222
- <React.Fragment>
222
+ <>
223
<Suspense fallback={<Text text="Loading..." />} />
224
<Text text="Initial" />
225
- </React.Fragment>,
225
+ </>,
226
{
227
unstable_isConcurrent: true,
228
},
@@ -232,13 +232,13 @@ describe('ReactSuspense', () => {
232
233
// The update will suspend.
234
root.update(
235
- <React.Fragment>
235
+ <>
236
<Suspense fallback={<Text text="Loading..." />}>
237
<Async />
238
</Suspense>
239
<Text text="After Suspense" />
240
<Text text="Sibling" />
241
- </React.Fragment>,
241
+ </>,
242
);
243
244
// Yield past the Suspense boundary but don't complete the last sibling.
packages/react-reconciler/src/__tests__/ReactSuspenseFuzz-test.internal.js
+6
-6
@@ -354,7 +354,7 @@ Random seed is ${SEED}
354
it('1', () => {
355
const {Text, testResolvedOutput} = createFuzzer();
356
testResolvedOutput(
357
- <React.Fragment>
357
+ <>
358
<Text
359
initialDelay={20}
360
text="A"
@@ -368,14 +368,14 @@ Random seed is ${SEED}
368
/>
369
<Text text="C" />
370
</Suspense>
371
- </React.Fragment>,
371
+ </>,
372
);
373
});
374
375
it('2', () => {
376
const {Text, Container, testResolvedOutput} = createFuzzer();
377
testResolvedOutput(
378
- <React.Fragment>
378
+ <>
379
<Suspense fallback="Loading...">
380
<Text initialDelay={7200} text="A" />
381
</Suspense>
@@ -386,14 +386,14 @@ Random seed is ${SEED}
386
<Text initialDelay={9000} text="D" />
387
</Container>
388
</Suspense>
389
- </React.Fragment>,
389
+ </>,
390
);
391
});
392
393
it('3', () => {
394
const {Text, Container, testResolvedOutput} = createFuzzer();
395
testResolvedOutput(
396
- <React.Fragment>
396
+ <>
397
<Suspense fallback="Loading...">
398
<Text
399
initialDelay={3183}
@@ -420,7 +420,7 @@ Random seed is ${SEED}
420
/>
421
<Text initialDelay={6732} text="D" />
422
</Container>
423
- </React.Fragment>,
423
+ </>,
424
);
425
});
426
});
packages/react-reconciler/src/__tests__/ReactSuspenseList-test.internal.js
+125
-127
@@ -1,6 +1,5 @@
1
let React;
2
let ReactFeatureFlags;
3
-let Fragment;
3
let ReactNoop;
4
let Scheduler;
5
let Suspense;
@@ -13,7 +12,6 @@ describe('ReactSuspenseList', () => {
12
ReactFeatureFlags.debugRenderPhaseSideEffectsForStrictMode = false;
13
ReactFeatureFlags.replayFailedUnitOfWorkWithInvokeGuardedCallback = false;
14
React = require('react');
16
- Fragment = React.Fragment;
15
ReactNoop = require('react-noop-renderer');
16
Scheduler = require('scheduler');
17
Suspense = React.Suspense;
@@ -137,7 +135,7 @@ describe('ReactSuspenseList', () => {
135
function Foo() {
136
return (
137
<SuspenseList revealOrder="backwards">
140
- <Fragment>{[]}</Fragment>
138
+ <>{[]}</>
139
</SuspenseList>
140
);
141
}
@@ -214,11 +212,11 @@ describe('ReactSuspenseList', () => {
212
]);
213
214
expect(ReactNoop).toMatchRenderedOutput(
217
- <Fragment>
215
+ <>
216
<span>A</span>
217
<span>Loading B</span>
218
<span>Loading C</span>
221
- </Fragment>,
219
+ </>,
220
);
221
222
await C.resolve();
@@ -226,11 +224,11 @@ describe('ReactSuspenseList', () => {
224
expect(Scheduler).toFlushAndYield(['C']);
225
226
expect(ReactNoop).toMatchRenderedOutput(
229
- <Fragment>
227
+ <>
228
<span>A</span>
229
<span>Loading B</span>
230
<span>C</span>
233
- </Fragment>,
231
+ </>,
232
);
233
234
await B.resolve();
@@ -238,11 +236,11 @@ describe('ReactSuspenseList', () => {
236
expect(Scheduler).toFlushAndYield(['B']);
237
238
expect(ReactNoop).toMatchRenderedOutput(
241
- <Fragment>
239
+ <>
240
<span>A</span>
241
<span>B</span>
242
<span>C</span>
245
- </Fragment>,
243
+ </>,
244
);
245
});
246
@@ -280,11 +278,11 @@ describe('ReactSuspenseList', () => {
278
]);
279
280
expect(ReactNoop).toMatchRenderedOutput(
283
- <Fragment>
281
+ <>
282
<span>A</span>
283
<span>Loading B</span>
284
<span>Loading C</span>
287
- </Fragment>,
285
+ </>,
286
);
287
288
await C.resolve();
@@ -292,11 +290,11 @@ describe('ReactSuspenseList', () => {
290
expect(Scheduler).toFlushAndYield(['C']);
291
292
expect(ReactNoop).toMatchRenderedOutput(
295
- <Fragment>
293
+ <>
294
<span>A</span>
295
<span>Loading B</span>
296
<span>C</span>
299
- </Fragment>,
297
+ </>,
298
);
299
300
await B.resolve();
@@ -304,11 +302,11 @@ describe('ReactSuspenseList', () => {
302
expect(Scheduler).toFlushAndYield(['B']);
303
304
expect(ReactNoop).toMatchRenderedOutput(
307
- <Fragment>
305
+ <>
306
<span>A</span>
307
<span>B</span>
308
<span>C</span>
311
- </Fragment>,
309
+ </>,
310
);
311
});
312
@@ -349,11 +347,11 @@ describe('ReactSuspenseList', () => {
347
]);
348
349
expect(ReactNoop).toMatchRenderedOutput(
352
- <Fragment>
350
+ <>
351
<span>Loading A</span>
352
<span>Loading B</span>
353
<span>Loading C</span>
356
- </Fragment>,
354
+ </>,
355
);
356
357
await B.resolve();
@@ -361,11 +359,11 @@ describe('ReactSuspenseList', () => {
359
expect(Scheduler).toFlushAndYield(['A', 'B', 'Suspend! [C]']);
360
361
expect(ReactNoop).toMatchRenderedOutput(
364
- <Fragment>
362
+ <>
363
<span>Loading A</span>
364
<span>Loading B</span>
365
<span>Loading C</span>
368
- </Fragment>,
366
+ </>,
367
);
368
369
await C.resolve();
@@ -373,11 +371,11 @@ describe('ReactSuspenseList', () => {
371
expect(Scheduler).toFlushAndYield(['A', 'B', 'C']);
372
373
expect(ReactNoop).toMatchRenderedOutput(
376
- <Fragment>
374
+ <>
375
<span>A</span>
376
<span>B</span>
377
<span>C</span>
380
- </Fragment>,
378
+ </>,
379
);
380
});
381
@@ -422,7 +420,7 @@ describe('ReactSuspenseList', () => {
420
]);
421
422
expect(ReactNoop).toMatchRenderedOutput(
425
- <Fragment>
423
+ <>
424
<div>
425
<span>Loading A</span>
426
<span>Loading B</span>
@@ -430,7 +428,7 @@ describe('ReactSuspenseList', () => {
428
<div>
429
<span>Loading C</span>
430
</div>
433
- </Fragment>,
431
+ </>,
432
);
433
434
await B.resolve();
@@ -438,7 +436,7 @@ describe('ReactSuspenseList', () => {
436
expect(Scheduler).toFlushAndYield(['A', 'B', 'Suspend! [C]']);
437
438
expect(ReactNoop).toMatchRenderedOutput(
441
- <Fragment>
439
+ <>
440
<div>
441
<span>Loading A</span>
442
<span>Loading B</span>
@@ -446,7 +444,7 @@ describe('ReactSuspenseList', () => {
444
<div>
445
<span>Loading C</span>
446
</div>
449
- </Fragment>,
447
+ </>,
448
);
449
450
await C.resolve();
@@ -454,7 +452,7 @@ describe('ReactSuspenseList', () => {
452
expect(Scheduler).toFlushAndYield(['A', 'B', 'C']);
453
454
expect(ReactNoop).toMatchRenderedOutput(
457
- <Fragment>
455
+ <>
456
<div>
457
<span>A</span>
458
<span>B</span>
@@ -462,7 +460,7 @@ describe('ReactSuspenseList', () => {
460
<div>
461
<span>C</span>
462
</div>
465
- </Fragment>,
463
+ </>,
464
);
465
});
466
@@ -507,11 +505,11 @@ describe('ReactSuspenseList', () => {
505
]);
506
507
expect(ReactNoop).toMatchRenderedOutput(
510
- <Fragment>
508
+ <>
509
<span>Loading A</span>
510
<span>Loading B</span>
511
<span>Loading C</span>
514
- </Fragment>,
512
+ </>,
513
);
514
515
await C.resolve();
@@ -519,11 +517,11 @@ describe('ReactSuspenseList', () => {
517
expect(Scheduler).toFlushAndYield(['A', 'B', 'C']);
518
519
expect(ReactNoop).toMatchRenderedOutput(
522
- <Fragment>
520
+ <>
521
<span>A</span>
522
<span>B</span>
523
<span>C</span>
526
- </Fragment>,
524
+ </>,
525
);
526
});
527
@@ -566,11 +564,11 @@ describe('ReactSuspenseList', () => {
564
]);
565
566
expect(ReactNoop).toMatchRenderedOutput(
569
- <Fragment>
567
+ <>
568
<span>Loading A</span>
569
<span>Loading B</span>
570
<span>Loading C</span>
573
- </Fragment>,
571
+ </>,
572
);
573
574
await C.resolve();
@@ -578,11 +576,11 @@ describe('ReactSuspenseList', () => {
576
expect(Scheduler).toFlushAndYield(['A', 'B', 'C']);
577
578
expect(ReactNoop).toMatchRenderedOutput(
581
- <Fragment>
579
+ <>
580
<span>A</span>
581
<span>B</span>
582
<span>C</span>
585
- </Fragment>,
583
+ </>,
584
);
585
});
586
@@ -601,7 +599,7 @@ describe('ReactSuspenseList', () => {
599
<A />
600
</Suspense>
601
{showMore ? (
604
- <Fragment>
602
+ <>
603
<Suspense
604
unstable_avoidThisFallback={true}
605
fallback={<Text text="Loading B" />}>
@@ -612,7 +610,7 @@ describe('ReactSuspenseList', () => {
610
fallback={<Text text="Loading C" />}>
611
<C />
612
</Suspense>
615
- </Fragment>
613
+ </>
614
) : null}
615
</SuspenseList>
616
</Suspense>
@@ -651,11 +649,11 @@ describe('ReactSuspenseList', () => {
649
650
// A is already showing content so it doesn't turn into a fallback.
651
expect(ReactNoop).toMatchRenderedOutput(
654
- <Fragment>
652
+ <>
653
<span>A</span>
654
<span>Loading B</span>
655
<span>Loading C</span>
658
- </Fragment>,
656
+ </>,
657
);
658
659
await B.resolve();
@@ -664,11 +662,11 @@ describe('ReactSuspenseList', () => {
662
663
// Even though we could now show B, we're still waiting on C.
664
expect(ReactNoop).toMatchRenderedOutput(
667
- <Fragment>
665
+ <>
666
<span>A</span>
667
<span>Loading B</span>
668
<span>Loading C</span>
671
- </Fragment>,
669
+ </>,
670
);
671
672
await C.resolve();
@@ -676,11 +674,11 @@ describe('ReactSuspenseList', () => {
674
expect(Scheduler).toFlushAndYield(['B', 'C']);
675
676
expect(ReactNoop).toMatchRenderedOutput(
679
- <Fragment>
677
+ <>
678
<span>A</span>
679
<span>B</span>
680
<span>C</span>
683
- </Fragment>,
681
+ </>,
682
);
683
});
684
@@ -717,11 +715,11 @@ describe('ReactSuspenseList', () => {
715
]);
716
717
expect(ReactNoop).toMatchRenderedOutput(
720
- <Fragment>
718
+ <>
719
<span>Loading A</span>
720
<span>Loading B</span>
721
<span>Loading C</span>
724
- </Fragment>,
722
+ </>,
723
);
724
725
await A.resolve();
@@ -729,11 +727,11 @@ describe('ReactSuspenseList', () => {
727
expect(Scheduler).toFlushAndYield(['A', 'Suspend! [B]']);
728
729
expect(ReactNoop).toMatchRenderedOutput(
732
- <Fragment>
730
+ <>
731
<span>A</span>
732
<span>Loading B</span>
733
<span>Loading C</span>
736
- </Fragment>,
734
+ </>,
735
);
736
737
await B.resolve();
@@ -741,11 +739,11 @@ describe('ReactSuspenseList', () => {
739
expect(Scheduler).toFlushAndYield(['B', 'C']);
740
741
expect(ReactNoop).toMatchRenderedOutput(
744
- <Fragment>
742
+ <>
743
<span>A</span>
744
<span>B</span>
745
<span>C</span>
748
- </Fragment>,
746
+ </>,
747
);
748
});
749
@@ -782,11 +780,11 @@ describe('ReactSuspenseList', () => {
780
]);
781
782
expect(ReactNoop).toMatchRenderedOutput(
785
- <Fragment>
783
+ <>
784
<span>Loading A</span>
785
<span>Loading B</span>
786
<span>Loading C</span>
789
- </Fragment>,
787
+ </>,
788
);
789
790
await C.resolve();
@@ -794,11 +792,11 @@ describe('ReactSuspenseList', () => {
792
expect(Scheduler).toFlushAndYield(['C', 'Suspend! [B]']);
793
794
expect(ReactNoop).toMatchRenderedOutput(
797
- <Fragment>
795
+ <>
796
<span>Loading A</span>
797
<span>Loading B</span>
798
<span>C</span>
801
- </Fragment>,
799
+ </>,
800
);
801
802
await B.resolve();
@@ -806,11 +804,11 @@ describe('ReactSuspenseList', () => {
804
expect(Scheduler).toFlushAndYield(['B', 'A']);
805
806
expect(ReactNoop).toMatchRenderedOutput(
809
- <Fragment>
807
+ <>
808
<span>A</span>
809
<span>B</span>
810
<span>C</span>
813
- </Fragment>,
811
+ </>,
812
);
813
});
814
@@ -842,10 +840,10 @@ describe('ReactSuspenseList', () => {
840
expect(Scheduler).toFlushAndYield(['B', 'D']);
841
842
expect(ReactNoop).toMatchRenderedOutput(
845
- <Fragment>
843
+ <>
844
<span>B</span>
845
<span>D</span>
848
- </Fragment>,
846
+ </>,
847
);
848
849
// Insert items in the beginning, middle and end.
@@ -871,14 +869,14 @@ describe('ReactSuspenseList', () => {
869
]);
870
871
expect(ReactNoop).toMatchRenderedOutput(
874
- <Fragment>
872
+ <>
873
<span>Loading A</span>
874
<span>B</span>
875
<span>Loading C</span>
876
<span>D</span>
877
<span>Loading E</span>
878
<span>Loading F</span>
881
- </Fragment>,
879
+ </>,
880
);
881
882
await A.resolve();
@@ -888,14 +886,14 @@ describe('ReactSuspenseList', () => {
886
// Even though we could show A, it is still in a fallback state because
887
// C is not yet resolved. We need to resolve everything in the head first.
888
expect(ReactNoop).toMatchRenderedOutput(
891
- <Fragment>
889
+ <>
890
<span>Loading A</span>
891
<span>B</span>
892
<span>Loading C</span>
893
<span>D</span>
894
<span>Loading E</span>
895
<span>Loading F</span>
898
- </Fragment>,
896
+ </>,
897
);
898
899
await C.resolve();
@@ -904,14 +902,14 @@ describe('ReactSuspenseList', () => {
902
903
// We can now resolve the full head.
904
expect(ReactNoop).toMatchRenderedOutput(
907
- <Fragment>
905
+ <>
906
<span>A</span>
907
<span>B</span>
908
<span>C</span>
909
<span>D</span>
910
<span>Loading E</span>
911
<span>Loading F</span>
914
- </Fragment>,
912
+ </>,
913
);
914
915
await E.resolve();
@@ -920,14 +918,14 @@ describe('ReactSuspenseList', () => {
918
919
// In the tail we can resolve one-by-one.
920
expect(ReactNoop).toMatchRenderedOutput(
923
- <Fragment>
921
+ <>
922
<span>A</span>
923
<span>B</span>
924
<span>C</span>
925
<span>D</span>
926
<span>E</span>
927
<span>Loading F</span>
930
- </Fragment>,
928
+ </>,
929
);
930
931
await F.resolve();
@@ -938,11 +936,11 @@ describe('ReactSuspenseList', () => {
936
expect(Scheduler).toFlushAndYield(['D', 'E', 'F']);
937
938
expect(ReactNoop).toMatchRenderedOutput(
941
- <Fragment>
939
+ <>
940
<span>D</span>
941
<span>E</span>
942
<span>F</span>
945
- </Fragment>,
943
+ </>,
944
);
945
});
946
@@ -992,14 +990,14 @@ describe('ReactSuspenseList', () => {
990
);
991
expect(Scheduler).toFlushAndYield(['F', 'E', 'D', 'C', 'B', 'A']);
992
expect(ReactNoop).toMatchRenderedOutput(
995
- <Fragment>
993
+ <>
994
<span>A</span>
995
<span>B</span>
996
<span>C</span>
997
<span>D</span>
998
<span>E</span>
999
<span>F</span>
1002
- </Fragment>,
1000
+ </>,
1001
);
1002
1003
// Update items in the beginning, middle and end to start suspending.
@@ -1037,7 +1035,7 @@ describe('ReactSuspenseList', () => {
1035
jest.advanceTimersByTime(500);
1036
1037
expect(ReactNoop).toMatchRenderedOutput(
1040
- <Fragment>
1038
+ <>
1039
<span hidden={true}>A</span>
1040
<span>Loading A</span>
1041
<span hidden={true}>B</span>
@@ -1048,7 +1046,7 @@ describe('ReactSuspenseList', () => {
1046
<span>E</span>
1047
<span hidden={true}>F</span>
1048
<span>Loading F</span>
1051
- </Fragment>,
1049
+ </>,
1050
);
1051
1052
await F.resolve();
@@ -1058,7 +1056,7 @@ describe('ReactSuspenseList', () => {
1056
// Even though we could show F, it is still in a fallback state because
1057
// E is not yet resolved. We need to resolve everything in the head first.
1058
expect(ReactNoop).toMatchRenderedOutput(
1061
- <Fragment>
1059
+ <>
1060
<span hidden={true}>A</span>
1061
<span>Loading A</span>
1062
<span hidden={true}>B</span>
@@ -1069,7 +1067,7 @@ describe('ReactSuspenseList', () => {
1067
<span>E</span>
1068
<span hidden={true}>F</span>
1069
<span>Loading F</span>
1072
- </Fragment>,
1070
+ </>,
1071
);
1072
1073
await D.resolve();
@@ -1078,7 +1076,7 @@ describe('ReactSuspenseList', () => {
1076
1077
// We can now resolve the full head.
1078
expect(ReactNoop).toMatchRenderedOutput(
1081
- <Fragment>
1079
+ <>
1080
<span hidden={true}>A</span>
1081
<span>Loading A</span>
1082
<span hidden={true}>B</span>
@@ -1087,7 +1085,7 @@ describe('ReactSuspenseList', () => {
1085
<span>D</span>
1086
<span>E</span>
1087
<span>F</span>
1090
- </Fragment>,
1088
+ </>,
1089
);
1090
1091
await B.resolve();
@@ -1096,7 +1094,7 @@ describe('ReactSuspenseList', () => {
1094
1095
// In the tail we can resolve one-by-one.
1096
expect(ReactNoop).toMatchRenderedOutput(
1099
- <Fragment>
1097
+ <>
1098
<span hidden={true}>A</span>
1099
<span>Loading A</span>
1100
<span>B</span>
@@ -1104,7 +1102,7 @@ describe('ReactSuspenseList', () => {
1102
<span>D</span>
1103
<span>E</span>
1104
<span>F</span>
1107
- </Fragment>,
1105
+ </>,
1106
);
1107
1108
await A.resolve();
@@ -1112,14 +1110,14 @@ describe('ReactSuspenseList', () => {
1110
expect(Scheduler).toFlushAndYield(['A']);
1111
1112
expect(ReactNoop).toMatchRenderedOutput(
1115
- <Fragment>
1113
+ <>
1114
<span>A</span>
1115
<span>B</span>
1116
<span>C</span>
1117
<span>D</span>
1118
<span>E</span>
1119
<span>F</span>
1122
- </Fragment>,
1120
+ </>,
1121
);
1122
});
1123
@@ -1166,22 +1164,22 @@ describe('ReactSuspenseList', () => {
1164
]);
1165
1166
expect(ReactNoop).toMatchRenderedOutput(
1169
- <Fragment>
1167
+ <>
1168
<span>A</span>
1169
<span>B</span>
1170
<span>Loading C</span>
1173
- </Fragment>,
1171
+ </>,
1172
);
1173
1174
// Then we do a second pass to commit the last item.
1175
expect(Scheduler).toFlushAndYield([]);
1176
1177
expect(ReactNoop).toMatchRenderedOutput(
1180
- <Fragment>
1178
+ <>
1179
<span>A</span>
1180
<span>B</span>
1181
<span>C</span>
1184
- </Fragment>,
1182
+ </>,
1183
);
1184
});
1185
@@ -1220,10 +1218,10 @@ describe('ReactSuspenseList', () => {
1218
jest.advanceTimersByTime(500);
1219
1220
expect(ReactNoop).toMatchRenderedOutput(
1223
- <Fragment>
1221
+ <>
1222
<span>A</span>
1223
<span>Loading B</span>
1226
- </Fragment>,
1224
+ </>,
1225
);
1226
1227
await B.resolve();
@@ -1234,11 +1232,11 @@ describe('ReactSuspenseList', () => {
1232
jest.advanceTimersByTime(500);
1233
1234
expect(ReactNoop).toMatchRenderedOutput(
1237
- <Fragment>
1235
+ <>
1236
<span>A</span>
1237
<span>B</span>
1238
<span>Loading C</span>
1241
- </Fragment>,
1239
+ </>,
1240
);
1241
1242
await C.resolve();
@@ -1246,11 +1244,11 @@ describe('ReactSuspenseList', () => {
1244
expect(Scheduler).toFlushAndYield(['C']);
1245
1246
expect(ReactNoop).toMatchRenderedOutput(
1249
- <Fragment>
1247
+ <>
1248
<span>A</span>
1249
<span>B</span>
1250
<span>C</span>
1253
- </Fragment>,
1251
+ </>,
1252
);
1253
});
1254
@@ -1340,23 +1338,23 @@ describe('ReactSuspenseList', () => {
1338
]);
1339
1340
expect(ReactNoop).toMatchRenderedOutput(
1343
- <Fragment>
1341
+ <>
1342
<span>A</span>
1343
<span>B</span>
1344
<span>Loading C</span>
1347
- </Fragment>,
1345
+ </>,
1346
);
1347
1348
// Then we do a second pass to commit the last two items.
1349
expect(Scheduler).toFlushAndYield(['D']);
1350
1351
expect(ReactNoop).toMatchRenderedOutput(
1354
- <Fragment>
1352
+ <>
1353
<span>A</span>
1354
<span>B</span>
1355
<span>C</span>
1356
<span>D</span>
1359
- </Fragment>,
1357
+ </>,
1358
);
1359
});
1360
@@ -1389,10 +1387,10 @@ describe('ReactSuspenseList', () => {
1387
1388
// First render commits A and D.
1389
expect(ReactNoop).toMatchRenderedOutput(
1392
- <Fragment>
1390
+ <>
1391
<span>A</span>
1392
<span>D</span>
1395
- </Fragment>,
1393
+ </>,
1394
);
1395
1396
// For the second render, we're going to insert items in the middle and end.
@@ -1418,13 +1416,13 @@ describe('ReactSuspenseList', () => {
1416
1417
// B and C don't get collapsed, but F gets collapsed with E.
1418
expect(ReactNoop).toMatchRenderedOutput(
1421
- <Fragment>
1419
+ <>
1420
<span>A</span>
1421
<span>Loading B</span>
1422
<span>Loading C</span>
1423
<span>D</span>
1424
<span>Loading E</span>
1427
- </Fragment>,
1425
+ </>,
1426
);
1427
1428
await B.resolve();
@@ -1437,13 +1435,13 @@ describe('ReactSuspenseList', () => {
1435
// Even though B is unsuspended, it's still in loading state because
1436
// it is blocked by C.
1437
expect(ReactNoop).toMatchRenderedOutput(
1440
- <Fragment>
1438
+ <>
1439
<span>A</span>
1440
<span>Loading B</span>
1441
<span>Loading C</span>
1442
<span>D</span>
1443
<span>Loading E</span>
1446
- </Fragment>,
1444
+ </>,
1445
);
1446
1447
await C.resolve();
@@ -1460,14 +1458,14 @@ describe('ReactSuspenseList', () => {
1458
jest.advanceTimersByTime(500);
1459
1460
expect(ReactNoop).toMatchRenderedOutput(
1463
- <Fragment>
1461
+ <>
1462
<span>A</span>
1463
<span>B</span>
1464
<span>C</span>
1465
<span>D</span>
1466
<span>E</span>
1467
<span>Loading F</span>
1470
- </Fragment>,
1468
+ </>,
1469
);
1470
1471
await F.resolve();
@@ -1477,14 +1475,14 @@ describe('ReactSuspenseList', () => {
1475
jest.advanceTimersByTime(500);
1476
1477
expect(ReactNoop).toMatchRenderedOutput(
1480
- <Fragment>
1478
+ <>
1479
<span>A</span>
1480
<span>B</span>
1481
<span>C</span>
1482
<span>D</span>
1483
<span>E</span>
1484
<span>F</span>
1487
- </Fragment>,
1485
+ </>,
1486
);
1487
});
1488
@@ -1517,10 +1515,10 @@ describe('ReactSuspenseList', () => {
1515
1516
// First render commits C and F.
1517
expect(ReactNoop).toMatchRenderedOutput(
1520
- <Fragment>
1518
+ <>
1519
<span>C</span>
1520
<span>F</span>
1523
- </Fragment>,
1521
+ </>,
1522
);
1523
1524
// For the second render, we're going to insert items in the middle and end.
@@ -1546,13 +1544,13 @@ describe('ReactSuspenseList', () => {
1544
1545
// D and E don't get collapsed, but A gets collapsed with B.
1546
expect(ReactNoop).toMatchRenderedOutput(
1549
- <Fragment>
1547
+ <>
1548
<span>Loading B</span>
1549
<span>C</span>
1550
<span>Loading D</span>
1551
<span>Loading E</span>
1552
<span>F</span>
1555
- </Fragment>,
1553
+ </>,
1554
);
1555
1556
await D.resolve();
@@ -1565,13 +1563,13 @@ describe('ReactSuspenseList', () => {
1563
// Even though D is unsuspended, it's still in loading state because
1564
// it is blocked by E.
1565
expect(ReactNoop).toMatchRenderedOutput(
1568
- <Fragment>
1566
+ <>
1567
<span>Loading B</span>
1568
<span>C</span>
1569
<span>Loading D</span>
1570
<span>Loading E</span>
1571
<span>F</span>
1574
- </Fragment>,
1572
+ </>,
1573
);
1574
1575
await C.resolve();
@@ -1593,14 +1591,14 @@ describe('ReactSuspenseList', () => {
1591
jest.advanceTimersByTime(500);
1592
1593
expect(ReactNoop).toMatchRenderedOutput(
1596
- <Fragment>
1594
+ <>
1595
<span>Loading A</span>
1596
<span>B</span>
1597
<span>C</span>
1598
<span>D</span>
1599
<span>E</span>
1600
<span>F</span>
1603
- </Fragment>,
1601
+ </>,
1602
);
1603
1604
await A.resolve();
@@ -1610,14 +1608,14 @@ describe('ReactSuspenseList', () => {
1608
jest.advanceTimersByTime(500);
1609
1610
expect(ReactNoop).toMatchRenderedOutput(
1613
- <Fragment>
1611
+ <>
1612
<span>A</span>
1613
<span>B</span>
1614
<span>C</span>
1615
<span>D</span>
1616
<span>E</span>
1617
<span>F</span>
1620
- </Fragment>,
1618
+ </>,
1619
);
1620
});
1621
@@ -1653,10 +1651,10 @@ describe('ReactSuspenseList', () => {
1651
1652
// First render commits A and D.
1653
expect(ReactNoop).toMatchRenderedOutput(
1656
- <Fragment>
1654
+ <>
1655
<span>A</span>
1656
<span>D</span>
1659
- </Fragment>,
1657
+ </>,
1658
);
1659
1660
// For the second render, we're going to insert items in the middle and end.
@@ -1690,14 +1688,14 @@ describe('ReactSuspenseList', () => {
1688
// Even though everything in the bottom of the list is suspended, we don't
1689
// collapse them because D was an update. Not an insertion.
1690
expect(ReactNoop).toMatchRenderedOutput(
1693
- <Fragment>
1691
+ <>
1692
<span>A</span>
1693
<span>Loading B</span>
1694
<span>Loading C</span>
1695
<span hidden={true}>D</span>
1696
<span>Loading D</span>
1697
<span>Loading E</span>
1700
- </Fragment>,
1698
+ </>,
1699
);
1700
1701
await B.resolve();
@@ -1711,14 +1709,14 @@ describe('ReactSuspenseList', () => {
1709
// If D was still visible it wouldn't be part of the tail
1710
// and would be blocked on C like in the other test.
1711
expect(ReactNoop).toMatchRenderedOutput(
1714
- <Fragment>
1712
+ <>
1713
<span>A</span>
1714
<span>B</span>
1715
<span>Loading C</span>
1716
<span hidden={true}>D</span>
1717
<span>Loading D</span>
1718
<span>Loading E</span>
1721
- </Fragment>,
1719
+ </>,
1720
);
1721
1722
await C.resolve();
@@ -1736,14 +1734,14 @@ describe('ReactSuspenseList', () => {
1734
jest.advanceTimersByTime(500);
1735
1736
expect(ReactNoop).toMatchRenderedOutput(
1739
- <Fragment>
1737
+ <>
1738
<span>A</span>
1739
<span>B</span>
1740
<span>C</span>
1741
<span>D</span>
1742
<span>E</span>
1743
<span>Loading F</span>
1746
- </Fragment>,
1744
+ </>,
1745
);
1746
1747
await F.resolve();
@@ -1753,14 +1751,14 @@ describe('ReactSuspenseList', () => {
1751
jest.advanceTimersByTime(500);
1752
1753
expect(ReactNoop).toMatchRenderedOutput(
1756
- <Fragment>
1754
+ <>
1755
<span>A</span>
1756
<span>B</span>
1757
<span>C</span>
1758
<span>D</span>
1759
<span>E</span>
1760
<span>F</span>
1763
- </Fragment>,
1761
+ </>,
1762
);
1763
});
1764
@@ -1808,10 +1806,10 @@ describe('ReactSuspenseList', () => {
1806
jest.advanceTimersByTime(500);
1807
1808
expect(ReactNoop).toMatchRenderedOutput(
1811
- <Fragment>
1809
+ <>
1810
<span>A</span>
1811
<span>B</span>
1814
- </Fragment>,
1812
+ </>,
1813
);
1814
1815
await C.resolve();
@@ -1819,11 +1817,11 @@ describe('ReactSuspenseList', () => {
1817
expect(Scheduler).toFlushAndYield(['C']);
1818
1819
expect(ReactNoop).toMatchRenderedOutput(
1822
- <Fragment>
1820
+ <>
1821
<span>A</span>
1822
<span>B</span>
1823
<span>C</span>
1826
- </Fragment>,
1824
+ </>,
1825
);
1826
});
1827
packages/react-reconciler/src/__tests__/ReactSuspensePlaceholder-test.internal.js
+12
-12
@@ -134,11 +134,11 @@ describe('ReactSuspensePlaceholder', () => {
134
expect(Scheduler).toFlushAndYield(['A', 'B', 'C']);
135
136
expect(ReactNoop).toMatchRenderedOutput(
137
- <React.Fragment>
137
+ <>
138
<span hidden={true}>A</span>
139
<span>B</span>
140
<span>C</span>
141
- </React.Fragment>,
141
+ </>,
142
);
143
144
// Update
@@ -149,12 +149,12 @@ describe('ReactSuspensePlaceholder', () => {
149
jest.advanceTimersByTime(750);
150
expect(Scheduler).toFlushAndYield([]);
151
expect(ReactNoop).toMatchRenderedOutput(
152
- <React.Fragment>
152
+ <>
153
<span hidden={true}>A</span>
154
<span hidden={true}>B</span>
155
<span hidden={true}>C</span>
156
Loading...
157
- </React.Fragment>,
157
+ </>,
158
);
159
160
// Resolve the promise
@@ -165,11 +165,11 @@ describe('ReactSuspensePlaceholder', () => {
165
// Render the final update. A should still be hidden, because it was
166
// given a `hidden` prop.
167
expect(ReactNoop).toMatchRenderedOutput(
168
- <React.Fragment>
168
+ <>
169
<span hidden={true}>A</span>
170
<span>B2</span>
171
<span>C</span>
172
- </React.Fragment>,
172
+ </>,
173
);
174
});
175
@@ -436,10 +436,10 @@ describe('ReactSuspensePlaceholder', () => {
436
437
it('properly accounts for base durations when a suspended times out in a concurrent tree', () => {
438
ReactNoop.render(
439
- <React.Fragment>
439
+ <>
440
<App shouldSuspend={false} textRenderDuration={5} />
441
<Suspense fallback={null} />
442
- </React.Fragment>,
442
+ </>,
443
);
444
445
expect(Scheduler).toFlushAndYield(['App', 'Text']);
@@ -452,10 +452,10 @@ describe('ReactSuspensePlaceholder', () => {
452
expect(onRender.mock.calls[0][3]).toBe(5);
453
454
ReactNoop.render(
455
- <React.Fragment>
455
+ <>
456
<App shouldSuspend={true} textRenderDuration={5} />
457
<Suspense fallback={null} />
458
- </React.Fragment>,
458
+ </>,
459
);
460
expect(Scheduler).toFlushAndYield([
461
'App',
@@ -484,12 +484,12 @@ describe('ReactSuspensePlaceholder', () => {
484
// suspending in the case that we already timed out. To simulate the old
485
// behavior, we add a different suspending boundary as a sibling.
486
ReactNoop.render(
487
- <React.Fragment>
487
+ <>
488
<App shouldSuspend={true} text="New" textRenderDuration={6} />
489
<Suspense fallback={null}>
490
<AsyncText ms={100} text="Sibling" fakeRenderDuration={1} />
491
</Suspense>
492
- </React.Fragment>,
492
+ </>,
493
);
494
expect(Scheduler).toFlushAndYield([
495
'App',
packages/react-reconciler/src/__tests__/ReactSuspenseWithNoopRenderer-test.internal.js
+22
-22
@@ -115,7 +115,7 @@ describe('ReactSuspenseWithNoopRenderer', () => {
115
function Foo() {
116
Scheduler.unstable_yieldValue('Foo');
117
return (
118
- <React.Fragment>
118
+ <>
119
<Suspense fallback={<Text text="Loading..." />}>
120
<Bar>
121
<AsyncText text="A" ms={100} />
@@ -124,7 +124,7 @@ describe('ReactSuspenseWithNoopRenderer', () => {
124
</Suspense>
125
<Text text="C" />
126
<Text text="D" />
127
- </React.Fragment>
127
+ </>
128
);
129
}
130
@@ -729,18 +729,18 @@ describe('ReactSuspenseWithNoopRenderer', () => {
729
730
it('resolves successfully even if fallback render is pending', async () => {
731
ReactNoop.render(
732
- <React.Fragment>
732
+ <>
733
<Suspense fallback={<Text text="Loading..." />} />
734
- </React.Fragment>,
734
+ </>,
735
);
736
expect(Scheduler).toFlushAndYield([]);
737
expect(ReactNoop.getChildren()).toEqual([]);
738
ReactNoop.render(
739
- <React.Fragment>
739
+ <>
740
<Suspense fallback={<Text text="Loading..." />}>
741
<AsyncText text="Async" ms={3000} />
742
</Suspense>
743
- </React.Fragment>,
743
+ </>,
744
);
745
expect(ReactNoop.flushNextYield()).toEqual(['Suspend! [Async]']);
746
await advanceTimers(1500);
@@ -965,11 +965,11 @@ describe('ReactSuspenseWithNoopRenderer', () => {
965
966
expect(Scheduler).toFlushAndYield(['A', 'B', 'C']);
967
expect(ReactNoop).toMatchRenderedOutput(
968
- <React.Fragment>
968
+ <>
969
<span prop="A" />
970
<span prop="B" />
971
<span prop="C" />
972
- </React.Fragment>,
972
+ </>,
973
);
974
});
975
@@ -1037,10 +1037,10 @@ describe('ReactSuspenseWithNoopRenderer', () => {
1037
]);
1038
expect(Scheduler).toFlushExpired(['Step: 1']);
1039
expect(ReactNoop).toMatchRenderedOutput(
1040
- <React.Fragment>
1040
+ <>
1041
<span prop="Step: 1" />
1042
<span prop="Sibling" />
1043
- </React.Fragment>,
1043
+ </>,
1044
);
1045
1046
// Update.
@@ -1056,23 +1056,23 @@ describe('ReactSuspenseWithNoopRenderer', () => {
1056
'Update did commit',
1057
]);
1058
expect(ReactNoop).toMatchRenderedOutput(
1059
- <React.Fragment>
1059
+ <>
1060
<span hidden={true} prop="Step: 1" />
1061
<span hidden={true} prop="Sibling" />
1062
<span prop="Loading (1)" />
1063
<span prop="Loading (2)" />
1064
<span prop="Loading (3)" />
1065
- </React.Fragment>,
1065
+ </>,
1066
);
1067
1068
await advanceTimers(100);
1069
expect(Scheduler).toHaveYielded(['Promise resolved [Step: 2]']);
1070
expect(Scheduler).toFlushExpired(['Step: 2']);
1071
expect(ReactNoop).toMatchRenderedOutput(
1072
- <React.Fragment>
1072
+ <>
1073
<span prop="Step: 2" />
1074
<span prop="Sibling" />
1075
- </React.Fragment>,
1075
+ </>,
1076
);
1077
});
1078
@@ -1128,12 +1128,12 @@ describe('ReactSuspenseWithNoopRenderer', () => {
1128
'Commit root',
1129
]);
1130
expect(ReactNoop).toMatchRenderedOutput(
1131
- <React.Fragment>
1131
+ <>
1132
<span hidden={true} prop="A" />
1133
<span hidden={true} prop="C" />
1134
1135
<span prop="Loading..." />
1136
- </React.Fragment>,
1136
+ </>,
1137
);
1138
1139
ReactNoop.expire(1000);
@@ -1142,11 +1142,11 @@ describe('ReactSuspenseWithNoopRenderer', () => {
1142
expect(Scheduler).toHaveYielded(['Promise resolved [B]']);
1143
expect(Scheduler).toFlushExpired(['B']);
1144
expect(ReactNoop).toMatchRenderedOutput(
1145
- <React.Fragment>
1145
+ <>
1146
<span prop="A" />
1147
<span prop="B" />
1148
<span prop="C" />
1149
- </React.Fragment>,
1149
+ </>,
1150
);
1151
});
1152
@@ -1273,10 +1273,10 @@ describe('ReactSuspenseWithNoopRenderer', () => {
1273
'Suspend! [Hi]',
1274
'Loading...',
1275
// The child should have already been hidden
1276
- <React.Fragment>
1276
+ <>
1277
<span hidden={true} />
1278
<span prop="Loading..." />
1279
- </React.Fragment>,
1279
+ </>,
1280
]);
1281
1282
await advanceTimers(1000);
@@ -1400,11 +1400,11 @@ describe('ReactSuspenseWithNoopRenderer', () => {
1400
'Commit root',
1401
]);
1402
expect(ReactNoop).toMatchRenderedOutput(
1403
- <React.Fragment>
1403
+ <>
1404
<span hidden={true} prop="A" />
1405
<span hidden={true} prop="C" />
1406
<span prop="Loading..." />
1407
- </React.Fragment>,
1407
+ </>,
1408
);
1409
});
1410
packages/react-refresh/src/__tests__/ReactFresh-test.js
+16
-16
@@ -1818,9 +1818,9 @@ describe('ReactFresh', () => {
1818
<span />
1819
</HelloV1>,
1820
<HelloV1>
1821
- <React.Fragment>
1821
+ <>
1822
<HelloV1 />
1823
- </React.Fragment>
1823
+ </>
1824
</HelloV1>,
1825
</div>,
1826
<HelloV1>
@@ -2111,9 +2111,9 @@ describe('ReactFresh', () => {
2111
if (__DEV__) {
2112
testRemountingWithWrapper(Hello => {
2113
const child = (
2114
- <React.Fragment>
2114
+ <>
2115
<Hello />
2116
- </React.Fragment>
2116
+ </>
2117
);
2118
return function Wrapper() {
2119
return child;
@@ -2126,13 +2126,13 @@ describe('ReactFresh', () => {
2126
if (__DEV__) {
2127
testRemountingWithWrapper(Hello => {
2128
const child = (
2129
- <React.Fragment>
2130
- <React.Fragment>
2129
+ <>
2130
+ <>
2131
<React.Fragment />
2132
- </React.Fragment>
2132
+ </>
2133
<Hello />
2134
<React.Fragment />
2135
- </React.Fragment>
2135
+ </>
2136
);
2137
return function Wrapper() {
2138
return child;
@@ -2471,13 +2471,13 @@ describe('ReactFresh', () => {
2471
2472
function App() {
2473
return (
2474
- <React.Fragment>
2474
+ <>
2475
<p>A</p>
2476
<Boundary>
2477
<Hello />
2478
</Boundary>
2479
<p>B</p>
2480
- </React.Fragment>
2480
+ </>
2481
);
2482
}
2483
@@ -2549,13 +2549,13 @@ describe('ReactFresh', () => {
2549
2550
function App() {
2551
return (
2552
- <React.Fragment>
2552
+ <>
2553
<p>A</p>
2554
<Boundary>
2555
<Hello />
2556
</Boundary>
2557
<p>B</p>
2558
- </React.Fragment>
2558
+ </>
2559
);
2560
}
2561
@@ -2630,13 +2630,13 @@ describe('ReactFresh', () => {
2630
2631
function App() {
2632
return (
2633
- <React.Fragment>
2633
+ <>
2634
<p>A</p>
2635
<Boundary>
2636
<Hello />
2637
</Boundary>
2638
<p>B</p>
2639
- </React.Fragment>
2639
+ </>
2640
);
2641
}
2642
@@ -3183,14 +3183,14 @@ describe('ReactFresh', () => {
3183
3184
function Frag() {
3185
return (
3186
- <React.Fragment>
3186
+ <>
3187
<div className="Frag">
3188
<div />
3189
</div>
3190
<div className="Frag">
3191
<div />
3192
</div>
3193
- </React.Fragment>
3193
+ </>
3194
);
3195
}
3196
$RefreshReg$(Frag, 'Frag');
packages/react-test-renderer/src/__tests__/ReactShallowRenderer-test.js
+4
-4
@@ -433,22 +433,22 @@ describe('ReactShallowRenderer', () => {
433
class Fragment extends React.Component {
434
render() {
435
return (
436
- <React.Fragment>
436
+ <>
437
<div />
438
<span />
439
<SomeComponent />
440
- </React.Fragment>
440
+ </>
441
);
442
}
443
}
444
const shallowRenderer = createRenderer();
445
const result = shallowRenderer.render(<Fragment />);
446
expect(result).toEqual(
447
- <React.Fragment>
447
+ <>
448
<div />
449
<span />
450
<SomeComponent />
451
- </React.Fragment>,
451
+ </>,
452
);
453
});
454
packages/react-test-renderer/src/__tests__/ReactShallowRendererMemo-test.js
+4
-4
@@ -436,22 +436,22 @@ describe('ReactShallowRendererMemo', () => {
436
class Fragment extends React.Component {
437
render() {
438
return (
439
- <React.Fragment>
439
+ <>
440
<div />
441
<span />
442
<SomeComponent />
443
- </React.Fragment>
443
+ </>
444
);
445
}
446
}
447
const shallowRenderer = createRenderer();
448
const result = shallowRenderer.render(<Fragment />);
449
expect(result).toEqual(
450
- <React.Fragment>
450
+ <>
451
<div />
452
<span />
453
<SomeComponent />
454
- </React.Fragment>,
454
+ </>,
455
);
456
});
457
packages/react-test-renderer/src/__tests__/ReactTestRenderer-test.internal.js
+9
-9
@@ -544,9 +544,9 @@ describe('ReactTestRenderer', () => {
544
545
it('toTree() handles nested Fragments', () => {
546
const Foo = () => (
547
- <React.Fragment>
548
- <React.Fragment>foo</React.Fragment>
549
- </React.Fragment>
547
+ <>
548
+ <>foo</>
549
+ </>
550
);
551
const renderer = ReactTestRenderer.create(<Foo />);
552
const tree = renderer.toTree();
@@ -707,16 +707,16 @@ describe('ReactTestRenderer', () => {
707
708
it('toTree() handles complicated tree of fragments', () => {
709
const renderer = ReactTestRenderer.create(
710
- <React.Fragment>
711
- <React.Fragment>
710
+ <>
711
+ <>
712
<div>One</div>
713
<div>Two</div>
714
- <React.Fragment>
714
+ <>
715
<div>Three</div>
716
- </React.Fragment>
717
- </React.Fragment>
716
+ </>
717
+ </>
718
<div>Four</div>
719
- </React.Fragment>,
719
+ </>,
720
);
721
722
const tree = renderer.toTree();
packages/react-test-renderer/src/__tests__/ReactTestRendererAsync-test.js
+6
-6
@@ -53,11 +53,11 @@ describe('ReactTestRendererAsync', () => {
53
}
54
function Parent(props) {
55
return (
56
- <React.Fragment>
56
+ <>
57
<Child>{'A:' + props.step}</Child>
58
<Child>{'B:' + props.step}</Child>
59
<Child>{'C:' + props.step}</Child>
60
- </React.Fragment>
60
+ </>
61
);
62
}
63
const renderer = ReactTestRenderer.create(<Parent step={1} />, {
@@ -79,11 +79,11 @@ describe('ReactTestRendererAsync', () => {
79
}
80
function Parent(props) {
81
return (
82
- <React.Fragment>
82
+ <>
83
<Child>{'A:' + props.step}</Child>
84
<Child>{'B:' + props.step}</Child>
85
<Child>{'C:' + props.step}</Child>
86
- </React.Fragment>
86
+ </>
87
);
88
}
89
const renderer = ReactTestRenderer.create(<Parent step={1} />, {
@@ -115,10 +115,10 @@ describe('ReactTestRendererAsync', () => {
115
}
116
render() {
117
return (
118
- <React.Fragment>
118
+ <>
119
<Child>{'A:' + this.props.step}</Child>
120
<Child>{'B:' + this.props.step}</Child>
121
- </React.Fragment>
121
+ </>
122
);
123
}
124
}
packages/react-test-renderer/src/__tests__/ReactTestRendererTraversal-test.js
+6
-6
@@ -42,17 +42,17 @@ describe('ReactTestRendererTraversal', () => {
42
<React.Profiler id="test" onRender={() => {}}>
43
<ExampleForwardRef qux="qux" />
44
</React.Profiler>
45
- <React.Fragment>
46
- <React.Fragment>
45
+ <>
46
+ <>
47
<Context.Provider value={null}>
48
<Context.Consumer>
49
{() => <View nested={true} />}
50
</Context.Consumer>
51
</Context.Provider>
52
- </React.Fragment>
52
+ </>
53
<View nested={true} />
54
<View nested={true} />
55
- </React.Fragment>
55
+ </>
56
</View>
57
</View>
58
);
@@ -212,10 +212,10 @@ describe('ReactTestRendererTraversal', () => {
212
).toBe(2);
213
expect(
214
ReactTestRenderer.create(
215
- <React.Fragment>
215
+ <>
216
<div />
217
<div />
218
- </React.Fragment>,
218
+ </>,
219
).root.findAllByType('div').length,
220
).toBe(2);
221
expect(
packages/react/src/__tests__/ReactDOMTracing-test.internal.js
+4
-4
@@ -325,10 +325,10 @@ describe('ReactDOMTracing', () => {
325
});
326
327
return (
328
- <React.Fragment>
328
+ <>
329
<WithHiddenWork />
330
<Updater />
331
- </React.Fragment>
331
+ </>
332
);
333
};
334
@@ -429,10 +429,10 @@ describe('ReactDOMTracing', () => {
429
});
430
431
return (
432
- <React.Fragment>
432
+ <>
433
<MaybeHiddenWork />
434
<Updater />
435
- </React.Fragment>
435
+ </>
436
);
437
};
438
packages/react/src/__tests__/ReactJSXElementValidator-test.js
+4
-4
@@ -391,21 +391,21 @@ describe('ReactJSXElementValidator', () => {
391
392
it('does not warn for fragments of multiple elements without keys', () => {
393
ReactTestUtils.renderIntoDocument(
394
- <React.Fragment>
394
+ <>
395
<span>1</span>
396
<span>2</span>
397
- </React.Fragment>,
397
+ </>,
398
);
399
});
400
401
it('warns for fragments of multiple elements with same key', () => {
402
expect(() =>
403
ReactTestUtils.renderIntoDocument(
404
- <React.Fragment>
404
+ <>
405
<span key="a">1</span>
406
<span key="a">2</span>
407
<span key="b">3</span>
408
- </React.Fragment>,
408
+ </>,
409
),
410
).toWarnDev('Encountered two children with the same key, `a`.', {
411
withoutStack: true,
packages/react/src/__tests__/ReactProfiler-test.internal.js
+10
-10
@@ -381,7 +381,7 @@ describe('Profiler', () => {
381
Scheduler.unstable_advanceTime(5); // 0 -> 5
382
383
ReactTestRenderer.create(
384
- <React.Fragment>
384
+ <>
385
<React.Profiler id="parent" onRender={callback}>
386
<AdvanceTime byAmount={10}>
387
<React.Profiler id="child" onRender={callback}>
@@ -389,7 +389,7 @@ describe('Profiler', () => {
389
</React.Profiler>
390
</AdvanceTime>
391
</React.Profiler>
392
- </React.Fragment>,
392
+ </>,
393
);
394
395
expect(callback).toHaveBeenCalledTimes(2);
@@ -416,14 +416,14 @@ describe('Profiler', () => {
416
Scheduler.unstable_advanceTime(5); // 0 -> 5
417
418
ReactTestRenderer.create(
419
- <React.Fragment>
419
+ <>
420
<React.Profiler id="first" onRender={callback}>
421
<AdvanceTime byAmount={20} />
422
</React.Profiler>
423
<React.Profiler id="second" onRender={callback}>
424
<AdvanceTime byAmount={5} />
425
</React.Profiler>
426
- </React.Fragment>,
426
+ </>,
427
);
428
429
expect(callback).toHaveBeenCalledTimes(2);
@@ -449,13 +449,13 @@ describe('Profiler', () => {
449
Scheduler.unstable_advanceTime(5); // 0 -> 5
450
451
ReactTestRenderer.create(
452
- <React.Fragment>
452
+ <>
453
<AdvanceTime byAmount={20} />
454
<React.Profiler id="test" onRender={callback}>
455
<AdvanceTime byAmount={5} />
456
</React.Profiler>
457
<AdvanceTime byAmount={20} />
458
- </React.Fragment>,
458
+ </>,
459
);
460
461
expect(callback).toHaveBeenCalledTimes(1);
@@ -1225,10 +1225,10 @@ describe('Profiler', () => {
1225
render() {
1226
const {duration, id} = this.props;
1227
return (
1228
- <React.Fragment>
1228
+ <>
1229
<Child duration={duration} id={id} />
1230
<Child duration={duration} id={id} />
1231
- </React.Fragment>
1231
+ </>
1232
);
1233
}
1234
}
@@ -1529,11 +1529,11 @@ describe('Profiler', () => {
1529
render() {
1530
instance = this;
1531
return (
1532
- <React.Fragment>
1532
+ <>
1533
<Yield value="first" />
1534
{this.state.count}
1535
<Yield value="last" />
1536
- </React.Fragment>
1536
+ </>
1537
);
1538
}
1539
}
packages/react/src/__tests__/forwardRef-test.js
+3
-2
@@ -171,8 +171,9 @@ describe('forwardRef', () => {
171
});
172
173
it('should not warn if the render function provided does not use any parameter', () => {
174
- const arityOfZero = () => <div ref={arguments[1]} />;
175
- React.forwardRef(arityOfZero);
174
+ React.forwardRef(function arityOfZero() {
175
+ return <div ref={arguments[1]} />;
176
+ });
177
});
178
179
it('should warn if the render function provided does not use the forwarded ref parameter', () => {
scripts/rollup/validate/eslintrc.cjs.js
+5
@@ -30,4 +30,9 @@ module.exports = {
30
'no-undef': 'error',
31
'no-shadow-restricted-names': 'error',
32
},
33
+
34
+ // These plugins aren't used, but eslint complains if an eslint-ignore comment
35
+ // references unused plugins. An alternate approach could be to strip
36
+ // eslint-ignore comments as part of the build.
37
+ plugins: ['jest', 'no-for-of-loops', 'react', 'react-internal'],
38
};
scripts/rollup/validate/eslintrc.fb.js
+5
@@ -31,4 +31,9 @@ module.exports = {
31
'no-undef': 'error',
32
'no-shadow-restricted-names': 'error',
33
},
34
+
35
+ // These plugins aren't used, but eslint complains if an eslint-ignore comment
36
+ // references unused plugins. An alternate approach could be to strip
37
+ // eslint-ignore comments as part of the build.
38
+ plugins: ['jest', 'no-for-of-loops', 'react', 'react-internal'],
39
};
scripts/rollup/validate/eslintrc.rn.js
+5
@@ -30,4 +30,9 @@ module.exports = {
30
'no-undef': 'error',
31
'no-shadow-restricted-names': 'error',
32
},
33
+
34
+ // These plugins aren't used, but eslint complains if an eslint-ignore comment
35
+ // references unused plugins. An alternate approach could be to strip
36
+ // eslint-ignore comments as part of the build.
37
+ plugins: ['jest', 'no-for-of-loops', 'react', 'react-internal'],
38
};
scripts/rollup/validate/eslintrc.umd.js
+5
@@ -33,4 +33,9 @@ module.exports = {
33
'no-undef': 'error',
34
'no-shadow-restricted-names': 'error',
35
},
36
+
37
+ // These plugins aren't used, but eslint complains if an eslint-ignore comment
38
+ // references unused plugins. An alternate approach could be to strip
39
+ // eslint-ignore comments as part of the build.
40
+ plugins: ['jest', 'no-for-of-loops', 'react', 'react-internal'],
41
};
yarn.lock
+405
-277
@@ -590,15 +590,10 @@ acorn-globals@^4.1.0:
590
dependencies:
591
acorn "^5.0.0"
592
593
-acorn-jsx@^3.0.0:
594
- version "3.0.1"
595
- resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
596
- dependencies:
597
- acorn "^3.0.4"
598
-
599
-acorn@^3.0.4:
600
- version "3.3.0"
601
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
593
+acorn-jsx@^5.0.0:
594
+ version "5.0.1"
595
+ resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e"
596
+ integrity sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==
597
598
acorn@^5.0.0, acorn@^5.3.0:
599
version "5.6.2"
@@ -608,17 +603,18 @@ acorn@^5.2.1:
603
version "5.3.0"
604
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.3.0.tgz#7446d39459c54fb49a80e6ee6478149b940ec822"
605
606
+acorn@^6.0.7:
607
+ version "6.2.1"
608
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.2.1.tgz#3ed8422d6dec09e6121cc7a843ca86a330a86b51"
609
+ integrity sha512-JD0xT5FCRDNyjDda3Lrg/IxFscp9q4tiYtxE1/nOzlKCk7hIRuYjhq1kCNkbPjMRMZuFq20HNQn1I9k8Oj0E+Q==
610
+
611
agent-base@^4.1.0:
612
version "4.1.2"
613
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.1.2.tgz#80fa6cde440f4dcf9af2617cf246099b5d99f0c8"
614
dependencies:
615
es6-promisify "^5.0.0"
616
617
-ajv-keywords@^2.1.0:
618
- version "2.1.1"
619
- resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762"
620
-
621
-ajv@^5.1.0, ajv@^5.2.3, ajv@^5.3.0:
617
+ajv@^5.1.0:
618
version "5.5.2"
619
resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965"
620
dependencies:
@@ -627,6 +623,16 @@ ajv@^5.1.0, ajv@^5.2.3, ajv@^5.3.0:
623
fast-json-stable-stringify "^2.0.0"
624
json-schema-traverse "^0.3.0"
625
626
+ajv@^6.10.0, ajv@^6.10.2:
627
+ version "6.10.2"
628
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52"
629
+ integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==
630
+ dependencies:
631
+ fast-deep-equal "^2.0.1"
632
+ fast-json-stable-stringify "^2.0.0"
633
+ json-schema-traverse "^0.4.1"
634
+ uri-js "^4.2.2"
635
+
636
align-text@^0.1.1, align-text@^0.1.3:
637
version "0.1.4"
638
resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
@@ -655,6 +661,11 @@ ansi-escapes@^3.0.0:
661
version "3.0.0"
662
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.0.0.tgz#ec3e8b4e9f8064fc02c3ac9b65f1c275bda8ef92"
663
664
+ansi-escapes@^3.2.0:
665
+ version "3.2.0"
666
+ resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
667
+ integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==
668
+
669
ansi-gray@^0.1.1:
670
version "0.1.1"
671
resolved "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251"
@@ -675,6 +686,11 @@ ansi-regex@^3.0.0:
686
version "3.0.0"
687
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
688
689
+ansi-regex@^4.1.0:
690
+ version "4.1.0"
691
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
692
+ integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
693
+
694
ansi-styles@^2.2.1:
695
version "2.2.1"
696
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
@@ -756,16 +772,6 @@ array-slice@^0.2.3:
772
version "0.2.3"
773
resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5"
774
759
-array-union@^1.0.1:
760
- version "1.0.2"
761
- resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
762
- dependencies:
763
- array-uniq "^1.0.1"
764
-
765
-array-uniq@^1.0.1:
766
- version "1.0.3"
767
- resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
768
-
775
array-unique@^0.2.1:
776
version "0.2.1"
777
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
@@ -775,13 +781,14 @@ array-unique@^0.3.2:
781
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
782
783
array.prototype.find@^2.0.1:
778
- version "2.0.4"
779
- resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.0.4.tgz#556a5c5362c08648323ddaeb9de9d14bc1864c90"
784
+ version "2.1.0"
785
+ resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.1.0.tgz#630f2eaf70a39e608ac3573e45cf8ccd0ede9ad7"
786
+ integrity sha512-Wn41+K1yuO5p7wRZDl7890c3xvv5UBrfVXTVIe28rSQb6LS0fZMDrQB6PAcxQFRFy6vJTLDc3A2+3CjQdzVKRg==
787
dependencies:
781
- define-properties "^1.1.2"
782
- es-abstract "^1.7.0"
788
+ define-properties "^1.1.3"
789
+ es-abstract "^1.13.0"
790
784
-arrify@^1.0.0, arrify@^1.0.1:
791
+arrify@^1.0.1:
792
version "1.0.1"
793
resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
794
@@ -852,7 +859,7 @@ aws4@^1.2.1, aws4@^1.6.0:
859
version "1.7.0"
860
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.7.0.tgz#d4d0e9b9dbfca77bf08eeb0a8a471550fe39e289"
861
855
-babel-code-frame@^6.22.0, babel-code-frame@^6.26.0:
862
+babel-code-frame@^6.26.0:
863
version "6.26.0"
864
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
865
dependencies:
@@ -909,8 +916,9 @@ babel-core@^6.7.2:
916
source-map "^0.5.7"
917
918
babel-eslint@^10.0.0:
912
- version "10.0.0"
913
- resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.0.tgz#0bb43e6b11a119bf3defbb1ee2521f42e2d413c9"
919
+ version "10.0.2"
920
+ resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.2.tgz#182d5ac204579ff0881684b040560fdcc1558456"
921
+ integrity sha512-UdsurWPtgiPgpJ06ryUnuaSXC2s0WoSZnQmEpbAH65XZSdwowgN5MvyP7e88nW07FYXv72erVtpBkxyDVKhH1Q==
922
dependencies:
923
"@babel/code-frame" "^7.0.0"
924
"@babel/parser" "^7.0.0"
@@ -1447,20 +1455,15 @@ cache-base@^1.0.1:
1455
union-value "^1.0.0"
1456
unset-value "^1.0.0"
1457
1450
-caller-path@^0.1.0:
1451
- version "0.1.0"
1452
- resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f"
1453
- dependencies:
1454
- callsites "^0.2.0"
1455
-
1456
-callsites@^0.2.0:
1457
- version "0.2.0"
1458
- resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca"
1459
-
1458
callsites@^2.0.0:
1459
version "2.0.0"
1460
resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
1461
1462
+callsites@^3.0.0:
1463
+ version "3.1.0"
1464
+ resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
1465
+ integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
1466
+
1467
camelcase@^1.0.2:
1468
version "1.2.1"
1469
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
@@ -1512,9 +1515,19 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0:
1515
escape-string-regexp "^1.0.5"
1516
supports-color "^5.3.0"
1517
1515
-chardet@^0.4.0:
1516
- version "0.4.2"
1517
- resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2"
1518
+chalk@^2.4.2:
1519
+ version "2.4.2"
1520
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
1521
+ integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
1522
+ dependencies:
1523
+ ansi-styles "^3.2.1"
1524
+ escape-string-regexp "^1.0.5"
1525
+ supports-color "^5.3.0"
1526
+
1527
+chardet@^0.7.0:
1528
+ version "0.7.0"
1529
+ resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
1530
+ integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
1531
1532
chokidar@^2.0.4:
1533
version "2.1.6"
@@ -1543,10 +1556,6 @@ ci-info@^1.0.0:
1556
version "1.1.3"
1557
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.3.tgz#710193264bb05c77b8c90d02f5aaf22216a667b2"
1558
1546
-circular-json@^0.3.1:
1547
- version "0.3.1"
1548
- resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d"
1549
-
1559
class-utils@^0.3.5:
1560
version "0.3.6"
1561
resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
@@ -1680,14 +1689,6 @@ concat-map@0.0.1:
1689
version "0.0.1"
1690
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
1691
1683
-concat-stream@^1.6.0:
1684
- version "1.6.0"
1685
- resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7"
1686
- dependencies:
1687
- inherits "^2.0.3"
1688
- readable-stream "^2.2.2"
1689
- typedarray "^0.0.6"
1690
-
1692
console-control-strings@^1.0.0, console-control-strings@~1.1.0:
1693
version "1.1.0"
1694
resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
@@ -1756,6 +1757,17 @@ cross-spawn@^5.0.1, cross-spawn@^5.1.0:
1757
shebang-command "^1.2.0"
1758
which "^1.2.9"
1759
1760
+cross-spawn@^6.0.5:
1761
+ version "6.0.5"
1762
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
1763
+ integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
1764
+ dependencies:
1765
+ nice-try "^1.0.4"
1766
+ path-key "^2.0.1"
1767
+ semver "^5.5.0"
1768
+ shebang-command "^1.2.0"
1769
+ which "^1.2.9"
1770
+
1771
cryptiles@2.x.x:
1772
version "2.0.5"
1773
resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
@@ -1837,7 +1849,7 @@ debug@^3.2.6:
1849
dependencies:
1850
ms "^2.1.1"
1851
1840
-debug@^4.1.0:
1852
+debug@^4.0.1, debug@^4.1.0:
1853
version "4.1.1"
1854
resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
1855
integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
@@ -1878,6 +1890,13 @@ define-properties@^1.1.2:
1890
foreach "^2.0.5"
1891
object-keys "^1.0.8"
1892
1893
+define-properties@^1.1.3:
1894
+ version "1.1.3"
1895
+ resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
1896
+ integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==
1897
+ dependencies:
1898
+ object-keys "^1.0.12"
1899
+
1900
define-property@^0.2.5:
1901
version "0.2.5"
1902
resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116"
@@ -1897,18 +1916,6 @@ define-property@^2.0.2:
1916
is-descriptor "^1.0.2"
1917
isobject "^3.0.1"
1918
1900
-del@^2.0.2:
1901
- version "2.2.2"
1902
- resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8"
1903
- dependencies:
1904
- globby "^5.0.0"
1905
- is-path-cwd "^1.0.0"
1906
- is-path-in-cwd "^1.0.0"
1907
- object-assign "^4.0.1"
1908
- pify "^2.0.0"
1909
- pinkie-promise "^2.0.0"
1910
- rimraf "^2.2.8"
1911
-
1919
delayed-stream@~1.0.0:
1920
version "1.0.0"
1921
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
@@ -1938,13 +1945,15 @@ diff@3.3.0, diff@^3.2.0:
1945
doctrine@^1.2.2:
1946
version "1.5.0"
1947
resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa"
1948
+ integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=
1949
dependencies:
1950
esutils "^2.0.2"
1951
isarray "^1.0.0"
1952
1945
-doctrine@^2.0.2:
1946
- version "2.1.0"
1947
- resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
1953
+doctrine@^3.0.0:
1954
+ version "3.0.0"
1955
+ resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
1956
+ integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
1957
dependencies:
1958
esutils "^2.0.2"
1959
@@ -1977,6 +1986,11 @@ ecc-jsbn@~0.1.1:
1986
dependencies:
1987
jsbn "~0.1.0"
1988
1989
+emoji-regex@^7.0.1:
1990
+ version "7.0.3"
1991
+ resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
1992
+ integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
1993
+
1994
encoding@^0.1.11:
1995
version "0.1.12"
1996
resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
@@ -2007,19 +2021,21 @@ error-stack-parser@^2.0.2:
2021
dependencies:
2022
stackframe "^1.0.4"
2023
2010
-es-abstract@^1.5.1:
2011
- version "1.12.0"
2012
- resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165"
2024
+es-abstract@^1.13.0:
2025
+ version "1.13.0"
2026
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9"
2027
+ integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==
2028
dependencies:
2014
- es-to-primitive "^1.1.1"
2029
+ es-to-primitive "^1.2.0"
2030
function-bind "^1.1.1"
2016
- has "^1.0.1"
2017
- is-callable "^1.1.3"
2031
+ has "^1.0.3"
2032
+ is-callable "^1.1.4"
2033
is-regex "^1.0.4"
2034
+ object-keys "^1.0.12"
2035
2020
-es-abstract@^1.7.0:
2021
- version "1.10.0"
2022
- resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.10.0.tgz#1ecb36c197842a00d8ee4c2dfd8646bb97d60864"
2036
+es-abstract@^1.5.1:
2037
+ version "1.12.0"
2038
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165"
2039
dependencies:
2040
es-to-primitive "^1.1.1"
2041
function-bind "^1.1.1"
@@ -2035,6 +2051,15 @@ es-to-primitive@^1.1.1:
2051
is-date-object "^1.0.1"
2052
is-symbol "^1.0.1"
2053
2054
+es-to-primitive@^1.2.0:
2055
+ version "1.2.0"
2056
+ resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377"
2057
+ integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==
2058
+ dependencies:
2059
+ is-callable "^1.1.4"
2060
+ is-date-object "^1.0.1"
2061
+ is-symbol "^1.0.2"
2062
+
2063
es6-promise@^4.0.3:
2064
version "4.2.2"
2065
resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.2.tgz#f722d7769af88bd33bc13ec6605e1f92966b82d9"
@@ -2063,24 +2088,31 @@ escodegen@^1.9.0:
2088
eslint-config-fbjs@^1.1.1:
2089
version "1.1.1"
2090
resolved "https://registry.yarnpkg.com/eslint-config-fbjs/-/eslint-config-fbjs-1.1.1.tgz#dd29f8d912e8a755257e9eeef00bae1cce57f73a"
2091
+ integrity sha1-3Sn42RLop1Ulfp7u8AuuHM5X9zo=
2092
2067
-eslint-plugin-babel@^3.3.0:
2068
- version "3.3.0"
2069
- resolved "https://registry.yarnpkg.com/eslint-plugin-babel/-/eslint-plugin-babel-3.3.0.tgz#2f494aedcf6f4aa4e75b9155980837bc1fbde193"
2093
+eslint-plugin-babel@^5.3.0:
2094
+ version "5.3.0"
2095
+ resolved "https://registry.yarnpkg.com/eslint-plugin-babel/-/eslint-plugin-babel-5.3.0.tgz#2e7f251ccc249326da760c1a4c948a91c32d0023"
2096
+ integrity sha512-HPuNzSPE75O+SnxHIafbW5QB45r2w78fxqwK3HmjqIUoPfPzVrq6rD+CINU3yzoDSzEhUkX07VUphbF73Lth/w==
2097
+ dependencies:
2098
+ eslint-rule-composer "^0.3.0"
2099
2100
eslint-plugin-flowtype@^2.25.0:
2072
- version "2.32.1"
2073
- resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.32.1.tgz#bbee185dedf97e5f63ec975cdcddd199bd2a2501"
2101
+ version "2.50.3"
2102
+ resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.50.3.tgz#61379d6dce1d010370acd6681740fd913d68175f"
2103
+ integrity sha512-X+AoKVOr7Re0ko/yEXyM5SSZ0tazc6ffdIOocp2fFUlWoDt7DV0Bz99mngOkAFLOAWjqRA5jPwqUCbrx13XoxQ==
2104
dependencies:
2075
- lodash "^4.15.0"
2105
+ lodash "^4.17.10"
2106
2107
eslint-plugin-jest@^21.6.1:
2078
- version "21.6.1"
2079
- resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-21.6.1.tgz#adca015bbdb8d23b210438ff9e1cee1dd9ec35df"
2108
+ version "21.27.2"
2109
+ resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-21.27.2.tgz#2a795b7c3b5e707df48a953d651042bd01d7b0a8"
2110
+ integrity sha512-0E4OIgBJVlAmf1KfYFtZ3gYxgUzC5Eb3Jzmrc9ikI1OY+/cM8Kh72Ti7KfpeHNeD3HJNf9SmEfmvQLIz44Hrhw==
2111
2112
eslint-plugin-no-for-of-loops@^1.0.0:
2082
- version "1.0.0"
2083
- resolved "https://registry.yarnpkg.com/eslint-plugin-no-for-of-loops/-/eslint-plugin-no-for-of-loops-1.0.0.tgz#a13d91a8f1922f7fefedeab351dc0055994601f6"
2113
+ version "1.0.1"
2114
+ resolved "https://registry.yarnpkg.com/eslint-plugin-no-for-of-loops/-/eslint-plugin-no-for-of-loops-1.0.1.tgz#2ee3732d50c642b8d1bfacedbfe3b28f86222369"
2115
+ integrity sha512-uCotzBHt2W+HbLw2srRmqDJHOPbJGzeVLstKh8YyxS3ppduq2P50qdpJfHKoD+UGbnqA/zhy8NRgPH6p0y8bnA==
2116
2117
"eslint-plugin-react-internal@link:./scripts/eslint-rules":
2118
version "0.0.0"
@@ -2089,6 +2121,7 @@ eslint-plugin-no-for-of-loops@^1.0.0:
2121
eslint-plugin-react@^6.7.1:
2122
version "6.10.3"
2123
resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.10.3.tgz#c5435beb06774e12c7db2f6abaddcbf900cd3f78"
2124
+ integrity sha1-xUNb6wZ3ThLH2y9qut3L+QDNP3g=
2125
dependencies:
2126
array.prototype.find "^2.0.1"
2127
doctrine "^1.2.2"
@@ -2096,65 +2129,88 @@ eslint-plugin-react@^6.7.1:
2129
jsx-ast-utils "^1.3.4"
2130
object.assign "^4.0.4"
2131
2099
-eslint-scope@3.7.1, eslint-scope@^3.7.1:
2132
+eslint-rule-composer@^0.3.0:
2133
+ version "0.3.0"
2134
+ resolved "https://registry.yarnpkg.com/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9"
2135
+ integrity sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==
2136
+
2137
+eslint-scope@3.7.1:
2138
version "3.7.1"
2139
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8"
2140
dependencies:
2141
esrecurse "^4.1.0"
2142
estraverse "^4.1.1"
2143
2144
+eslint-scope@^5.0.0:
2145
+ version "5.0.0"
2146
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9"
2147
+ integrity sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==
2148
+ dependencies:
2149
+ esrecurse "^4.1.0"
2150
+ estraverse "^4.1.1"
2151
+
2152
+eslint-utils@^1.3.1:
2153
+ version "1.4.0"
2154
+ resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.0.tgz#e2c3c8dba768425f897cf0f9e51fe2e241485d4c"
2155
+ integrity sha512-7ehnzPaP5IIEh1r1tkjuIrxqhNkzUJa9z3R92tLJdZIVdWaczEhr3EbhGtsMrVxi1KeR8qA7Off6SWc5WNQqyQ==
2156
+ dependencies:
2157
+ eslint-visitor-keys "^1.0.0"
2158
+
2159
eslint-visitor-keys@^1.0.0:
2160
version "1.0.0"
2161
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d"
2162
2110
-eslint@^4.1.0:
2111
- version "4.15.0"
2112
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.15.0.tgz#89ab38c12713eec3d13afac14e4a89e75ef08145"
2163
+eslint@^6.1.0:
2164
+ version "6.1.0"
2165
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.1.0.tgz#06438a4a278b1d84fb107d24eaaa35471986e646"
2166
+ integrity sha512-QhrbdRD7ofuV09IuE2ySWBz0FyXCq0rriLTZXZqaWSI79CVtHVRdkFuFTViiqzZhkCgfOh9USpriuGN2gIpZDQ==
2167
dependencies:
2114
- ajv "^5.3.0"
2115
- babel-code-frame "^6.22.0"
2168
+ "@babel/code-frame" "^7.0.0"
2169
+ ajv "^6.10.0"
2170
chalk "^2.1.0"
2117
- concat-stream "^1.6.0"
2118
- cross-spawn "^5.1.0"
2119
- debug "^3.1.0"
2120
- doctrine "^2.0.2"
2121
- eslint-scope "^3.7.1"
2171
+ cross-spawn "^6.0.5"
2172
+ debug "^4.0.1"
2173
+ doctrine "^3.0.0"
2174
+ eslint-scope "^5.0.0"
2175
+ eslint-utils "^1.3.1"
2176
eslint-visitor-keys "^1.0.0"
2123
- espree "^3.5.2"
2124
- esquery "^1.0.0"
2177
+ espree "^6.0.0"
2178
+ esquery "^1.0.1"
2179
esutils "^2.0.2"
2126
- file-entry-cache "^2.0.0"
2180
+ file-entry-cache "^5.0.1"
2181
functional-red-black-tree "^1.0.1"
2128
- glob "^7.1.2"
2129
- globals "^11.0.1"
2130
- ignore "^3.3.3"
2182
+ glob-parent "^5.0.0"
2183
+ globals "^11.7.0"
2184
+ ignore "^4.0.6"
2185
+ import-fresh "^3.0.0"
2186
imurmurhash "^0.1.4"
2132
- inquirer "^3.0.6"
2133
- is-resolvable "^1.0.0"
2134
- js-yaml "^3.9.1"
2187
+ inquirer "^6.4.1"
2188
+ is-glob "^4.0.0"
2189
+ js-yaml "^3.13.1"
2190
json-stable-stringify-without-jsonify "^1.0.1"
2191
levn "^0.3.0"
2137
- lodash "^4.17.4"
2138
- minimatch "^3.0.2"
2192
+ lodash "^4.17.14"
2193
+ minimatch "^3.0.4"
2194
mkdirp "^0.5.1"
2195
natural-compare "^1.4.0"
2196
optionator "^0.8.2"
2142
- path-is-inside "^1.0.2"
2143
- pluralize "^7.0.0"
2197
progress "^2.0.0"
2145
- require-uncached "^1.0.3"
2146
- semver "^5.3.0"
2147
- strip-ansi "^4.0.0"
2148
- strip-json-comments "~2.0.1"
2149
- table "^4.0.1"
2150
- text-table "~0.2.0"
2151
-
2152
-espree@^3.5.2:
2153
- version "3.5.2"
2154
- resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.2.tgz#756ada8b979e9dcfcdb30aad8d1a9304a905e1ca"
2155
- dependencies:
2156
- acorn "^5.2.1"
2157
- acorn-jsx "^3.0.0"
2198
+ regexpp "^2.0.1"
2199
+ semver "^6.1.2"
2200
+ strip-ansi "^5.2.0"
2201
+ strip-json-comments "^3.0.1"
2202
+ table "^5.2.3"
2203
+ text-table "^0.2.0"
2204
+ v8-compile-cache "^2.0.3"
2205
+
2206
+espree@^6.0.0:
2207
+ version "6.0.0"
2208
+ resolved "https://registry.yarnpkg.com/espree/-/espree-6.0.0.tgz#716fc1f5a245ef5b9a7fdb1d7b0d3f02322e75f6"
2209
+ integrity sha512-lJvCS6YbCn3ImT3yKkPe0+tJ+mH6ljhGNjHQH9mRtiO6gjhVAOhVXW1yjnwqGwTkK3bGbye+hb00nFNmu0l/1Q==
2210
+ dependencies:
2211
+ acorn "^6.0.7"
2212
+ acorn-jsx "^5.0.0"
2213
+ eslint-visitor-keys "^1.0.0"
2214
2215
esprima@^2.6.0:
2216
version "2.7.3"
@@ -2168,9 +2224,10 @@ esprima@^4.0.0:
2224
version "4.0.0"
2225
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804"
2226
2171
-esquery@^1.0.0:
2172
- version "1.0.0"
2173
- resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa"
2227
+esquery@^1.0.1:
2228
+ version "1.0.1"
2229
+ resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708"
2230
+ integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==
2231
dependencies:
2232
estraverse "^4.0.0"
2233
@@ -2281,12 +2338,13 @@ extend@^3.0.0, extend@~3.0.0, extend@~3.0.1:
2338
version "3.0.1"
2339
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444"
2340
2284
-external-editor@^2.0.4:
2285
- version "2.1.0"
2286
- resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.1.0.tgz#3d026a21b7f95b5726387d4200ac160d372c3b48"
2341
+external-editor@^3.0.3:
2342
+ version "3.1.0"
2343
+ resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495"
2344
+ integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==
2345
dependencies:
2288
- chardet "^0.4.0"
2289
- iconv-lite "^0.4.17"
2346
+ chardet "^0.7.0"
2347
+ iconv-lite "^0.4.24"
2348
tmp "^0.0.33"
2349
2350
extglob@^0.3.1:
@@ -2331,6 +2389,11 @@ fast-deep-equal@^1.0.0:
2389
version "1.0.0"
2390
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff"
2391
2392
+fast-deep-equal@^2.0.1:
2393
+ version "2.0.1"
2394
+ resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"
2395
+ integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=
2396
+
2397
fast-json-stable-stringify@^2.0.0:
2398
version "2.0.0"
2399
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
@@ -2378,12 +2441,12 @@ figures@^2.0.0:
2441
dependencies:
2442
escape-string-regexp "^1.0.5"
2443
2381
-file-entry-cache@^2.0.0:
2382
- version "2.0.0"
2383
- resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361"
2444
+file-entry-cache@^5.0.1:
2445
+ version "5.0.1"
2446
+ resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c"
2447
+ integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==
2448
dependencies:
2385
- flat-cache "^1.2.1"
2386
- object-assign "^4.0.1"
2449
+ flat-cache "^2.0.1"
2450
2451
filename-regex@^2.0.0:
2452
version "2.0.1"
@@ -2432,14 +2495,19 @@ find-up@^2.1.0:
2495
dependencies:
2496
locate-path "^2.0.0"
2497
2435
-flat-cache@^1.2.1:
2436
- version "1.2.2"
2437
- resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96"
2498
+flat-cache@^2.0.1:
2499
+ version "2.0.1"
2500
+ resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0"
2501
+ integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==
2502
dependencies:
2439
- circular-json "^0.3.1"
2440
- del "^2.0.2"
2441
- graceful-fs "^4.1.2"
2442
- write "^0.2.1"
2503
+ flatted "^2.0.0"
2504
+ rimraf "2.6.3"
2505
+ write "1.0.3"
2506
+
2507
+flatted@^2.0.0:
2508
+ version "2.0.1"
2509
+ resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08"
2510
+ integrity sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==
2511
2512
flow-bin@^0.72.0:
2513
version "0.72.0"
@@ -2519,7 +2587,7 @@ fsevents@^1.2.7:
2587
nan "^2.12.1"
2588
node-pre-gyp "^0.12.0"
2589
2522
-function-bind@^1.0.2, function-bind@^1.1.0, function-bind@^1.1.1:
2590
+function-bind@^1.0.2, function-bind@^1.1.1:
2591
version "1.1.1"
2592
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
2593
@@ -2611,6 +2679,13 @@ glob-parent@^3.1.0:
2679
is-glob "^3.1.0"
2680
path-dirname "^1.0.0"
2681
2682
+glob-parent@^5.0.0:
2683
+ version "5.0.0"
2684
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.0.0.tgz#1dc99f0f39b006d3e92c2c284068382f0c20e954"
2685
+ integrity sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg==
2686
+ dependencies:
2687
+ is-glob "^4.0.1"
2688
+
2689
glob-stream@^6.1.0:
2690
version "6.1.0"
2691
resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4"
@@ -2636,7 +2711,7 @@ glob@^6.0.4:
2711
once "^1.3.0"
2712
path-is-absolute "^1.0.0"
2713
2639
-glob@^7.0.0:
2714
+glob@^7.0.0, glob@^7.1.3:
2715
version "7.1.4"
2716
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255"
2717
integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==
@@ -2659,25 +2734,19 @@ glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2:
2734
once "^1.3.0"
2735
path-is-absolute "^1.0.0"
2736
2662
-globals@^11.0.1, globals@^11.1.0:
2737
+globals@^11.1.0:
2738
version "11.4.0"
2739
resolved "https://registry.yarnpkg.com/globals/-/globals-11.4.0.tgz#b85c793349561c16076a3c13549238a27945f1bc"
2740
2741
+globals@^11.7.0:
2742
+ version "11.12.0"
2743
+ resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
2744
+ integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
2745
+
2746
globals@^9.18.0:
2747
version "9.18.0"
2748
resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
2749
2670
-globby@^5.0.0:
2671
- version "5.0.0"
2672
- resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d"
2673
- dependencies:
2674
- array-union "^1.0.1"
2675
- arrify "^1.0.0"
2676
- glob "^7.0.3"
2677
- object-assign "^4.0.1"
2678
- pify "^2.0.0"
2679
- pinkie-promise "^2.0.0"
2680
-
2750
google-closure-compiler-java@^20190301.0.0:
2751
version "20190301.0.0"
2752
resolved "https://registry.yarnpkg.com/google-closure-compiler-java/-/google-closure-compiler-java-20190301.0.0.tgz#89d1d6ab04b7625daf38d63b28b557f92103e3e1"
@@ -2817,6 +2886,13 @@ has@^1.0.1:
2886
dependencies:
2887
function-bind "^1.0.2"
2888
2889
+has@^1.0.3:
2890
+ version "1.0.3"
2891
+ resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
2892
+ integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
2893
+ dependencies:
2894
+ function-bind "^1.1.1"
2895
+
2896
hawk@~3.1.3:
2897
version "3.1.3"
2898
resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4"
@@ -2884,7 +2960,14 @@ iconv-lite@0.4.19:
2960
version "0.4.19"
2961
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b"
2962
2887
-iconv-lite@^0.4.17, iconv-lite@^0.4.4:
2963
+iconv-lite@^0.4.24:
2964
+ version "0.4.24"
2965
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
2966
+ integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
2967
+ dependencies:
2968
+ safer-buffer ">= 2.1.2 < 3"
2969
+
2970
+iconv-lite@^0.4.4:
2971
version "0.4.21"
2972
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.21.tgz#c47f8733d02171189ebc4a400f3218d348094798"
2973
dependencies:
@@ -2902,9 +2985,18 @@ ignore-walk@^3.0.1:
2985
dependencies:
2986
minimatch "^3.0.4"
2987
2905
-ignore@^3.3.3:
2906
- version "3.3.7"
2907
- resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.7.tgz#612289bfb3c220e186a58118618d5be8c1bab021"
2988
+ignore@^4.0.6:
2989
+ version "4.0.6"
2990
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
2991
+ integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
2992
+
2993
+import-fresh@^3.0.0:
2994
+ version "3.1.0"
2995
+ resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.1.0.tgz#6d33fa1dcef6df930fae003446f33415af905118"
2996
+ integrity sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==
2997
+ dependencies:
2998
+ parent-module "^1.0.0"
2999
+ resolve-from "^4.0.0"
3000
3001
import-local@^1.0.0:
3002
version "1.0.0"
@@ -2932,23 +3024,23 @@ ini@^1.3.4, ini@~1.3.0:
3024
version "1.3.5"
3025
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
3026
2935
-inquirer@^3.0.6:
2936
- version "3.3.0"
2937
- resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9"
3027
+inquirer@^6.4.1:
3028
+ version "6.5.0"
3029
+ resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.0.tgz#2303317efc9a4ea7ec2e2df6f86569b734accf42"
3030
+ integrity sha512-scfHejeG/lVZSpvCXpsB4j/wQNPM5JC8kiElOI0OUTwmc1RTpXr4H32/HOlQHcZiYl2z2VElwuCVDRG8vFmbnA==
3031
dependencies:
2939
- ansi-escapes "^3.0.0"
2940
- chalk "^2.0.0"
3032
+ ansi-escapes "^3.2.0"
3033
+ chalk "^2.4.2"
3034
cli-cursor "^2.1.0"
3035
cli-width "^2.0.0"
2943
- external-editor "^2.0.4"
3036
+ external-editor "^3.0.3"
3037
figures "^2.0.0"
2945
- lodash "^4.3.0"
3038
+ lodash "^4.17.12"
3039
mute-stream "0.0.7"
3040
run-async "^2.2.0"
2948
- rx-lite "^4.0.8"
2949
- rx-lite-aggregates "^4.0.8"
3041
+ rxjs "^6.4.0"
3042
string-width "^2.1.0"
2951
- strip-ansi "^4.0.0"
3043
+ strip-ansi "^5.1.0"
3044
through "^2.3.6"
3045
3046
invariant@^2.2.2:
@@ -3005,6 +3097,11 @@ is-callable@^1.1.1, is-callable@^1.1.3:
3097
version "1.1.3"
3098
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2"
3099
3100
+is-callable@^1.1.4:
3101
+ version "1.1.4"
3102
+ resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75"
3103
+ integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==
3104
+
3105
is-ci@^1.0.10:
3106
version "1.1.0"
3107
resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.1.0.tgz#247e4162e7860cebbdaf30b774d6b0ac7dcfe7a5"
@@ -3103,7 +3200,7 @@ is-glob@^3.1.0:
3200
dependencies:
3201
is-extglob "^2.1.0"
3202
3106
-is-glob@^4.0.0:
3203
+is-glob@^4.0.0, is-glob@^4.0.1:
3204
version "4.0.1"
3205
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
3206
integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
@@ -3145,22 +3242,6 @@ is-odd@^2.0.0:
3242
dependencies:
3243
is-number "^4.0.0"
3244
3148
-is-path-cwd@^1.0.0:
3149
- version "1.0.0"
3150
- resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d"
3151
-
3152
-is-path-in-cwd@^1.0.0:
3153
- version "1.0.0"
3154
- resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc"
3155
- dependencies:
3156
- is-path-inside "^1.0.0"
3157
-
3158
-is-path-inside@^1.0.0:
3159
- version "1.0.0"
3160
- resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f"
3161
- dependencies:
3162
- path-is-inside "^1.0.1"
3163
-
3245
is-plain-obj@^1.1.0:
3246
version "1.1.0"
3247
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
@@ -3200,12 +3281,6 @@ is-relative@^0.2.1:
3281
dependencies:
3282
is-unc-path "^0.1.1"
3283
3203
-is-resolvable@^1.0.0:
3204
- version "1.0.0"
3205
- resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62"
3206
- dependencies:
3207
- tryit "^1.0.1"
3208
-
3284
is-stream@^1.0.1, is-stream@^1.1.0:
3285
version "1.1.0"
3286
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
@@ -3214,6 +3289,13 @@ is-symbol@^1.0.1:
3289
version "1.0.1"
3290
resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572"
3291
3292
+is-symbol@^1.0.2:
3293
+ version "1.0.2"
3294
+ resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38"
3295
+ integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==
3296
+ dependencies:
3297
+ has-symbols "^1.0.0"
3298
+
3299
is-typedarray@~1.0.0:
3300
version "1.0.0"
3301
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
@@ -3637,16 +3719,17 @@ js-yaml@3.6.1:
3719
argparse "^1.0.7"
3720
esprima "^2.6.0"
3721
3640
-js-yaml@^3.7.0:
3641
- version "3.12.0"
3642
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1"
3722
+js-yaml@^3.13.1:
3723
+ version "3.13.1"
3724
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
3725
+ integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==
3726
dependencies:
3727
argparse "^1.0.7"
3728
esprima "^4.0.0"
3729
3647
-js-yaml@^3.9.1:
3648
- version "3.10.0"
3649
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc"
3730
+js-yaml@^3.7.0:
3731
+ version "3.12.0"
3732
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1"
3733
dependencies:
3734
argparse "^1.0.7"
3735
esprima "^4.0.0"
@@ -3706,6 +3789,11 @@ json-schema-traverse@^0.3.0:
3789
version "0.3.1"
3790
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340"
3791
3792
+json-schema-traverse@^0.4.1:
3793
+ version "0.4.1"
3794
+ resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
3795
+ integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
3796
+
3797
json-schema@0.2.3:
3798
version "0.2.3"
3799
resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
@@ -3755,6 +3843,7 @@ jsprim@^1.2.2:
3843
jsx-ast-utils@^1.3.4:
3844
version "1.4.1"
3845
resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz#3867213e8dd79bf1e8f2300c0cfc1efb182c0df1"
3846
+ integrity sha1-OGchPo3Xm/Ho8jAMDPwe+xgsDfE=
3847
3848
kind-of@^1.1.0:
3849
version "1.1.0"
@@ -3850,11 +3939,11 @@ lodash.sortby@^4.7.0:
3939
version "4.7.0"
3940
resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
3941
3853
-lodash@^4.13.1, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.3.0:
3942
+lodash@^4.13.1, lodash@^4.17.10, lodash@^4.17.4, lodash@^4.2.0:
3943
version "4.17.10"
3944
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7"
3945
3857
-lodash@^4.17.13:
3946
+lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14:
3947
version "4.17.15"
3948
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
3949
integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
@@ -4088,6 +4177,11 @@ needle@^2.2.1:
4177
iconv-lite "^0.4.4"
4178
sax "^1.2.4"
4179
4180
+nice-try@^1.0.4:
4181
+ version "1.0.5"
4182
+ resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
4183
+ integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
4184
+
4185
node-cleanup@^2.1.2:
4186
version "2.1.2"
4187
resolved "https://registry.yarnpkg.com/node-cleanup/-/node-cleanup-2.1.2.tgz#7ac19abd297e09a7f72a71545d951b517e4dde2c"
@@ -4220,30 +4314,22 @@ object-copy@^0.1.0:
4314
define-property "^0.2.5"
4315
kind-of "^3.0.3"
4316
4223
-object-keys@^1.0.10, object-keys@^1.0.8:
4224
- version "1.0.11"
4225
- resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d"
4226
-
4227
-object-keys@^1.0.11:
4317
+object-keys@^1.0.11, object-keys@^1.0.12:
4318
version "1.1.1"
4319
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
4320
integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
4321
4322
+object-keys@^1.0.8:
4323
+ version "1.0.11"
4324
+ resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d"
4325
+
4326
object-visit@^1.0.0:
4327
version "1.0.1"
4328
resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
4329
dependencies:
4330
isobject "^3.0.0"
4331
4238
-object.assign@^4.0.4:
4239
- version "4.0.4"
4240
- resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.0.4.tgz#b1c9cc044ef1b9fe63606fc141abbb32e14730cc"
4241
- dependencies:
4242
- define-properties "^1.1.2"
4243
- function-bind "^1.1.0"
4244
- object-keys "^1.0.10"
4245
-
4246
-object.assign@^4.1.0:
4332
+object.assign@^4.0.4, object.assign@^4.1.0:
4333
version "4.1.0"
4334
resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da"
4335
integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==
@@ -4374,6 +4460,13 @@ p-try@^1.0.0:
4460
version "1.0.0"
4461
resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
4462
4463
+parent-module@^1.0.0:
4464
+ version "1.0.1"
4465
+ resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
4466
+ integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
4467
+ dependencies:
4468
+ callsites "^3.0.0"
4469
+
4470
parse-diff@^0.4.0:
4471
version "0.4.0"
4472
resolved "https://registry.yarnpkg.com/parse-diff/-/parse-diff-0.4.0.tgz#9ce35bcce8fc0b7c58f46d71113394fc0b4982dd"
@@ -4442,13 +4535,10 @@ path-is-absolute@^1.0.0, path-is-absolute@^1.0.1:
4535
version "1.0.1"
4536
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
4537
4445
-path-is-inside@^1.0.1, path-is-inside@^1.0.2:
4446
- version "1.0.2"
4447
- resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
4448
-
4449
-path-key@^2.0.0:
4538
+path-key@^2.0.0, path-key@^2.0.1:
4539
version "2.0.1"
4540
resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
4541
+ integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
4542
4543
path-parse@^1.0.5:
4544
version "1.0.5"
@@ -4505,10 +4595,6 @@ plugin-error@^0.1.2:
4595
arr-union "^2.0.1"
4596
extend-shallow "^1.1.2"
4597
4508
-pluralize@^7.0.0:
4509
- version "7.0.0"
4510
- resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777"
4511
-
4598
pn@^1.1.0:
4599
version "1.1.0"
4600
resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb"
@@ -4659,7 +4745,7 @@ read-pkg@^1.0.0:
4745
normalize-package-data "^2.3.2"
4746
path-type "^1.0.0"
4747
4662
-readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2:
4748
+readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5:
4749
version "2.3.6"
4750
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
4751
dependencies:
@@ -4711,6 +4797,11 @@ regex-not@^1.0.0, regex-not@^1.0.2:
4797
extend-shallow "^3.0.2"
4798
safe-regex "^1.1.0"
4799
4800
+regexpp@^2.0.1:
4801
+ version "2.0.1"
4802
+ resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f"
4803
+ integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==
4804
+
4805
remove-trailing-separator@^1.0.1:
4806
version "1.1.0"
4807
resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
@@ -4809,27 +4900,21 @@ require-main-filename@^1.0.1:
4900
version "1.0.1"
4901
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
4902
4812
-require-uncached@^1.0.3:
4813
- version "1.0.3"
4814
- resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3"
4815
- dependencies:
4816
- caller-path "^0.1.0"
4817
- resolve-from "^1.0.0"
4818
-
4903
resolve-cwd@^2.0.0:
4904
version "2.0.0"
4905
resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a"
4906
dependencies:
4907
resolve-from "^3.0.0"
4908
4825
-resolve-from@^1.0.0:
4826
- version "1.0.1"
4827
- resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
4828
-
4909
resolve-from@^3.0.0:
4910
version "3.0.0"
4911
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
4912
4913
+resolve-from@^4.0.0:
4914
+ version "4.0.0"
4915
+ resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
4916
+ integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
4917
+
4918
resolve-url@^0.2.1:
4919
version "0.2.1"
4920
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
@@ -4872,7 +4957,14 @@ right-align@^0.1.1:
4957
dependencies:
4958
align-text "^0.1.1"
4959
4875
-rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1:
4960
+rimraf@2.6.3:
4961
+ version "2.6.3"
4962
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
4963
+ integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
4964
+ dependencies:
4965
+ glob "^7.1.3"
4966
+
4967
+rimraf@^2.5.4, rimraf@^2.6.1:
4968
version "2.6.2"
4969
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"
4970
dependencies:
@@ -4956,22 +5048,19 @@ run-async@^2.2.0:
5048
dependencies:
5049
is-promise "^2.1.0"
5050
4959
-rx-lite-aggregates@^4.0.8:
4960
- version "4.0.8"
4961
- resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be"
4962
- dependencies:
4963
- rx-lite "*"
4964
-
4965
-rx-lite@*, rx-lite@^4.0.8:
4966
- version "4.0.8"
4967
- resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444"
4968
-
5051
rxjs@^5.5.6:
5052
version "5.5.6"
5053
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.6.tgz#e31fb96d6fd2ff1fd84bcea8ae9c02d007179c02"
5054
dependencies:
5055
symbol-observable "1.0.1"
5056
5057
+rxjs@^6.4.0:
5058
+ version "6.5.2"
5059
+ resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.2.tgz#2e35ce815cd46d84d02a209fb4e5921e051dbec7"
5060
+ integrity sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg==
5061
+ dependencies:
5062
+ tslib "^1.9.0"
5063
+
5064
safe-buffer@^5.0.1:
5065
version "5.1.2"
5066
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
@@ -5021,6 +5110,11 @@ scheduler@^0.11.0:
5110
version "5.5.0"
5111
resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
5112
5113
+semver@^6.1.2:
5114
+ version "6.3.0"
5115
+ resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
5116
+ integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
5117
+
5118
set-blocking@^2.0.0, set-blocking@~2.0.0:
5119
version "2.0.0"
5120
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
@@ -5074,10 +5168,13 @@ slash@^2.0.0:
5168
resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44"
5169
integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==
5170
5077
-slice-ansi@1.0.0:
5078
- version "1.0.0"
5079
- resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d"
5171
+slice-ansi@^2.1.0:
5172
+ version "2.1.0"
5173
+ resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636"
5174
+ integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==
5175
dependencies:
5176
+ ansi-styles "^3.2.0"
5177
+ astral-regex "^1.0.0"
5178
is-fullwidth-code-point "^2.0.0"
5179
5180
snapdragon-node@^2.0.1:
@@ -5245,6 +5342,15 @@ string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1:
5342
is-fullwidth-code-point "^2.0.0"
5343
strip-ansi "^4.0.0"
5344
5345
+string-width@^3.0.0:
5346
+ version "3.1.0"
5347
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
5348
+ integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
5349
+ dependencies:
5350
+ emoji-regex "^7.0.1"
5351
+ is-fullwidth-code-point "^2.0.0"
5352
+ strip-ansi "^5.1.0"
5353
+
5354
string_decoder@~1.1.1:
5355
version "1.1.1"
5356
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
@@ -5267,6 +5373,13 @@ strip-ansi@^4.0.0:
5373
dependencies:
5374
ansi-regex "^3.0.0"
5375
5376
+strip-ansi@^5.1.0, strip-ansi@^5.2.0:
5377
+ version "5.2.0"
5378
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
5379
+ integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
5380
+ dependencies:
5381
+ ansi-regex "^4.1.0"
5382
+
5383
strip-bom-string@^0.1.2:
5384
version "0.1.2"
5385
resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-0.1.2.tgz#9c6e720a313ba9836589518405ccfb88a5f41b9c"
@@ -5285,6 +5398,11 @@ strip-eof@^1.0.0:
5398
version "1.0.0"
5399
resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
5400
5401
+strip-json-comments@^3.0.1:
5402
+ version "3.0.1"
5403
+ resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7"
5404
+ integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==
5405
+
5406
strip-json-comments@~2.0.1:
5407
version "2.0.1"
5408
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
@@ -5324,16 +5442,15 @@ symbol-tree@^3.2.2:
5442
version "3.2.2"
5443
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6"
5444
5327
-table@^4.0.1:
5328
- version "4.0.2"
5329
- resolved "https://registry.yarnpkg.com/table/-/table-4.0.2.tgz#a33447375391e766ad34d3486e6e2aedc84d2e36"
5445
+table@^5.2.3:
5446
+ version "5.4.5"
5447
+ resolved "https://registry.yarnpkg.com/table/-/table-5.4.5.tgz#c8f4ea2d8fee08c0027fac27b0ec0a4fe01dfa42"
5448
+ integrity sha512-oGa2Hl7CQjfoaogtrOHEJroOcYILTx7BZWLGsJIlzoWmB2zmguhNfPJZsWPKYek/MgCxfco54gEi31d1uN2hFA==
5449
dependencies:
5331
- ajv "^5.2.3"
5332
- ajv-keywords "^2.1.0"
5333
- chalk "^2.1.0"
5334
- lodash "^4.17.4"
5335
- slice-ansi "1.0.0"
5336
- string-width "^2.1.1"
5450
+ ajv "^6.10.2"
5451
+ lodash "^4.17.14"
5452
+ slice-ansi "^2.1.0"
5453
+ string-width "^3.0.0"
5454
5455
tar-fs@^1.8.1:
5456
version "1.16.0"
@@ -5385,9 +5502,10 @@ testcheck@^1.0.0-rc:
5502
version "1.0.0-rc.2"
5503
resolved "https://registry.yarnpkg.com/testcheck/-/testcheck-1.0.0-rc.2.tgz#11356a25b84575efe0b0857451e85b5fa74ee4e4"
5504
5388
-text-table@~0.2.0:
5505
+text-table@^0.2.0:
5506
version "0.2.0"
5507
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
5508
+ integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
5509
5510
throat@^4.0.0:
5511
version "4.1.0"
@@ -5486,9 +5604,10 @@ trim-right@^1.0.1:
5604
version "1.0.1"
5605
resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
5606
5489
-tryit@^1.0.1:
5490
- version "1.0.3"
5491
- resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb"
5607
+tslib@^1.9.0:
5608
+ version "1.10.0"
5609
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a"
5610
+ integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==
5611
5612
tunnel-agent@^0.6.0:
5613
version "0.6.0"
@@ -5510,10 +5629,6 @@ type-check@~0.3.2:
5629
dependencies:
5630
prelude-ls "~1.1.2"
5631
5513
-typedarray@^0.0.6:
5514
- version "0.0.6"
5515
- resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
5516
-
5632
typescript@~1.8.10:
5633
version "1.8.10"
5634
resolved "https://registry.yarnpkg.com/typescript/-/typescript-1.8.10.tgz#b475d6e0dff0bf50f296e5ca6ef9fbb5c7320f1e"
@@ -5567,6 +5682,13 @@ upath@^1.1.1:
5682
resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068"
5683
integrity sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==
5684
5685
+uri-js@^4.2.2:
5686
+ version "4.2.2"
5687
+ resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"
5688
+ integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==
5689
+ dependencies:
5690
+ punycode "^2.1.0"
5691
+
5692
urix@^0.1.0:
5693
version "0.1.0"
5694
resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
@@ -5596,6 +5718,11 @@ uuid@^3.0.0, uuid@^3.1.0:
5718
version "3.2.1"
5719
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14"
5720
5721
+v8-compile-cache@^2.0.3:
5722
+ version "2.1.0"
5723
+ resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e"
5724
+ integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==
5725
+
5726
validate-npm-package-license@^3.0.1:
5727
version "3.0.3"
5728
resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz#81643bcbef1bdfecd4623793dc4648948ba98338"
@@ -5751,9 +5878,10 @@ write-file-atomic@^2.1.0:
5878
imurmurhash "^0.1.4"
5879
signal-exit "^3.0.2"
5880
5754
-write@^0.2.1:
5755
- version "0.2.1"
5756
- resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757"
5881
+write@1.0.3:
5882
+ version "1.0.3"
5883
+ resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3"
5884
+ integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==
5885
dependencies:
5886
mkdirp "^0.5.1"
5887