You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
deepmerge_1.default) is not a function (No Webpack) #255
@douglasg14b one common way to fix this if not already done is to import the library like this:
import * as deepmerge from 'deepmerge';
If your code is compiled somehow somewhere, it will basically tell your compiler to expect a CommonJS require and not an ESModule import which would look for a default property added to the deepmerge reference in your code once compiled.
Activity
douglasg14b commentedon Jan 10, 2023
Using the require syntax seems to cause some other issues, with there not being typescript types for it?

ob-aion commentedon Aug 29, 2023
I have the same issue when using
deepmergein a dockerized REST API using NestJS.Using
Is throwing the following error
(0 , deepmerge_1.default) is not a functionAny update on this?
ob-aion commentedon Aug 29, 2023
@douglasg14b one common way to fix this if not already done is to import the library like this:
import * as deepmerge from 'deepmerge';If your code is compiled somehow somewhere, it will basically tell your compiler to expect a CommonJS
requireand not an ESModuleimportwhich would look for adefaultproperty added to thedeepmergereference in your code once compiled.Hope it helped.
jorenbroekema commentedon Dec 19, 2023
This module is CJS-only, see #250 .
As far as I know you can do this in ESM files to import CJS modules, but this only works in NodeJS, not in the browser for example:
Vice versa, in CJS files you can use dynamic imports to asynchronously import ESM, just FYI.
If you have to use this library in the browser and don't want to use bundlers to transform it and complicate your local dev setup that way, you can use my ESM fork of this lib: https://www.npmjs.com/package/@bundled-es-modules/deepmerge (Github repo)