File tree Expand file tree Collapse file tree 2 files changed +18
-0
lines changed
packages/react-scripts/config Expand file tree Collapse file tree 2 files changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -17,6 +17,7 @@ const HtmlWebpackPlugin = require('html-webpack-plugin');
17
17
const CaseSensitivePathsPlugin = require ( 'case-sensitive-paths-webpack-plugin' ) ;
18
18
const InterpolateHtmlPlugin = require ( 'react-dev-utils/InterpolateHtmlPlugin' ) ;
19
19
const WatchMissingNodeModulesPlugin = require ( 'react-dev-utils/WatchMissingNodeModulesPlugin' ) ;
20
+ const ModuleScopePlugin = require ( 'react-dev-utils/ModuleScopePlugin' ) ;
20
21
const getClientEnvironment = require ( './env' ) ;
21
22
const paths = require ( './paths' ) ;
22
23
@@ -117,6 +118,14 @@ module.exports = {
117
118
// https://www.smashingmagazine.com/2016/08/a-glimpse-into-the-future-with-react-native-for-web/
118
119
'react-native' : 'react-native-web' ,
119
120
} ,
121
+ plugins : [
122
+ // Prevents users from importing files from outside of src/ (or node_modules/).
123
+ // This often causes confusion because we only process files within src/ with babel.
124
+ // To fix this, we prevent you from importing files out of src/ -- if you'd like to,
125
+ // please link the files into your node_modules/ and let module-resolution kick in.
126
+ // Make sure your source files are compiled, as they will not be processed in any way.
127
+ new ModuleScopePlugin ( paths . appSrc , [ paths . appPackageJson ] ) ,
128
+ ] ,
120
129
} ,
121
130
module : {
122
131
strictExportPresence : true ,
Original file line number Diff line number Diff line change @@ -18,6 +18,7 @@ const ExtractTextPlugin = require('extract-text-webpack-plugin');
18
18
const ManifestPlugin = require ( 'webpack-manifest-plugin' ) ;
19
19
const InterpolateHtmlPlugin = require ( 'react-dev-utils/InterpolateHtmlPlugin' ) ;
20
20
const SWPrecacheWebpackPlugin = require ( 'sw-precache-webpack-plugin' ) ;
21
+ const ModuleScopePlugin = require ( 'react-dev-utils/ModuleScopePlugin' ) ;
21
22
const paths = require ( './paths' ) ;
22
23
const getClientEnvironment = require ( './env' ) ;
23
24
@@ -121,6 +122,14 @@ module.exports = {
121
122
// https://www.smashingmagazine.com/2016/08/a-glimpse-into-the-future-with-react-native-for-web/
122
123
'react-native' : 'react-native-web' ,
123
124
} ,
125
+ plugins : [
126
+ // Prevents users from importing files from outside of src/ (or node_modules/).
127
+ // This often causes confusion because we only process files within src/ with babel.
128
+ // To fix this, we prevent you from importing files out of src/ -- if you'd like to,
129
+ // please link the files into your node_modules/ and let module-resolution kick in.
130
+ // Make sure your source files are compiled, as they will not be processed in any way.
131
+ new ModuleScopePlugin ( paths . appSrc , [ paths . appPackageJson ] ) ,
132
+ ] ,
124
133
} ,
125
134
module : {
126
135
strictExportPresence : true ,
You can’t perform that action at this time.
0 commit comments