-
Notifications
You must be signed in to change notification settings - Fork 12.5k
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
Proposal: modify cli to nudge People to do the right thing in nodejs 19.1+ #51681
Comments
It is definitely a breaking change to remove options or change them silently depending on the underlying runtime. It would also make for a more confusing experience when a user updates their CI or local Node version without realizing that TypeScript will treat their machine differently. |
@DanielRosenwasser ok fair but my current view is they are already broken as there is nothing really working besides hardcoded workarounds like ambient modules by blomberg which would keep working i did a small matrix there would not brake much as you already broke everything via nodeX resolve the basic node resolve + classic maybe would be soft enough that no one even gets a effect other then something works that did not work before. if he is not starting from scratch. But your right we can inject that also on package levels and simply throw out eslint and babel and other ecosystem packages that then know that they are running in typescript + nodejs19 But ok my main job is done your now aware of the fact that typescript loaders now exist and a new plugin system for the resolvers also we can now do chains
|
I have no clue what you’re even trying to say. |
@fatcerberus maybe this gives you a bit more understand able background then the highlevel above |
Preamble as docs are just getting done
--import=module
Preload the specified module at startup.
Follows [ECMAScript module][] resolution rules.
Use [
--require
][] to load a [CommonJS module][].Modules preloaded with
--require
will run before modules preloaded with--import
.Suggestion
🔍 Search Terms
ESM, moduleResolution
✅ Viability Checklist
My suggestion meets these guidelines:
⭐ Suggestion
detect if running in nodejs 19.1 if so drop moduleResolution support complete only keep classic and use require import respectively also inform the user that he should use customModule Resolution loaders via --import and require flags of nodejs 19.1 as 19.1 and onging will not get LTS that is total fine if he runs on such a environment he wants the feature else he would go for LTS.
He can then implement a function that he uses via --require[] --import[] before frozzen intrensics to offer custom module resolution based on what he needs also the resolution is shareAble via IPC or any guess able other Interfaces that a ECMAScript context supplys at present this are implemented as pre started workers
📃 Motivating Example
endless reuseable usecases cross ecosystem drops moduleResolution from typescript scope makes typescript a consumer of a resolver that is context indipedent and agnostic.
so this would nudge Module Authors and make them aware of a solution that solves a lot of his problems at the root cause.
--import
flag nodejs/node#43942closes:
--import
flag nodejs/node#43942exports
outside of Node #50794💻 Use Cases
The text was updated successfully, but these errors were encountered: