react-codemod icon indicating copy to clipboard operation
react-codemod copied to clipboard

[update-react-imports] fails to transform files that contain the `satisfies` keyword

Open TkDodo opened this issue 1 year ago • 0 comments

All TypeScript files that use satisfies - a rather new TS keyword - fail parsing with:

Error: did not recognize object of type "TSSatisfiesExpression"

for us, that's 375 files that I need to manually adjust now 😅

Stack Trace
Error: did not recognize object of type "TSSatisfiesExpression"
    at Object.getFieldNames (node_modules/ast-types/lib/types.js:660:19)
    at visitChildren (node_modules/ast-types/lib/path-visitor.js:184:36)
    at Visitor.PVp.visitWithoutReset (node_modules/ast-types/lib/path-visitor.js:166:20)
    at visitChildren (node_modules/ast-types/lib/path-visitor.js:203:25)
    at Visitor.PVp.visitWithoutReset (node_modules/ast-types/lib/path-visitor.js:166:20)
    at NodePath.each (node_modules/ast-types/lib/path.js:87:26)
    at visitChildren (node_modules/ast-types/lib/path-visitor.js:178:18)
    at Visitor.PVp.visitWithoutReset (node_modules/ast-types/lib/path-visitor.js:166:20)
    at visitChildren (node_modules/ast-types/lib/path-visitor.js:203:25)
    at Context.traverse (node_modules/ast-types/lib/path-visitor.js:317:20)
    at Context.visit (node_modules/jscodeshift/src/collections/Node.js:42:12)
    at Context.visitor.<computed> [as visitProgram] (node_modules/jscodeshift/src/collections/Node.js:50:24)
    at Context.invokeVisitorMethod (node_modules/ast-types/lib/path-visitor.js:282:51)
    at Visitor.PVp.visitWithoutReset (node_modules/ast-types/lib/path-visitor.js:157:32)
    at visitChildren (node_modules/ast-types/lib/path-visitor.js:203:25)
    at Visitor.PVp.visitWithoutReset (node_modules/ast-types/lib/path-visitor.js:166:20)
    at Visitor.PVp.visit (node_modules/ast-types/lib/path-visitor.js:104:29)
    at Object.visit (node_modules/ast-types/lib/path-visitor.js:80:55)
    at Collection.<anonymous> (node_modules/jscodeshift/src/collections/Node.js:53:14)
    at Array.forEach (<anonymous>)
    at Collection.find (node_modules/jscodeshift/src/collections/Node.js:44:18)
    at Collection.find (node_modules/jscodeshift/src/Collection.js:413:43)
    at getFirstNode (node_modules/react-codemod/transforms/update-react-imports.js:17:17)
    at module.exports (node_modules/react-codemod/transforms/update-react-imports.js:21:21)

TkDodo avatar Sep 04 '24 12:09 TkDodo