question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Strange SyntaxError when running tests, probably transpiler bug

See original GitHub issue

Is this a bug report?

Yes.

Can you also reproduce the problem with npm 4.x?

I’m using yarn. Tried npm 4 though. Same.

Which terms did you search for in User Guide?

Did a quick look-through. I searched google for SyntaxError: Unexpected identifier, did not found the solution.

Environment

  1. node -v: v8.4.0
  2. npm -v: 4.6.1 (was 5.x before)
  3. yarn --version: 0.27.5
  4. npm ls react-scripts: react-scripts@1.0.13 (also checked at react-scripts@1.0.11 with yarn)

Switching yarn/npm seems to have no effect.

Then, specify:

  1. Operating system: Ubuntu xenial
  2. Browser and version (if relevant): -

Steps to Reproduce

The issue is really strange.

  1. Create a new project, cd into it.

  2. yarn add flow-bin (flow-bin@0.53.1), then yarn flow init.

  3. Create two files:

src/dummy.js

// @flow
export const dummmmmmmmmmmmmmmmmmy = async (
  response: Response
): Promise<Response> => {
  if (!response.ok) {
    const text = await response.text();
    throw Error(text);
  }
  return response;
};

src/dummy.test.js

// @flow
import { dummmmmmmmmmmmmmmmmmy } from "./dummy";

it("should run", async () => {
  await dummmmmmmmmmmmmmmmmmy(fetch("https://google.com"));
  expect(true);
});
  1. yarn test

Expected Behavior

Tests run successfully or at least fail with some sane error.

Actual Behavior

 PASS  src/App.test.js
 FAIL  src/dummy.test.js
  ● Test suite failed to run

    .../issue/src/dummy.js:6
        const text = await response.text();
                           ^^^^^^^^
    
    SyntaxError: Unexpected identifier
      
      at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/ScriptTransformer.js:289:17)
      at Object.<anonymous> (src/dummy.test.js:2:14)

Test Suites: 1 failed, 1 passed, 2 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        0.517s, estimated 1s
Ran all test suites related to changed files.

Watch Usage
 › Press p to filter by a filename regex pattern.
 › Press t to filter by a test name regex pattern.
 › Press q to quit watch mode.
 › Press Enter to trigger a test run.
Done in 7.55s.

image

Seems to be related to the way code is formatted. 😮

Reproducible Demo

https://github.com/MOZGIII/js-bug-demo-1

Just cone it and yarn install. Run CI=true yarn test. Pretend you’re CI to run all tests.

Issue Analytics

  • State:closed
  • Created 6 years ago
  • Reactions:5
  • Comments:7 (5 by maintainers)

github_iconTop GitHub Comments

3reactions
gaearoncommented, Jan 14, 2018

I’m adding a regression test in https://github.com/facebookincubator/create-react-app/pull/3791 so this doesn’t break again.

1reaction
gaearoncommented, Jan 14, 2018

This appears fixed in Babel 7 and doesn’t happen in our next branch. We’ll publish first 2.0 alphas soon.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Jest not parsing es6: SyntaxError: Unexpected token import
When I run my tests, Jest complains it cannot read es6 code. Babel seems to not transform my test files. I have tried...
Read more >
SyntaxError - JavaScript - MDN Web Docs
The SyntaxError object represents an error when trying to interpret syntactically invalid code. It is thrown when the JavaScript engine encounters tokens or ......
Read more >
invalid string (possibly contains a unicode character) - Anvil Q&A
Hello, How do I solve this unicode error ? ... SyntaxError: invalid string (possibly contains a unicode character).
Read more >
Frequently Asked Questions - Jasmine Documentation
This error means that something (probably a transpiler, but possibly the JavaScript runtime) has marked the exported properties of the module as read-only....
Read more >
python to go transpiler - You.com | The search engine you control.
Notice that your error states SyntaxError: invalid syntax (guess you dropped x when rewriting). This means that you're trying to execute code that...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found