Skip to content

next-contentlayer should have contentlayer as peerDependency #447

Description

@kerwanp

Issue

The package next-contentlayer has a constraints system to ensure that same versions for next-contentlayer and contentlayer are installed.

At the build time it will run require(contentlayer/package.json).version which result in Error: next-contentlayer tried to access contentlayer when using latest Yarn version

Workaround

By using the packageExtensions configuration in .yarnrc.yml we can actually define ourself peerDependencies of dependent packages:

packageExtensions:
  'next-contentlayer@*':
    peerDependencies:
      'contentlayer': '*'

Versions

Yarn: v3.5.1
contentlayer: v0.3.1
next-contentlayer: v0.3.1
next: v13.3.4

Complete error

docs:build: > Build error occurred
docs:build: Error: next-contentlayer tried to access contentlayer, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.
docs:build: 
docs:build: Required package: contentlayer (via "contentlayer/package.json")
docs:build: Required by: next-contentlayer@virtual:ba56dc173c7ece72e1480aefcd1d10cda16[29](https://github.com/kerwanp/notion-render/actions/runs/4874086636/jobs/8694558349#step:5:30)de2daa7f61b603fae838675c08883d872a9392eb3e84cc5[30](https://github.com/kerwanp/notion-render/actions/runs/4874086636/jobs/8694558349#step:5:31)eed79a8c2786d69c2798b8351fc0bd584f41a8d550#npm:0.3.1 (via /home/runner/work/notion-render/notion-render/.yarn/__virtual__/next-contentlayer-virtual-9ee7926468/0/cache/next-contentlayer-npm-0.3.1-3684bca467-c18922951a.zip/node_modules/next-contentlayer/dist/)
docs:build: 
docs:build: Require stack:
docs:build: - /home/runner/work/notion-render/notion-render/.yarn/__virtual__/next-contentlayer-virtual-9ee7926468/0/cache/next-contentlayer-npm-0.3.1-3684bca467-c18922951a.zip/node_modules/next-contentlayer/dist/check-constraints.js
docs:build:     at require$$0.Module._resolveFilename (/home/runner/work/notion-render/notion-render/.pnp.cjs:20868:13)
docs:build:     at /home/runner/work/notion-render/notion-render/.yarn/__virtual__/next-virtual-fcd7735f2b/0/cache/next-npm-13.3.4-25a697b4ce-ed3a2e39a2.zip/node_modules/next/dist/server/require-hook.js:108:36
docs:build:     at require$$0.Module._load (/home/runner/work/notion-render/notion-render/.pnp.cjs:20718:42)
docs:build:     at Module.require (node:internal/modules/cjs/loader:1141:19)
docs:build:     at require (node:internal/modules/cjs/helpers:110:18)
docs:build:     at getPackageVersion (file:///home/runner/work/notion-render/notion-render/.yarn/__virtual__/next-contentlayer-virtual-9ee7926468/0/cache/next-contentlayer-npm-0.3.1-3684bca467-c18922951a.zip/node_modules/next-contentlayer/dist/check-constraints.js:27:44)
docs:build:     at checkContentlayerVersionsMatch (file:///home/runner/work/notion-render/notion-render/.yarn/__virtual__/next-contentlayer-virtual-9ee7926468/0/cache/next-contentlayer-npm-0.3.1-3684bca467-c18922951a.zip/node_modules/next-contentlayer/dist/check-constraints.js:16:33)
docs:build:     at checkConstraints (file:///home/runner/work/notion-render/notion-render/.yarn/__virtual__/next-contentlayer-virtual-9ee7926468/0/cache/next-contentlayer-npm-0.3.1-3684bca467-c18922951a.zip/node_modules/next-contentlayer/dist/check-constraints.js:4:5)
docs:build:     at Object.redirects (/home/runner/work/notion-render/notion-render/.yarn/__virtual__/next-contentlayer-virtual-9ee7926468/0/cache/next-contentlayer-npm-0.3.1-3684bca467-c18922951a.zip/node_modules/next-contentlayer/dist/index-cjs.cjs:[31](https://github.com/kerwanp/notion-render/actions/runs/4874086636/jobs/8694558349#step:5:32):17)
docs:build:     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
docs:build: ERROR: command finished with error: command (/home/runner/work/notion-render/notion-render/apps/docs) yarn run build exited (1)

Activity

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

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions