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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: Error when running jest with code coverage #15958

Closed
1 task
cdaycmc opened this issue Sep 12, 2023 · 2 comments 路 Fixed by #15965
Closed
1 task

[Bug]: Error when running jest with code coverage #15958

cdaycmc opened this issue Sep 12, 2023 · 2 comments 路 Fixed by #15965
Labels
area: third party outdated A closed issue/PR that is archived due to age. Recommended to make a new issue

Comments

@cdaycmc
Copy link

cdaycmc commented Sep 12, 2023

馃捇

  • Would you like to work on a fix?

How are you using Babel?

jest

Input code

Issue when running jest with code coverage turned on. Works fine when run without code coverage.
npx jest --env=jsdom --collect-coverage --watchAll=false

Configuration file name

No response

Configuration

{
  presets: ['@babel/react', ['@babel/preset-env', { targets: { node: 'current' } }], '@babel/preset-typescript'],
  ignore: ['**/__snapshots__', '**/*.d.ts', '**/*.test.*'],
  plugins: [
    '@babel/plugin-transform-typescript',
    'babel-plugin-typescript-to-proptypes',
    '@babel/plugin-proposal-export-default-from',
    '@babel/proposal-class-properties',
    '@babel/proposal-object-rest-spread',
    [
      'module-resolver',
      {
        root: ['./src'],
        extensions: ['.ts', '.tsx'],
        resolvePath(sourcePath, currentFile, opts) {
          if (sourcePath.includes('../assets/')) {
            return `../${sourcePath}`;
          }
          return false;
        }
      }
    ]
  ]
}

Current and expected behavior

This issue only presents itself when updating from @babel/core from 7.22.15 to 7.22.17

    SyntaxError: C:\_src\webinvest-frontend-hooks\node_modules\@babel\types\lib\index.js: 'return' outside of function. (4:51)

      2 |
      3 | if (typeof process === "object" && process.version === "v20.6.0") {
    > 4 |   if (exports["___internal__alreadyRunning" + ""]) return;
        |                                                    ^
      5 |   Object.defineProperty(exports, "___internal__alreadyRunning", {
      6 |     value: true,
      7 |     enumerable: false,

      1 | import React from 'react';
    > 2 | import { toMatchDiffSnapshot } from 'snapshot-diff';
        | ^
      3 | import { configureStore } from '@reduxjs/toolkit';
      4 | import { createFrontendStore, defaultFrontendStore, FRONTEND_STORE_NAME } from '@cmctechnology/webinvest-store-frontend';
      5 | import { ACCOUNT_STORE_NAME, createAccountStore, defaultAccountStore } from '@cmctechnology/webinvest-store-accounts';

      at constructor (node_modules/@babel/parser/src/parse-error.ts:81:19)
      at Parser.toParseError [as raise] (node_modules/@babel/parser/src/tokenizer/index.ts:1487:19)
      at Parser.raise [as parseReturnStatement] (node_modules/@babel/parser/src/parser/statement.ts:1055:12)
      at Parser.parseReturnStatement [as parseStatementContent] (node_modules/@babel/parser/src/parser/statement.ts:478:21)
      at Parser.parseStatementContent [as parseStatementLike] (node_modules/@babel/parser/src/parser/statement.ts:417:17)
      at Parser.parseStatementLike [as parseStatementOrSloppyAnnexBFunctionDeclaration] (node_modules/@babel/parser/src/parser/statement.ts:386:17)
      at Parser.parseStatementOrSloppyAnnexBFunctionDeclaration [as parseIfStatement] (node_modules/@babel/parser/src/parser/statement.ts:1046:28)
      at Parser.parseIfStatement [as parseStatementContent] (node_modules/@babel/parser/src/parser/statement.ts:476:21)
      at Parser.parseStatementContent [as parseStatementLike] (node_modules/@babel/parser/src/parser/statement.ts:417:17)
      at Parser.parseStatementLike [as parseStatementListItem] (node_modules/@babel/parser/src/parser/statement.ts:366:17)
      at Parser.parseStatementListItem [as parseBlockOrModuleBlockBody] (node_modules/@babel/parser/src/parser/statement.ts:1395:16)
      at Parser.parseBlockOrModuleBlockBody [as parseBlockBody] (node_modules/@babel/parser/src/parser/statement.ts:1368:10)
      at Parser.parseBlockBody [as parseBlock] (node_modules/@babel/parser/src/parser/statement.ts:1336:10)
      at Parser.parseBlock [as parseStatementContent] (node_modules/@babel/parser/src/parser/statement.ts:564:21)
      at Parser.parseStatementContent [as parseStatementLike] (node_modules/@babel/parser/src/parser/statement.ts:417:17)
      at Parser.parseStatementLike [as parseStatementOrSloppyAnnexBFunctionDeclaration] (node_modules/@babel/parser/src/parser/statement.ts:386:17)
      at Parser.parseStatementOrSloppyAnnexBFunctionDeclaration [as parseIfStatement] (node_modules/@babel/parser/src/parser/statement.ts:1046:28)
      at Parser.parseIfStatement [as parseStatementContent] (node_modules/@babel/parser/src/parser/statement.ts:476:21)
      at Parser.parseStatementContent [as parseStatementLike] (node_modules/@babel/parser/src/parser/statement.ts:417:17)
      at Parser.parseStatementLike [as parseModuleItem] (node_modules/@babel/parser/src/parser/statement.ts:354:17)
      at Parser.parseModuleItem [as parseBlockOrModuleBlockBody] (node_modules/@babel/parser/src/parser/statement.ts:1394:16)
      at Parser.parseBlockOrModuleBlockBody [as parseBlockBody] (node_modules/@babel/parser/src/parser/statement.ts:1368:10)
      at Parser.parseBlockBody [as parseProgram] (node_modules/@babel/parser/src/parser/statement.ts:213:10)
      at Parser.parseProgram [as parseTopLevel] (node_modules/@babel/parser/src/parser/statement.ts:195:25)
      at Parser.parseTopLevel [as parse] (node_modules/@babel/parser/src/parser/index.ts:45:10)
      at parse (node_modules/@babel/parser/src/index.ts:66:38)
      at parser (node_modules/@babel/core/src/parser/index.ts:28:19)
      at normalizeFile (node_modules/@babel/core/src/transformation/normalize-file.ts:51:24)
          at normalizeFile.next (<anonymous>)
      at run (node_modules/@babel/core/src/transformation/index.ts:39:36)
          at run.next (<anonymous>)
      at transform (node_modules/@babel/core/src/transform.ts:29:20)
          at transform.next (<anonymous>)
      at evaluateSync (node_modules/gensync/index.js:251:28)
      at sync (node_modules/gensync/index.js:89:14)
      at fn (node_modules/@babel/core/src/errors/rewrite-stack-trace.ts:99:14)
      at transformSync (node_modules/@babel/core/src/transform.ts:66:52)
      at ScriptTransformer._instrumentFile (node_modules/@jest/transform/build/ScriptTransformer.js:389:46)
      at ScriptTransformer._buildTransformResult (node_modules/@jest/transform/build/ScriptTransformer.js:491:33)
      at ScriptTransformer.transformSource (node_modules/@jest/transform/build/ScriptTransformer.js:554:17)
      at ScriptTransformer._transformAndBuildScript (node_modules/@jest/transform/build/ScriptTransformer.js:674:40)
      at ScriptTransformer.transform (node_modules/@jest/transform/build/ScriptTransformer.js:726:19)
      at Object.require (node_modules/@babel/generator/src/node/whitespace.ts:1:1)
      at Object.require (node_modules/@babel/generator/src/node/index.ts:1:1)
      at Object.require (node_modules/@babel/generator/src/printer.ts:3:1)
      at Object.require (node_modules/@babel/generator/src/index.ts:2:1)
      at Object.<anonymous> (node_modules/snapshot-diff/build/index.js:6:18)
      at Object.require (src/setupTests.tsx:2:1)

Environment

System:
OS: Windows 10 10.0.19045
Binaries:
Node: 18.15.0 - C:\tmp\nodejs\node.EXE
Yarn: 1.22.19 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
npm: 9.5.0 - C:\tmp\nodejs\npm.CMD
npmPackages:
@babel/cli: 7.22.15 => 7.22.15
@babel/core: 7.22.17 => 7.22.17
@babel/plugin-proposal-class-properties: 7.18.6 => 7.18.6
@babel/plugin-proposal-export-default-from: 7.22.5 => 7.22.5
@babel/plugin-proposal-object-rest-spread: ^7.20.7 => 7.20.7
@babel/plugin-transform-typescript: 7.22.15 => 7.22.15
@babel/preset-env: 7.22.15 => 7.22.15
@babel/preset-react: 7.22.15 => 7.22.15
@babel/preset-typescript: 7.22.15 => 7.22.15
babel-plugin-module-resolver: 5.0.0 => 5.0.0
babel-plugin-transform-es2015-modules-umd: 6.24.1 => 6.24.1
babel-plugin-typescript-to-proptypes: 2.1.0 => 2.1.0
eslint: 8.49.0 => 8.49.0
jest: 29.6.4 => 29.6.4

Possible solution

There is no function to return from in this file
node_modules\@babel\core\lib\index.js

"use strict";

if (typeof process === "object" && process.version === "v20.6.0") {
  if (exports["___internal__alreadyRunning" + ""]) return; // <<<<<----- HERE is a return with no function outside
  Object.defineProperty(exports, "___internal__alreadyRunning", {
    value: true,
    enumerable: false,
    configurable: true
  });
}
Object.defineProperty(exports, "__esModule", {
  value: true
});

Additional context

No response

@babel-bot
Copy link
Collaborator

Hey @cdaycmc! We really appreciate you taking the time to report an issue. The collaborators on this project attempt to help as many people as possible, but we're a limited number of volunteers, so it's possible this won't be addressed swiftly.

If you need any help, or just have general Babel or JavaScript questions, we have a vibrant Slack community that typically always has someone willing to help. You can sign-up here for an invite.

@cdaycmc cdaycmc changed the title [Bug]: [Bug]: Error when running jest with code coverage Sep 12, 2023
@hostlund
Copy link

I got the same error. It seems that I only get this error in jest test that i'm using snapshot-diff

@github-actions github-actions bot added the outdated A closed issue/PR that is archived due to age. Recommended to make a new issue label Dec 15, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Dec 15, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area: third party outdated A closed issue/PR that is archived due to age. Recommended to make a new issue
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants