Skip to content

WatchMissingNodeModulesPlugin.apply typecasting issue #4366

Closed
@krazyjakee

Description

@krazyjakee

Is this a bug report?

Yes this is a bug because WatchMissingNodeModulesPlugin.apply has a typecasting issue.

Did you try recovering your dependencies?

Yes.

Which terms did you search for in User Guide?

I looked for known issues with missingDeps.some and WatchMissingNodeModulesPlugin.

Environment

  1. react-dev-utils@next
  2. node -v: v10.0.0
  3. npm -v: 6.0.0
  4. webpack: 4.6.0
  5. npm ls react-scripts (if you haven’t ejected):
create-react-library@1.1.0 /Users/jacobcattrall/GitHub/create-react-library
└── (empty)
  1. Operating system: OSX

Steps to Reproduce

  1. Require the plugin const WatchMissingNodeModulesPlugin = require('react-dev-utils/WatchMissingNodeModulesPlugin');
  2. Add new WatchMissingNodeModulesPlugin() to the plugin section of your webpack.config.js.
  3. Run the project.

Expected Behavior

Logic would work with the delivered type (Set).

Actual Behavior

Webpack crashes with missingDeps.some is not a function error.

The crash happens at this particular line: https://github.com/facebook/create-react-app/blob/next/packages/react-dev-utils/WatchMissingNodeModulesPlugin.js#L25

missingDeps is a Set

I cannot seem to find documentation on there being a Set.prototype.some function. I wonder if compilation.missingDependencies is supposed to be an array? If so, I simply cannot follow how it became a Set. Can anyone point me in the right direction to debug/fix this issue?

Reproducible Demo

git clone git@github.com:krazyjakee/create-react-library.git
npm i
npm run start

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions