Support for npm 5 package-lock.json
          #10
        
          
      
                
     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.
  
    
  
    
npm 5 dramatically changes
npm installbehavior by using a deterministic lock file. Unfortunately, this causes the modules installed bynpm install --only=devto be erased before the build. So, create-react-app's build process stops working!This changeset revises the order of installation to
dependenciesfirst, thendevDependencies, and it forces npm to ignore the lock file (using the--no-shrinkwrapflag) fordevDependencies.It comes at the price of, when
package-lock.jsonis present, removing & reinstalling all devDependencies on each deploy.Another solution is to manually move
react-scripts(& other devDeps required for build) to the productiondependenciesinpackage.json.