Skip to content
GitLab
Explore
Projects
Groups
Snippets
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Meta
create-react-app
Commits
a7f9016b
Commit
a7f9016b
authored
8 years ago
by
Dan Abramov
Committed by
GitHub
8 years ago
Browse files
Options
Download
Email Patches
Plain Diff
Force rebuild after npm install (#349)
Fixes
#186
parent
0dacfe3b
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
config/webpack.config.dev.js
+3
-1
config/webpack.config.dev.js
scripts/eject.js
+2
-1
scripts/eject.js
scripts/utils/WatchMissingNodeModulesPlugin.js
+33
-0
scripts/utils/WatchMissingNodeModulesPlugin.js
with
38 additions
and
2 deletions
+38
-2
config/webpack.config.dev.js
+
3
-
1
View file @
a7f9016b
...
...
@@ -12,6 +12,7 @@ var autoprefixer = require('autoprefixer');
var
webpack
=
require
(
'
webpack
'
);
var
HtmlWebpackPlugin
=
require
(
'
html-webpack-plugin
'
);
var
CaseSensitivePathsPlugin
=
require
(
'
case-sensitive-paths-webpack-plugin
'
);
var
WatchMissingNodeModulesPlugin
=
require
(
'
../scripts/utils/WatchMissingNodeModulesPlugin
'
);
var
paths
=
require
(
'
./paths
'
);
module
.
exports
=
{
...
...
@@ -107,6 +108,7 @@ module.exports = {
new
webpack
.
DefinePlugin
({
'
process.env.NODE_ENV
'
:
'
"development"
'
}),
// Note: only CSS is currently hot reloaded
new
webpack
.
HotModuleReplacementPlugin
(),
new
CaseSensitivePathsPlugin
()
new
CaseSensitivePathsPlugin
(),
new
WatchMissingNodeModulesPlugin
(
paths
.
appNodeModules
)
]
};
This diff is collapsed.
Click to expand it.
scripts/eject.js
+
2
-
1
View file @
a7f9016b
...
...
@@ -44,7 +44,8 @@ prompt(
path
.
join
(
'
scripts
'
,
'
build.js
'
),
path
.
join
(
'
scripts
'
,
'
start.js
'
),
path
.
join
(
'
scripts
'
,
'
utils
'
,
'
chrome.applescript
'
),
path
.
join
(
'
scripts
'
,
'
utils
'
,
'
prompt.js
'
)
path
.
join
(
'
scripts
'
,
'
utils
'
,
'
prompt.js
'
),
path
.
join
(
'
scripts
'
,
'
utils
'
,
'
WatchMissingNodeModulesPlugin.js
'
)
];
// Ensure that the app folder is clean and we won't override any files
...
...
This diff is collapsed.
Click to expand it.
scripts/utils/WatchMissingNodeModulesPlugin.js
0 → 100644
+
33
-
0
View file @
a7f9016b
/**
* Copyright (c) 2015-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*/
// This Webpack plugin ensures `npm install <library>` forces a project rebuild.
// We’re not sure why this isn't Webpack's default behavior.
// See https://github.com/facebookincubator/create-react-app/issues/186.
function
WatchMissingNodeModulesPlugin
(
nodeModulesPath
)
{
this
.
nodeModulesPath
=
nodeModulesPath
;
}
WatchMissingNodeModulesPlugin
.
prototype
.
apply
=
function
(
compiler
)
{
compiler
.
plugin
(
'
emit
'
,
(
compilation
,
callback
)
=>
{
var
missingDeps
=
compilation
.
missingDependencies
;
var
nodeModulesPath
=
this
.
nodeModulesPath
;
// If any missing files are expected to appear in node_modules...
if
(
missingDeps
.
some
(
file
=>
file
.
indexOf
(
nodeModulesPath
)
!==
-
1
))
{
// ...tell webpack to watch node_modules recursively until they appear.
compilation
.
contextDependencies
.
push
(
nodeModulesPath
);
}
callback
();
});
}
module
.
exports
=
WatchMissingNodeModulesPlugin
;
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Explore
Projects
Groups
Snippets