aws-sdk-js-codemod icon indicating copy to clipboard operation
aws-sdk-js-codemod copied to clipboard

[Bug?]: Seems like codemod has some problems with certain bits of legal jsx syntax

Open Swolebrain opened this issue 10 months ago • 1 comments

Self-service

  • [ ] I'd be willing to implement a fix

Describe the bug

Getting a lot of errors in .tsx files that say:

SyntaxError: Unexpected token, expected "," (32:27)

Steps to reproduce

Seems to happen when:

  • JSX properties with single quotes
  • JSX styles with no trailing commas
  • JSX property split into a newline. Example:
 <SomeComponent
   someProp={  // <-- this line errors
     ...
  }
/>

There's others too.

Observed behavior

An example stack trace is:

 ERR app/components/ConfirmationModal.tsx Transformation error (Unexpected token, expected "," (32:12))
SyntaxError: Unexpected token, expected "," (32:12)
    at constructor (/Users/morevct/.npm/_npx/c10ddf24489924c3/node_modules/@babel/parser/lib/index.js:351:19)
    at TypeScriptParserMixin.raise (/Users/morevct/.npm/_npx/c10ddf24489924c3/node_modules/@babel/parser/lib/index.js:3281:19)
    at TypeScriptParserMixin.unexpected (/Users/morevct/.npm/_npx/c10ddf24489924c3/node_modules/@babel/parser/lib/index.js:3301:16)
    at TypeScriptParserMixin.expect (/Users/morevct/.npm/_npx/c10ddf24489924c3/node_modules/@babel/parser/lib/index.js:3605:28)
    at TypeScriptParserMixin.tsParseDelimitedListWorker (/Users/morevct/.npm/_npx/c10ddf24489924c3/node_modules/@babel/parser/lib/index.js:7677:14)
    at TypeScriptParserMixin.tsParseDelimitedList (/Users/morevct/.npm/_npx/c10ddf24489924c3/node_modules/@babel/parser/lib/index.js:7654:25)
    at TypeScriptParserMixin.tsParseBracketedList (/Users/morevct/.npm/_npx/c10ddf24489924c3/node_modules/@babel/parser/lib/index.js:7694:25)
    at TypeScriptParserMixin.tsParseTypeParameters (/Users/morevct/.npm/_npx/c10ddf24489924c3/node_modules/@babel/parser/lib/index.js:7796:24)
    at /Users/morevct/.npm/_npx/c10ddf24489924c3/node_modules/@babel/parser/lib/index.js:9433:29
    at TypeScriptParserMixin.tryParse (/Users/morevct/.npm/_npx/c10ddf24489924c3/node_modules/@babel/parser/lib/index.js:3612:20)

So it seems like maybe we're using too old a version of babel?

Expected behavior

should run with no errors

Environment

aws-sdk-js-codemod: 1.4.0
- jscodeshift: 0.15.2
- recast: 0.23.6

Additional context

No response

Swolebrain avatar Apr 30 '24 23:04 Swolebrain