create-react-app: doesn't respect .eslintignore

Can you reproduce the problem with latest npm?

yes

Description

create-react-app 1.x doesn’t respect .eslintignore. (It was use to respect it on version 0.9.x).

Expected behavior

Not showing ESLint warning/errors of files in the .eslintignore file

Actual behavior

See warning such as:

Compiled with warnings.

./src/vendor/modernizr.js
  Line 25:   Shadowing of global property 'undefined'     no-shadow-restricted-names
  Line 163:  Do not use Boolean as a constructor          no-new-wrappers
  Line 431:  Unexpected string concatenation of literals  no-useless-concat
  Line 436:  Expected '===' and instead saw '=='          eqeqeq

Search for the keywords to learn more about each warning.
To ignore, add // eslint-disable-next-line to the line before.

Environment

Run these commands in the project folder and fill in their results:

  1. npm ls react-scripts (if you haven’t ejected): react-scripts@1.0.5
  2. node -v: v6.10.0
  3. yarn -v: v0.24.5

Then, specify:

  1. Operating system: OSX Sierra
  2. Browser and version: *

Reproducible Demo

.eslintignore :

vendor/*.js
src/vendor/*.js
src/vendor/vendor.js

src/vendor.js:

(function(undefined) {
  var a = 1;
  var b = a == 1;
  window.$someProp$ = b;
}());

src/index.js:

import "./vendor/vendor.js";

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Comments: 20 (5 by maintainers)

Most upvoted comments

CRA 1.x+ purposely does not support .eslintignore. Sorry!

Please move vendor files into public/ or use a NPM package.

really need .eslintignore for *_pb.js produced by protobuf, is there some workaround now?

I see. If you must opt out, simply add /* eslint-disable */ to the beginning of the file.

package.json "eslintIgnore": ["src/lib/**"]

@sonarforte Hey, Modernizr creates a file which doesn’t play with ES6 module. It uses browser globals. So using it it’s like this:

import "./path/to/modernizr";

const { Modernizr } = window;

@oriSomething I’ve been trying to do this with no luck. I have the output modernizr.js file, but how do I import and then use it in my code?

if I do import Modernizr from 'path/to/modernizr.js', printing Modernizr just shows an empty object.

modernizr@3 unlike previous versions is a package to create the file you’ll import in your project, And not the Modernizrobject itself. So, I can’t use it in the browser in anyway. I can only use it to create the needed file like this:

yarn run modernizr -- -c modernizr-config.json -d 'src/vendor/modernizr.js