This repository has been archived by the owner on Mar 21, 2018. It is now read-only.
Make the additional processes run with stock node #1021
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There are a number of parts to this:
For running and packaging we copy the system node to the lib directory.
We split into two package.json files. The package.json in the app directory
contains only dependencies that can't be webpacked either because of native
code or because webpack isn't clever enough. The top-level package.json
dependencies key contains the other dependencies that are needed by the app code
and can be webpacked. The top-level package.json devDependencies contains any
other dependencies needed by build/test code.
This structure means that app/node_modules contains only the dependencies that
actually ship as-is in the final package. Part of webpack now copies all of that
into the lib directory to be used by the app.
The test test-dependencies replaces test-packages and test-devdeps and does a
thorough verification that other than a few exceptions the above rules are met.
Eslints import plugin isn't smart enough for a two package.json structures so
one of its rules had to be replaced.
All of this means we can get rid of module rebuilding for electron since the
native code now runs in pure node.