Open meabed opened 10 months ago
You have to stay to an older version of @swc/core
or monkey patch the ts-node
file until there is a new release that publishes the fix.
Also having this issue with @swc/core@1.3.89.
That's normal. The issue is not on @swc/core
side but on ts-node
. They have to push a release to make it work.
It would be great if there was a way to pass in SWC options from an ENV VAR or something to workaround those kinds of issues in the future.
can we expect a fix on this soon? this blocks speeding up cdk apps via swc transpilation, unfortunately :/ https://github.com/aws/aws-cdk/blob/main/packages/aws-cdk/README.md#changing-the-default-typescript-transpiler
You have to stay to an older version of
@swc/core
or monkey patch thets-node
file until there is a new release that publishes the fix.
@RomainLanz do you know what version works?
just checked, @swc/core 1.3.82
works
Yes, I am also forcing to 1.3.82
.
You can also use patch-package
to monkey patch the dependency on the fly.
That's normal. The issue is not on
@swc/core
side but onts-node
. They have to push a release to make it work.
I agree that an update to ts-node is the most practical fix, but it kind of looks like swc broke backwards compatibility by throwing an error when it encounters a no-longer-supported option, when it should have silently ignored that option.
Why is "noInterop":false
being treated any differently than not specifying noInterop
? Logically the outcome is the same, so it looks like an swc bug - it's not ts-node's fault that swc broke backwards-compatibilty.
The SWC should have released semver major to prevent breaking all ts-node consumers who use swc.
Workaround for me was to use resolutions and overrides in package.json to force downgrade of all transient dependencies of @swc/core until a ts-node can release with the update.
{
resolutions: { "@swc/core": "1.2.82" },
overrides: { "@swc/core": "1.2.82" }
}
It looks like https://github.com/TypeStrong/ts-node/pull/2062 fixes this issue but there was no new release since July. Can you publish a new release to fix it ?
If anybody doesn't need any specific ts-node features, install the @swc-node/register
package and replace ts-node with it according to the documentation:
npm i -D @swc-node/register
node -r @swc-node/register script.ts
node --loader @swc-node/register/esm script.ts # for esm project
@cspotcode Friendly ping?
Bump as well!
It does not work with the following versions either.
{
"@swc/core": "^1.3.93",
"ts-node": "^10.9.1"
}
same here, downgraded @swc/core
to "1.3.82"
FYI: The latest @swc/core (at least ^1.3.94) no longer errors out on the unknown fields as the above issue has been resolved via https://github.com/swc-project/swc/pull/8163 🎉
Using "@swc/core": "1.3.88", there is error with
noInterop
Probably similar fix as: https://github.com/TypeStrong/ts-node/pull/2062
Might be related: