Setting emitAssertForImportAttributes no longer works in Node.js 22 with latest swc
KidkArolis opened this issue · 1 comments
KidkArolis commented
Expected Behavior
Running this with ts-node should work when swc: true
is set:
import pkg from './package.json' with { type: 'json' }
console.log(pkg)
Actual Behavior
import pkg from './package.json' assert {
^^^^^^
SyntaxError: Unexpected identifier 'assert'
Specifications
- ts-node version: 10.9.2
- node version: 22.1.0
- TypeScript version: 5.3.3
- @swc/core 1.4.17
Note
Node.js 22 removed import asserts and now only has import attributes. Setting emitAssertForImportAttributes
to false in dist/transpilers/swc.js
fixes the issue, but ofc, this would break the existing users, so not sure how to approach this!? A config option..? A breaking change?