Skip to content

Commit 7a2f756

Browse files
committed
example of how to solve facebook#1752 with a custom loader
1 parent db008e6 commit 7a2f756

File tree

3 files changed

+22
-4
lines changed

3 files changed

+22
-4
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
'use strict';
2+
3+
const eslintLoader = require('eslint-loader')
4+
const loaderUtils = require("loader-utils")
5+
6+
function eslintLoaderWatchPackageJson() {
7+
const { packageJsonPath } = loaderUtils.getOptions(this)
8+
if (packageJsonPath) {
9+
this.addDependency(packageJsonPath)
10+
}
11+
12+
return eslintLoader.apply(this, arguments)
13+
}
14+
15+
module.exports = eslintLoaderWatchPackageJson

packages/react-dev-utils/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,11 @@
3030
"babel-code-frame": "6.20.0",
3131
"chalk": "1.1.3",
3232
"escape-string-regexp": "1.0.5",
33+
"eslint-loader": "1.6.3",
3334
"filesize": "3.3.0",
3435
"gzip-size": "3.0.0",
3536
"html-entities": "1.2.0",
37+
"loader-utils": "1.0.2",
3638
"opn": "4.0.2",
3739
"recursive-readdir": "2.1.1",
3840
"sockjs-client": "1.1.2",

packages/react-scripts/config/webpack.config.dev.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -118,14 +118,15 @@ module.exports = {
118118
enforce: 'pre',
119119
use: [
120120
{
121-
// @remove-on-eject-begin
122-
// Point ESLint to our predefined config.
123121
options: {
122+
packageJsonPath: paths.appPackageJson,
123+
// @remove-on-eject-begin
124+
// Point ESLint to our predefined config.
124125
configFile: path.join(__dirname, '../eslintrc'),
125126
useEslintrc: false,
127+
// @remove-on-eject-end
126128
},
127-
// @remove-on-eject-end
128-
loader: 'eslint-loader',
129+
loader: 'react-dev-utils/eslint-loader-watch-package-json',
129130
},
130131
],
131132
include: paths.appSrc,

0 commit comments

Comments
 (0)