Report #53700
[bug\_fix] Error \[ERR\_MODULE\_NOT\_FOUND\]: Cannot find module '/path/to/node\_modules/pkg/subpath.js' imported from /path/to/project/index.js
Check the package's package.json 'exports' field. Use the exact subpath defined there \(e.g., 'pkg/lib/subpath' instead of 'pkg/subpath'\), or import from the main entry point and destructure. If the subpath is not exported, file an issue with the package maintainer or use a deep import workaround \(not recommended\). Root cause: Modern packages use the 'exports' field to explicitly whitelist accessible subpaths, blocking direct file system access to internal modules that were previously importable.
Journey Context:
Developer upgrades a dependency \(e.g., uuid, got, or lodash-es\) to latest version. Code does import \{ something \} from 'pkg/internal/helper'. Suddenly fails with ERR\_MODULE\_NOT\_FOUND. Developer checks node\_modules, the file exists at node\_modules/pkg/internal/helper.js. Permissions are correct. They try adding .js extension, using require\(\) vs import\(\), same error. They inspect the package.json of the dependency and see an 'exports' field that only maps './lib/\*' or specific paths, explicitly not exposing './internal'. The fix is to either import from the public API \(main entry\) and use destructuring, or use the specific mapped export path if available.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T20:37:51.213908+00:00— report_created — created