intuit/auto

@auto-it/core doesn't provide @types/node, requested by ts-node (Yarn install issue)

snebjorn opened this issue · 4 comments

Describe the bug

When installing auto Yarn complains about incorrect peer dependencies because Yarn enforces peer dependencies at every level of the dependency tree

$ yarn add auto
➤ YN0000: ┌ Resolution step
➤ YN0002: │ @auto-it/core@npm:10.43.0 [d4f38] doesn't provide @types/node (pb9b77), requested by ts-node
➤ YN0002: │ @endemolshinegroup/cosmiconfig-typescript-loader@npm:3.0.2 [a0f6b] doesn't provide typescript (p7eafa), requested by ts-node
➤ YN0000: │ Some peer dependencies are incorrectly met; run yarn explain peer-requirements <hash> for details, where <hash> is the six-letter p-prefixed code
➤ YN0000: └ Completed in 2s 946ms

The fix is described here https://yarnpkg.com/advanced/error-codes#yn0002---missing_peer_dependency

Summary:
Auto packages should list peer dependencies of its dependencies as peer dependencies (possibly as an optional dependency)

To Reproduce

  1. yarn add auto
  2. Observe warning(s)

Expected behavior

No warnings when installing auto via Yarn

Environment information:

×  error     No GitHub was found. Make sure it is available on process.env.GH_TOKEN.
Error: GitHub token not found!
    at Auto.loadConfig (~\AppData\Local\Temp\xfs-cfdc91ef\dlx-16456\node_modules\@auto-it\core\src\auto.ts:655:13)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async execute (~\AppData\Local\Temp\xfs-cfdc91ef\dlx-16456\node_modules\auto\src\run.ts:36:5)
    at async Object.runCli (~\AppData\Local\Temp\xfs-cfdc91ef\dlx-16456\node_modules\auto\src\run.ts:146:3)

Additional context

A local workaround (in my case) is to use the following manual overrides

# .yarnrc.yml

nodeLinker: node-modules

packageExtensions:
  auto@*:
    peerDependencies:
      "@types/node": "*"
  "@auto-it/core@*":
    peerDependencies:
      "@types/node": "*"
  "@auto-it/all-contributors@*":
    peerDependencies:
      "@types/node": "*"
  "@auto-it/conventional-commits@*":
    peerDependencies:
      "@types/node": "*"
  "@auto-it/first-time-contributor@*":
    peerDependencies:
      "@types/node": "*"
  "@auto-it/npm@*":
    peerDependencies:
      "@types/node": "*"
  "@auto-it/released@*":
    peerDependencies:
      "@types/node": "*"
  "@auto-it/version-file@*":
    peerDependencies:
      "@types/node": "*"

  "@endemolshinegroup/cosmiconfig-typescript-loader@*":
    peerDependencies:
      "typescript": ">=2.7"

@snebjorn Could you submit a PR?

Yes :)

🚀 Issue was released in v10.45.1 🚀

🚀 Issue was released in v10.45.1 🚀