27

I'm getting an error during compilation. It seems to not be happy with the ProgressPlugin in webpack:

/node_modules/webpack/lib/ProgressPlugin.js:205
    compilation.hooks.addEntry.tap("ProgressPlugin", entryAdd);

TypeError: Cannot read property 'tap' of undefined

I know there have been some recent changes with plugins for webpack 4. It seems addEntry, failedEntry, succeedEntry are not in the documentation for compilation hooks - https://webpack.js.org/api/compilation-hooks/ - am I missing something?

My package.json deps:

"amazon-cognito-identity-js": "^2.0.30",
"array-move": "^1.0.0",
"aws-sdk": "^2.352.0",
"babel-loader": "^8.0.4",
"babel-plugin-styled-components": "^1.8.0",
"fuse.js": "^3.3.0",
"grid-styled": "^5.0.2",
"json-cycle": "^1.3.0",
"lodash": "^4.17.11",
"next": "^7.0.2",
"next-routes": "^1.4.2",
"node-fetch": "^2.2.1",
"path-match": "1.2.4",
"rc-time-picker": "^3.4.0",
"react": "^16.6.1",
"react-autocomplete": "^1.8.1",
"react-copy-to-clipboard": "^5.0.1",
"react-day-picker": "^7.2.4",
"react-dom": "^16.6.1",
"react-modal": "^3.6.1",
"react-places-autocomplete": "^6.1.3",
"react-scripts": "^1.1.5",
"react-spinners": "^0.4.7",
"react-stripe-checkout": "^2.6.3",
"react-stripe-elements": "^2.0.1",
"refunk": "^3.0.1",
"styled-system-html": "^2.0.2",
"webpack": "^4.25.1",
"webpack-dev-server": "^3.1.10"
johnpolacek
  • 2,599
  • 2
  • 23
  • 16
  • 3
    you have react-scripts and webpack, so you have 2 webpacks. Please have a look at your node_modules which version of webpack is being installed! It should be > 4.25 – PlayMa256 Nov 09 '18 at 15:02
  • 4
    If I remove webpack 4.25.1 as an explicit dependency, it instead installs webpack 4.19.1 which has a different version of the ProgressPlugin that does not have addEntry, failedEntry, succeedEntry references, and then it compiles fine. Looks like ProgressPlugin was updated just recently with those. – johnpolacek Nov 09 '18 at 16:53
  • 1
    yes, exactly! 2 weeks ago to be exactly. – PlayMa256 Nov 09 '18 at 18:11
  • what is the fix that needs to be done?, i am also getting the same issue – Kuldeep Nov 14 '18 at 16:15

4 Answers4

28

In my case the error was that I put a plugin under resolve.plugins, instead of directly in plugins inside the webpack config. Solution from: https://github.com/webpack/webpack/issues/8548#issuecomment-449829774

Jakub Holý
  • 6,019
  • 3
  • 33
  • 33
18

You have 2 different version of webpack, the one you installed causing it to break.

Don't install webpack your self ( remove it from package.json ), its already installed with next.js

Meabed
  • 3,828
  • 1
  • 27
  • 37
4

This is because of different webpack. try to run this command.

npm install --save-dev webpack@4.44.0
  • 2
    Yes, it worked. Previously i used to get "tap undefined :error" due to improper version specified. Thanks man! – sudhee_bsp Jul 29 '21 at 07:49
1

Kind of an old thread and not necessarily a solution to the question above but I had conflicting packages and solved it by:

  • Revert changes in package-lock.json and package.json
  • run npm ci

It will delete node_modules directory and will install packages with respect your package-lock.json file

he66el
  • 55
  • 5