@samitouri / QOS-React-2 / commits / 0bd0c5269f

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