Closed robpalme closed 3 months ago
I'm also wondering if changing the behavior in the future will result in a breaking change in Node.js @nodejs/typescript?
Thanks to @magic-akari, SWC now provides an option (jsc.transform.native_class_properties
) to match TS behavior in SWC v1.7.11 which was released one hour ago.
amaro v0.1.6 ship the updated version. Updating in core, and adding the flag in a followup PR https://github.com/nodejs/node/pull/54374
This is now fixed in Node core so I am happy to close it.
@marco-ippolito requested I raise this issue here due to SWC Parameter Properties differing from TS Parameter Properties.
With modern ES2022/ESNext emit, where by default it is implied that
useDefineForClassFields: true
, TS does not relocate class field initializers when Parameter Properties are used. But SWC does. So if support for the Parameter Properties transform is added in https://github.com/nodejs/node/pull/54283 then Node needs to pick which behavior it wants.