Search code examples
npmwebpackvaadinvaadin14

Vaadin 14 application failed to build frontend after update to npm 7.20.6


After npm was updated to 7.20.6 I cannot build my Vaadin app anymore.

It gives following error:

   Insufficient number of arguments or no entry found.

   Alternatively, run 'webpack(-cli) --help' for usage info.

   Hash: 4deef033da9d3a9fa458

   Version: webpack 4.42.0

  Time: 31ms

  Built at: 08/16/2021 5:02:34 PM

  ERROR in Entry module not found:            Error: Can't resolve 'babel-loader'   in '/srv/github/***/yalsee/_work/yalsee/yalsee/frontend'
  
  ERROR in Entry module not found: Error: Can't resolve 'babel-loader' in '/srv/github/***/yalsee/_work/yalsee/yalsee/frontend'

But I have nothing that uses/imports this babel-loader in frontend folder.

I tried with Vaadin 14.5.3 and 14.6.8

Both gave me same result.


Solution

  • As this issue has not come up yet we will need to investigate why NPM 7.20.6 would impact the build like this.

    As a workaround you should add to the vaadin-plugin the configuration block:

    <configuration>
      <requireHomeNodeExec>true</requireHomeNodeExec>
    </configuration>
    

    This forces the usage of a framework installed version that is known to work. More documentation on the maven plugin goals can be found here