GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — esm: remove specifier resolution flag by GeoffreyBooth · Pull Request #44859 · nodejs/node

Conversation

@GeoffreyBooth

@GeoffreyBooth GeoffreyBooth commented Oct 2, 2022

Copy link
Copy Markdown
Member

This removes the --experimental-specifier-resolution flag. The loaders team has been planning on removing this as soon as it became possible to replicate the behavior via a custom loader, and today it is: https://github.com/nodejs/loaders-test/tree/main/commonjs-extension-resolution-loader. That loader passes the same tests as the flag’s tests from the Node codebase. This PR both removes the flag and adds a reference to that loader to the docs.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

JakobJingleheimer, ljharb, tonivj5, bricss, shrujalshah28, vjpr, kachkaev, and Eejit43 reacted with thumbs up emoji romap0 reacted with thumbs down emoji JakobJingleheimer, tonivj5, bricss, hybrist, and dnalborczyk reacted with hooray emoji romap0 reacted with confused emoji bricss, ArtemKha, and o-az reacted with heart emoji bricss, dnalborczyk, and gugiserman reacted with rocket emoji
All reactions
  • 👍 8 reactions
  • 👎 1 reaction
  • 🎉 5 reactions
  • 😕 1 reaction
  • ❤️ 3 reactions
  • 🚀 3 reactions
@GeoffreyBooth GeoffreyBooth added module Issues and PRs related to the module subsystem. esm Issues and PRs related to the ECMAScript Modules implementation. loaders Issues and PRs related to ES module loaders. labels Oct 2, 2022
@GeoffreyBooth
GeoffreyBooth requested review from JakobJingleheimer and aduh95 October 2, 2022 03:28
@nodejs-github-bot

nodejs-github-bot commented Oct 2, 2022

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/modules
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@nodejs-github-bot nodejs-github-bot added lib / src Issues and PRs involving general changes in the lib/ or src/ directories. needs-ci PRs that need a full CI run. labels Oct 2, 2022
JakobJingleheimer
JakobJingleheimer approved these changes Oct 2, 2022
View reviewed changes

@JakobJingleheimer JakobJingleheimer left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@Trott

Trott commented Oct 2, 2022

Copy link
Copy Markdown
Member

@GeoffreyBooth I imagine this is either semver major because it removes a flag and might break some folks, or else semver minor because the flag is for an experimental feature so a breaking change there is OK but it now introduces a new stable/non-experimental feature. Assuming I'm not completely misguided, can you apply the right semver- label to this PR?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

aduh95
aduh95 approved these changes Oct 2, 2022
View reviewed changes
@aduh95 aduh95 added experimental Issues and PRs related to experimental features. dont-land-on-v14.x labels Oct 2, 2022
@aduh95

aduh95 commented Oct 2, 2022

Copy link
Copy Markdown
Contributor

I imagine this is either semver major because it removes a flag and might break some folks, or else semver minor because the flag is for an experimental feature so a breaking change there is OK but it now introduces a new stable/non-experimental feature. Assuming I'm not completely misguided, can you apply the right semver- label to this PR?

@Trott since this is experimental, I think no semver label should be added (although I might be wrong on that?), but since we don't want to break that relies on the flag (they shouldn't), I've added dont-land- labels to ensure this doesn't land on any current or LTS release line, and only lands on v19.x. Does that make sense?

Trott and ljharb reacted with thumbs up emoji
All reactions
  • 👍 2 reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@Trott Trott added the notable-change PRs with changes that should be highlighted in changelogs. label Oct 2, 2022
@GeoffreyBooth
GeoffreyBooth force-pushed the remove-experimental-specifier-resolution branch from 2f0a90a to 7b0f9d0 Compare October 2, 2022 04:18
@GeoffreyBooth

GeoffreyBooth commented Oct 2, 2022

Copy link
Copy Markdown
Member Author

I’ve added dont-land- labels to ensure this doesn’t land on any current or LTS release line, and only lands on v19.x. Does that make sense?

I think @aduh95 has it right, but I defer to others on what the proper procedure is per our policy. I thought experimental features could disappear at any time and it wouldn’t be semver-major or minor.

We might want to backport this when we backport making the Loaders API stable, but we can revisit that then.

Trott reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

jasnell
jasnell approved these changes Oct 2, 2022
View reviewed changes
@nodejs-github-bot

This comment was marked as outdated.

Sign in to view
@guybedford

guybedford commented Oct 2, 2022

Copy link
Copy Markdown
Contributor

I think this should be a major change. We know that many users are using this flag and it will certainly surprise them and cause them to pin the minor if it is removed in a minor version.

hybrist, ljharb, and shad0w-jo4n reacted with thumbs up emoji
All reactions
  • 👍 3 reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@JakobJingleheimer

JakobJingleheimer commented Oct 2, 2022

Copy link
Copy Markdown
Member

I dunno about policy, but because of its usage I would advocate for major. But we want to land it in 19.0.0 anyway, so no problem regardless?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

hybrist
hybrist approved these changes Oct 2, 2022
View reviewed changes

@hybrist hybrist left a comment

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 on not backporting to earlier major/LTS lines. This is likely a change that needs explicit communication so people can prepare for a version upgrade that removes the flag.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

ljharb reacted with thumbs up emoji
All reactions
  • 👍 1 reaction
guybedford
guybedford approved these changes Oct 2, 2022
View reviewed changes
@ljharb

ljharb commented Oct 2, 2022

Copy link
Copy Markdown
Member

In practice, experimental status hasn’t seemed relevant for anything that’s gained adoption.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@GeoffreyBooth
GeoffreyBooth force-pushed the remove-experimental-specifier-resolution branch from 7b0f9d0 to 53e5e45 Compare October 3, 2022 05:04
@GeoffreyBooth
esm: remove specifier resolution flag
b295148
@GeoffreyBooth
GeoffreyBooth force-pushed the remove-experimental-specifier-resolution branch from 53e5e45 to b295148 Compare October 3, 2022 05:09
@nodejs-github-bot

This comment was marked as outdated.

Sign in to view
RafaelGSS added a commit that referenced this pull request Oct 17, 2022
@RafaelGSS @ruyadorno
2022-10-18, Version 19.0.0 (Current)
cc993fb
Notable Changes:

doc:
  * graduate webcrypto to stable (Filip Skokan) #44897
esm:
  * remove specifier resolution flag (Geoffrey Booth) #44859
http:
  * (SEMVER-MAJOR) use Keep-Alive by default in global agents (Paolo Insogna) #43522
build:
  * (SEMVER-MAJOR) remove dtrace & etw support (Ben Noordhuis) #43652
  * (SEMVER-MAJOR) remove systemtap support (Ben Noordhuis) #43651
deps:
  * (SEMVER-MAJOR) deps: update V8 to 10.7.193.13 (Michaël Zasso) #44741

Deprecation and Removals:

* deprecate url.parse() (Rich Trott) #44919
* (SEMVER-MAJOR) runtime deprecate exports double slash maps (Guy Bedford) #44495
* (SEMVER-MAJOR) runtime deprecate coercion to integer in `process.exit()` (Daeyeon Jeong) #44711

Semver-Major Commits:

* [53f73d1] - (SEMVER-MAJOR) build: enable V8's trap handler on Windows (Michaël Zasso) #44741
* [06aaf8a] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Michaël Zasso) #44741
* [aa3a572] - (SEMVER-MAJOR) build: remove dtrace & etw support (Ben Noordhuis) #43652
* [38f1e27] - (SEMVER-MAJOR) build: remove systemtap support (Ben Noordhuis) #43651
* [2849283] - (SEMVER-MAJOR) crypto: remove non-standard `webcrypto.Crypto.prototype.CryptoKey` (Antoine du Hamel) #42083
* [a1653ac] - (SEMVER-MAJOR) crypto: do not allow to call setFips from the worker thread (Sergey Petushkov) #43624
* [fd36a8d] - (SEMVER-MAJOR) deps: update llhttp to 8.1.0 (Paolo Insogna) #44967
* [89ecddd] - (SEMVER-MAJOR) deps: bump minimum ICU version to 71 (Michaël Zasso) #44741
* [66fe446] - (SEMVER-MAJOR) deps: V8: cherry-pick 0cccb6f27d78 (Michaël Zasso) #44741
* [88ed027] - (SEMVER-MAJOR) deps: V8: cherry-pick 7ddb8399f9f1 (Michaël Zasso) #44741
* [26c651c] - (SEMVER-MAJOR) deps: V8: cherry-pick 1b3a4f0c34a1 (Michaël Zasso) #44741
* [c8ff2df] - (SEMVER-MAJOR) deps: V8: cherry-pick b161a0823165 (Michaël Zasso) #44741
* [7a8fa2d] - (SEMVER-MAJOR) deps: fix V8 build on Windows with MSVC (Michaël Zasso) #44741
* [83b0aaa] - (SEMVER-MAJOR) deps: fix V8 build on SmartOS (Michaël Zasso) #44741
* [7a952e8] - (SEMVER-MAJOR) deps: silence irrelevant V8 warning (Michaël Zasso) #44741
* [6bd756d] - (SEMVER-MAJOR) deps: update V8 to 10.7.193.13 (Michaël Zasso) #44741
* [03fb789] - (SEMVER-MAJOR) events: add null check for the signal of EventTarget (Masashi Hirano) #43153
* [a4fa526] - (SEMVER-MAJOR) fs: add directory autodetection to fsPromises.symlink() (Livia Medeiros) #42894
* [bb4891d] - (SEMVER-MAJOR) fs: add validateBuffer to improve error (Hirotaka Tagawa / wafuwafu13) #44769
* [950a441] - (SEMVER-MAJOR) fs: remove coercion to string in writing methods (Livia Medeiros) #42796
* [41a6d82] - (SEMVER-MAJOR) fs: harden fs.readSync(buffer, options) typecheck (LiviaMedeiros) #42772
* [2275faa] - (SEMVER-MAJOR) fs: harden fs.read(params, callback) typecheck (LiviaMedeiros) #42772
* [29953a0] - (SEMVER-MAJOR) fs: harden filehandle.read(params) typecheck (LiviaMedeiros) #42772
* [4267b92] - (SEMVER-MAJOR) http: use Keep-Alive by default in global agents (Paolo Insogna) #43522
* [0324529] - (SEMVER-MAJOR) inspector: introduce inspector/promises API (Erick Wendel) #44250
* [8027099] - (SEMVER-MAJOR) lib: enable global CustomEvent by default (Daeyeon Jeong) #44860
* [f529f73] - (SEMVER-MAJOR) lib: brand check event handler property receivers (Chengzhong Wu) #44483
* [6de2673] - (SEMVER-MAJOR) lib: enable global WebCrypto by default (Antoine du Hamel) #42083
* [73ba883] - (SEMVER-MAJOR) lib: use private field in AbortController (Joyee Cheung) #43820
* [7dd2f41] - (SEMVER-MAJOR) module: runtime deprecate exports double slash maps (Guy Bedford) #44495
* [22c39b1] - (SEMVER-MAJOR) path: the dot will be added(path.format) if it is not specified in `ext` (theanarkh) #44349
* [587367d] - (SEMVER-MAJOR) perf_hooks: expose webperf global scope interfaces (Chengzhong Wu) #44483
* [364c0e1] - (SEMVER-MAJOR) perf_hooks: fix webperf idlharness (Chengzhong Wu) #44483
* [ada2d05] - (SEMVER-MAJOR) process: runtime deprecate coercion to integer in `process.exit()` (Daeyeon Jeong) #44711
* [e0ab8dd] - (SEMVER-MAJOR) process: make process.config read only (Sergey Petushkov) #43627
* [481a959] - (SEMVER-MAJOR) readline: remove `question` method from `InterfaceConstructor` (Antoine du Hamel) #44606
* [c9602ce] - (SEMVER-MAJOR) src: use new v8::OOMErrorCallback API (Michaël Zasso) #44741
* [19a70c1] - (SEMVER-MAJOR) src: override CreateJob instead of PostJob (Clemens Backes) #44741
* [fd52c62] - (SEMVER-MAJOR) src: use V8_ENABLE_SANDBOX macro (Michaël Zasso) #44741
* [c10988d] - (SEMVER-MAJOR) src: use non-deprecated V8 inspector API (Michaël Zasso) #44741
* [3efe901] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 111 (Michaël Zasso) #44741
* [77e5856] - (SEMVER-MAJOR) src: turn embedder api overload into default argument (Alena Khineika) #43629
* [dabda03] - (SEMVER-MAJOR) src: per-environment time origin value (Chengzhong Wu) #43781
* [2e49b99] - (SEMVER-MAJOR) src,test: disable freezing V8 flags on initialization (Clemens Backes) #44741
* [2b32985] - (SEMVER-MAJOR) stream: use null for the error argument (Luigi Pinca) #44312
* [36805e8] - (SEMVER-MAJOR) test: adapt test-repl for V8 update (Michaël Zasso) #44741
* [96ef257] - (SEMVER-MAJOR) test: adapt test-repl-pretty-*stack to V8 changes (Michaël Zasso) #44741
* [71c193e] - (SEMVER-MAJOR) test: adapt to new JSON SyntaxError messages (Michaël Zasso) #44741
* [b5f1564] - (SEMVER-MAJOR) test: rename always-opt flag to always-turbofan (Michaël Zasso) #44741
* [1acf033] - (SEMVER-MAJOR) test: fix test-hash-seed for new V8 versions (Michaël Zasso) #44741
* [57ff476] - (SEMVER-MAJOR) test: remove duplicate test (Luigi Pinca) #44051
* [77def91] - (SEMVER-MAJOR) tls,http2: send fatal alert on ALPN mismatch (Tobias Nießen) #44031
* [4860ad9] - (SEMVER-MAJOR) tools: update V8 gypfiles for 10.7 (Michaël Zasso) #44741

PR-URL: #44626
Co-authored-by: Ruy Adorno <[email protected]>
RafaelGSS added a commit that referenced this pull request Oct 18, 2022
@RafaelGSS @ruyadorno
2022-10-18, Version 19.0.0 (Current)
9878c26
Notable Changes:

doc:
  * graduate webcrypto to stable (Filip Skokan) #44897
esm:
  * remove specifier resolution flag (Geoffrey Booth) #44859
http:
  * (SEMVER-MAJOR) use Keep-Alive by default in global agents (Paolo Insogna) #43522
build:
  * (SEMVER-MAJOR) remove dtrace & etw support (Ben Noordhuis) #43652
  * (SEMVER-MAJOR) remove systemtap support (Ben Noordhuis) #43651
deps:
  * (SEMVER-MAJOR) deps: update V8 to 10.7.193.13 (Michaël Zasso) #44741

Deprecation and Removals:

* deprecate url.parse() (Rich Trott) #44919
* (SEMVER-MAJOR) runtime deprecate exports double slash maps (Guy Bedford) #44495
* (SEMVER-MAJOR) runtime deprecate coercion to integer in `process.exit()` (Daeyeon Jeong) #44711

Semver-Major Commits:

* [53f73d1] - (SEMVER-MAJOR) build: enable V8's trap handler on Windows (Michaël Zasso) #44741
* [06aaf8a] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Michaël Zasso) #44741
* [aa3a572] - (SEMVER-MAJOR) build: remove dtrace & etw support (Ben Noordhuis) #43652
* [38f1e27] - (SEMVER-MAJOR) build: remove systemtap support (Ben Noordhuis) #43651
* [2849283] - (SEMVER-MAJOR) crypto: remove non-standard `webcrypto.Crypto.prototype.CryptoKey` (Antoine du Hamel) #42083
* [a1653ac] - (SEMVER-MAJOR) crypto: do not allow to call setFips from the worker thread (Sergey Petushkov) #43624
* [fd36a8d] - (SEMVER-MAJOR) deps: update llhttp to 8.1.0 (Paolo Insogna) #44967
* [89ecddd] - (SEMVER-MAJOR) deps: bump minimum ICU version to 71 (Michaël Zasso) #44741
* [66fe446] - (SEMVER-MAJOR) deps: V8: cherry-pick 0cccb6f27d78 (Michaël Zasso) #44741
* [88ed027] - (SEMVER-MAJOR) deps: V8: cherry-pick 7ddb8399f9f1 (Michaël Zasso) #44741
* [26c651c] - (SEMVER-MAJOR) deps: V8: cherry-pick 1b3a4f0c34a1 (Michaël Zasso) #44741
* [c8ff2df] - (SEMVER-MAJOR) deps: V8: cherry-pick b161a0823165 (Michaël Zasso) #44741
* [7a8fa2d] - (SEMVER-MAJOR) deps: fix V8 build on Windows with MSVC (Michaël Zasso) #44741
* [83b0aaa] - (SEMVER-MAJOR) deps: fix V8 build on SmartOS (Michaël Zasso) #44741
* [7a952e8] - (SEMVER-MAJOR) deps: silence irrelevant V8 warning (Michaël Zasso) #44741
* [6bd756d] - (SEMVER-MAJOR) deps: update V8 to 10.7.193.13 (Michaël Zasso) #44741
* [03fb789] - (SEMVER-MAJOR) events: add null check for the signal of EventTarget (Masashi Hirano) #43153
* [a4fa526] - (SEMVER-MAJOR) fs: add directory autodetection to fsPromises.symlink() (Livia Medeiros) #42894
* [bb4891d] - (SEMVER-MAJOR) fs: add validateBuffer to improve error (Hirotaka Tagawa / wafuwafu13) #44769
* [950a441] - (SEMVER-MAJOR) fs: remove coercion to string in writing methods (Livia Medeiros) #42796
* [41a6d82] - (SEMVER-MAJOR) fs: harden fs.readSync(buffer, options) typecheck (LiviaMedeiros) #42772
* [2275faa] - (SEMVER-MAJOR) fs: harden fs.read(params, callback) typecheck (LiviaMedeiros) #42772
* [29953a0] - (SEMVER-MAJOR) fs: harden filehandle.read(params) typecheck (LiviaMedeiros) #42772
* [4267b92] - (SEMVER-MAJOR) http: use Keep-Alive by default in global agents (Paolo Insogna) #43522
* [0324529] - (SEMVER-MAJOR) inspector: introduce inspector/promises API (Erick Wendel) #44250
* [8027099] - (SEMVER-MAJOR) lib: enable global CustomEvent by default (Daeyeon Jeong) #44860
* [f529f73] - (SEMVER-MAJOR) lib: brand check event handler property receivers (Chengzhong Wu) #44483
* [6de2673] - (SEMVER-MAJOR) lib: enable global WebCrypto by default (Antoine du Hamel) #42083
* [73ba883] - (SEMVER-MAJOR) lib: use private field in AbortController (Joyee Cheung) #43820
* [7dd2f41] - (SEMVER-MAJOR) module: runtime deprecate exports double slash maps (Guy Bedford) #44495
* [22c39b1] - (SEMVER-MAJOR) path: the dot will be added(path.format) if it is not specified in `ext` (theanarkh) #44349
* [587367d] - (SEMVER-MAJOR) perf_hooks: expose webperf global scope interfaces (Chengzhong Wu) #44483
* [364c0e1] - (SEMVER-MAJOR) perf_hooks: fix webperf idlharness (Chengzhong Wu) #44483
* [ada2d05] - (SEMVER-MAJOR) process: runtime deprecate coercion to integer in `process.exit()` (Daeyeon Jeong) #44711
* [e0ab8dd] - (SEMVER-MAJOR) process: make process.config read only (Sergey Petushkov) #43627
* [481a959] - (SEMVER-MAJOR) readline: remove `question` method from `InterfaceConstructor` (Antoine du Hamel) #44606
* [c9602ce] - (SEMVER-MAJOR) src: use new v8::OOMErrorCallback API (Michaël Zasso) #44741
* [19a70c1] - (SEMVER-MAJOR) src: override CreateJob instead of PostJob (Clemens Backes) #44741
* [fd52c62] - (SEMVER-MAJOR) src: use V8_ENABLE_SANDBOX macro (Michaël Zasso) #44741
* [c10988d] - (SEMVER-MAJOR) src: use non-deprecated V8 inspector API (Michaël Zasso) #44741
* [3efe901] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 111 (Michaël Zasso) #44741
* [77e5856] - (SEMVER-MAJOR) src: turn embedder api overload into default argument (Alena Khineika) #43629
* [dabda03] - (SEMVER-MAJOR) src: per-environment time origin value (Chengzhong Wu) #43781
* [2e49b99] - (SEMVER-MAJOR) src,test: disable freezing V8 flags on initialization (Clemens Backes) #44741
* [2b32985] - (SEMVER-MAJOR) stream: use null for the error argument (Luigi Pinca) #44312
* [36805e8] - (SEMVER-MAJOR) test: adapt test-repl for V8 update (Michaël Zasso) #44741
* [96ef257] - (SEMVER-MAJOR) test: adapt test-repl-pretty-*stack to V8 changes (Michaël Zasso) #44741
* [71c193e] - (SEMVER-MAJOR) test: adapt to new JSON SyntaxError messages (Michaël Zasso) #44741
* [b5f1564] - (SEMVER-MAJOR) test: rename always-opt flag to always-turbofan (Michaël Zasso) #44741
* [1acf033] - (SEMVER-MAJOR) test: fix test-hash-seed for new V8 versions (Michaël Zasso) #44741
* [57ff476] - (SEMVER-MAJOR) test: remove duplicate test (Luigi Pinca) #44051
* [77def91] - (SEMVER-MAJOR) tls,http2: send fatal alert on ALPN mismatch (Tobias Nießen) #44031
* [4860ad9] - (SEMVER-MAJOR) tools: update V8 gypfiles for 10.7 (Michaël Zasso) #44741

PR-URL: #44626
Co-authored-by: Ruy Adorno <[email protected]>
@dfabulich dfabulich mentioned this pull request Oct 18, 2022
Create README.md nodejs/loaders-test#13
Merged
@sasakiy84 sasakiy84 mentioned this pull request Oct 19, 2022
loaderAPIの使用 sasakiy84/myblog#1
Open
@usrtax

usrtax commented Oct 21, 2022 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown

how to import ".node" now ?

I try

export const load = async (url, context, defaultLoad) => {   
 return defaultLoad(url, context)
}

will cause TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".node"

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@targos

targos commented Oct 21, 2022

Copy link
Copy Markdown
Member

You can use module.createRequire.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@usrtax

usrtax commented Oct 21, 2022 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown

how to import ".node" now ?

I try

export const load = async (url, context, defaultLoad) => {   
 return defaultLoad(url, context)
}

will cause TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".node"

I fixed this, use @u6x/jsext now can instead of --experimental-specifier-resolution node

fox example #!/usr/bin/env -S node --loader=@u6x/jsext

aduh95 and juniorUsca reacted with thumbs up emoji juniorUsca reacted with hooray emoji juniorUsca reacted with rocket emoji
All reactions
  • 👍 2 reactions
  • 🎉 1 reaction
  • 🚀 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@saisilinus saisilinus mentioned this pull request Nov 23, 2022
App crashing at the very beginning. saisilinus/node-express-mongoose-typescript-boilerplate#32
Closed
@vscheuber vscheuber mentioned this pull request Jan 20, 2023
Support Node 19 rockcarver/frodo-cli#186
Closed
@XiLaiTL

XiLaiTL commented Feb 9, 2023 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown

u6x

It would not work when use npx xxx to use the package, as it would throw the error @u6x/jsext module not found.

The shebang does not seem to support load module

@usrtax

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

vscheuber added a commit to vscheuber/frodo-cli that referenced this pull request Feb 17, 2023
@vscheuber
implement recommendations in nodejs/node#44859
c746d18
@RainEggplant RainEggplant mentioned this pull request Feb 21, 2023
Support Node.js v19 RainEggplant/chatgpt-telegram-bot#14
Closed
@shdq shdq mentioned this pull request Mar 20, 2023
Feature request: build as esmodule aws-powertools/powertools-lambda-typescript#521
Closed
@aduh95 aduh95 mentioned this pull request Apr 22, 2023
Fix typo in --specifier-resolution=[node] #39249
Closed
@AnDuong249 AnDuong249 mentioned this pull request Aug 23, 2023
Move node-cli to be pure ESM, use Conf for persistent storage iTwin/auth-clients#203
Closed
@TrySound

TrySound commented Sep 7, 2023

Copy link
Copy Markdown

Why remove if the replacement doesn't work? resolve package used in mentioned loader does not support "exports" which is used for every single esm package in the wild. Is there an alternative?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@JakobJingleheimer

JakobJingleheimer commented Sep 10, 2023

Copy link
Copy Markdown
Member

@TrySound customisation hooks do support packageJson.exports, so I'm not sure what you're encountering. Could you please provide an example?

p.s. "Why remove" it's been deprecated for over a decade.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@aduh95

aduh95 commented Sep 10, 2023

Copy link
Copy Markdown
Contributor

p.s. "Why remove" it's been deprecated for over a decade.

It's never been deprecated, it has always been experimental. The documentation warns about the use of experimental APIs:

node/doc/api/documentation.md

Lines 31 to 34 in 1022c6f

> Stability: 1 - Experimental. The feature is not subject to
> [semantic versioning][] rules. Non-backward compatible changes or removal may
> occur in any future release. Use of the feature is not recommended in
> production environments.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@TrySound

TrySound commented Sep 10, 2023

Copy link
Copy Markdown

@TrySound customisation hooks do support packageJson.exports, so I'm not sure what you're encountering. Could you please provide an example?

p.s. "Why remove" it's been deprecated for over a decade.

This specific loader does not support "exports"
https://github.com/nodejs/loaders-test/tree/main/commonjs-extension-resolution-loader

See browserify/resolve#224

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@TrySound

TrySound commented Sep 10, 2023 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown

It's never been deprecated, it has always been experimental. The documentation warns about the use of experimental APIs:

I understand this. Though it was handy to have builtin solution. Could be used with shebang. Transitively installed packages cannot be used in shebang which relies on cwd to resolve loader.

Though anyway seems like shebang arguments do not work in linux so no big deal. I switched to bundling and running without loaders.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@HitkoDev HitkoDev mentioned this pull request Sep 15, 2023
Support Node 20+ fgnass/node-dev#303
Open
@bnoordhuis bnoordhuis mentioned this pull request Oct 22, 2023
node 20 segfaults when our loader runs #50280
Closed
@skilbjo skilbjo mentioned this pull request Feb 12, 2024
What should I start doing? barhun/extensionless#5
Closed
@TimJentzsch TimJentzsch mentioned this pull request Apr 1, 2024
Fix module resolution GameFeeder/GameFeeder#614
Merged
1 of 3 tasks
@saicharanmadina saicharanmadina mentioned this pull request Jun 18, 2024
[FEATURE] Add support for NodeJS v20 LTS etherspot/skandha#209
Open
@i-C-o-d-e-r

i-C-o-d-e-r commented Dec 13, 2024

Copy link
Copy Markdown

I checked the latest docs for the command line options of node LTS https://nodejs.org/api/cli.html, but it seems that this PR removed the documentation for the option experimental-specifier-resolution without adding the documentation for its replacement option loader. This makes it difficult to discover.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@coderabbitai coderabbitai Bot mentioned this pull request Feb 5, 2026
feat: support automated hw probe adoption jsdelivr/globalping-dash-directus#151
Merged
@coderabbitai coderabbitai Bot mentioned this pull request Jun 23, 2026
dockerize expo mobile app, reorg project gryphus-lab/swiss-tts-engine#25
Merged
@coderabbitai coderabbitai Bot mentioned this pull request Aug 26, 2026
P2p improve oceanprotocol/ocean-node-bootstrap#6
Merged
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@jasnell jasnell jasnell approved these changes
@hybrist hybrist hybrist approved these changes
@guybedford guybedford guybedford approved these changes
@JakobJingleheimer JakobJingleheimer JakobJingleheimer approved these changes
@aduh95 aduh95 aduh95 approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

author ready PRs with CI started, the required approvals, and no outstanding review comments. esm Issues and PRs related to the ECMAScript Modules implementation. experimental Issues and PRs related to experimental features. lib / src Issues and PRs involving general changes in the lib/ or src/ directories. loaders Issues and PRs related to ES module loaders. module Issues and PRs related to the module subsystem. needs-ci PRs that need a full CI run. notable-change PRs with changes that should be highlighted in changelogs.

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

14 participants

@GeoffreyBooth @nodejs-github-bot @Trott @aduh95 @guybedford @JakobJingleheimer @ljharb @usrtax @targos @XiLaiTL @TrySound @i-C-o-d-e-r @jasnell @hybrist
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.