-
-
Notifications
You must be signed in to change notification settings - Fork 532
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
[Node 17.5.0] JSON support in ESM no longer requires --experimental-json-modules #1661
Comments
Sounds like a straightforward change, can you send us a pull request? The next version is going to be published soon, we can include it. Might be best to keep the conditional check on versions of node earlier than 17.5.0, so that we're consistent with whatever node version you're running. |
I've scheduled the 10.6.0 release for next Wednesday. If you're able to prepare a PR by then, we can include it in the release. |
@Jamesernator is this something you can send a PR for? We can include it in 10.6.0 which I'd like to release tomorrow. My time is occupied by other tickets. |
I've made the change on a fork, I just need to add a couple tests which I'll do sometime today. |
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [ts-node](https://typestrong.org/ts-node) ([source](https://github.com/TypeStrong/ts-node)) | devDependencies | minor | [`10.6.0` -> `10.7.0`](https://renovatebot.com/diffs/npm/ts-node/10.6.0/10.7.0) | --- ### Release Notes <details> <summary>TypeStrong/ts-node</summary> ### [`v10.7.0`](https://github.com/TypeStrong/ts-node/releases/v10.7.0) [Compare Source](TypeStrong/ts-node@v10.6.0...v10.7.0) Questions about this release? Ask in the official discussion thread: [#​1680](TypeStrong/ts-node#1680) **Added** - Adds `--esm` flag, option, and `ts-node-esm` binary ([#​1258](TypeStrong/ts-node#1258), [#​1655](TypeStrong/ts-node#1655)) - Enables full `esm` support; no need for `--loader` nor `NODE_OPTIONS` - Use shebang `#!/usr/bin/env ts-node-esm`, run `ts-node --esm`, or add to your tsconfig.json: `"ts-node": {"esm": true}` **Changed** - Unflag ESM json modules on node >=17.5.0 ([#​1661](TypeStrong/ts-node#1661), [#​1665](TypeStrong/ts-node#1665)) [@​Jamesernator](https://github.com/Jamesernator) - no longer requires `--experimental-json-modules` - Lazy-load dependencies to improve startup responsiveness. ([#​1676](TypeStrong/ts-node#1676)) **Fixed** - Fixed bug where "compiler", "transpiler", and swc backend would not resolve relative to the tsconfig.json that declared them ([#​1662](TypeStrong/ts-node#1662), [#​1655](TypeStrong/ts-node#1655)) - Enables reusable tsconfig.json shared via node module to include necessary dependencies https://github.com/TypeStrong/ts-node/milestone/11 </details> --- ### Configuration 📅 **Schedule**: At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). Co-authored-by: cabr2-bot <cabr2.help@gmail.com> Reviewed-on: https://codeberg.org/Calciumdibromid/CaBr2/pulls/1200 Reviewed-by: Epsilon_02 <epsilon_02@noreply.codeberg.org> Co-authored-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org> Co-committed-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org>
Search Terms
json, json modules, esm, experimental-json-modules
Expected Behavior
To be able to import json modules without the
--experimental-json-modules
flag ints-node/esm
.As of Node 17.5.0 the flag is no longer required, it just prints a usual experimental warning.
Actual Behavior
Currently
ts-node/esm
loader only allows JSON modules if--experimental-json-modules
is passed to the Node executable. If this option is not passed it fails with an error despite Node no longer requiring the flag.Steps to reproduce the problem
Import a json module and use
node --loader ts-node/esm ./jsWithJsonImport.js
.The exact line that checks the condition is here. Simply removing the conditional would make the behaviour be consistent with node.
Specifications
The text was updated successfully, but these errors were encountered: