Skip to content

clientModule occurs error #46

@ydhn

Description

@ydhn
TypeError: Invalid enum value: length
    at Object.get  /dist/generated/backend/client/runtime/library.js:129:966)
    at isArrayLike  /node_modules/lodash/isArrayLike.js:30:42)
    at keysIn  /node_modules/lodash/keysIn.js:29:10)
    at /node_modules/lodash/_createBaseFor.js:12:17
    at baseMerge  /node_modules/lodash/_baseMerge.js:24:3)
    at baseMergeDeep  /node_modules/lodash/_baseMergeDeep.js:88:5)
    at /node_modules/lodash/_baseMerge.js:27:7
    at /node_modules/lodash/_createBaseFor.js:17:11
    at baseMerge  /node_modules/lodash/_baseMerge.js:24:3)
    at baseMergeDeep  /node_modules/lodash/_baseMergeDeep.js:88:5)
    at /node_modules/lodash/_baseMerge.js:27:7
    at /node_modules/lodash/_createBaseFor.js:17:11
    at baseMerge  /node_modules/lodash/_baseMerge.js:24:3)
    at baseMergeDeep  /node_modules/lodash/_baseMergeDeep.js:88:5)
    at /node_modules/lodash/_baseMerge.js:27:7
    at /node_modules/lodash/_createBaseFor.js:17:11
    at baseMerge  /node_modules/lodash/_baseMerge.js:24:3)
    at baseMergeDeep  /node_modules/lodash/_baseMergeDeep.js:88:5)
    at /node_modules/lodash/_baseMerge.js:27:7
    at /node_modules/lodash/_createBaseFor.js:17:11
    at baseMerge  /node_modules/lodash/_baseMerge.js:24:3)
    at baseMergeDeep  /node_modules/lodash/_baseMergeDeep.js:88:5)
    at /node_modules/lodash/_baseMerge.js:27:7
    at /node_modules/lodash/_createBaseFor.js:17:11
    at baseMerge  /node_modules/lodash/_baseMerge.js:24:3)
    at baseMergeDeep  /node_modules/lodash/_baseMergeDeep.js:88:5)
    at /node_modules/lodash/_baseMerge.js:27:7
    at /node_modules/lodash/_createBaseFor.js:17:11
    at baseMerge  /node_modules/lodash/_baseMerge.js:24:3)
    at /node_modules/lodash/merge.js:36:3
    at /node_modules/lodash/_createAssigner.js:30:9
    at apply  /node_modules/lodash/_apply.js:15:25)
    at /node_modules/lodash/_overRest.js:32:12
    at new AdminJS (file:/ /node_modules/adminjs/lib/adminjs.js:72:20)

I tried to use clientModule (Custom Prisma Client) but if so, errors occured in this line:
https://github.com/SoftwareBrothers/adminjs/blob/8b7c19e/src/adminjs.ts#L114

I think some miscellaneous things in the Prisma module is not properly handled by the lodash merge.
What I found to workaround is not trying to do like README instructed:

// Not working
{
  resource: { 
    model: getModelByName('Profile', PrismaModule), 
    client: prisma, 
    clientModule: PrismaModule,
  },
}

but this:

// Working
{
  resource: { 
    model: getModelByName('Profile', { Prisma: { dmmf: PrismaModule.Prisma.dmmf } }), 
    client: prisma, 
    clientModule: { Prisma: { dmmf: PrismaModule.Prisma.dmmf } } 
  },
}

I think clientModule should not include everything Prisma gives. I can write a PR to rewrite from clientModule to customDmmf. What do maintainers think?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions