feat(node-builtins): add support data for Node.js 22.20–22.21 and 24.0–24.12#496
Conversation
|
I am starting to think this needs something like: |
1df60bc to
e6d7a58
Compare
2745abf to
a3d9c4d
Compare
…mport.meta.dirname and import.meta.filename These properties were added as experimental in v21.2.0 and v20.11.0, and stabilised in v22.16.0 (LTS backport) and v24.0.0. Node 23.x never received the stabilisation backport. Previously all four versions were lumped into `supported`, causing false negatives for users on v21.2.0–v22.15.x and v23.x (treated as stable when they are only experimental). BREAKING CHANGE: Users on v21.2.0–v22.15.x and v23.x will now receive a `not-supported-till` error instead of no error. Use `allowExperimental: true` to restore the previous behaviour on those versions. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
I think we need to mark this as breaking.
Extracting doc info: {
META_DIRNAME='
.properties
| map(select((.name == "meta") or (.textRaw? | contains("`meta`"))))[]
| .properties
| map(select((.name == "dirname") or (.textRaw? | contains("`dirname`"))))[]
'
for major in $(seq 18 25); do
echo "latest-v$major";
curl -sS "https://nodejs.org/docs/latest-v$major.x/api/esm.json" | jq "$META_DIRNAME"
done
}Checking node for the properties existance: {
for major in $(seq 18 25); do
for version in $(npm --silent exec --yes -- n lsr --quiet --all "$major" | cut -f1,2 -d'.' | uniq | sort -V); do
result=$(volta run --node=$version node --input-type=module --eval 'try { console.info(Boolean(import.meta.dirname)) } catch (_) { console.info(false) }' 2>&1 | head -1)
echo "$version -> $result"
done
done
} |
I don't really get it—it seems like it just added support for new Node.js features, right? |
I mean this commit: 1a924a2
experimental: ["21.2.0", "20.11.0"],Before they were supported: ["21.2.0", "20.11.0"], |
| [READ]: { supported: ["0.3.4"] }, | ||
| [CALL]: { deprecated: ["24.2.0"] }, |
There was a problem hiding this comment.
Taking #359 into account, how did you decide to keep READ as supported, but deprecate CALL?
There was a problem hiding this comment.
This is because only the call signature is deprecated, you can still use the Agent etc 👀
The specific PR was nodejs/node#58518
|
@copilot resolve the merge conflicts in this pull request |
Updates the built-in support/experimental version data to cover new Node.js releases: