unjs / defu

🌊 Assign default properties recursively
MIT License
1.06k stars 22 forks source link

Backward compatible CJS default export #110

Closed fadedhero closed 1 year ago

fadedhero commented 1 year ago

Environment

node v18.17.1 defu v.6.1.2 nuxt 2.17.2

Reproduction

Any Nuxt2 project above version 2.17.1

Describe the bug

With Nuxt v2.17.1 the package webpack-dev-middleware has been pinned to "5.0.0". This has a peer dependency of webpack ^5.0.0.

With webpack5 comes named imports. I can see in version 6.0.0 that you switched to named imports. Apparantly there is still an issue in this package with named imports.

This is the error message I get in the console, when I start a nuxt2 project: defu_WEBPACK_IMPORTED_MODULE_3__ is not a function.

Which means there is still an import type error in the newer version.

Additional context

This seems not to happen however when I start the project in PS, but only through a cmd

Logs

No response

pi0 commented 1 year ago

Hi. If you would like to help on adding backward CJS compatibility, we need to create an entry like this: https://github.com/unjs/destr/blob/main/lib/index.cjs

If it is clear enough how to do it, feel free to make a PR 👍🏼 fixed in https://github.com/unjs/defu/commit/3c8c880eee53eda1d278ae98ccbdb2cdfaf13eec