Skip to content

Workspace with auto-install-peers throwing unhandled error (Cannot convert undefined or null to object) #4796

@dapuicon

Description

@dapuicon

pnpm version: 7.1.5

Code to reproduce the issue:

git clone https://github.com/dapuicon/pnpm-workspace-error.git
pnpm i

.pnpm-debug.log

{
  "0 debug pnpm:scope": {
    "selected": 2,
    "total": 2,
    "workspacePrefix": "C:\\Users\\user\\Desktop\\pnpm-workspace-error"
  },
  "1 debug pnpm:package-manifest": {
    "initial": {
      "name": "core",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "dependencies": {
        "eslint-config-react-app": "^7.0.1"
      },
      "keywords": [],
      "author": "",
      "license": "ISC"
    },
    "prefix": "C:\\Users\\user\\Desktop\\pnpm-workspace-error\\packages\\core"
  },
  "2 debug pnpm:package-manifest": {
    "initial": {
      "name": "container",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "dependencies": {
        "core": "workspace: *"
      },
      "keywords": [],
      "author": "",
      "license": "ISC"
    },
    "prefix": "C:\\Users\\user\\Desktop\\pnpm-workspace-error\\apps\\container"
  },
  "3 debug pnpm:context": {
    "currentLockfileExists": false,
    "storeDir": "C:\\Users\\user\\AppData\\Local\\pnpm\\store\\v3",
    "virtualStoreDir": "C:\\Users\\user\\Desktop\\pnpm-workspace-error\\node_modules\\.pnpm"
  },
  "4 debug pnpm:stage": {
    "prefix": "C:\\Users\\user\\Desktop\\pnpm-workspace-error",
    "stage": "resolution_started"
  },
  "5 debug pnpm:_dependency_resolved": {
    "resolution": "link:../../packages/core",
    "wanted": {
      "dependentId": "apps/container",
      "name": "core",
      "rawSpec": "workspace: *"
    }
  },
  "6 error pnpm": {
    "err": {
      "name": "pnpm",
      "message": "Cannot convert undefined or null to object",
      "stack": "pnpm: Cannot convert undefined or null to object\n    at Function.entries (<anonymous>)\n    at mergePkgsDeps (C:\\Users\\user\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:116171:44)\n    at resolveDependencies (C:\\Users\\user\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:116144:33)\n    at async C:\\Users\\user\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:116691:47\n    at async Promise.all (index 1)\n    at async default_1 (C:\\Users\\user\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:116661:7)\n    at async default_1 (C:\\Users\\user\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:117814:133)\n    at async _installInContext (C:\\Users\\user\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:120367:238)\n    at async installInContext (C:\\Users\\user\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:120631:16)\n    at async _install (C:\\Users\\user\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:120232:25)"
    }
  }
}

Expected behavior:

Install all dependencies, including peerDependencies and link local packages.

Actual behavior: Unhandled error

Additional information:

Setting auto-install-peers=false in .npmrc makes process work.

  • node -v prints: v16.15.0
  • Windows

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions