Skip to content

TypeError [ERR_INVALID_ARG_TYPE]: The "superCtor.prototype" property must be of type object. Received undefined #488

Description

@btakita

When using rollup without vite...the following error occurs on pnpm install:

TypeError [ERR_INVALID_ARG_TYPE]: The "superCtor.prototype" property must be of type object. Received undefined
│     at new NodeError (node:internal/errors:387:5)
│     at inherits (node:util:243:11)
│     at Object.<anonymous> (/home/brian/project/node_modules/.pnpm/bl@5.0.0/node_modules/bl/bl.js:36:1)
│     at Module._compile (node:internal/modules/cjs/loader:1126:14)
│     at Object.Module._extensions..js (node:internal/modules/cjs/loader:1180:10)
│     at Module.load (node:internal/modules/cjs/loader:1004:32)
│     at Function.Module._load (node:internal/modules/cjs/loader:839:12)
│     at Module.require (node:internal/modules/cjs/loader:1028:19)
│     at require (node:internal/modules/cjs/helpers:102:18)
│     at Object.<anonymous> (/home/brian/project/node_modules/.pnpm/tar-stream@2.2.0/node_modules/tar-stream/extract.
│   code: 'ERR_INVALID_ARG_TYPE'

Note that I use .pnpmfile.cjs to alias readable-stream with vite-compatible-readable-stream. I don't see an issues tab with https://github.com/exogee-technology/readable-stream, so I'm raising the issue here. Hopefully the circular dependency with readable-stream will be fixed so the vite-compatible-readable-stream fork would not be necessary.

function readPackage(pkg) {
  if (pkg.dependencies && pkg.dependencies['readable-stream']) {
    pkg.dependencies['readable-stream'] = 'npm:vite-compatible-readable-stream@latest'
  }
  return pkg
}

module.exports = {
  hooks: {
    readPackage
  }
}

Activity

  1. mcollina commented on Sep 11, 2022

    @mcollina
    SponsorMember

    Thanks for reporting. You can just use this module. Its version 4 has the circular dependency fixed.

    If you still have the problem after upgrading, can you provide steps to reproduce? We often need a reproducible example, e.g. some code that allows someone else to recreate your problem by just copying and pasting it. If it involves more than a couple of different file, create a new repository on GitHub and add a link to that.

    For any other bugs in vite-compatible-readable-stream, please contact their maintainers.
    Thanks for reporting!

  2. AtiX commented on Oct 19, 2022

    @AtiX

    I'm trying to use readable-stream with rollup and still run into the circular dependency issue, as version 4.2.0 in fact still has a circular dependency (here <-> here, for example) which then causes problems when using readable-stream in the bundle.

    The rollup output complains about the circular dependencies:

    Circular dependency: node_modules/readable-stream/lib/internal/streams/duplex.js -> node_modules/readable-stream/lib/internal/streams/readable.js -> node_modules/readable-stream/lib/internal/streams/duplex.js
    Circular dependency: node_modules/readable-stream/lib/internal/streams/duplex.js -> node_modules/readable-stream/lib/internal/streams/writable.js -> node_modules/readable-stream/lib/internal/streams/duplex.js
    Circular dependency: node_modules/readable-stream/lib/internal/streams/duplex.js -> node_modules/readable-stream/lib/internal/streams/duplexify.js -> node_modules/readable-stream/lib/internal/streams/duplex.js
    

    which then, when attempting to use the (bundled) code, gives me the error

    Class extends value undefined is not a constructor or null
    

    where I assume that rollup resolved DuplexStream to undefined due to rollups handling of the circular dependency.

  3. luiscastro193 commented on Sep 14, 2023

    @luiscastro193

    Atix is right. Rollup bundles fail due to circular dependencies.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions