webpack-contrib/copy-webpack-plugin

Plugin no longer works after globby@v12 upgrade

oliversalzburg opened this issue · 2 comments

Bug report

Actual Behavior

When I run my build, I get errors about globby not being available.

<e> [webpack-dev-middleware] HookWebpackError: Cannot find package 'globby' imported from /home/oliver/fairmanager/core-web3/.yarn/__virtual__/copy-webpack-plugin-virtual-37fb08cdc8/0/cache/copy-webpack-plugin-npm-10.1.0-6cf83299bd-ba746a314e.zip/node_modules/copy-webpack-plugin/dist/index.js
<e> Did you mean to import globby-npm-12.0.2-6be2a4aac6-f474ced866.zip/node_modules/globby/index.js?
<e>     at makeWebpackError (/home/oliver/fairmanager/core-web3/.yarn/__virtual__/webpack-virtual-d1adc7d468/0/cache/webpack-npm-5.65.0-da658c1b49-221ab8ccd4.zip/node_modules/webpack/lib/HookWebpackError.js:48:9)
<e>     at /home/oliver/fairmanager/core-web3/.yarn/__virtual__/webpack-virtual-d1adc7d468/0/cache/webpack-npm-5.65.0-da658c1b49-221ab8ccd4.zip/node_modules/webpack/lib/Compilation.js:3055:12
<e>     at eval (eval at create (/home/oliver/fairmanager/core-web3/.yarn/cache/tapable-npm-2.2.1-8cf5ff3039-3b7a1b4d86.zip/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:147:1)
<e>     at /home/oliver/fairmanager/core-web3/.yarn/__virtual__/webpack-virtual-d1adc7d468/0/cache/webpack-npm-5.65.0-da658c1b49-221ab8ccd4.zip/node_modules/webpack/lib/Compilation.js:508:26
<e>     at /home/oliver/fairmanager/core-web3/.yarn/__virtual__/copy-webpack-plugin-virtual-37fb08cdc8/0/cache/copy-webpack-plugin-npm-10.1.0-6cf83299bd-ba746a314e.zip/node_modules/copy-webpack-plugin/dist/index.js:713:13
<e>     at runMicrotasks (<anonymous>)
<e>     at processTicksAndRejections (node:internal/process/task_queues:96:5)
<e> -- inner error --
<e> Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'globby' imported from /home/oliver/fairmanager/core-web3/.yarn/__virtual__/copy-webpack-plugin-virtual-37fb08cdc8/0/cache/copy-webpack-plugin-npm-10.1.0-6cf83299bd-ba746a314e.zip/node_modules/copy-webpack-plugin/dist/index.js
<e> Did you mean to import globby-npm-12.0.2-6be2a4aac6-f474ced866.zip/node_modules/globby/index.js?
<e>     at new NodeError (node:internal/errors:371:5)
<e>     at packageResolve (node:internal/modules/esm/resolve:819:9)
<e>     at moduleResolve (node:internal/modules/esm/resolve:864:18)
<e>     at Loader.defaultResolve [as _resolve] (node:internal/modules/esm/resolve:978:11)
<e>     at Loader.resolve (node:internal/modules/esm/loader:89:40)
<e>     at Loader.getModuleJob (node:internal/modules/esm/loader:242:28)
<e>     at Loader.import (node:internal/modules/esm/loader:177:28)
<e>     at importModuleDynamically (node:internal/modules/cjs/loader:1041:29)
<e>     at importModuleDynamicallyWrapper (node:internal/vm/module:437:21)
<e>     at importModuleDynamically (node:vm:381:43)
<e> caused by plugins in Compilation.hooks.processAssets

Expected Behavior

I expect files being copied from A to B instead of a console full of error messages. This expectation was met with v9 of the plugin.

How Do We Reproduce?

https://github.com/oliversalzburg/cwpglobby

Please paste the results of npx webpack-cli info here, and mention other relevant information

  System:
    OS: Linux 5.10 Ubuntu 20.04.3 LTS (Focal Fossa)
    CPU: (12) x64 Intel(R) Core(TM) i7-6850K CPU @ 3.60GHz
    Memory: 54.15 GB / 62.71 GB
  Binaries:
    Node: 16.8.0 - /tmp/xfs-f60dd932/node
    Yarn: 3.1.1 - /tmp/xfs-f60dd932/yarn
    npm: 7.21.0 - ~/.nvm/versions/node/v16.8.0/bin/npm

Please open an issue in yarn, we use import() for loading ESM globby, we can't fix it here, sorry

Updating to Yarn 3 (specifically, 3.3.0) fixed the issue for us, as that version of Yarn has support for ESM 🙂