Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot find module 'node:process' #598

Open
fynmm opened this issue Jan 2, 2025 · 2 comments
Open

Cannot find module 'node:process' #598

fynmm opened this issue Jan 2, 2025 · 2 comments
Labels
bug Something isn't working

Comments

@fynmm
Copy link

fynmm commented Jan 2, 2025

Describe the bug
I write a demo, and it uses npx patch-package is-number, then Cannot find module 'node:process'

  • Environment: Node.js 14.7.0
  • yaml: 2.7.0

To Reproduce
1.create a folder dds
2.npm init -y
3.npm install patch-package then the version of node_modules/yaml is 2.7.0
4. modify node_modules/isarray/index.js

var toString = {}.toString;

module.exports = Array.isArray || function (arr) {
  console.log(111);
  return toString.call(arr) == '[object Array]';
};

  1. npx patch-package isarray and then Cannot find module 'node:process'
    image

  2. if I npm install [email protected],it's ok.

image

  1. if I change the node's version nvm use v16.18.0 it is also ok;

image

look the node_modules/patch-package/package.json, we can find that patch-package dependences "yaml": "^2.2.2".

So I think the [email protected] is not support the node 14.7.0.Before you publish the tag 2.7.0, it works well.

@fynmm fynmm added the bug Something isn't working label Jan 2, 2025
@nondanee
Copy link

nondanee commented Jan 2, 2025

https://nodejs.org/api/modules.html#built-in-modules

prefix only supports node 14.18.0 or newer

@eemeli
Copy link
Owner

eemeli commented Jan 2, 2025

Yeah, the engines.node dependency should be updated to >= 14.18. Previously the minimum was in practice Node.js 14.6, as that introduces private method support.

I should also come up with a better expression for execution environment compatibility. Maybe something along these lines?

Execution environments that have reached end-of-life are only supported with the latest extended support release.

So e.g. Node.js would only be guaranteed support for 14.21.3, unless yet another release of it is made.

Node.js 14 EOL was in April 2023, and its earliest supported version (14.18.0) was released in September 2021. I think requiring an update to at least that is a reasonable request, and so the changes in yaml 2.7.0 should not be considered breaking. Essentially, if you're using an out-of-date version of an EOL'd engine, it's not reasonable to expect all package updates to "just work".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants