You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When creating a fresh yarn project and then your first js lib, the js lib generation fails when yarn is set to use pnp. Upon reverting to node-modules nodeLinker, it works fine.
the tldr is that yarn nx g @nx/js:lib packages/foo --directory=packages/foo --bundler=tsc --strict=true --config=workspace when requesting eslint and jest results in:
Fetching @nx/eslint...
NX @nx/js tried to access @nx/eslint, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.
Required package: @nx/eslint (via "@nx/eslint/src/generators/utils/eslint-file")
Required by: @nx/js@virtual:125919fd1d1aa3e78dfd5781e4f57126e8d004810c5a3b52e7f0747a0b9b663fd19749894b1f3e9c7edd3f82b692feac44c3c171824113fc14578468118561e8#npm:20.1.4 (via .../.yarn/berry/cache/@nx-js-npm-20.1.4-4886d677f1-10c0.zip/node_modules/@nx/js/src/generators/library/)
Expected Behavior
yarn nx g @nx/js:lib should work regardless of nodeLinker being set to node-modules or pnp
GitHub Repo
No response
Steps to Reproduce
yarn create nx-workspace --preset=ts --interactive --workspaceType=package-based --pm=yarn
select: prettier, no CI, no remote caching
cd<whatever name you chooes>
cat <<'EOF' >> .gitignore# https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored.pnp.*.yarn/*!.yarn/patches!.yarn/plugins!.yarn/releases!.yarn/sdks!.yarn/versionsEOF
git rm .yarn/install-state.gz
git clean -fX -d
# this is the killer lineecho"nodeLinker: pnp"> .yarnrc.yml
yarn
yarn nx g @nx/js:lib packages/foo --directory=packages/foo --bundler=tsc --strict=true --config=workspace
select: eslint and jest as the choices
$ yarn nx g @nx/js:lib packages/foo --directory=packages/foo --bundler=tsc --strict=true --config=workspace
NX Generating @nx/js:library
✔ Which linter would you like to use? · eslint
✔ Which unit test runner would you like to use? · jest
Fetching @nx/eslint...
NX @nx/js tried to access @nx/eslint, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.Required package: @nx/eslint (via "@nx/eslint/src/generators/utils/eslint-file")Required by: @nx/js@virtual:125919fd1d1aa3e78dfd5781e4f57126e8d004810c5a3b52e7f0747a0b9b663fd19749894b1f3e9c7edd3f82b692feac44c3c171824113fc14578468118561e8#npm:20.1.4 (via ...@nx-js-virtual-11e251092f/4/.../.yarn/berry/cache/@nx-js-npm-20.1.4-4886d677f1-10c0.zip/node_modules/@nx/js/src/generators/library/)Require stack:- /tmp/fail/blah/.yarn/__virtual__/@nx-js-virtual-11e251092f/4/.../.yarn/berry/cache/@nx-js-npm-20.1.4-4886d677f1-10c0.zip/node_modules/@nx/js/src/generators/library/library.js- /tmp/fail/blah/.yarn/unplugged/nx-virtual-a7567943e4/node_modules/nx/src/config/schema-utils.js- /tmp/fail/blah/.yarn/unplugged/nx-virtual-a7567943e4/node_modules/nx/src/command-line/run/executor-utils.js- /tmp/fail/blah/.yarn/unplugged/nx-virtual-a7567943e4/node_modules/nx/src/devkit-internals.js- /tmp/fail/blah/.yarn/unplugged/nx-virtual-a7567943e4/node_modules/nx/src/utils/assert-workspace-validity.js- /tmp/fail/blah/.yarn/unplugged/nx-virtual-a7567943e4/node_modules/nx/src/project-graph/build-project-graph.js- /tmp/fail/blah/.yarn/unplugged/nx-virtual-a7567943e4/node_modules/nx/src/project-graph/project-graph.js- /tmp/fail/blah/.yarn/unplugged/nx-virtual-a7567943e4/node_modules/nx/src/project-graph/file-utils.js- /tmp/fail/blah/.yarn/unplugged/nx-virtual-a7567943e4/node_modules/nx/src/utils/package-manager.js- /tmp/fail/blah/.yarn/unplugged/nx-virtual-a7567943e4/node_modules/nx/src/utils/package-json.js- /tmp/fail/blah/.yarn/unplugged/nx-virtual-a7567943e4/node_modules/nx/bin/nx.jsPass --verbose to see the stacktrace.
We can salvage this and get success by reverting to nodeLinker: node-modules as seen here:
git clean -fX -d
echo "nodeLinker: node-modules" > .yarnrc.yml
yarn
yarn nx g @nx/js:lib packages/foo --directory=packages/foo --bundler=tsc --strict=true --config=workspace
select: eslint, jest
...results in success
Nx Report
*** note *** even nx report fails with similar errors when pnp is on
*** note *** even nx report fails with similar errors when pnp is on
*** note *** even nx report fails with similar errors when pnp is on
see below forline like: Error: Your application tried to access jsonc-eslint-parser, but it isn't declaredin your dependencies; this makes the require call ambiguous and unsound.
-------
NX Report complete - copy this into the issue template
Node : 23.2.0
OS : linux-x64
Native Target : x86_64-linux
yarn : 4.5.3
nx : 20.1.4
@nx/js : 20.1.4
@nx/jest : 20.1.4
@nx/eslint : 20.1.4
@nx/eslint-plugin : 20.1.4
typescript : 5.5.4
---------------------------------------
Registered Plugins:
@nx/js/typescript
@nx/eslint/plugin
@nx/jest/plugin
---------------------------------------
⚠️ Unable to construct project graph.
Failed to process project graph. Run "nx reset" to fix this. Please report the issue if you keep seeing it.
Failed to process project graph. Run "nx reset" to fix this. Please report the issue if you keep seeing it.
An error occurred while processing files for the @nx/eslint/plugin plugin.
- packages/foo/eslint.config.js: Your application tried to access jsonc-eslint-parser, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. Required package: jsonc-eslint-parser Required by: /tmp/fail/blah/packages/foo/ Require stack: - /tmp/fail/blah/packages/foo/eslint.config.js Error: Your application tried to access jsonc-eslint-parser, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound.
Required package: jsonc-eslint-parser
Required by: /tmp/fail/blah/packages/foo/
Require stack:
- /tmp/fail/blah/packages/foo/eslint.config.js
at require$$0.Module._resolveFilename (/tmp/fail/blah/.pnp.cjs:15082:13)
at Function.<anonymous> (node:internal/modules/cjs/loader:1068:27)
at require$$0.Module._load (/tmp/fail/blah/.pnp.cjs:14973:31)
at TracingChannel.traceSync (node:diagnostics_channel:322:14)
at wrapModuleLoad (node:internal/modules/cjs/loader:219:24)
at Module.require (node:internal/modules/cjs/loader:1329:12)
at require (node:internal/modules/helpers:136:16)
at Object.<anonymous> (/tmp/fail/blah/packages/foo/eslint.config.js:16:15)
at Module._compile (node:internal/modules/cjs/loader:1550:14)
at Object.<anonymous> (node:internal/modules/cjs/loader:1702:10)
An error occurred while processing files for the @nx/jest/plugin plugin.
- packages/foo/jest.config.ts: ● Validation Error:
Module @nx/jest/plugins/resolver in the resolver option was not found.
<rootDir> is: /tmp/fail/blah/packages/foo
Configuration Documentation:
https://jestjs.io/docs/configuration
Error: ● Validation Error:
Module @nx/jest/plugins/resolver in the resolver option was not found.
<rootDir> is: /tmp/fail/blah/packages/foo
Configuration Documentation:
https://jestjs.io/docs/configuration
Current Behavior
Ubuntu 24.10.01
Node v23.2.0
Yarn 4.5.3
Npm 10.9.0
When creating a fresh yarn project and then your first js lib, the js lib generation fails when yarn is set to use
pnp
. Upon reverting to node-modules nodeLinker, it works fine.the tldr is that
yarn nx g @nx/js:lib packages/foo --directory=packages/foo --bundler=tsc --strict=true --config=workspace
when requesting eslint and jest results in:Expected Behavior
yarn nx g @nx/js:lib
should work regardless of nodeLinker being set tonode-modules
orpnp
GitHub Repo
No response
Steps to Reproduce
We can salvage this and get success by reverting to
nodeLinker: node-modules
as seen here:Nx Report
Failure Logs
Package Manager Version
Ubuntu 24.10.01 Node v23.2.0 Yarn 4.5.3 npm 10.9.0
Operating System
Additional Information
No response
The text was updated successfully, but these errors were encountered: