Skip to content

Commit 3c2f2d4

Browse files
authored
Add import/no-anonymous-default-export lint rule (facebook#8926)
1 parent 4974a20 commit 3c2f2d4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+93
-40
lines changed

packages/eslint-config-react-app/index.js

+1
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,7 @@ module.exports = {
253253
// https://github.com/benmosher/eslint-plugin-import/tree/master/docs/rules
254254
'import/first': 'error',
255255
'import/no-amd': 'error',
256+
'import/no-anonymous-default-export': 'warn',
256257
'import/no-webpack-loader-syntax': 'error',
257258

258259
// https://github.com/yannickcr/eslint-plugin-react/tree/master/docs/rules

packages/react-scripts/fixtures/kitchensink/template/src/absoluteLoad.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@
55
* LICENSE file in the root directory of this source tree.
66
*/
77

8-
export default () => [
8+
const absoluteLoad = () => [
99
{ id: 1, name: '1' },
1010
{ id: 2, name: '2' },
1111
{ id: 3, name: '3' },
1212
{ id: 4, name: '4' },
1313
];
14+
15+
export default absoluteLoad;

packages/react-scripts/fixtures/kitchensink/template/src/features/config/BaseUrl.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import React, { Component } from 'react';
99
import PropTypes from 'prop-types';
1010
import load from 'absoluteLoad';
1111

12-
export default class extends Component {
12+
export default class BaseUrl extends Component {
1313
static propTypes = {
1414
onReady: PropTypes.func.isRequired,
1515
};

packages/react-scripts/fixtures/kitchensink/template/src/features/env/ExpandEnvVariables.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
import React from 'react';
99

10-
export default () => (
10+
const ExpandEnvVariables = () => (
1111
<span>
1212
<span id="feature-expand-env-1">{process.env.REACT_APP_BASIC}</span>
1313
<span id="feature-expand-env-2">{process.env.REACT_APP_BASIC_EXPAND}</span>
@@ -19,3 +19,5 @@ export default () => (
1919
</span>
2020
</span>
2121
);
22+
23+
export default ExpandEnvVariables;

packages/react-scripts/fixtures/kitchensink/template/src/features/env/FileEnvVariables.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
import React from 'react';
99

10-
export default () => (
10+
const FileEnvVariables = () => (
1111
<span>
1212
<span id="feature-file-env-original-1">
1313
{process.env.REACT_APP_ORIGINAL_1}
@@ -22,3 +22,5 @@ export default () => (
2222
<span id="feature-file-env-x">{process.env.REACT_APP_X}</span>
2323
</span>
2424
);
25+
26+
export default FileEnvVariables;

packages/react-scripts/fixtures/kitchensink/template/src/features/env/PublicUrl.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77

88
import React from 'react';
99

10-
export default () => (
10+
const PublicUrl = () => (
1111
<span id="feature-public-url">{process.env.PUBLIC_URL}.</span>
1212
);
13+
14+
export default PublicUrl;

packages/react-scripts/fixtures/kitchensink/template/src/features/env/ShellEnvVariables.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,10 @@
77

88
import React from 'react';
99

10-
export default () => (
10+
const ShellEnvVariables = () => (
1111
<span id="feature-shell-env-variables">
1212
{process.env.REACT_APP_SHELL_ENV_MESSAGE}.
1313
</span>
1414
);
15+
16+
export default ShellEnvVariables;

packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/ArrayDestructuring.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ function load() {
1717
];
1818
}
1919

20-
export default class extends Component {
20+
export default class ArrayDestructuring extends Component {
2121
static propTypes = {
2222
onReady: PropTypes.func.isRequired,
2323
};

packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/ArraySpread.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ function load(users) {
1717
];
1818
}
1919

20-
export default class extends Component {
20+
export default class ArraySpread extends Component {
2121
static propTypes = {
2222
onReady: PropTypes.func.isRequired,
2323
};

packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/AsyncAwait.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ const x = async (
2727
};
2828
/* eslint-enable */
2929

30-
export default class extends Component {
30+
export default class AsyncAwait extends Component {
3131
static propTypes = {
3232
onReady: PropTypes.func.isRequired,
3333
};

packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/ClassProperties.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import React, { Component } from 'react';
99
import PropTypes from 'prop-types';
1010

11-
export default class extends Component {
11+
export default class ClassProperties extends Component {
1212
static propTypes = {
1313
onReady: PropTypes.func.isRequired,
1414
};

packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/ComputedProperties.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ function load(prefix) {
1717
];
1818
}
1919

20-
export default class extends Component {
20+
export default class ComputedProperties extends Component {
2121
static propTypes = {
2222
onReady: PropTypes.func.isRequired,
2323
};

packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/CustomInterpolation.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ function load() {
2424
];
2525
}
2626

27-
export default class extends Component {
27+
export default class CustomInterpolation extends Component {
2828
static propTypes = {
2929
onReady: PropTypes.func.isRequired,
3030
};

packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/DefaultParameters.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ function load(id = 0) {
1717
];
1818
}
1919

20-
export default class extends Component {
20+
export default class DefaultParameters extends Component {
2121
static propTypes = {
2222
onReady: PropTypes.func.isRequired,
2323
};

packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/DestructuringAndAwait.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ async function load() {
1919
};
2020
}
2121

22-
export default class extends Component {
22+
export default class DestructuringAndAwait extends Component {
2323
static propTypes = {
2424
onReady: PropTypes.func.isRequired,
2525
};

packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/Generators.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ function* load(limit) {
1616
}
1717
}
1818

19-
export default class extends Component {
19+
export default class Generators extends Component {
2020
static propTypes = {
2121
onReady: PropTypes.func.isRequired,
2222
};

packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/NullishCoalescing.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ function load() {
1717
];
1818
}
1919

20-
export default class extends Component {
20+
export default class NullishCoalescing extends Component {
2121
static propTypes = {
2222
onReady: PropTypes.func.isRequired,
2323
};

packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/ObjectDestructuring.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ function load() {
1717
];
1818
}
1919

20-
export default class extends Component {
20+
export default class ObjectDestructuring extends Component {
2121
static propTypes = {
2222
onReady: PropTypes.func.isRequired,
2323
};

packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/ObjectSpread.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ function load(baseUser) {
1717
];
1818
}
1919

20-
export default class extends Component {
20+
export default class ObjectSpread extends Component {
2121
static propTypes = {
2222
onReady: PropTypes.func.isRequired,
2323
};

packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/OptionalChaining.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ function load() {
1717
];
1818
}
1919

20-
export default class extends Component {
20+
export default class OptionalChaining extends Component {
2121
static propTypes = {
2222
onReady: PropTypes.func.isRequired,
2323
};

packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/Promises.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ function load() {
1717
]);
1818
}
1919

20-
export default class extends Component {
20+
export default class Promises extends Component {
2121
static propTypes = {
2222
onReady: PropTypes.func.isRequired,
2323
};

packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/RestAndDefault.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ function load({ id, ...rest } = { id: 0, user: { id: 42, name: '42' } }) {
1717
];
1818
}
1919

20-
export default class extends Component {
20+
export default class RestAndDefault extends Component {
2121
static propTypes = {
2222
onReady: PropTypes.func.isRequired,
2323
};

packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/RestParameters.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ function load({ id = 0, ...rest }) {
1717
];
1818
}
1919

20-
export default class extends Component {
20+
export default class RestParameters extends Component {
2121
static propTypes = {
2222
onReady: PropTypes.func.isRequired,
2323
};

packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/TemplateInterpolation.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ function load(name) {
1717
];
1818
}
1919

20-
export default class extends Component {
20+
export default class TemplateInterpolation extends Component {
2121
static propTypes = {
2222
onReady: PropTypes.func.isRequired,
2323
};

packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/CssInclusion.js

+5-1
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,8 @@
88
import React from 'react';
99
import './assets/style.css';
1010

11-
export default () => <p id="feature-css-inclusion">We love useless text.</p>;
11+
const CssInclusion = () => (
12+
<p id="feature-css-inclusion">We love useless text.</p>
13+
);
14+
15+
export default CssInclusion;

packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/CssModulesInclusion.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,13 @@ import React from 'react';
99
import styles from './assets/style.module.css';
1010
import indexStyles from './assets/index.module.css';
1111

12-
export default () => (
12+
const CssModulesInclusion = () => (
1313
<div>
1414
<p className={styles.cssModulesInclusion}>CSS Modules are working!</p>
1515
<p className={indexStyles.cssModulesInclusion}>
1616
CSS Modules with index are working!
1717
</p>
1818
</div>
1919
);
20+
21+
export default CssModulesInclusion;

packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/DynamicImport.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77

88
import React from 'react';
99

10-
export default () => {
10+
const DynamicImport = () => {
1111
return <>Hello World!</>;
1212
};
13+
14+
export default DynamicImport;

packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/ImageInclusion.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
import React from 'react';
99
import tiniestCat from './assets/tiniest-cat.jpg';
1010

11-
export default () => (
11+
const ImageInclusion = () => (
1212
<img id="feature-image-inclusion" src={tiniestCat} alt="tiniest cat" />
1313
);
14+
15+
export default ImageInclusion;

packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/JsonInclusion.js

+5-1
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,8 @@
88
import React from 'react';
99
import { abstract } from './assets/abstract.json';
1010

11-
export default () => <summary id="feature-json-inclusion">{abstract}</summary>;
11+
const JsonInclusion = () => (
12+
<summary id="feature-json-inclusion">{abstract}</summary>
13+
);
14+
15+
export default JsonInclusion;

packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/LinkedModules.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,12 @@ import React from 'react';
99
import './assets/style.css';
1010
import { test, version } from 'test-integrity';
1111

12-
export default () => {
12+
const LinkedModules = () => {
1313
const v = version();
1414
if (!test() || v !== '2.0.0') {
1515
throw new Error('Functionality test did not pass.');
1616
}
1717
return <p id="feature-linked-modules">{v}</p>;
1818
};
19+
20+
export default LinkedModules;

packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/NoExtInclusion.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,10 @@ const text = aFileWithoutExt.includes('base64')
1212
? atob(aFileWithoutExt.split('base64,')[1]).trim()
1313
: aFileWithoutExt;
1414

15-
export default () => (
15+
const NoExtInclusion = () => (
1616
<a id="feature-no-ext-inclusion" href={text}>
1717
aFileWithoutExt
1818
</a>
1919
);
20+
21+
export default NoExtInclusion;

packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/SassInclusion.js

+5-1
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,8 @@
88
import React from 'react';
99
import './assets/sass-styles.sass';
1010

11-
export default () => <p id="feature-sass-inclusion">We love useless text.</p>;
11+
const SassInclusion = () => (
12+
<p id="feature-sass-inclusion">We love useless text.</p>
13+
);
14+
15+
export default SassInclusion;

packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/SassModulesInclusion.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,13 @@ import React from 'react';
99
import styles from './assets/sass-styles.module.sass';
1010
import indexStyles from './assets/index.module.sass';
1111

12-
export default () => (
12+
const SassModulesInclusion = () => (
1313
<div>
1414
<p className={styles.sassModulesInclusion}>SASS Modules are working!</p>
1515
<p className={indexStyles.sassModulesIndexInclusion}>
1616
SASS Modules with index are working!
1717
</p>
1818
</div>
1919
);
20+
21+
export default SassModulesInclusion;

packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/ScssInclusion.js

+5-1
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,8 @@
88
import React from 'react';
99
import './assets/scss-styles.scss';
1010

11-
export default () => <p id="feature-scss-inclusion">We love useless text.</p>;
11+
const ScssInclusion = () => (
12+
<p id="feature-scss-inclusion">We love useless text.</p>
13+
);
14+
15+
export default ScssInclusion;

packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/ScssModulesInclusion.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,13 @@ import React from 'react';
99
import styles from './assets/scss-styles.module.scss';
1010
import indexStyles from './assets/index.module.scss';
1111

12-
export default () => (
12+
const ScssModulesInclusion = () => (
1313
<div>
1414
<p className={styles.scssModulesInclusion}>SCSS Modules are working!</p>
1515
<p className={indexStyles.scssModulesIndexInclusion}>
1616
SCSS Modules with index are working!
1717
</p>
1818
</div>
1919
);
20+
21+
export default ScssModulesInclusion;

packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/SvgComponent.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,12 @@
88
import React from 'react';
99
import { ReactComponent as Logo } from './assets/logo.svg';
1010

11-
export default () => {
11+
const SvgComponent = () => {
1212
return <Logo id="feature-svg-component" />;
1313
};
1414

1515
export const SvgComponentWithRef = React.forwardRef((props, ref) => (
1616
<Logo id="feature-svg-component-with-ref" ref={ref} />
1717
));
18+
19+
export default SvgComponent;
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
import React from 'react';
22
import './assets/svg.css';
33

4-
export default () => <div id="feature-svg-in-css" />;
4+
const SvgInCss = () => <div id="feature-svg-in-css" />;
5+
6+
export default SvgInCss;

packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/SvgInclusion.js

+5-1
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,8 @@
88
import React from 'react';
99
import logo from './assets/logo.svg';
1010

11-
export default () => <img id="feature-svg-inclusion" src={logo} alt="logo" />;
11+
const SvgInclusion = () => (
12+
<img id="feature-svg-inclusion" src={logo} alt="logo" />
13+
);
14+
15+
export default SvgInclusion;

0 commit comments

Comments
 (0)