Skip to content
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

Error did not recognize object of type "PropertyDefinition" when running update-react-imports #314

Open
julienw opened this issue Mar 29, 2023 · 3 comments

Comments

@julienw
Copy link

julienw commented Mar 29, 2023

I tried to run update-react-imports on our codebase https://github.com/firefox-devtools/profiler/ (commit hash e8a3afd45a8125de9c37c546f6b50c8004f122e7), and got the following error on several files:

Error: did not recognize object of type "PropertyDefinition"
    at Object.getFieldNames (/home/julien/.npm/_npx/968b6945ac80b57b/node_modules/ast-types/lib/types.js:660:19)
    at getSortedChildNodes (/home/julien/.npm/_npx/968b6945ac80b57b/node_modules/recast/lib/comments.js:53:23)
    at getSortedChildNodes (/home/julien/.npm/_npx/968b6945ac80b57b/node_modules/recast/lib/comments.js:62:9)
    at getSortedChildNodes (/home/julien/.npm/_npx/968b6945ac80b57b/node_modules/recast/lib/comments.js:62:9)
    at decorateComment (/home/julien/.npm/_npx/968b6945ac80b57b/node_modules/recast/lib/comments.js:70:22)
    at decorateComment (/home/julien/.npm/_npx/968b6945ac80b57b/node_modules/recast/lib/comments.js:82:13)
    at decorateComment (/home/julien/.npm/_npx/968b6945ac80b57b/node_modules/recast/lib/comments.js:82:13)
    at /home/julien/.npm/_npx/968b6945ac80b57b/node_modules/recast/lib/comments.js:119:9
    at Array.forEach (<anonymous>)
    at Object.attach (/home/julien/.npm/_npx/968b6945ac80b57b/node_modules/recast/lib/comments.js:117:14)
    at Object.parse (/home/julien/.npm/_npx/968b6945ac80b57b/node_modules/recast/lib/parser.js:107:16)
    at fromSource (/home/julien/.npm/_npx/968b6945ac80b57b/node_modules/jscodeshift/src/core.js:82:25)
    at core (/home/julien/.npm/_npx/968b6945ac80b57b/node_modules/jscodeshift/src/core.js:44:5)
    at j (/home/julien/.npm/_npx/968b6945ac80b57b/node_modules/jscodeshift/src/core.js:142:12)
    at module.exports (/home/julien/.npm/_npx/968b6945ac80b57b/node_modules/react-codemod/transforms/update-react-imports.js:12:16)

It's not clear to me how to debug this further, but hopefully you'll be able to reproduce using code directly.

@julienw
Copy link
Author

julienw commented Mar 29, 2023

I must add that this worked for some files too.

@pascalduez
Copy link

Hello :)

Hoping to revive this issue, especially with React 19 and the update-react-imports codemod that should gain more traction.

I hit various errors related to "recent" Flow syntax. PropertyDefinition, but also IndexedAccessType etc.

It might just be a matter of updating a dependency or two. Most notably ast-types.

Please see:
facebook/jscodeshift#478
benjamn/ast-types#596

@pascalduez
Copy link

pascalduez commented Jul 17, 2024

Okay, aftet some time to figure out the new resolutions syntax in Yarn Berry...
I got it working with a local install and resolutions.

  "resolutions": {
    "jscodeshift": "latest",
    "ast-types": "npm:@gkz/ast-types@^0.14.4",
    "flow-parser": "0.152"
  }

And I guess for npm:

  "overrides": {
    "jscodeshift": "latest",
    "ast-types": "npm:@gkz/ast-types",
    "flow-parser": "0.152"
  }

Made a temporary repo to help with this issue https://github.com/pascalduez/react-codemod-patched

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants