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

"Cannot read property '0' of undefined" using NX Workspace and Automatic Configuration #2758

Closed
smcenlly opened this issue Jul 29, 2021 · 37 comments

Comments

@smcenlly
Copy link
Member

I'm constantly running into this with automatic configuration. It never starts with the error. It comes in when I make any change.

What are the defaults for files and tests when using automatic configuration? If I knew, maybe I could find any offending files. I tried adding this to my package.json to override them, but it didn't run any of my tests at all.

I'm using jest with an NX workspace, if that matters.

Originally posted by @kevinbeal in #1101 (comment)

@smcenlly
Copy link
Member Author

I ended up adding the following to my package.json and it seems to work well:

"wallaby": {
    "files": [
        "apps/**/*.{ts,tsx}",
        "libs/**/*.{ts,tsx}",
        "!**/**/*.spec.{ts,tsx}"
    ],
    "tests": [
        "libs/**/*.spec.{ts,tsx}",
        "apps/**/*.spec.{ts,tsx}",
        "!**/integration/*"
    ]
}

Now instead of immediately giving me the error, it takes 10 minutes of work.

_Originally posted by @kevinbeal in #1101

@smcenlly
Copy link
Member Author

@kevinbeal - Could you please provide us with your Wallaby Diagnostics report. Wallaby Diagnostics Report is a simple JSON text report that contains some basic information about your Wallaby config and project that is required to start troubleshooting most of Wallaby issues.

To share the report:

  • start Wallaby in your project;
  • wait until it reports some results (finishes running tests);
  • run Copy Diagnostics Report command:
    • in VS Code, Atom, or Sublime editor execute Wallaby Copy Diagnostics Report command from your editor command palette;
    • in JetBrains IDEs or VS use Wallaby Help | Wallaby.js | Copy Diagnostics Report menu item;
  • paste generated report from your clipboard below (feel free to review and edit the report if required).

@kevinbeal
Copy link

Thanks for taking the case! Here's my report.

{
  editorVersion: 'WebStorm 2021.1.3',
  pluginVersion: '1.0.217',
  editorType: 'IntelliJ',
  osVersion: 'linux 5.4.0-80-generic',
  nodeVersion: 'v12.3.1',
  coreVersion: '1.0.1118',
  checksum: 'ZjM2OTdjYjZhZTIwNzY2MzY4ZmM2NzM1M2NmNWI0ZWIsMTYzMDYyNzIwMDAwMCww',
  config: {
    files: [
      { pattern: 'apps/**/*.{ts,tsx}', ignore: false, trigger: true, load: true, order: 1 },
      { pattern: 'libs/**/*.{ts,tsx}', ignore: false, trigger: true, load: true, order: 2 },
      { pattern: '**/**/*.spec.{ts,tsx}', ignore: true, trigger: true, load: true }
    ],
    tests: [
      { pattern: 'libs/**/*.spec.{ts,tsx}', ignore: false, trigger: true, load: true, test: true, order: 3 },
      { pattern: 'apps/**/*.spec.{ts,tsx}', ignore: false, trigger: true, load: true, test: true, order: 4 },
      { pattern: '**/integration/*', ignore: true, trigger: true, load: true, test: true }
    ],
    diagnostics: {
      angular: {
        workspace: {
          version: 2,
          cli: { defaultCollection: '@nrwl/react' },
          defaultProject: 'calculator',
          generators: {
            '@nrwl/react': {
              application: { style: 'styled-components', linter: 'eslint', babel: true },
              component: { style: 'styled-components' },
              library: { style: 'styled-components', linter: 'eslint' }
            }
          },
          projects: {
            calculator: {
              root: 'apps/calculator',
              sourceRoot: 'apps/calculator/src',
              projectType: 'application',
              targets: {
                build: {
                  executor: '@nrwl/web:build',
                  outputs: [ '{options.outputPath}' ],
                  options: {
                    outputPath: 'dist/apps/calculator',
                    index: 'apps/calculator/src/index.html',
                    main: 'apps/calculator/src/main.tsx',
                    polyfills: 'apps/calculator/src/polyfills.ts',
                    tsConfig: 'apps/calculator/tsconfig.app.json',
                    assets: [ 'apps/calculator/src/favicon.ico', 'apps/calculator/src/assets' ],
                    styles: [],
                    scripts: [],
                    webpackConfig: '@nrwl/react/plugins/webpack'
                  },
                  configurations: {
                    production: {
                      fileReplacements: [ { replace: 'apps/calculator/src/environments/environment.ts', with: 'apps/calculator/src/environments/environment.prod.ts' } ],
                      optimization: true,
                      outputHashing: 'all',
                      sourceMap: false,
                      extractCss: true,
                      namedChunks: false,
                      extractLicenses: true,
                      vendorChunk: false,
                      budgets: [ { type: 'initial', maximumWarning: '2mb', maximumError: '5mb' } ]
                    }
                  }
                },
                serve: { executor: '@nrwl/web:dev-server', options: { buildTarget: 'calculator:build' }, configurations: { production: { buildTarget: 'calculator:build:production' } } },
                lint: { executor: '@nrwl/linter:eslint', options: { lintFilePatterns: [ 'apps/calculator/**/*.{ts,tsx,js,jsx}' ] } },
                test: { executor: '@nrwl/jest:jest', outputs: [ 'coverage/apps/calculator' ], options: { jestConfig: 'apps/calculator/jest.config.js', passWithNoTests: true } }
              }
            },
            'calculator-e2e': {
              root: 'apps/calculator-e2e',
              sourceRoot: 'apps/calculator-e2e/src',
              projectType: 'application',
              targets: {
                e2e: {
                  executor: '@nrwl/cypress:cypress',
                  options: { cypressConfig: 'apps/calculator-e2e/cypress.json', tsConfig: 'apps/calculator-e2e/tsconfig.e2e.json', devServerTarget: 'calculator:serve' },
                  configurations: { production: { devServerTarget: 'calculator:serve:production' } }
                },
                lint: { executor: '@nrwl/linter:eslint', options: { lintFilePatterns: [ 'apps/calculator-e2e/**/*.{js,ts}' ] } }
              }
            },
            'node-editor': {
              root: 'libs/node-editor',
              sourceRoot: 'libs/node-editor/src',
              projectType: 'library',
              targets: {
                lint: { executor: '@nrwl/linter:eslint', options: { lintFilePatterns: [ 'libs/node-editor/**/*.{ts,tsx,js,jsx}' ] } },
                test: { executor: '@nrwl/jest:jest', outputs: [ 'coverage/libs/node-editor' ], options: { jestConfig: 'libs/node-editor/jest.config.js', passWithNoTests: true } }
              }
            },
            utility: {
              root: 'libs/utility',
              sourceRoot: 'libs/utility/src',
              projectType: 'library',
              targets: {
                lint: { executor: '@nrwl/linter:eslint', options: { lintFilePatterns: [ 'libs/utility/**/*.{ts,tsx,js,jsx}' ] } },
                test: { executor: '@nrwl/jest:jest', outputs: [ 'coverage/libs/utility' ], options: { jestConfig: 'libs/utility/jest.config.js', passWithNoTests: true } }
              }
            },
            components: {
              root: 'libs/components',
              sourceRoot: 'libs/components/src',
              projectType: 'library',
              targets: {
                lint: { executor: '@nrwl/linter:eslint', options: { lintFilePatterns: [ 'libs/components/**/*.{ts,tsx,js,jsx}' ] } },
                test: { executor: '@nrwl/jest:jest', outputs: [ 'coverage/libs/components' ], options: { jestConfig: 'libs/components/jest.config.js', passWithNoTests: true } }
              }
            },
            state: {
              root: 'libs/state',
              sourceRoot: 'libs/state/src',
              projectType: 'library',
              targets: {
                lint: { executor: '@nrwl/linter:eslint', options: { lintFilePatterns: [ 'libs/state/**/*.{ts,tsx,js,jsx}' ] } },
                test: { executor: '@nrwl/jest:jest', outputs: [ 'coverage/libs/state' ], options: { jestConfig: 'libs/state/jest.config.js', passWithNoTests: true } }
              }
            },
            mongodb: {
              root: 'libs/mongodb',
              sourceRoot: 'libs/mongodb/src',
              projectType: 'library',
              targets: {
                lint: { executor: '@nrwl/linter:eslint', options: { lintFilePatterns: [ 'libs/mongodb/**/*.ts' ] } },
                test: { executor: '@nrwl/jest:jest', outputs: [ 'coverage/libs/mongodb' ], options: { jestConfig: 'libs/mongodb/jest.config.js', passWithNoTests: true } }
              }
            }
          }
        }
      },
      jest: {
        config: {
          configs: [
            {
              automock: false,
              cache: true,
              cacheDirectory: '/tmp/jest_rs',
              clearMocks: false,
              coveragePathIgnorePatterns: [ '/node_modules/' ],
              cwd: '<homeDir>/www/monorepo',
              dependencyExtractor: undefined,
              detectLeaks: undefined,
              detectOpenHandles: undefined,
              displayName: { color: 'white', name: 'calculator' },
              errorOnDeprecated: false,
              extraGlobals: [],
              filter: undefined,
              forceCoverageMatch: [],
              globalSetup: undefined,
              globalTeardown: undefined,
              globals: {},
              haste: { computeSha1: false, throwOnModuleCollision: false },
              injectGlobals: true,
              moduleDirectories: [ 'node_modules' ],
              moduleFileExtensions: [ 'ts', 'tsx', 'js', 'jsx' ],
              moduleLoader: undefined,
              moduleNameMapper: [],
              modulePathIgnorePatterns: [],
              modulePaths: undefined,
              name: '81d5a1869764c533600faca296c7f9c7',
              prettierPath: 'prettier',
              resetMocks: false,
              resetModules: false,
              resolver: '<homeDir>/www/monorepo/node_modules/@nrwl/jest/plugins/resolver.js',
              restoreMocks: false,
              rootDir: '<homeDir>/www/monorepo/apps/calculator',
              roots: [ '<homeDir>/www/monorepo/apps/calculator' ],
              runner: 'jest-runner',
              setupFiles: [],
              setupFilesAfterEnv: [],
              skipFilter: false,
              skipNodeResolution: undefined,
              slowTestThreshold: 5,
              snapshotResolver: undefined,
              snapshotSerializers: [],
              testEnvironment: '<homeDir>/www/monorepo/node_modules/jest-environment-jsdom/build/index.js',
              testEnvironmentOptions: {},
              testLocationInResults: false,
              testMatch: [ '**/+(*.)+(spec|test).+(ts|js)?(x)' ],
              testPathIgnorePatterns: [ '/node_modules/' ],
              testRegex: [],
              testRunner: '<homeDir>/www/monorepo/node_modules/jest-jasmine2/build/index.js',
              testURL: 'http://localhost',
              timers: 'real',
              transform: [
                [ '^(?!.*\\.(js|jsx|ts|tsx|css|json)$)', '<homeDir>/www/monorepo/node_modules/@nrwl/react/plugins/jest.js', {} ],
                [ '^.+\\.[tj]sx?$', '<homeDir>/www/monorepo/node_modules/jest-config/node_modules/babel-jest/build/index.js', {} ],
                [ '^.+\\.(ts|js|html)$', '<homeDir>/www/monorepo/node_modules/ts-jest/dist/index.js', {} ]
              ],
              transformIgnorePatterns: [ '/node_modules/', '\\.pnp\\.[^\\/]+$' ],
              unmockedModulePathPatterns: undefined,
              watchPathIgnorePatterns: []
            },
            {
              automock: false,
              cache: true,
              cacheDirectory: '/tmp/jest_rs',
              clearMocks: false,
              coveragePathIgnorePatterns: [ '/node_modules/' ],
              cwd: '<homeDir>/www/monorepo',
              dependencyExtractor: undefined,
              detectLeaks: undefined,
              detectOpenHandles: undefined,
              displayName: { color: 'white', name: 'node-editor' },
              errorOnDeprecated: false,
              extraGlobals: [],
              filter: undefined,
              forceCoverageMatch: [],
              globalSetup: undefined,
              globalTeardown: undefined,
              globals: {},
              haste: { computeSha1: false, throwOnModuleCollision: false },
              injectGlobals: true,
              moduleDirectories: [ 'node_modules' ],
              moduleFileExtensions: [ 'ts', 'tsx', 'js', 'jsx' ],
              moduleLoader: undefined,
              moduleNameMapper: [],
              modulePathIgnorePatterns: [],
              modulePaths: undefined,
              name: 'e4dac0f3f07e57c626a9361c9ca0fa05',
              prettierPath: 'prettier',
              resetMocks: false,
              resetModules: false,
              resolver: '<homeDir>/www/monorepo/node_modules/@nrwl/jest/plugins/resolver.js',
              restoreMocks: false,
              rootDir: '<homeDir>/www/monorepo/libs/node-editor',
              roots: [ '<homeDir>/www/monorepo/libs/node-editor' ],
              runner: 'jest-runner',
              setupFiles: [ '<homeDir>/www/monorepo/setupJest.ts' ],
              setupFilesAfterEnv: [],
              skipFilter: false,
              skipNodeResolution: undefined,
              slowTestThreshold: 5,
              snapshotResolver: undefined,
              snapshotSerializers: [],
              testEnvironment: '<homeDir>/www/monorepo/node_modules/jest-environment-jsdom/build/index.js',
              testEnvironmentOptions: {},
              testLocationInResults: false,
              testMatch: [ '**/+(*.)+(spec|test).+(ts|js)?(x)' ],
              testPathIgnorePatterns: [ '/node_modules/' ],
              testRegex: [],
              testRunner: '<homeDir>/www/monorepo/node_modules/jest-jasmine2/build/index.js',
              testURL: 'http://localhost',
              timers: 'real',
              transform: [
                [ '^.+\\.[tj]sx?$', '<homeDir>/www/monorepo/node_modules/jest-config/node_modules/babel-jest/build/index.js', {} ],
                [ '^.+\\.(ts|js|html)$', '<homeDir>/www/monorepo/node_modules/ts-jest/dist/index.js', {} ]
              ],
              transformIgnorePatterns: [ '/node_modules/', '\\.pnp\\.[^\\/]+$' ],
              unmockedModulePathPatterns: undefined,
              watchPathIgnorePatterns: []
            },
            {
              automock: false,
              cache: true,
              cacheDirectory: '/tmp/jest_rs',
              clearMocks: false,
              coveragePathIgnorePatterns: [ '/node_modules/' ],
              cwd: '<homeDir>/www/monorepo',
              dependencyExtractor: undefined,
              detectLeaks: undefined,
              detectOpenHandles: undefined,
              displayName: { color: 'white', name: 'utility' },
              errorOnDeprecated: false,
              extraGlobals: [],
              filter: undefined,
              forceCoverageMatch: [],
              globalSetup: undefined,
              globalTeardown: undefined,
              globals: {},
              haste: { computeSha1: false, throwOnModuleCollision: false },
              injectGlobals: true,
              moduleDirectories: [ 'node_modules' ],
              moduleFileExtensions: [ 'ts', 'tsx', 'js', 'jsx' ],
              moduleLoader: undefined,
              moduleNameMapper: [],
              modulePathIgnorePatterns: [],
              modulePaths: undefined,
              name: '98121394c6c9fd26d5231e697f0ef90b',
              prettierPath: 'prettier',
              resetMocks: false,
              resetModules: false,
              resolver: '<homeDir>/www/monorepo/node_modules/@nrwl/jest/plugins/resolver.js',
              restoreMocks: false,
              rootDir: '<homeDir>/www/monorepo/libs/utility',
              roots: [ '<homeDir>/www/monorepo/libs/utility' ],
              runner: 'jest-runner',
              setupFiles: [],
              setupFilesAfterEnv: [],
              skipFilter: false,
              skipNodeResolution: undefined,
              slowTestThreshold: 5,
              snapshotResolver: undefined,
              snapshotSerializers: [],
              testEnvironment: '<homeDir>/www/monorepo/node_modules/jest-environment-jsdom/build/index.js',
              testEnvironmentOptions: {},
              testLocationInResults: false,
              testMatch: [ '**/+(*.)+(spec|test).+(ts|js)?(x)' ],
              testPathIgnorePatterns: [ '/node_modules/' ],
              testRegex: [],
              testRunner: '<homeDir>/www/monorepo/node_modules/jest-jasmine2/build/index.js',
              testURL: 'http://localhost',
              timers: 'real',
              transform: [
                [ '^.+\\.[tj]sx?$', '<homeDir>/www/monorepo/node_modules/jest-config/node_modules/babel-jest/build/index.js', {} ],
                [ '^.+\\.(ts|js|html)$', '<homeDir>/www/monorepo/node_modules/ts-jest/dist/index.js', {} ]
              ],
              transformIgnorePatterns: [ '/node_modules/', '\\.pnp\\.[^\\/]+$' ],
              unmockedModulePathPatterns: undefined,
              watchPathIgnorePatterns: []
            },
            {
              automock: false,
              cache: true,
              cacheDirectory: '/tmp/jest_rs',
              clearMocks: false,
              coveragePathIgnorePatterns: [ '/node_modules/' ],
              cwd: '<homeDir>/www/monorepo',
              dependencyExtractor: undefined,
              detectLeaks: undefined,
              detectOpenHandles: undefined,
              displayName: { color: 'white', name: 'components' },
              errorOnDeprecated: false,
              extraGlobals: [],
              filter: undefined,
              forceCoverageMatch: [],
              globalSetup: undefined,
              globalTeardown: undefined,
              globals: {},
              haste: { computeSha1: false, throwOnModuleCollision: false },
              injectGlobals: true,
              moduleDirectories: [ 'node_modules' ],
              moduleFileExtensions: [ 'ts', 'tsx', 'js', 'jsx' ],
              moduleLoader: undefined,
              moduleNameMapper: [],
              modulePathIgnorePatterns: [],
              modulePaths: undefined,
              name: 'a2f290d372a0a57bf891c149dbebe117',
              prettierPath: 'prettier',
              resetMocks: false,
              resetModules: false,
              resolver: '<homeDir>/www/monorepo/node_modules/@nrwl/jest/plugins/resolver.js',
              restoreMocks: false,
              rootDir: '<homeDir>/www/monorepo/libs/components',
              roots: [ '<homeDir>/www/monorepo/libs/components' ],
              runner: 'jest-runner',
              setupFiles: [],
              setupFilesAfterEnv: [],
              skipFilter: false,
              skipNodeResolution: undefined,
              slowTestThreshold: 5,
              snapshotResolver: undefined,
              snapshotSerializers: [],
              testEnvironment: '<homeDir>/www/monorepo/node_modules/jest-environment-jsdom/build/index.js',
              testEnvironmentOptions: {},
              testLocationInResults: false,
              testMatch: [ '**/+(*.)+(spec|test).+(ts|js)?(x)' ],
              testPathIgnorePatterns: [ '/node_modules/' ],
              testRegex: [],
              testRunner: '<homeDir>/www/monorepo/node_modules/jest-jasmine2/build/index.js',
              testURL: 'http://localhost',
              timers: 'real',
              transform: [
                [ '^.+\\.[tj]sx?$', '<homeDir>/www/monorepo/node_modules/jest-config/node_modules/babel-jest/build/index.js', {} ],
                [ '^.+\\.(ts|js|html)$', '<homeDir>/www/monorepo/node_modules/ts-jest/dist/index.js', {} ]
              ],
              transformIgnorePatterns: [ '/node_modules/', '\\.pnp\\.[^\\/]+$' ],
              unmockedModulePathPatterns: undefined,
              watchPathIgnorePatterns: []
            },
            {
              automock: false,
              cache: true,
              cacheDirectory: '/tmp/jest_rs',
              clearMocks: false,
              coveragePathIgnorePatterns: [ '/node_modules/' ],
              cwd: '<homeDir>/www/monorepo',
              dependencyExtractor: undefined,
              detectLeaks: undefined,
              detectOpenHandles: undefined,
              displayName: { color: 'white', name: 'state' },
              errorOnDeprecated: false,
              extraGlobals: [],
              filter: undefined,
              forceCoverageMatch: [],
              globalSetup: undefined,
              globalTeardown: undefined,
              globals: {},
              haste: { computeSha1: false, throwOnModuleCollision: false },
              injectGlobals: true,
              moduleDirectories: [ 'node_modules' ],
              moduleFileExtensions: [ 'ts', 'tsx', 'js', 'jsx' ],
              moduleLoader: undefined,
              moduleNameMapper: [],
              modulePathIgnorePatterns: [],
              modulePaths: undefined,
              name: 'b177eca0b4146e94efec55cd40ae0458',
              prettierPath: 'prettier',
              resetMocks: false,
              resetModules: false,
              resolver: '<homeDir>/www/monorepo/node_modules/@nrwl/jest/plugins/resolver.js',
              restoreMocks: false,
              rootDir: '<homeDir>/www/monorepo/libs/state',
              roots: [ '<homeDir>/www/monorepo/libs/state' ],
              runner: 'jest-runner',
              setupFiles: [],
              setupFilesAfterEnv: [],
              skipFilter: false,
              skipNodeResolution: undefined,
              slowTestThreshold: 5,
              snapshotResolver: undefined,
              snapshotSerializers: [],
              testEnvironment: '<homeDir>/www/monorepo/node_modules/jest-environment-jsdom/build/index.js',
              testEnvironmentOptions: {},
              testLocationInResults: false,
              testMatch: [ '**/+(*.)+(spec|test).+(ts|js)?(x)' ],
              testPathIgnorePatterns: [ '/node_modules/' ],
              testRegex: [],
              testRunner: '<homeDir>/www/monorepo/node_modules/jest-jasmine2/build/index.js',
              testURL: 'http://localhost',
              timers: 'real',
              transform: [
                [ '^.+\\.[tj]sx?$', '<homeDir>/www/monorepo/node_modules/jest-config/node_modules/babel-jest/build/index.js', {} ],
                [ '^.+\\.(ts|js|html)$', '<homeDir>/www/monorepo/node_modules/ts-jest/dist/index.js', {} ]
              ],
              transformIgnorePatterns: [ '/node_modules/', '\\.pnp\\.[^\\/]+$' ],
              unmockedModulePathPatterns: undefined,
              watchPathIgnorePatterns: []
            },
            {
              automock: false,
              cache: true,
              cacheDirectory: '/tmp/jest_rs',
              clearMocks: false,
              coveragePathIgnorePatterns: [ '/node_modules/' ],
              cwd: '<homeDir>/www/monorepo',
              dependencyExtractor: undefined,
              detectLeaks: undefined,
              detectOpenHandles: undefined,
              displayName: { color: 'white', name: 'mongodb' },
              errorOnDeprecated: false,
              extraGlobals: [],
              filter: undefined,
              forceCoverageMatch: [],
              globalSetup: undefined,
              globalTeardown: undefined,
              globals: { 'ts-jest': { tsconfig: '<rootDir>/tsconfig.spec.json' } },
              haste: { computeSha1: false, throwOnModuleCollision: false },
              injectGlobals: true,
              moduleDirectories: [ 'node_modules' ],
              moduleFileExtensions: [ 'ts', 'tsx', 'js', 'jsx' ],
              moduleLoader: undefined,
              moduleNameMapper: [],
              modulePathIgnorePatterns: [],
              modulePaths: undefined,
              name: '431b0a4465fc0cf6f5a3fd60dafb2893',
              prettierPath: 'prettier',
              resetMocks: false,
              resetModules: false,
              resolver: '<homeDir>/www/monorepo/node_modules/@nrwl/jest/plugins/resolver.js',
              restoreMocks: false,
              rootDir: '<homeDir>/www/monorepo/libs/mongodb',
              roots: [ '<homeDir>/www/monorepo/libs/mongodb' ],
              runner: 'jest-runner',
              setupFiles: [],
              setupFilesAfterEnv: [],
              skipFilter: false,
              skipNodeResolution: undefined,
              slowTestThreshold: 5,
              snapshotResolver: undefined,
              snapshotSerializers: [],
              testEnvironment: '<homeDir>/www/monorepo/node_modules/jest-environment-jsdom/build/index.js',
              testEnvironmentOptions: {},
              testLocationInResults: false,
              testMatch: [ '**/+(*.)+(spec|test).+(ts|js)?(x)' ],
              testPathIgnorePatterns: [ '/node_modules/' ],
              testRegex: [],
              testRunner: '<homeDir>/www/monorepo/node_modules/jest-jasmine2/build/index.js',
              testURL: 'http://localhost',
              timers: 'real',
              transform: [
                [ '^.+\\.[tj]sx?$', '<homeDir>/www/monorepo/node_modules/ts-jest/dist/index.js', {} ],
                [ '^.+\\.(ts|js|html)$', '<homeDir>/www/monorepo/node_modules/ts-jest/dist/index.js', {} ]
              ],
              transformIgnorePatterns: [ '/node_modules/', '\\.pnp\\.[^\\/]+$' ],
              unmockedModulePathPatterns: undefined,
              watchPathIgnorePatterns: []
            }
          ],
          globalConfig: {
            bail: 0,
            changedFilesWithAncestor: false,
            changedSince: undefined,
            collectCoverage: false,
            collectCoverageFrom: [],
            collectCoverageOnlyFrom: undefined,
            coverageDirectory: '<homeDir>/www/monorepo/coverage',
            coverageProvider: 'babel',
            coverageReporters: [ 'json', 'text', 'lcov', 'clover' ],
            coverageThreshold: undefined,
            detectLeaks: undefined,
            detectOpenHandles: undefined,
            enabledTestsMap: undefined,
            errorOnDeprecated: false,
            expand: false,
            filter: undefined,
            findRelatedTests: false,
            forceExit: false,
            globalSetup: undefined,
            globalTeardown: undefined,
            json: false,
            lastCommit: false,
            listTests: undefined,
            logHeapUsage: false,
            maxConcurrency: 5,
            maxWorkers: 7,
            noSCM: undefined,
            noStackTrace: false,
            nonFlagArgs: undefined,
            notify: false,
            notifyMode: 'failure-change',
            onlyChanged: false,
            onlyFailures: false,
            outputFile: undefined,
            passWithNoTests: undefined,
            projects: [
              '<homeDir>/www/monorepo/apps/calculator',
              '<homeDir>/www/monorepo/libs/node-editor',
              '<homeDir>/www/monorepo/libs/utility',
              '<homeDir>/www/monorepo/libs/components',
              '<homeDir>/www/monorepo/libs/state',
              '<homeDir>/www/monorepo/libs/mongodb'
            ],
            replname: undefined,
            reporters: undefined,
            rootDir: '<homeDir>/www/monorepo',
            runTestsByPath: false,
            silent: undefined,
            skipFilter: false,
            testFailureExitCode: 1,
            testNamePattern: undefined,
            testPathPattern: '',
            testResultsProcessor: undefined,
            testSequencer: '<homeDir>/www/monorepo/node_modules/@jest/test-sequencer/build/index.js',
            testTimeout: undefined,
            updateSnapshot: 'new',
            useStderr: false,
            verbose: undefined,
            watch: false,
            watchAll: false,
            watchPlugins: undefined,
            watchman: true
          },
          hasDeprecationWarnings: false,
          wallaby: {
            roots: [ 'apps/calculator', 'libs/node-editor', 'libs/utility', 'libs/components', 'libs/state', 'libs/mongodb' ],
            watchPathIgnorePatterns: [ '/node_modules/', '\\./dist/|\\./build/|\\./coverage/|\\./git/|/\\..+/' ],
            testPathIgnorePatterns: [ '/node_modules/', '\\./dist/|\\./build/|\\./coverage/|\\./git/|/\\..+/' ],
            testMatch: [ '**/+(*.)+(spec|test).+(ts|js)?(x)' ],
            testRegex: []
          }
        }
      }
    },
    testFramework: { version: 'jest@24.8.0', configurator: 'jest@24.8.0', reporter: 'jest@24.8.0', starter: 'jest@24.8.0', autoDetected: true },
    filesWithCoverageCalculated: [],
    filesWithNoCoverageCalculated: [],
    globalSetup: false,
    micromatch: true,
    runAllTestsInAffectedTestFile: false,
    updateNoMoreThanOneSnapshotPerTestFileRun: false,
    addModifiedTestFileToExclusiveTestRun: true,
    compilers: {},
    preprocessors: {},
    maxConsoleMessagesPerTest: 100,
    autoConsoleLog: true,
    delays: { run: 0, edit: 100, update: 0 },
    workers: { initial: 0, regular: 0, recycle: false },
    teardown: undefined,
    hints: {
      ignoreCoverage: '__REGEXP /ignore coverage|istanbul ignore/',
      ignoreCoverageForFile: '__REGEXP /ignore file coverage/',
      commentAutoLog: '?',
      testFileSelection: { include: '__REGEXP /file\\.only/', exclude: '__REGEXP /file\\.skip/' }
    },
    automaticTestFileSelection: true,
    runSelectedTestsOnly: false,
    mapConsoleMessagesStackTrace: false,
    extensions: {},
    env: { type: 'node', params: {}, runner: '/usr/local/bin/node', viewportSize: { width: 800, height: 600 }, options: { width: 800, height: 600 }, bundle: true },
    reportUnhandledPromises: true,
    slowTestThreshold: 75,
    lowCoverageThreshold: 80,
    loose: true,
    configCode: 'auto.detect#1550734747'
  },
  packageJSON: {
    dependencies: {
      '@urql/exchange-auth': '^0.1.3',
      '@welldone-software/why-did-you-render': '^6.2.0',
      'core-js': '^3.6.5',
      'document-register-element': '1.13.1',
      graphql: '^15.5.1',
      immer: '^9.0.2',
      luxon: '^1.26.0',
      react: '17.0.2',
      'react-dom': '17.0.2',
      'react-is': '17.0.2',
      'realm-web': '^1.2.1',
      'regenerator-runtime': '0.13.7',
      rxjs: '^6.6.7',
      'styled-components': '5.2.1',
      tslib: '^2.0.0'
    },
    devDependencies: {
      '@babel/core': '7.12.13',
      '@babel/plugin-transform-react-constant-elements': '^7.14.5',
      '@babel/preset-env': '7.12.13',
      '@babel/preset-react': '7.12.13',
      '@babel/preset-typescript': '7.12.13',
      '@nrwl/cli': '12.1.1',
      '@nrwl/cypress': '12.1.1',
      '@nrwl/eslint-plugin-nx': '12.1.1',
      '@nrwl/jest': '12.1.1',
      '@nrwl/linter': '12.1.1',
      '@nrwl/nx-cloud': 'latest',
      '@nrwl/react': '^12.6.2',
      '@nrwl/tao': '12.1.1',
      '@nrwl/web': '^12.6.2',
      '@nrwl/workspace': '12.1.1',
      '@testing-library/jest-dom': '^5.12.0',
      '@testing-library/react': '11.2.6',
      '@testing-library/user-event': '^13.1.9',
      '@types/jest': '26.0.8',
      '@types/luxon': '^1.26.5',
      '@types/node': '14.14.33',
      '@types/react': '17.0.3',
      '@types/react-dom': '17.0.3',
      '@types/react-is': '17.0.0',
      '@types/styled-components': '5.1.9',
      '@types/testing-library__jest-dom': '^5.9.5',
      '@typescript-eslint/eslint-plugin': '4.19.0',
      '@typescript-eslint/parser': '4.19.0',
      'babel-jest': '26.2.2',
      'babel-plugin-styled-components': '1.10.7',
      cypress: '^6.0.1',
      dotenv: '8.2.0',
      eslint: '7.22.0',
      'eslint-config-prettier': '8.1.0',
      'eslint-plugin-cypress': '^2.10.3',
      'eslint-plugin-import': '^2.22.1',
      'eslint-plugin-jest': '^24.3.6',
      'eslint-plugin-jsx-a11y': '6.4.1',
      'eslint-plugin-react': '7.23.1',
      'eslint-plugin-react-hooks': '4.2.0',
      'fast-check': '^2.14.0',
      jest: '26.2.2',
      prettier: '^2.2.1',
      'resize-observer-polyfill': '^1.5.1',
      'ts-jest': '26.5.5',
      'ts-node': '~9.1.1',
      typescript: '4.3.2'
    }
  },
  fs: { numberOfFiles: 268 },
  debug: [
    '2021-07-30T16:47:47.998Z angular/cli config Detected Angular CLI.\n',
    '2021-07-30T16:47:47.999Z angular/cli config Error: Cannot detect @angular/cli package version, is the package installed?\n    at ' +
      '<homeDir>/.cache/JetBrains/WebStorm2021.1/wallaby/wallaby/server.js:16:9200\n    at n ' +
      '(<homeDir>/.cache/JetBrains/WebStorm2021.1/wallaby/wallaby/server.js:16:14823)\n    at Object.next ' +
      '(<homeDir>/.cache/JetBrains/WebStorm2021.1/wallaby/wallaby/server.js:16:14118)\n    at o ' +
      '(<homeDir>/.cache/JetBrains/WebStorm2021.1/wallaby/wallaby/server.js:16:13877)\n',
    "2021-07-30T16:47:48.001Z angular/cli config Angular.json: \n {\n  version: 2,\n  cli: { defaultCollection: '@nrwl/react' },\n  defaultProject: 'calculator',\n  generators: {\n    '@nrwl/react': { " +
      "application: { style: 'styled-components', linter: 'eslint', babel: true }, component: { style: 'styled-components' }, library: { style: 'styled-components', linter: 'eslint' } }\n  },\n  " +
      "projects: {\n    calculator: {\n      root: 'apps/calculator',\n      sourceRoot: 'apps/calculator/src',\n      projectType: 'application',\n      targets: {\n        build: {\n          executor: " +
      "'@nrwl/web:build',\n          outputs: [ '{options.outputPath}' ],\n          options: {\n            outputPath: 'dist/apps/calculator',\n            index: 'apps/calculator/src/index.html',\n     " +
      "       main: 'apps/calculator/src/main.tsx',\n            polyfills: 'apps/calculator/src/polyfills.ts',\n            tsConfig: 'apps/calculator/tsconfig.app.json',\n            assets: [ " +
      "'apps/calculator/src/favicon.ico', 'apps/calculator/src/assets' ],\n            styles: [],\n            scripts: [],\n            webpackConfig: '@nrwl/react/plugins/webpack'\n          },\n       " +
      "   configurations: {\n            production: {\n              fileReplacements: [ { replace: 'apps/calculator/src/environments/environment.ts', with: " +
      "'apps/calculator/src/environments/environment.prod.ts' } ],\n              optimization: true,\n              outputHashing: 'all',\n              sourceMap: false,\n              extractCss: " +
      "true,\n              namedChunks: false,\n              extractLicenses: true,\n              vendorChunk: false,\n              budgets: [ { type: 'initial', maximumWarning: '2mb', maximumError: " +
      "'5mb' } ]\n            }\n          }\n        },\n        serve: { executor: '@nrwl/web:dev-server', options: { buildTarget: 'calculator:build' }, configurations: { production: { buildTarget: " +
      "'calculator:build:production' } } },\n        lint: { executor: '@nrwl/linter:eslint', options: { lintFilePatterns: [ 'apps/calculator/**/*.{ts,tsx,js,jsx}' ] } },\n        test: { executor: " +
      "'@nrwl/jest:jest', outputs: [ 'coverage/apps/calculator' ], options: { jestConfig: 'apps/calculator/jest.config.js', passWithNoTests: true } }\n      }\n    },\n    'calculator-e2e': {\n      " +
      "root: 'apps/calculator-e2e',\n      sourceRoot: 'apps/calculator-e2e/src',\n      projectType: 'application',\n      targets: {\n        e2e: {\n          executor: '@nrwl/cypress:cypress',\n        " +
      "  options: { cypressConfig: 'apps/calculator-e2e/cypress.json', tsConfig: 'apps/calculator-e2e/tsconfig.e2e.json', devServerTarget: 'calculator:serve' },\n          configurations: { " +
      "production: { devServerTarget: 'calculator:serve:production' } }\n        },\n        lint: { executor: '@nrwl/linter:eslint', options: { lintFilePatterns: [ 'apps/calculator-e2e/**/*.{js,ts}' ] " +
      "} }\n      }\n    },\n    'node-editor': {\n      root: 'libs/node-editor',\n      sourceRoot: 'libs/node-editor/src',\n      projectType: 'library',\n      targets: {\n        lint: { executor: " +
      "'@nrwl/linter:eslint', options: { lintFilePatterns: [ 'libs/node-editor/**/*.{ts,tsx,js,jsx}' ] } },\n        test: { executor: '@nrwl/jest:jest', outputs: [ 'coverage/libs/node-editor' ], " +
      "options: { jestConfig: 'libs/node-editor/jest.config.js', passWithNoTests: true } }\n      }\n    },\n    utility: {\n      root: 'libs/utility',\n      sourceRoot: 'libs/utility/src',\n      " +
      "projectType: 'library',\n      targets: {\n        lint: { executor: '@nrwl/linter:eslint', options: { lintFilePatterns: [ 'libs/utility/**/*.{ts,tsx,js,jsx}' ] } },\n        test: { executor: " +
      "'@nrwl/jest:jest', outputs: [ 'coverage/libs/utility' ], options: { jestConfig: 'libs/utility/jest.config.js', passWithNoTests: true } }\n      }\n    },\n    components: {\n      root: " +
      "'libs/components',\n      sourceRoot: 'libs/components/src',\n      projectType: 'library',\n      targets: {\n        lint: { executor: '@nrwl/linter:eslint', options: { lintFilePatterns: [ " +
      "'libs/components/**/*.{ts,tsx,js,jsx}' ] } },\n        test: { executor: '@nrwl/jest:jest', outputs: [ 'coverage/libs/components' ], options: { jestConfig: 'libs/components/jest.config.js', " +
      "passWithNoTests: true } }\n      }\n    },\n    state: {\n      root: 'libs/state',\n      sourceRoot: 'libs/state/src',\n      projectType: 'library',\n      targets: {\n        lint: { executor: " +
      "'@nrwl/linter:eslint', options: { lintFilePatterns: [ 'libs/state/**/*.{ts,tsx,js,jsx}' ] } },\n        test: { executor: '@nrwl/jest:jest', outputs: [ 'coverage/libs/state' ], options: { " +
      "jestConfig: 'libs/state/jest.config.js', passWithNoTests: true } }\n      }\n    },\n    mongodb: {\n      root: 'libs/mongodb',\n      sourceRoot: 'libs/mongodb/src',\n      projectType: 'library',\n" +
      "      targets: {\n        lint: { executor: '@nrwl/linter:eslint', options: { lintFilePatterns: [ 'libs/mongodb/**/*.ts' ] } },\n        test: { executor: '@nrwl/jest:jest', outputs: [ " +
      "'coverage/libs/mongodb' ], options: { jestConfig: 'libs/mongodb/jest.config.js', passWithNoTests: true } }\n      }\n    }\n  }\n}\n",
    '2021-07-30T16:47:48.001Z angular/cli config Error: Cannot detect @angular/cli package version, is the package installed?\n    at ' +
      '<homeDir>/.cache/JetBrains/WebStorm2021.1/wallaby/wallaby/server.js:16:9200\n    at n ' +
      '(<homeDir>/.cache/JetBrains/WebStorm2021.1/wallaby/wallaby/server.js:16:14823)\n    at Object.next ' +
      '(<homeDir>/.cache/JetBrains/WebStorm2021.1/wallaby/wallaby/server.js:16:14118)\n    at o ' +
      '(<homeDir>/.cache/JetBrains/WebStorm2021.1/wallaby/wallaby/server.js:16:13877)\n',
    '2021-07-30T16:47:48.088Z jest/config Detected Jest.\n',
    '2021-07-30T16:47:48.089Z jest/config Configured Jest.\n',
    '2021-07-30T16:47:48.090Z project Wallaby Node version: v12.3.1\n',
    '2021-07-30T16:47:48.090Z project Wallaby config: <homeDir>/www/monorepo/auto.detect\n',
    '2021-07-30T16:47:48.332Z project File cache: <homeDir>/.cache/JetBrains/WebStorm2021.1/wallaby/projects/6a4f43f6301e7f9f\n',
    '2021-07-30T16:47:48.387Z uiService Listening port 51235\n',
    '2021-07-30T16:47:48.442Z workers Parallelism for initial run: 6, for regular run: 3\n',
    '2021-07-30T16:47:48.442Z workers Starting run worker instance #0\n',
    '2021-07-30T16:47:48.443Z workers Starting run worker instance #1\n',
    '2021-07-30T16:47:48.443Z workers Starting run worker instance #2\n',
    '2021-07-30T16:47:48.443Z workers Starting run worker instance #3\n',
    '2021-07-30T16:47:48.443Z workers Starting run worker instance #4\n',
    '2021-07-30T16:47:48.443Z workers Starting run worker instance #5\n',
    '2021-07-30T16:47:48.444Z workers Web server is listening at 44639\n',
    '2021-07-30T16:47:48.475Z project Stopping process pool\n',
    '2021-07-30T16:47:48.475Z project File cache is up-to-date, starting full test run\n',
    '2021-07-30T16:47:48.485Z project Test run started; run priority: 3\n',
    '2021-07-30T16:47:48.486Z project Running all tests\n',
    '2021-07-30T16:47:48.490Z workers Starting test run, priority: 3\n',
    '2021-07-30T16:47:48.491Z workers Distributing tests between 6 workers\n',
    '2021-07-30T16:47:48.491Z workers Running tests in parallel\n',
    '2021-07-30T16:47:48.492Z nodeRunner Starting sandbox [worker #0, session #cbi3n]\n',
    '2021-07-30T16:47:48.492Z nodeRunner Starting sandbox [worker #1, session #2el6a]\n',
    '2021-07-30T16:47:48.492Z nodeRunner Starting sandbox [worker #2, session #xgkwa]\n',
    '2021-07-30T16:47:48.492Z nodeRunner Starting sandbox [worker #3, session #cgfp7]\n',
    '2021-07-30T16:47:48.492Z nodeRunner Starting sandbox [worker #4, session #rqn48]\n',
    '2021-07-30T16:47:48.492Z nodeRunner Starting sandbox [worker #5, session #1feyv]\n',
    '2021-07-30T16:47:48.492Z nodeRunner Preparing sandbox [worker #0, session #cbi3n]\n',
    '2021-07-30T16:47:48.492Z nodeRunner Preparing sandbox [worker #1, session #2el6a]\n',
    '2021-07-30T16:47:48.492Z nodeRunner Preparing sandbox [worker #2, session #xgkwa]\n',
    '2021-07-30T16:47:48.492Z nodeRunner Preparing sandbox [worker #3, session #cgfp7]\n',
    '2021-07-30T16:47:48.492Z nodeRunner Preparing sandbox [worker #4, session #rqn48]\n',
    '2021-07-30T16:47:48.492Z nodeRunner Preparing sandbox [worker #5, session #1feyv]\n',
    '2021-07-30T16:47:48.587Z workers Started run worker instance (delayed) #1\n',
    '2021-07-30T16:47:48.588Z nodeRunner Prepared sandbox [worker #1, session #2el6a]\n',
    '2021-07-30T16:47:48.588Z workers [worker #1, session #2el6a] Running tests in sandbox\n',
    '2021-07-30T16:47:48.592Z workers Started run worker instance (delayed) #0\n',
    '2021-07-30T16:47:48.592Z nodeRunner Prepared sandbox [worker #0, session #cbi3n]\n',
    '2021-07-30T16:47:48.593Z workers [worker #0, session #cbi3n] Running tests in sandbox\n',
    '2021-07-30T16:47:48.595Z workers Started run worker instance (delayed) #2\n',
    '2021-07-30T16:47:48.595Z nodeRunner Prepared sandbox [worker #2, session #xgkwa]\n',
    '2021-07-30T16:47:48.595Z workers [worker #2, session #xgkwa] Running tests in sandbox\n',
    '2021-07-30T16:47:48.598Z workers Started run worker instance (delayed) #4\n',
    '2021-07-30T16:47:48.599Z nodeRunner Prepared sandbox [worker #4, session #rqn48]\n',
    '2021-07-30T16:47:48.599Z workers [worker #4, session #rqn48] Running tests in sandbox\n',
    '2021-07-30T16:47:48.600Z workers Started run worker instance (delayed) #3\n',
    '2021-07-30T16:47:48.600Z nodeRunner Prepared sandbox [worker #3, session #cgfp7]\n',
    '2021-07-30T16:47:48.600Z workers [worker #3, session #cgfp7] Running tests in sandbox\n',
    '2021-07-30T16:47:48.616Z workers Started run worker instance (delayed) #5\n',
    '2021-07-30T16:47:48.617Z nodeRunner Prepared sandbox [worker #5, session #1feyv]\n',
    '2021-07-30T16:47:48.617Z workers [worker #5, session #1feyv] Running tests in sandbox\n',
    '2021-07-30T16:48:02.517Z workers Scheduling Jest Test Run (1feyv): 2021-07-30T16:47:48.971Z\n',
    '2021-07-30T16:48:02.856Z workers Scheduling Jest Test Run (xgkwa): 2021-07-30T16:47:48.963Z\n',
    '2021-07-30T16:48:03.316Z workers Scheduling Jest Test Run (rqn48): 2021-07-30T16:47:48.976Z\n',
    '2021-07-30T16:48:04.992Z workers [xgkwa] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:05.037Z workers Scheduling Jest Test Run (cgfp7): 2021-07-30T16:47:48.926Z\n',
    '2021-07-30T16:48:05.120Z workers [1feyv] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:05.155Z workers [1feyv] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:05.240Z workers [xgkwa] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:05.245Z workers [1feyv] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:05.338Z workers [1feyv] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:05.366Z workers [1feyv] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:05.386Z workers [xgkwa] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:05.399Z workers [xgkwa] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:05.407Z workers [xgkwa] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:05.426Z workers [1feyv] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:05.473Z workers [xgkwa] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:05.611Z workers [cgfp7] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:05.776Z workers Scheduling Jest Test Run (cbi3n): 2021-07-30T16:47:48.969Z\n',
    '2021-07-30T16:48:06.141Z workers Scheduling Jest Test Run (2el6a): 2021-07-30T16:47:48.987Z\n',
    '2021-07-30T16:48:07.807Z workers [1feyv] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:07.880Z workers [1feyv] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:07.949Z workers [1feyv] Run 67 test(s), skipped 0 test(s)\n',
    '2021-07-30T16:48:07.949Z workers Jest Test Run Complete (1feyv): 2021-07-30T16:48:07.779Z\n',
    '2021-07-30T16:48:07.950Z workers [1feyv] Sandbox is responsive, closing it\n',
    '2021-07-30T16:48:08.589Z workers [xgkwa] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:08.688Z workers [xgkwa] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:08.727Z workers [xgkwa] Run 45 test(s), skipped 0 test(s)\n',
    '2021-07-30T16:48:08.727Z workers Jest Test Run Complete (xgkwa): 2021-07-30T16:48:08.577Z\n',
    '2021-07-30T16:48:08.728Z workers [xgkwa] Sandbox is responsive, closing it\n',
    '2021-07-30T16:48:10.883Z workers [rqn48] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:10.949Z workers [rqn48] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:10.955Z workers [rqn48] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:10.964Z workers [rqn48] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:10.976Z workers [rqn48] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:10.979Z workers [rqn48] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:11.010Z workers [rqn48] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:11.047Z workers [rqn48] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:11.081Z workers [rqn48] Run 56 test(s), skipped 0 test(s)\n',
    '2021-07-30T16:48:11.081Z workers Jest Test Run Complete (rqn48): 2021-07-30T16:48:10.772Z\n',
    '2021-07-30T16:48:11.084Z workers [rqn48] Sandbox is responsive, closing it\n',
    '2021-07-30T16:48:13.357Z workers [2el6a] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:13.498Z workers [2el6a] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:13.506Z workers [2el6a] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:13.533Z workers [2el6a] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:13.619Z workers [2el6a] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:13.635Z workers [2el6a] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:13.639Z workers [cbi3n] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:13.639Z workers [2el6a] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:13.643Z workers [2el6a] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:13.710Z workers [cbi3n] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:13.770Z workers [cbi3n] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:13.777Z workers [cbi3n] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:13.780Z workers [cbi3n] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:13.796Z workers [2el6a] Run 47 test(s), skipped 0 test(s)\n',
    '2021-07-30T16:48:13.797Z workers Jest Test Run Complete (2el6a): 2021-07-30T16:48:13.302Z\n',
    '2021-07-30T16:48:13.797Z workers [2el6a] Sandbox is responsive, closing it\n',
    '2021-07-30T16:48:13.824Z workers [cbi3n] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:13.826Z workers [cbi3n] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:13.863Z workers [cbi3n] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:14.146Z workers [cbi3n] Run 115 test(s), skipped 0 test(s)\n',
    '2021-07-30T16:48:14.146Z workers Jest Test Run Complete (cbi3n): 2021-07-30T16:48:14.090Z\n',
    '2021-07-30T16:48:14.148Z workers [cbi3n] Sandbox is responsive, closing it\n',
    '2021-07-30T16:48:14.527Z workers [cgfp7] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:14.532Z workers [cgfp7] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:14.591Z workers [cgfp7] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:14.601Z workers [cgfp7] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:14.606Z workers [cgfp7] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:14.609Z workers [cgfp7] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:14.616Z workers [cgfp7] Loaded unknown number of test(s)\n',
    '2021-07-30T16:48:14.646Z workers [cgfp7] Run 60 test(s), skipped 0 test(s)\n',
    '2021-07-30T16:48:14.646Z workers Jest Test Run Complete (cgfp7): 2021-07-30T16:48:14.523Z\n',
    '2021-07-30T16:48:14.647Z workers [cgfp7] Sandbox is responsive, closing it\n',
    '2021-07-30T16:48:14.648Z workers Merging parallel test run results\n',
    '2021-07-30T16:48:14.684Z project Test run finished\n',
    '2021-07-30T16:48:14.685Z project Processed console.log entries\n',
    '2021-07-30T16:48:14.688Z project Processed loading sequences\n',
    '2021-07-30T16:48:14.695Z project Processed executed tests\n',
    '2021-07-30T16:48:14.737Z project Processed code coverage\n',
    '2021-07-30T16:48:14.968Z project Test run result processed and sent to IDE\n',
    '2021-07-30T16:58:10.911Z fs File changed in editor: libs/node-editor/src/lib/nodes/control-flow/QueueNode.spec.tsx\n',
    '2021-07-30T16:58:10.912Z extended-core New file or complex file change\n',
    '2021-07-30T16:58:10.921Z project Test run started; run priority: 2\n',
    '2021-07-30T16:58:10.921Z testTask Test files from affected: 1, from deleted or manually requested: 0, from recently changed: 0, from loaded by: 0, from failing: 0\n',
    '2021-07-30T16:58:10.925Z workers Starting test run, priority: 2\n',
    '2021-07-30T16:58:10.926Z nodeRunner Starting sandbox [worker #0, session #54d67]\n',
    '2021-07-30T16:58:10.926Z nodeRunner Preparing sandbox [worker #0, session #54d67]\n',
    '2021-07-30T16:58:10.926Z nodeRunner Prepared sandbox [worker #0, session #54d67]\n',
    '2021-07-30T16:58:10.926Z workers [worker #0, session #54d67] Running tests in sandbox\n',
    '2021-07-30T16:58:11.227Z fs File changed in editor: libs/node-editor/src/lib/nodes/control-flow/QueueNode.spec.tsx\n',
    '2021-07-30T16:58:11.229Z workers Cancelling test run, cancel requester priority: 2, current run priority: 2\n',
    '2021-07-30T16:58:11.230Z project Test run was cancelled\n',
    '2021-07-30T16:58:11.284Z workers Scheduling Jest Test Run (54d67): 2021-07-30T16:58:10.933Z\n',
    '2021-07-30T16:58:11.344Z workers Jest Test Run Complete (54d67): 2021-07-30T16:58:11.282Z\n',
    '2021-07-30T16:58:11.344Z workers [54d67] Sandbox is responsive, closing it\n',
    '2021-07-30T16:58:11.345Z project Test run cancelled, re-queueing run data\n',
    '2021-07-30T16:58:11.345Z project Test run finished\n',
    '2021-07-30T16:58:11.346Z project Test run data re-queued\n',
    '2021-07-30T16:58:11.396Z project Test run started; run priority: 2\n',
    '2021-07-30T16:58:11.397Z testTask Test files from affected: 1, from deleted or manually requested: 0, from recently changed: 0, from loaded by: 0, from failing: 0\n',
    '2021-07-30T16:58:11.401Z workers Starting test run, priority: 2\n',
    '2021-07-30T16:58:11.401Z nodeRunner Starting sandbox [worker #0, session #pzwcu]\n',
    '2021-07-30T16:58:11.401Z nodeRunner Preparing sandbox [worker #0, session #pzwcu]\n',
    '2021-07-30T16:58:11.401Z nodeRunner Prepared sandbox [worker #0, session #pzwcu]\n',
    '2021-07-30T16:58:11.401Z workers [worker #0, session #pzwcu] Running tests in sandbox\n',
    '2021-07-30T16:58:11.420Z fs File changed in editor: libs/node-editor/src/lib/nodes/control-flow/QueueNode.spec.tsx\n',
    '2021-07-30T16:58:11.420Z workers Cancelling test run, cancel requester priority: 2, current run priority: 2\n',
    '2021-07-30T16:58:11.420Z project Test run was cancelled\n',
    '2021-07-30T16:58:14.196Z workers Scheduling Jest Test Run (pzwcu): 2021-07-30T16:58:11.406Z\n',
    '2021-07-30T16:58:14.257Z workers Jest Test Run Complete (pzwcu): 2021-07-30T16:58:14.195Z\n',
    '2021-07-30T16:58:14.257Z workers [pzwcu] Sandbox is responsive, closing it\n',
    '2021-07-30T16:58:14.257Z project Test run cancelled, re-queueing run data\n',
    '2021-07-30T16:58:14.257Z project Test run finished\n',
    '2021-07-30T16:58:14.257Z project Test run data re-queued\n',
    '2021-07-30T16:58:14.298Z project Promoting test run to full run because of test selection changes\n',
    '2021-07-30T16:58:14.298Z project Test run started; run priority: 3\n',
    '2021-07-30T16:58:14.298Z project Running all tests\n',
    '2021-07-30T16:58:14.300Z workers Starting test run, priority: 3\n',
    '2021-07-30T16:58:14.300Z nodeRunner Starting sandbox [worker #0, session #zn5wn]\n',
    '2021-07-30T16:58:14.300Z nodeRunner Preparing sandbox [worker #0, session #zn5wn]\n',
    '2021-07-30T16:58:14.300Z nodeRunner Prepared sandbox [worker #0, session #zn5wn]\n',
    '2021-07-30T16:58:14.300Z workers [worker #0, session #zn5wn] Running tests in sandbox\n',
    '2021-07-30T16:58:14.749Z workers Scheduling Jest Test Run (zn5wn): 2021-07-30T16:58:14.304Z\n',
    '2021-07-30T16:58:14.768Z workers [zn5wn] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:14.826Z workers [zn5wn] Run 1 test(s), skipped 3 test(s)\n',
    '2021-07-30T16:58:14.829Z workers Jest Test Run Complete (zn5wn): 2021-07-30T16:58:14.748Z\n',
    '2021-07-30T16:58:14.829Z workers [zn5wn] Sandbox is responsive, closing it\n',
    '2021-07-30T16:58:14.830Z project Test run finished\n',
    '2021-07-30T16:58:14.830Z project Processed console.log entries\n',
    '2021-07-30T16:58:14.830Z project Processed loading sequences\n',
    '2021-07-30T16:58:14.830Z project Processed executed tests\n',
    '2021-07-30T16:58:14.870Z project Processed code coverage\n',
    '2021-07-30T16:58:15.111Z project Test run result processed and sent to IDE\n',
    '2021-07-30T16:58:17.232Z fs File changed in editor: libs/node-editor/src/lib/nodes/control-flow/QueueNode.spec.tsx\n',
    '2021-07-30T16:58:17.237Z project Promoting test run to full run because of test selection changes\n',
    '2021-07-30T16:58:17.237Z project Test run started; run priority: 3\n',
    '2021-07-30T16:58:17.237Z project Running all tests\n',
    '2021-07-30T16:58:17.240Z workers Starting test run, priority: 3\n',
    '2021-07-30T16:58:17.240Z workers Distributing tests between 6 workers\n',
    '2021-07-30T16:58:17.241Z workers Running tests in parallel\n',
    '2021-07-30T16:58:17.241Z nodeRunner Starting sandbox [worker #0, session #yala2]\n',
    '2021-07-30T16:58:17.241Z nodeRunner Starting sandbox [worker #1, session #bq542]\n',
    '2021-07-30T16:58:17.241Z nodeRunner Starting sandbox [worker #2, session #lo26a]\n',
    '2021-07-30T16:58:17.241Z nodeRunner Starting sandbox [worker #3, session #3hf5h]\n',
    '2021-07-30T16:58:17.241Z nodeRunner Starting sandbox [worker #4, session #114f6]\n',
    '2021-07-30T16:58:17.241Z nodeRunner Starting sandbox [worker #5, session #cgfdq]\n',
    '2021-07-30T16:58:17.241Z nodeRunner Preparing sandbox [worker #0, session #yala2]\n',
    '2021-07-30T16:58:17.241Z nodeRunner Preparing sandbox [worker #1, session #bq542]\n',
    '2021-07-30T16:58:17.241Z nodeRunner Preparing sandbox [worker #2, session #lo26a]\n',
    '2021-07-30T16:58:17.241Z nodeRunner Preparing sandbox [worker #3, session #3hf5h]\n',
    '2021-07-30T16:58:17.241Z nodeRunner Preparing sandbox [worker #4, session #114f6]\n',
    '2021-07-30T16:58:17.241Z nodeRunner Preparing sandbox [worker #5, session #cgfdq]\n',
    '2021-07-30T16:58:17.241Z nodeRunner Prepared sandbox [worker #0, session #yala2]\n',
    '2021-07-30T16:58:17.241Z nodeRunner Prepared sandbox [worker #1, session #bq542]\n',
    '2021-07-30T16:58:17.241Z nodeRunner Prepared sandbox [worker #2, session #lo26a]\n',
    '2021-07-30T16:58:17.241Z nodeRunner Prepared sandbox [worker #3, session #3hf5h]\n',
    '2021-07-30T16:58:17.241Z nodeRunner Prepared sandbox [worker #4, session #114f6]\n',
    '2021-07-30T16:58:17.241Z nodeRunner Prepared sandbox [worker #5, session #cgfdq]\n',
    '2021-07-30T16:58:17.241Z workers [worker #0, session #yala2] Running tests in sandbox\n',
    '2021-07-30T16:58:17.242Z workers [worker #1, session #bq542] Running tests in sandbox\n',
    '2021-07-30T16:58:17.243Z workers [worker #2, session #lo26a] Running tests in sandbox\n',
    '2021-07-30T16:58:17.245Z workers [worker #3, session #3hf5h] Running tests in sandbox\n',
    '2021-07-30T16:58:17.246Z workers [worker #4, session #114f6] Running tests in sandbox\n',
    '2021-07-30T16:58:17.246Z workers [worker #5, session #cgfdq] Running tests in sandbox\n',
    '2021-07-30T16:58:17.348Z fs File changed in editor: libs/node-editor/src/lib/nodes/control-flow/QueueNode.spec.tsx\n',
    '2021-07-30T16:58:17.348Z project Test run is not cancelled because cancel requester does not have enough priority to cancel the run\n',
    '2021-07-30T16:58:18.151Z workers Scheduling Jest Test Run (3hf5h): 2021-07-30T16:58:17.263Z\n',
    '2021-07-30T16:58:18.151Z workers [3hf5h] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:18.493Z workers Scheduling Jest Test Run (yala2): 2021-07-30T16:58:17.264Z\n',
    '2021-07-30T16:58:18.672Z workers Scheduling Jest Test Run (bq542): 2021-07-30T16:58:17.269Z\n',
    '2021-07-30T16:58:18.741Z workers [yala2] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:19.073Z workers Scheduling Jest Test Run (cgfdq): 2021-07-30T16:58:17.264Z\n',
    '2021-07-30T16:58:19.271Z workers Scheduling Jest Test Run (lo26a): 2021-07-30T16:58:17.262Z\n',
    '2021-07-30T16:58:19.315Z workers Scheduling Jest Test Run (114f6): 2021-07-30T16:58:17.263Z\n',
    '2021-07-30T16:58:19.695Z workers [lo26a] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:20.175Z workers [cgfdq] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:20.294Z workers [114f6] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:20.404Z workers [lo26a] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:20.407Z workers [lo26a] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:20.426Z workers [lo26a] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:20.436Z workers [lo26a] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:20.437Z workers [lo26a] Loaded unknown number of test(s)\n',
    "2021-07-30T16:58:20.740Z workers Sandbox (active) [bq542] error: Cannot set property '0' of undefined\n",
    '2021-07-30T16:58:20.785Z workers [cgfdq] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:20.789Z workers [cgfdq] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:20.834Z workers [cgfdq] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:20.836Z workers [cgfdq] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:20.841Z workers [bq542] Run 0 test(s), skipped 0 test(s)\n',
    '2021-07-30T16:58:20.841Z workers [cgfdq] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:21.104Z workers [yala2] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:21.137Z workers [yala2] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:21.146Z workers [yala2] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:21.154Z workers [yala2] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:21.159Z workers [yala2] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:21.163Z workers [yala2] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:21.185Z workers [yala2] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:21.224Z workers [lo26a] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:21.226Z workers [lo26a] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:21.306Z workers [lo26a] Run 45 test(s), skipped 0 test(s)\n',
    '2021-07-30T16:58:21.308Z workers Jest Test Run Complete (lo26a): 2021-07-30T16:58:21.211Z\n',
    '2021-07-30T16:58:21.309Z workers [lo26a] Sandbox is responsive, closing it\n',
    '2021-07-30T16:58:21.315Z workers [114f6] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:21.319Z workers [114f6] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:21.326Z workers [114f6] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:21.329Z workers [114f6] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:21.330Z workers [114f6] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:21.331Z workers [114f6] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:21.339Z workers [114f6] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:21.433Z workers [114f6] Run 56 test(s), skipped 0 test(s)\n',
    '2021-07-30T16:58:21.433Z workers Jest Test Run Complete (114f6): 2021-07-30T16:58:21.310Z\n',
    '2021-07-30T16:58:21.435Z workers [114f6] Sandbox is responsive, closing it\n',
    '2021-07-30T16:58:21.577Z workers [3hf5h] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:21.579Z workers Sandbox (active) [3hf5h] error: ' +
      '<homeDir>/www/monorepo/libs/node-editor/src/lib/nodes/control-flow/QueueNode.spec.tsx: Unexpected token (163:11)\n\n  161 |         });\n  162 |\n> 163 ' +
      '|         it.("should produce a collected list value", function () {\n      |            ^\n  164 |             const collectNode = nQuery(\n  165 |    ' +
      '             stater.state$,\n  166 |                 getNodeByType(CollectNode.ID)\n',
    '2021-07-30T16:58:21.660Z workers [3hf5h] Run 13 test(s), skipped 0 test(s)\n',
    '2021-07-30T16:58:21.694Z workers Jest Test Run Complete (3hf5h): 2021-07-30T16:58:21.575Z\n',
    '2021-07-30T16:58:21.694Z workers [3hf5h] Sandbox is responsive, closing it\n',
    '2021-07-30T16:58:21.696Z workers Failed to map the stack to user code, entry message: <homeDir>/www/monorepo/libs/node-editor/src/lib/nodes/control-flow/QueueNode.spec.tsx: Unexpected ' +
      'token (163:11)\n\n  161 |         });\n  162 |\n> 163 |         it.("should produce a collected list value", function () {\n      |            ^\n  164 |             const collectNode = nQuery(\n ' +
      ' 165 |                 stater.state$,\n  166 |                 getNodeByType(CollectNode.ID), stack: Jest encountered an unexpected token\n\nThis usually means that you are trying to import a ' +
      `file which Jest cannot parse, e.g. it's not plain JavaScript.\n\nBy default, if Jest sees a Babel config, it will use that to transform your files, ignoring "node_modules".\n\nHere's what you ` +
      'can do:\n • If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/en/ecmascript-modules for how to enable it.\n • To have some of your "node_modules" files transformed, you ' +
      'can specify a custom "transformIgnorePatterns" in your config.\n • If you need a custom transformation specify a "transform" option in your config.\n • If you simply want to mock your non-JS ' +
      `modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.\n\nYou'll find more details and examples of these config options in the docs:\n` +
      'https://jestjs.io/docs/en/configuration.html\n\nDetails:\n\nSyntaxError: <homeDir>/www/monorepo/libs/node-editor/src/lib/nodes/control-flow/QueueNode.spec.tsx: Unexpected token (163:11)\n\n  161 ' +
      '|         \n',
    '2021-07-30T16:58:21.743Z workers [yala2] Run 115 test(s), skipped 0 test(s)\n',
    '2021-07-30T16:58:21.743Z workers Jest Test Run Complete (yala2): 2021-07-30T16:58:21.649Z\n',
    '2021-07-30T16:58:21.744Z workers [yala2] Sandbox is responsive, closing it\n',
    '2021-07-30T16:58:21.855Z workers [bq542] Sandbox is responsive, closing it\n',
    '2021-07-30T16:58:21.858Z workers Jest Test Run Complete (bq542): 2021-07-30T16:58:21.789Z\n',
    '2021-07-30T16:58:22.653Z workers [cgfdq] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:22.670Z workers [cgfdq] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:22.720Z workers [cgfdq] Run 67 test(s), skipped 0 test(s)\n',
    '2021-07-30T16:58:22.720Z workers Jest Test Run Complete (cgfdq): 2021-07-30T16:58:22.651Z\n',
    '2021-07-30T16:58:22.720Z workers [cgfdq] Sandbox is responsive, closing it\n',
    '2021-07-30T16:58:22.721Z workers Merging parallel test run results\n',
    '2021-07-30T16:58:22.760Z project Test run finished\n',
    '2021-07-30T16:58:22.760Z project Processed console.log entries\n',
    '2021-07-30T16:58:22.761Z project Processed loading sequences\n',
    '2021-07-30T16:58:22.764Z project Processed executed tests\n',
    '2021-07-30T16:58:22.795Z project Processed code coverage\n',
    '2021-07-30T16:58:22.979Z project Test run result processed and sent to IDE\n',
    '2021-07-30T16:58:22.991Z project Test run started; run priority: 2\n',
    '2021-07-30T16:58:22.992Z testTask Test files from affected: 1, from deleted or manually requested: 0, from recently changed: 0, from loaded by: 0, from failing: 0\n',
    '2021-07-30T16:58:22.999Z workers Starting test run, priority: 2\n',
    '2021-07-30T16:58:22.999Z workers Distributing tests between 3 workers\n',
    '2021-07-30T16:58:22.999Z workers Running tests in parallel\n',
    '2021-07-30T16:58:22.999Z nodeRunner Starting sandbox [worker #0, session #bzmrq]\n',
    '2021-07-30T16:58:22.999Z nodeRunner Starting sandbox [worker #1, session #d52v6]\n',
    '2021-07-30T16:58:22.999Z nodeRunner Preparing sandbox [worker #0, session #bzmrq]\n',
    '2021-07-30T16:58:22.999Z nodeRunner Preparing sandbox [worker #1, session #d52v6]\n',
    '2021-07-30T16:58:22.999Z nodeRunner Prepared sandbox [worker #0, session #bzmrq]\n',
    '2021-07-30T16:58:22.999Z nodeRunner Prepared sandbox [worker #1, session #d52v6]\n',
    '2021-07-30T16:58:22.999Z workers [worker #0, session #bzmrq] Running tests in sandbox\n',
    '2021-07-30T16:58:23.000Z workers [worker #1, session #d52v6] Running tests in sandbox\n',
    '2021-07-30T16:58:27.748Z workers Scheduling Jest Test Run (bzmrq): 2021-07-30T16:58:23.003Z\n',
    '2021-07-30T16:58:27.819Z workers [bzmrq] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:27.829Z workers [bzmrq] Run 1 test(s), skipped 0 test(s)\n',
    '2021-07-30T16:58:27.829Z workers Jest Test Run Complete (bzmrq): 2021-07-30T16:58:27.747Z\n',
    '2021-07-30T16:58:27.830Z workers [bzmrq] Sandbox is responsive, closing it\n',
    '2021-07-30T16:58:28.704Z workers Scheduling Jest Test Run (d52v6): 2021-07-30T16:58:23.005Z\n',
    '2021-07-30T16:58:28.706Z workers [d52v6] Loaded unknown number of test(s)\n',
    '2021-07-30T16:58:28.817Z workers [d52v6] Run 4 test(s), skipped 0 test(s)\n',
    '2021-07-30T16:58:28.817Z workers Jest Test Run Complete (d52v6): 2021-07-30T16:58:28.703Z\n',
    '2021-07-30T16:58:28.817Z workers [d52v6] Sandbox is responsive, closing it\n',
    '2021-07-30T16:58:28.817Z workers Merging parallel test run results\n',
    '2021-07-30T16:58:28.821Z project Test run finished\n',
    '2021-07-30T16:58:28.822Z project Processed console.log entries\n',
    '2021-07-30T16:58:28.822Z project Processed loading sequences\n',
    '2021-07-30T16:58:28.822Z project Processed executed tests\n',
    '2021-07-30T16:58:28.839Z project Processed code coverage\n',
    '2021-07-30T16:58:28.899Z project Test run result processed and sent to IDE\n',
    '2021-07-30T16:59:42.065Z fs File changed in editor: libs/node-editor/src/lib/nodes/control-flow/QueueNode.spec.tsx\n',
    '2021-07-30T16:59:42.069Z project Test run started; run priority: 2\n',
    '2021-07-30T16:59:42.069Z testTask Test files from affected: 1, from deleted or manually requested: 0, from recently changed: 0, from loaded by: 0, from failing: 0\n',
    '2021-07-30T16:59:42.072Z workers Starting test run, priority: 2\n',
    '2021-07-30T16:59:42.072Z nodeRunner Starting sandbox [worker #0, session #7votz]\n',
    '2021-07-30T16:59:42.072Z nodeRunner Preparing sandbox [worker #0, session #7votz]\n',
    '2021-07-30T16:59:42.072Z nodeRunner Prepared sandbox [worker #0, session #7votz]\n',
    '2021-07-30T16:59:42.072Z workers [worker #0, session #7votz] Running tests in sandbox\n',
    '2021-07-30T16:59:42.209Z workers Scheduling Jest Test Run (7votz): 2021-07-30T16:59:42.079Z\n',
    '2021-07-30T16:59:42.210Z workers Sandbox (active) [7votz] error: ' +
      '<homeDir>/www/monorepo/libs/node-editor/src/lib/nodes/control-flow/QueueNode.spec.tsx: Unexpected token (163:11)\n\n  161 |         });\n  162 |\n> 163 ' +
      '|         it.("should produce a collected list value", function () {\n      |            ^\n  164 |             const collectNode = nQuery(\n  165 |    ' +
      '             stater.state$,\n  166 |                 getNodeByType(CollectNode.ID)\n',
    '2021-07-30T16:59:42.246Z workers [7votz] Run 0 test(s), skipped 0 test(s)\n',
    '2021-07-30T16:59:42.246Z workers Jest Test Run Complete (7votz): 2021-07-30T16:59:42.209Z\n',
    '2021-07-30T16:59:42.246Z workers [7votz] Sandbox is responsive, closing it\n',
    '2021-07-30T16:59:42.248Z workers Failed to map the stack to user code, entry message: <homeDir>/www/monorepo/libs/node-editor/src/lib/nodes/control-flow/QueueNode.spec.tsx: Unexpected ' +
      'token (163:11)\n\n  161 |         });\n  162 |\n> 163 |         it.("should produce a collected list value", function () {\n      |            ^\n  164 |             const collectNode = nQuery(\n ' +
      ' 165 |                 stater.state$,\n  166 |                 getNodeByType(CollectNode.ID), stack: Jest encountered an unexpected token\n\nThis usually means that you are trying to import a ' +
      `file which Jest cannot parse, e.g. it's not plain JavaScript.\n\nBy default, if Jest sees a Babel config, it will use that to transform your files, ignoring "node_modules".\n\nHere's what you ` +
      'can do:\n • If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/en/ecmascript-modules for how to enable it.\n • To have some of your "node_modules" files transformed, you ' +
      'can specify a custom "transformIgnorePatterns" in your config.\n • If you need a custom transformation specify a "transform" option in your config.\n • If you simply want to mock your non-JS ' +
      `modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.\n\nYou'll find more details and examples of these config options in the docs:\n` +
      'https://jestjs.io/docs/en/configuration.html\n\nDetails:\n\nSyntaxError: <homeDir>/www/monorepo/libs/node-editor/src/lib/nodes/control-flow/QueueNode.spec.tsx: Unexpected token (163:11)\n\n  161 ' +
      '|         \n',
    '2021-07-30T16:59:42.248Z project Test run finished\n',
    '2021-07-30T16:59:42.248Z project Processed console.log entries\n',
    '2021-07-30T16:59:42.248Z project Processed loading sequences\n',
    '2021-07-30T16:59:42.248Z project Processed executed tests\n',
    '2021-07-30T16:59:42.265Z project Processed code coverage\n',
    '2021-07-30T16:59:42.303Z project Test run result processed and sent to IDE\n',
    '2021-07-30T16:59:42.480Z fs File changed in editor: libs/node-editor/src/lib/nodes/control-flow/QueueNode.spec.tsx\n',
    '2021-07-30T16:59:42.484Z project Test run started; run priority: 2\n',
    '2021-07-30T16:59:42.484Z testTask Test files from affected: 1, from deleted or manually requested: 0, from recently changed: 0, from loaded by: 0, from failing: 0\n',
    '2021-07-30T16:59:42.489Z workers Starting test run, priority: 2\n',
    '2021-07-30T16:59:42.489Z nodeRunner Starting sandbox [worker #0, session #szgot]\n',
    '2021-07-30T16:59:42.489Z nodeRunner Preparing sandbox [worker #0, session #szgot]\n',
    '2021-07-30T16:59:42.489Z nodeRunner Prepared sandbox [worker #0, session #szgot]\n',
    '2021-07-30T16:59:42.489Z workers [worker #0, session #szgot] Running tests in sandbox\n',
    '2021-07-30T16:59:42.609Z fs File changed in editor: libs/node-editor/src/lib/nodes/control-flow/QueueNode.spec.tsx\n',
    '2021-07-30T16:59:42.610Z workers Cancelling test run, cancel requester priority: 2, current run priority: 2\n',
    '2021-07-30T16:59:42.610Z project Test run was cancelled\n',
    '2021-07-30T16:59:42.801Z workers Scheduling Jest Test Run (szgot): 2021-07-30T16:59:42.493Z\n',
    '2021-07-30T16:59:42.890Z workers Jest Test Run Complete (szgot): 2021-07-30T16:59:42.800Z\n',
    '2021-07-30T16:59:42.890Z workers [szgot] Sandbox is responsive, closing it\n',
    '2021-07-30T16:59:42.891Z project Test run cancelled, re-queueing run data\n',
    '2021-07-30T16:59:42.891Z project Test run finished\n',
    '2021-07-30T16:59:42.891Z project Test run data re-queued\n',
    '2021-07-30T16:59:42.941Z project Promoting test run to full run because of test selection changes\n',
    '2021-07-30T16:59:42.941Z project Test run started; run priority: 3\n',
    '2021-07-30T16:59:42.942Z project Running all tests\n',
    '2021-07-30T16:59:42.946Z workers Starting test run, priority: 3\n',
    '2021-07-30T16:59:42.946Z nodeRunner Starting sandbox [worker #0, session #ae3st]\n',
    '2021-07-30T16:59:42.946Z nodeRunner Preparing sandbox [worker #0, session #ae3st]\n',
    '2021-07-30T16:59:42.946Z nodeRunner Prepared sandbox [worker #0, session #ae3st]\n',
    '2021-07-30T16:59:42.946Z workers [worker #0, session #ae3st] Running tests in sandbox\n',
    '2021-07-30T16:59:43.351Z workers Scheduling Jest Test Run (ae3st): 2021-07-30T16:59:42.954Z\n',
    "2021-07-30T16:59:43.358Z workers Sandbox (active) [ae3st] error: Cannot set property '0' of undefined\n",
    '2021-07-30T16:59:43.401Z workers [ae3st] Run 0 test(s), skipped 0 test(s)\n',
    '2021-07-30T16:59:43.402Z workers Jest Test Run Complete (ae3st): 2021-07-30T16:59:43.350Z\n',
    '2021-07-30T16:59:43.402Z workers [ae3st] Sandbox is responsive, closing it\n',
    '2021-07-30T16:59:43.403Z project Test run finished\n',
    '2021-07-30T16:59:43.403Z project Processed console.log entries\n',
    '2021-07-30T16:59:43.403Z project Processed loading sequences\n',
    '2021-07-30T16:59:43.403Z project Processed executed tests\n',
    '2021-07-30T16:59:43.426Z project Processed code coverage\n',
    '2021-07-30T16:59:43.609Z project Test run result processed and sent to IDE\n',
    '2021-07-30T16:59:55.318Z fs File changed in editor: libs/node-editor/src/lib/nodes/control-flow/QueueNode.spec.tsx\n',
    '2021-07-30T16:59:55.323Z project Test run started; run priority: 2\n',
    '2021-07-30T16:59:55.323Z testTask Test files from affected: 1, from deleted or manually requested: 0, from recently changed: 0, from loaded by: 0, from failing: 0\n',
    '2021-07-30T16:59:55.324Z testTask Running only selected or not excluded tests\n',
    '2021-07-30T16:59:55.327Z workers Starting test run, priority: 2\n',
    '2021-07-30T16:59:55.327Z nodeRunner Starting sandbox [worker #0, session #lb2v5]\n',
    '2021-07-30T16:59:55.328Z nodeRunner Preparing sandbox [worker #0, session #lb2v5]\n',
    '2021-07-30T16:59:55.328Z nodeRunner Prepared sandbox [worker #0, session #lb2v5]\n',
    '2021-07-30T16:59:55.328Z workers [worker #0, session #lb2v5] Running tests in sandbox\n',
    '2021-07-30T16:59:55.386Z workers Scheduling Jest Test Run (lb2v5): 2021-07-30T16:59:55.332Z\n',
    '2021-07-30T16:59:55.387Z workers Sandbox (active) [lb2v5] error: <homeDir>/www/monorepo/libs/node-editor/src/lib/nodes/control-flow/QueueNode.spec.tsx: Unexpected ' +
      'token (167:12)\n\n  165 |                 stater.state$,\n  166 |                 getNodeByType(CollectNode.ID).\n> 167 |             );\n      |             ^\n  168 |     ' +
      '        const output = collectNode.output("COLLECT-OUT");\n  169 |             expect(output.valueEntry()).toEqual({\n  170 |                 state: ValueState.Success,\n',
    '2021-07-30T16:59:55.412Z workers [lb2v5] Run 0 test(s), skipped 0 test(s)\n',
    '2021-07-30T16:59:55.413Z workers Jest Test Run Complete (lb2v5): 2021-07-30T16:59:55.385Z\n',
    '2021-07-30T16:59:55.413Z workers [lb2v5] Sandbox is responsive, closing it\n',
    '2021-07-30T16:59:55.414Z workers Failed to map the stack to user code, entry message: <homeDir>/www/monorepo/libs/node-editor/src/lib/nodes/control-flow/QueueNode.spec.tsx: ' +
      'Unexpected token (167:12)\n\n  165 |                 stater.state$,\n  166 |                 getNodeByType(CollectNode.ID).\n> 167 |             );\n      |             ^\n  168 | ' +
      '            const output = collectNode.output("COLLECT-OUT");\n  169 |             expect(output.valueEntry()).toEqual({\n  170 |                 state: ValueState.Success,, ' +
      "stack: Jest encountered an unexpected token\n\nThis usually means that you are trying to import a file which Jest cannot parse, e.g. it's not plain JavaScript.\n\nBy default, if " +
      `Jest sees a Babel config, it will use that to transform your files, ignoring "node_modules".\n\nHere's what you can do:\n • If you are trying to use ECMAScript Modules, see ` +
      'https://jestjs.io/docs/en/ecmascript-modules for how to enable it.\n • To have some of your "node_modules" files transformed, you can specify a custom ' +
      '"transformIgnorePatterns" in your config.\n • If you need a custom transformation specify a "transform" option in your config.\n • If you simply want to mock your non-JS ' +
      `modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.\n\nYou'll find more details and examples of these config options in the docs:\n` +
      'https://jestjs.io/docs/en/configuration.html\n\nDetails:\n\nSyntaxError: <homeDir>/www/monorepo/libs/node-editor/src/lib/nodes/control-flow/QueueNode.spec.tsx: Unexpected token ' +
      '(167:12)\n\n  165 |         \n',
    '2021-07-30T16:59:55.414Z project Test run finished\n',
    '2021-07-30T16:59:55.414Z project Processed console.log entries\n',
    '2021-07-30T16:59:55.414Z project Processed loading sequences\n',
    '2021-07-30T16:59:55.414Z project Processed executed tests\n',
    '2021-07-30T16:59:55.422Z project Processed code coverage\n',
    '2021-07-30T16:59:55.435Z project Test run result processed and sent to IDE\n',
    '2021-07-30T16:59:56.988Z fs File changed in editor: libs/node-editor/src/lib/nodes/control-flow/QueueNode.spec.tsx\n',
    '2021-07-30T16:59:56.991Z project Test run started; run priority: 2\n',
    '2021-07-30T16:59:56.991Z testTask Test files from affected: 1, from deleted or manually requested: 0, from recently changed: 0, from loaded by: 0, from failing: 0\n',
    '2021-07-30T16:59:56.991Z testTask Running only selected or not excluded tests\n',
    '2021-07-30T16:59:56.994Z workers Starting test run, priority: 2\n',
    '2021-07-30T16:59:56.994Z nodeRunner Starting sandbox [worker #0, session #p3y2y]\n',
    '2021-07-30T16:59:56.994Z nodeRunner Preparing sandbox [worker #0, session #p3y2y]\n',
    '2021-07-30T16:59:56.994Z nodeRunner Prepared sandbox [worker #0, session #p3y2y]\n',
    '2021-07-30T16:59:56.994Z workers [worker #0, session #p3y2y] Running tests in sandbox\n',
    '2021-07-30T16:59:57.141Z workers Scheduling Jest Test Run (p3y2y): 2021-07-30T16:59:56.997Z\n',
    "2021-07-30T16:59:57.147Z workers Sandbox (active) [p3y2y] error: Cannot set property '0' of undefined\n",
    '2021-07-30T16:59:57.165Z workers [p3y2y] Run 0 test(s), skipped 0 test(s)\n',
    '2021-07-30T16:59:57.165Z workers Jest Test Run Complete (p3y2y): 2021-07-30T16:59:57.140Z\n',
    '2021-07-30T16:59:57.165Z workers [p3y2y] Sandbox is responsive, closing it\n',
    '2021-07-30T16:59:57.166Z project Test run finished\n',
    '2021-07-30T16:59:57.166Z project Processed console.log entries\n',
    '2021-07-30T16:59:57.166Z project Processed loading sequences\n',
    '2021-07-30T16:59:57.166Z project Processed executed tests\n',
    '2021-07-30T16:59:57.172Z project Processed code coverage\n',
    '2021-07-30T16:59:57.182Z project Test run result processed and sent to IDE\n'
  ]
}

@smcenlly
Copy link
Member Author

We couldn't reproduce your problem but believe we have found and fixed a fault in Wallaby that was causing your issue.

Could you please update to the latest version of Wallaby core, v1.0.1119 to see if that fixes your issue? If it does not, could you please provide your updated diagnostic report?

Wallaby should update automatically for you, but if it does not, you may force a core update.

Also, if your project is opensource/publicly available, would you mind sharing the link with us as we may be able to run it ourselves to see the problem first hand.

@kevinbeal
Copy link

kevinbeal commented Aug 3, 2021

It appears to be working. It showed the error immediately after I started with the latest version. But since clearing my jest cache it hasn't appeared again.

It's still happening. Diagnostic incoming...

@kevinbeal
Copy link

kevinbeal commented Aug 3, 2021

scratch_5.txt

The diagnostic report appears to be missing the error, and the error disappeared form the wallaby console seemingly on it's own without changes to my open files. Here's the diagnostic report anyway, in case it helps.

@smcenlly
Copy link
Member Author

smcenlly commented Aug 4, 2021

Could you please try manually deleting Jest's cache directory. The folder to remove is: /tmp/jest_rs

@kevinbeal
Copy link

I will if it comes up again. It only came back up once and went away without any file changes, if I recall. This is a dramatic improvement from before. I'm satisfied, personally.

@smcenlly smcenlly closed this as completed Aug 4, 2021
@JohanHeyvaert
Copy link

JohanHeyvaert commented Aug 17, 2021

Unfortunately we are experiencing the same problem, even with the latest core (1.0.1128).
Wallaby works for a while, but after a few code or tests updates it crashes with "Cannot set property '0' of undefined". Restarting wallaby helps, but it's very inconvenient as it takes 3 minutes to relaunch all tests.
We are using Jest and Nx. Our IDE is Webstorm.

My colleagues and I are currently using a trial version of Wallaby. When it works it's really great, but this constantly crashing is a showstopper. So hopefully this can be quickly fixed?

Thanks in advance!

@ArtemGovorov
Copy link
Member

@JohanHeyvaert Can you please try the following:

  • run npx jest --showConfig in your repo's root,
  • find "cacheDirectory": ... in the output,
  • manually delete the whole cacheDirectory folder from disk.
  • check if the issue continues to show up.

@JohanHeyvaert
Copy link

Thanks for your response.
I had already tried that yesterday, but will give it one more try.

@smcenlly
Copy link
Member Author

@JohanHeyvaert - are you using VS Code? You may also try running the Wallaby.js: Reset Wallaby Cache command. If you are using a JetBrains editor, try running the Help | Wallaby.js | Reset Wallaby Cache menu item. If this fixes your problem, please let us know. If you're able to reproduce the issue reliably, also, please let us know.

@JohanHeyvaert
Copy link

JohanHeyvaert commented Aug 18, 2021

Since I've cleared the jest cache yesterday the problem didn't reoccur. Fingers crossed!

If it happens again I'll try with WebStorm via Reset Wallaby Cache. Does this something else than the manual cleanup of jest?

@JohanHeyvaert
Copy link

JohanHeyvaert commented Aug 18, 2021

The problem just reoccured, so I tried the Reset Wallaby Cache feature. Unfortunately this seems to uninstall Wallaby?! Both the wallaby app and core were removed from WebStorm. Since my company's security settings block the automatic installation I have to reinstall it manually.
However, if the cache lives in the wallaby folder I guess it won't fix the problem as I updated the app several times the last days, and with each update I removed the previous folders (wallaby and wallaby-app).

I don't know how to reproduce the issue, Wallaby seems to crash randomly after I change source code or tests.

@smcenlly
Copy link
Member Author

The problem just reoccured, so I tried the Reset Wallaby Cache feature. Unfortunately this seems to uninstall Wallaby.

This sounds like a bug. It's a recently added feature and should only remove your Wallaby cached projects folder. We're investigating this now.

However, if the cache lives in the wallaby folder I guess it won't fix the problem as I updated the app several times the last days, and with each update I removed the previous folders (wallaby and wallaby-app).

Wallaby has its own cache for file that have been modified after it started that may/may not yet be committed to disk; this is what we asked you to clear. Jest also maintains its own cache of transformed files. I suspect that the issue is in this mechanism (not necessarily the fault of Jest).


RE: "Cannot read property '0' of undefined"

Can you also please provide us with your Wallaby Diagnostics report as it may contain additional information relevant for us diagnosing your problem:

To share the report:

  • start Wallaby in your project;
  • wait until it reports some results (finishes running tests);
  • run Copy Diagnostics Report command:
    • in VS Code, Atom, or Sublime editor execute Wallaby Copy Diagnostics Report command from your editor command palette;
    • in JetBrains IDEs or VS use Wallaby Help | Wallaby.js | Copy Diagnostics Report menu item;
  • paste generated report from your clipboard below (feel free to review and edit the report if required).

@JohanHeyvaert
Copy link

Can I send you the report privately? The file counts almost 5500 lines. Also I'd rather not share customer's data in public (even if there's no sensitive info in the file).

@JohanHeyvaert
Copy link

Also, with the reinstall yesterday I have yet again a new version of Wallaby (core v1.0.1130). I'll let you know if/when it crashes again. Until now that error did not yet occur, but yesterday it seemed like the tests were continuously running in a loop. I had enough of it so I stopped Wallaby and have only restarted it today.

@ArtemGovorov
Copy link
Member

Can I send you the report privately?

Yes, please send it to hello@wallabyjs.com.

@JohanHeyvaert
Copy link

JohanHeyvaert commented Aug 19, 2021

I don't know if this is related to this problem, but I notice that Wallaby sometimes is relaunching all (or a lot of) tests when it's really not needed.
Editing the same spec file multiple times usually reruns just the affected tests, but sometimes it relaunches all tests (without any change outside the current file). This takes a long time (up to 3 minutes) and costs a lot of cpu. My laptop is quite powerful (Intel Core i7-9850H @ 2.60GHz with 32GB RAM and SSD) but the tests really take it for a spin!

Sometimes it seems that the tests are running non-stop?
Since this morning I've added a run delay of 500 in the config. Seems to help a bit. I might have to increase the value.

@smcenlly
Copy link
Member Author

@JohanHeyvaert - thanks for providing the diagnostics report via email. Have you had the problem since yesterday?

Could you please:

  1. Provide us with the diagnostics report immediately after you see the error? We need to see the detail for the error in order to diagnose what's going wrong.
  2. Also provide the contents of the Wallaby Console (located in the Wallaby Run tool window in WebStorm).

I don't know if this is related to this problem, but I notice that Wallaby sometimes is relaunching all (or a lot of) tests when it's really not needed.

This may be related but may also be caused by the code changes that you are making (depending on what you're changing and if your changes generated any global runtime errors).

@JohanHeyvaert
Copy link

JohanHeyvaert commented Aug 20, 2021

Okay, the problem reoccured, while I was updating some code. The tests were running while I was writing (which happens a lot of course if you use the automatic mode) and it crashed. I don't know if the crash is caused by invalid code.
--> I don't know if it would be a good idea to ignore (don't run) tests of files with syntax errors? (maybe configurable)

I'll send you the diagnostics and console output. (done)

@JohanHeyvaert
Copy link

I saw that today there's a new version of the WebStorm plugin. I haven't installed it yet. Do you think it may help to avoid this problem?

@smcenlly
Copy link
Member Author

The new version of the WebStorm plugin is to fix this:

The problem just reoccured, so I tried the Reset Wallaby Cache feature. Unfortunately this seems to uninstall Wallaby.

This sounds like a bug. It's a recently added feature and should only remove your Wallaby cached projects folder. We're investigating this now.


Going to take a look at diagnostics report now. It's getting late here (10PM) so may not be able to provide an update until tomorrow.

@JohanHeyvaert
Copy link

No worries, take your time! Maybe I could get a new extended trial license though? I was not really able to enjoy 100% of what Wallaby should have to offer. ;-)
Is it possible that the product is more stable with VS Code?

@smcenlly
Copy link
Member Author

No problem, we'll send you another trial license. The issue is not related to your editor, looks like it's something specific to your project/configuration. It's very unusual but I am sure we will be able to sort it out. For some reason, it seems that Wallaby and Jest cache are not synchronised correctly. Wallaby contains self-correcting core to fix this scenario but it seems that is also not executing. We really appreciate your patience as we work through the issue.

@smcenlly
Copy link
Member Author

So far I've been unable to reproduce your problem, but we have a suspicion as to the cause, which may also explain:

Editing the same spec file multiple times usually reruns just the affected tests, but sometimes it relaunches all tests (without any change outside the current file).


From your log, the Cannot set property '0' of undefined error happens immediately after a TypeScript type error for your most recent changes error TS2531: Object is possibly 'null'.

I'm wondering if for some reason a type error is leading TypeScript to not output the code for a file or to else output it incorrectly which then results in Wallaby cache misaligning with Jest cache.

Am I right in assuming that when running from the command line, your tests will fail on a TypeScript type error? Ideally, you should configure Wallaby to not error on TypeScript type errors (i.e. make sure noEmitOnError is set to false (default)). This is probably a little different from how you might like CLI / CI to behave. In Wallaby's case, it leads to less noise and more successful test runs as you're editing your code.

I'd like to try updating your TypeScript configuration when Wallaby is running (it may require creating a different jest configuration) to see if that fixes your problem.

Please also read our recent blog post on optimizing typescript as it explains a few things about what's going on when using TypeScript and may provide some alternatives to using ts-jest that you are interested in and that will fix your problem.

If the type checking leads to global errors OR ripples through other files as they're run, then this may also be a cause of:

When Wallaby runs a test and the test fails, on a subsequent execution, Wallaby will re-execute all failing tests as it's current code change may fix the problem.


Could you please try change the TypeScript configuration as suggested. If you can switch to use something other than ts-jest with Wallaby (may not be possible) I think you'd see a big difference in Wallaby runtime performance and it would also solve your issue.

We'll do some further testing early next week to try and reproduce the problem now that we can see when it occurs.

@JohanHeyvaert
Copy link

JohanHeyvaert commented Aug 23, 2021

Thanks for your suggestions.

This morning, I have:

  • set noEmitOnError to true (in package.json - wallaby config)
  • set isolatedMocules to true (in tsconfig.base.json)
    But the "cannot set property '0' of undefined" error has reoccured. I'll send you the console output + the diagnostics report.

I'll clean the cache and retry once more.

I would like to try compilation with Babel or swc, but I don't really have the time to investigate how to do that.

@smcenlly
Copy link
Member Author

We've just released an update to Wallaby, v1.0.1132 that has some improved logic to handle jest cache misalignment. Would you be able to download it and give it a try? We're hoping it will fix your problem.

@JohanHeyvaert
Copy link

Thanks, I'll give it a spin.
After modifying the new configuration and clearing the cache (both wallaby's and jest's) the error didn't come back. Maybe it's a coincidence, but I made quite a lot of breaking code changes yesterday (I still need to fix some tests) while Wallaby kept working.

@JohanHeyvaert
Copy link

JohanHeyvaert commented Aug 24, 2021

Until now the problem didn't return. Seems stable now.

There is one other problem I noticed: in the report app the coverage % is sometimes negative.
image
I've experienced this several times, with all wallaby versions. Maybe I'll have to create a separate issue for that (I have searched but didn't find an existing issue for this).

@smcenlly
Copy link
Member Author

Until now the problem didn't return. Seems stable now.

That's great news. Since you're running in offline mode, it's worth mentioning that we made some additional enhancements (again) to try fix up when Jest cache becomes bad. We usually release features, bug fixes, updates to latest version of technologies that we support, etc. multiple times a week so it's probably worth manually upgrading periodically (at least).

There is one other problem I noticed: in the report app the coverage % is sometimes negative.

We have seen this ourselves from time to time but haven't been able to reliably reproduce the issue. Feel free to create a new issue. If you're able to reliably reproduce it, we'd appreciate any instructions you can provide.

@kevinbeal
Copy link

kevinbeal commented Mar 7, 2023

I get it all the time now since upgrading my NX workspace.

I tried deleting the cache with 3 separate methods which did nothing.
And I added the workers.recycle option which made it go away. I would not like to have that option enabled though. (My crappy tests are slow enough already.)

There was some guidance about resetting cache at the node module level via a Wallaby config option, but I don't know how to determine which module would be the culprit and I do really like the automatic configuration so would prefer not to introduce a wallaby config file (but will obviously if there's no other choice).

I sent in the diagnostic report to hello@

@smcenlly smcenlly reopened this Mar 7, 2023
@smcenlly
Copy link
Member Author

smcenlly commented Mar 7, 2023

Thanks for the diagnostics report. We can see why there's an error.

A bit of background for you first to explain the issue. When Wallaby runs on your project, it modifies your code in a non-breaking way to report live value displays, code coverage indicators, etc. For code that is transformed (e.g. TypeScript, JSX, etc.) these modifications happen after your code has been compiled.

The error that you're receiving indicates that the number of regions in your code is not the same when running the same code file between different projects in your mono-repo. This means in some cases, one project is generating more lines of code / functions in the transformed file than another project. When Wallaby tries to identify the regions in your code at runtime, the mismatch is causing it to fail. We can see that the transforms between your projects are different, which explains your issue.

Expecting transforms for a given file to be the same across different projects is currently a key assumption we've made while developing Wallaby and I'm not sure if we're going to be able to address your issue. You should be able to fix the problem by making sure that your jest transforms are the same across all projects for various file types. I can understand how this may not work for you though.

We're going to investigate if we can fix this within Wallaby but it may be a limitation that you will need to workaround, either by changing your transforms or by limiting which projects in your mono-repo are run together when using Wallaby (i.e. with a custom configuration that only runs projects where the transforms are the same).

We should get back to you in the next day or so with either a solution or to let you know that you'll need to change your transforms or use a custom Wallaby configuration.

@kevinbeal
Copy link

kevinbeal commented Mar 8, 2023

Thanks for the response Simon! I just changed the transforms that used ts-jest to use swc like the rest were doing, but that didn't help.

Do they need to be configured identically with all the same options? I know I used to have different transform options previously without this issue.

I'm very willing to change my transforms, but I don't know how to do it in the right way.

@smcenlly
Copy link
Member Author

smcenlly commented Mar 8, 2023

Do they need to be configured identically with all the same options? I know I used to have different transform options previously without this issue.

They need to generate the same number of operations in code for Wallaby to instrument. If the configuration is identical, the same code should be emitted. If they are not configured identically with all the same options, the code output by the transforms will almost certainly be different.

We're working on an update for you so that Wallaby won't crash when this occurs, but it's possible that error messages and code coverage won't be reported correctly. We expect the update to be completed in the next day and will update this issue when it's available.

@kevinbeal
Copy link

I was able to get rid of the error by removing Vite from my NX Workspace in favor of Webpack. It caused several other problems and so are glad to be rid of it. Win-win, really.

The hint about common configurations led us there, so thank you.

Thanks for all the support. We're happy to recommend wallaby.

@smcenlly
Copy link
Member Author

smcenlly commented Mar 9, 2023

Glad to hear that you were able to align the transformations across the shared files of your project. I think this is the best way to fix the problem when you're able to.

For the future, for those not able to align transformations for shared code, we have updated Wallaby to better handle this scenario from Wallaby core v1.0.1395.

@smcenlly smcenlly closed this as completed Mar 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants