wallabyjs / public

Repository for Wallaby.js questions and issues
http://wallabyjs.com
760 stars 45 forks source link

Coverage markers and logging not working only on actual files #3279

Closed jbaccarelli-equinix closed 1 year ago

jbaccarelli-equinix commented 1 year ago

Issue description or question

Wallaby works as expected for a yarn monorepo, npx jest works fine when run from the root and i see the test ouput of wallaby with Start or Smart Start mode.

The only thing missing is i don't get the coverage markers or logging on the actual file, like so

Screenshot 2023-10-09 at 15 38 20

So if i have Component.tsx and Component.test.tsx, i see the markers and logging on the .test.file but not on the regular file

I'm running this on VScode, on a Yarn Monorepo with a few packages.

Wallaby diagnostics report

{
  editorVersion: '1.83.0',
  pluginVersion: '1.0.371',
  editorType: 'VSCode',
  osVersion: 'darwin 22.6.0',
  nodeVersion: 'v20.7.0',
  coreVersion: '1.0.1403',
  checksum: 'YWU5Zjg3NWQ3ODJmMjdlOTY3YzE4YWU0NzBiMjMxYjIsMTY4MDEzNDQwMDAwMCww',
  config: {
    diagnostics: {
      jest: {
        config: {
          configs: [
            {
              automock: false,
              cache: true,
              cacheDirectory: '/private/var/folders/4z/d03nh5px097b_tvn8s3yzxx00000gp/T/jest_dy',
              clearMocks: false,
              collectCoverageFrom: [ 'src/components/**/*.{ts,tsx}', 'src/hooks/**/*.{ts,tsx}', 'src/layout/**/*.{ts,tsx}', 'src/views/**/*.{ts,tsx}', 'src/services/**/*.{ts,tsx}', 'src/util/**/*.{ts,tsx}' ],
              coverageDirectory: '<homeDir>/work/goeng-goe-tools-ui/packages/client/coverage',
              coveragePathIgnorePatterns: [ '/node_modules/' ],
              cwd: '<homeDir>/work/goeng-goe-tools-ui',
              dependencyExtractor: undefined,
              detectLeaks: false,
              detectOpenHandles: false,
              displayName: { color: 'white', name: '@goe/client' },
              errorOnDeprecated: false,
              extensionsToTreatAsEsm: [],
              fakeTimers: { enableGlobally: false },
              filter: undefined,
              forceCoverageMatch: [],
              globalSetup: undefined,
              globalTeardown: undefined,
              globals: {},
              haste: { computeSha1: false, enableSymlinks: false, forceNodeFilesystemAPI: true, throwOnModuleCollision: false },
              id: '2b5d94f76af42be235936615433ebdf7',
              injectGlobals: true,
              moduleDirectories: [ 'node_modules' ],
              moduleFileExtensions: [ 'js', 'json', 'jsx', 'ts', 'tsx' ],
              moduleNameMapper: [
                [ '^@/(.*)$', '<homeDir>/work/goeng-goe-tools-ui/packages/client/src/$1' ],
                [ '\\.(?:png|jpg|webp|ttf|woff|woff2|svg|mp4)$', '<homeDir>/work/goeng-goe-tools-ui/packages/client/src/testing/mockFile.js' ],
                [ '\\.(?:css|scss)$', '<homeDir>/work/goeng-goe-tools-ui/packages/client/src/testing/mockFile.js' ]
              ],
              modulePathIgnorePatterns: [ 'build' ],
              modulePaths: undefined,
              openHandlesTimeout: 1000,
              prettierPath: 'prettier',
              resetMocks: true,
              resetModules: false,
              resolver: undefined,
              restoreMocks: false,
              rootDir: '<homeDir>/work/goeng-goe-tools-ui/packages/client',
              roots: [ '<homeDir>/work/goeng-goe-tools-ui/packages/client' ],
              runner: '<homeDir>/work/goeng-goe-tools-ui/.yarn/cache/jest-runner-npm-29.7.0-3bc9f82b58-f0405778ea.zip/node_modules/jest-runner/build/index.js',
              runtime: undefined,
              sandboxInjectedGlobals: [],
              setupFiles: [],
              setupFilesAfterEnv: [ '<homeDir>/work/goeng-goe-tools-ui/packages/client/src/testing/setupTests.ts' ],
              skipFilter: false,
              skipNodeResolution: undefined,
              slowTestThreshold: 5,
              snapshotFormat: { escapeString: false, printBasicPrototype: false },
              snapshotResolver: undefined,
              snapshotSerializers: [],
              testEnvironment: '<homeDir>/work/goeng-goe-tools-ui/.yarn/__virtual__/jest-environment-jsdom-virtual-c2fbfcfed5/0/cache/jest-environment-jsdom-npm-29.7.0-0b72dd0e0b-559aac134c.zip/node_modules/jest-environment-jsdom/build/index.js',
              testEnvironmentOptions: {},
              testLocationInResults: false,
              testMatch: [ '<homeDir>/work/goeng-goe-tools-ui/packages/client/**/*.test.[jt]s?(x)' ],
              testPathIgnorePatterns: [ '/node_modules/' ],
              testRegex: [],
              testRunner: '<homeDir>/work/goeng-goe-tools-ui/.yarn/cache/jest-circus-npm-29.7.0-f7679858c6-3494371489.zip/node_modules/jest-circus/runner.js',
              transform: [
                [
                  '^.+\\.(t|j)sx?$',
                  '<homeDir>/work/goeng-goe-tools-ui/.yarn/__virtual__/@swc-jest-virtual-cd3e7f94d1/0/cache/@swc-jest-npm-0.2.29-83a2d9fed7-9eaad32231.zip/node_modules/@swc/jest/index.js',
                  {
                    jsc: { transform: { react: { runtime: 'automatic' } } }
                  }
                ]
              ],
              transformIgnorePatterns: [ '/node_modules/', '\\.pnp\\.[^\\/]+$' ],
              unmockedModulePathPatterns: undefined,
              watchPathIgnorePatterns: []
            },
            {
              automock: false,
              cache: true,
              cacheDirectory: '/private/var/folders/4z/d03nh5px097b_tvn8s3yzxx00000gp/T/jest_dy',
              clearMocks: false,
              collectCoverageFrom: [
                'src/components/**/*.{ts,tsx}',
                'src/form/**/*.{ts,tsx}',
                'src/hooks/**/*.{ts,tsx}',
                'src/icons/**/*.{ts,tsx}',
                'src/layout/**/*.{ts,tsx}',
                'src/pages/**/*.{ts,tsx}',
                'src/services/**/*.{ts,tsx}',
                'src/util/**/*.{ts,tsx}'
              ],
              coverageDirectory: '<homeDir>/work/goeng-goe-tools-ui/packages/ui/coverage',
              coveragePathIgnorePatterns: [ '/node_modules/' ],
              cwd: '<homeDir>/work/goeng-goe-tools-ui',
              dependencyExtractor: undefined,
              detectLeaks: false,
              detectOpenHandles: false,
              displayName: { color: 'white', name: '@goe/ui' },
              errorOnDeprecated: false,
              extensionsToTreatAsEsm: [],
              fakeTimers: { enableGlobally: false },
              filter: undefined,
              forceCoverageMatch: [],
              globalSetup: undefined,
              globalTeardown: undefined,
              globals: {},
              haste: { computeSha1: false, enableSymlinks: false, forceNodeFilesystemAPI: true, throwOnModuleCollision: false },
              id: '20655d5bfed610810d836620940347bb',
              injectGlobals: true,
              moduleDirectories: [ 'node_modules' ],
              moduleFileExtensions: [ 'js', 'json', 'jsx', 'ts', 'tsx' ],
              moduleNameMapper: [
                [ '^@/(.*)$', '<homeDir>/work/goeng-goe-tools-ui/packages/ui/src/$1' ],
                [ '^@/config$', '<homeDir>/work/goeng-goe-tools-ui/packages/ui/src/config.ts' ],
                [ '^@/components/(.*)$', '<homeDir>/work/goeng-goe-tools-ui/packages/ui/src/components/$1' ],
                [ '^@/assets/(.*)$', '<homeDir>/work/goeng-goe-tools-ui/packages/ui/src/assets/$1' ],
                [ '^@/icons/(.*)$', '<homeDir>/work/goeng-goe-tools-ui/packages/ui/src/icons/$1' ]
              ],
              modulePathIgnorePatterns: [ 'build' ],
              modulePaths: undefined,
              openHandlesTimeout: 1000,
              prettierPath: 'prettier',
              resetMocks: true,
              resetModules: false,
              resolver: undefined,
              restoreMocks: false,
              rootDir: '<homeDir>/work/goeng-goe-tools-ui/packages/ui',
              roots: [ '<homeDir>/work/goeng-goe-tools-ui/packages/ui' ],
              runner: '<homeDir>/work/goeng-goe-tools-ui/.yarn/cache/jest-runner-npm-29.7.0-3bc9f82b58-f0405778ea.zip/node_modules/jest-runner/build/index.js',
              runtime: undefined,
              sandboxInjectedGlobals: [],
              setupFiles: [],
              setupFilesAfterEnv: [ '<homeDir>/work/goeng-goe-tools-ui/packages/ui/src/testing/setupTests.ts' ],
              skipFilter: false,
              skipNodeResolution: undefined,
              slowTestThreshold: 5,
              snapshotFormat: { escapeString: false, printBasicPrototype: false },
              snapshotResolver: undefined,
              snapshotSerializers: [],
              testEnvironment: '<homeDir>/work/goeng-goe-tools-ui/.yarn/__virtual__/jest-environment-jsdom-virtual-c2fbfcfed5/0/cache/jest-environment-jsdom-npm-29.7.0-0b72dd0e0b-559aac134c.zip/node_modules/jest-environment-jsdom/build/index.js',
              testEnvironmentOptions: {},
              testLocationInResults: false,
              testMatch: [ '<homeDir>/work/goeng-goe-tools-ui/packages/ui/**/*.test.[jt]s?(x)' ],
              testPathIgnorePatterns: [ '/node_modules/' ],
              testRegex: [],
              testRunner: '<homeDir>/work/goeng-goe-tools-ui/.yarn/cache/jest-circus-npm-29.7.0-f7679858c6-3494371489.zip/node_modules/jest-circus/runner.js',
              transform: [
                [
                  '^.+\\.(t|j)sx?$',
                  '<homeDir>/work/goeng-goe-tools-ui/.yarn/__virtual__/@swc-jest-virtual-cd3e7f94d1/0/cache/@swc-jest-npm-0.2.29-83a2d9fed7-9eaad32231.zip/node_modules/@swc/jest/index.js',
                  {
                    jsc: { transform: { react: { runtime: 'automatic' } } }
                  }
                ]
              ],
              transformIgnorePatterns: [ '/node_modules/', '\\.pnp\\.[^\\/]+$' ],
              unmockedModulePathPatterns: undefined,
              watchPathIgnorePatterns: []
            }
          ],
          globalConfig: {
            bail: 0,
            changedFilesWithAncestor: false,
            changedSince: undefined,
            ci: false,
            collectCoverage: false,
            collectCoverageFrom: [],
            coverageDirectory: '<homeDir>/work/goeng-goe-tools-ui/coverage',
            coverageProvider: 'babel',
            coverageReporters: [ 'json', 'text', 'lcov', 'clover' ],
            coverageThreshold: undefined,
            detectLeaks: false,
            detectOpenHandles: false,
            errorOnDeprecated: false,
            expand: false,
            filter: undefined,
            findRelatedTests: false,
            forceExit: false,
            globalSetup: undefined,
            globalTeardown: undefined,
            json: false,
            lastCommit: false,
            listTests: false,
            logHeapUsage: false,
            maxConcurrency: 5,
            maxWorkers: 9,
            noSCM: undefined,
            noStackTrace: false,
            nonFlagArgs: undefined,
            notify: false,
            notifyMode: 'failure-change',
            onlyChanged: false,
            onlyFailures: false,
            openHandlesTimeout: 1000,
            outputFile: undefined,
            passWithNoTests: false,
            projects: [ '<homeDir>/work/goeng-goe-tools-ui/packages/client/jest.config.js', '<homeDir>/work/goeng-goe-tools-ui/packages/ui/jest.config.js' ],
            randomize: undefined,
            replname: undefined,
            reporters: undefined,
            rootDir: '<homeDir>/work/goeng-goe-tools-ui',
            runInBand: undefined,
            runTestsByPath: false,
            seed: 1819529711,
            shard: undefined,
            showSeed: undefined,
            silent: undefined,
            skipFilter: false,
            snapshotFormat: { escapeString: false, printBasicPrototype: false },
            testFailureExitCode: 1,
            testNamePattern: undefined,
            testPathPattern: '',
            testResultsProcessor: undefined,
            testSequencer: '<homeDir>/work/goeng-goe-tools-ui/.yarn/cache/@jest-test-sequencer-npm-29.7.0-291f23a495-73f4359901.zip/node_modules/@jest/test-sequencer/build/index.js',
            testTimeout: undefined,
            updateSnapshot: 'new',
            useStderr: false,
            verbose: undefined,
            watch: false,
            watchAll: false,
            watchPlugins: undefined,
            watchman: true,
            workerIdleMemoryLimit: undefined,
            workerThreads: false
          },
          hasDeprecationWarnings: false,
          wallaby: {
            roots: [ 'packages/client', 'packages/ui' ],
            watchPathIgnorePatterns: [
              '/node_modules/',
              '\\./dist/|\\./build/|\\./coverage/|\\./git/|/\\..+/',
              '/private/var/folders/4z/d03nh5px097b_tvn8s3yzxx00000gp/T/jest_dy',
              '(packages/client.*)build',
              '(packages/ui.*)build',
              '\\./coverage'
            ],
            testPathIgnorePatterns: [
              '/node_modules/',
              '\\./dist/|\\./build/|\\./coverage/|\\./git/|/\\..+/',
              '/private/var/folders/4z/d03nh5px097b_tvn8s3yzxx00000gp/T/jest_dy',
              '(packages/client.*)build',
              '(packages/ui.*)build',
              '\\./coverage'
            ],
            testMatch: [ 'packages/client/**/*.test.[jt]s?(x)', 'packages/ui/**/*.test.[jt]s?(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: [
      'src/components/**/*.{ts,tsx}',
      'src/hooks/**/*.{ts,tsx}',
      'src/layout/**/*.{ts,tsx}',
      'src/views/**/*.{ts,tsx}',
      'src/services/**/*.{ts,tsx}',
      'src/util/**/*.{ts,tsx}',
      'src/components/**/*.{ts,tsx}',
      'src/form/**/*.{ts,tsx}',
      'src/hooks/**/*.{ts,tsx}',
      'src/icons/**/*.{ts,tsx}',
      'src/layout/**/*.{ts,tsx}',
      'src/pages/**/*.{ts,tsx}',
      'src/services/**/*.{ts,tsx}',
      'src/util/**/*.{ts,tsx}'
    ],
    filesWithNoCoverageCalculated: [],
    globalSetup: false,
    dot: true,
    files: [
      { pattern: '/node_modules/', regexp: /\/node_modules\//, ignore: true, trigger: true, load: true, file: true, test: true },
      {
        pattern: '\\./dist/|\\./build/|\\./coverage/|\\./git/|/\\..+/',
        regexp: /\.\/dist\/|\.\/build\/|\.\/coverage\/|\.\/git\/|\/\..+\//,
        ignore: true,
        trigger: true,
        load: true,
        file: true,
        test: true
      },
      {
        pattern: '/private/var/folders/4z/d03nh5px097b_tvn8s3yzxx00000gp/T/jest_dy',
        regexp: /\/private\/var\/folders\/4z\/d03nh5px097b_tvn8s3yzxx00000gp\/T\/jest_dy/,
        ignore: true,
        trigger: true,
        load: true,
        file: true,
        test: true
      },
      { pattern: '(packages/client.*)build', regexp: /(packages\/client.*)build/, ignore: true, trigger: true, load: true, file: true, test: true },
      { pattern: '(packages/ui.*)build', regexp: /(packages\/ui.*)build/, ignore: true, trigger: true, load: true, file: true, test: true },
      { pattern: '\\./coverage', regexp: /\.\/coverage/, ignore: true, trigger: true, load: true, file: true, test: true },
      { pattern: '**/**', ignore: false, trigger: true, load: true, order: 1 },
      { pattern: 'packages/client/**', ignore: false, trigger: true, load: true, order: 2 },
      { pattern: 'packages/ui/**', ignore: false, trigger: true, load: true, order: 3 },
      { pattern: 'packages/client/**/*.test.[jt]s?(x)', ignore: true, trigger: true, load: true, file: true },
      { pattern: 'packages/ui/**/*.test.[jt]s?(x)', ignore: true, trigger: true, load: true, file: true }
    ],
    captureConsoleLog: true,
    tests: [
      { pattern: '/node_modules/', regexp: /\/node_modules\//, ignore: true, trigger: true, load: true, test: true, file: false },
      {
        pattern: '\\./dist/|\\./build/|\\./coverage/|\\./git/|/\\..+/',
        regexp: /\.\/dist\/|\.\/build\/|\.\/coverage\/|\.\/git\/|\/\..+\//,
        ignore: true,
        trigger: true,
        load: true,
        test: true,
        file: false
      },
      {
        pattern: '/private/var/folders/4z/d03nh5px097b_tvn8s3yzxx00000gp/T/jest_dy',
        regexp: /\/private\/var\/folders\/4z\/d03nh5px097b_tvn8s3yzxx00000gp\/T\/jest_dy/,
        ignore: true,
        trigger: true,
        load: true,
        test: true,
        file: false
      },
      { pattern: '(packages/client.*)build', regexp: /(packages\/client.*)build/, ignore: true, trigger: true, load: true, test: true, file: false },
      { pattern: '(packages/ui.*)build', regexp: /(packages\/ui.*)build/, ignore: true, trigger: true, load: true, test: true, file: false },
      { pattern: '\\./coverage', regexp: /\.\/coverage/, ignore: true, trigger: true, load: true, test: true, file: false },
      { pattern: 'packages/client/**/*.test.[jt]s?(x)', ignore: false, trigger: true, load: true, test: true, order: 4 },
      { pattern: 'packages/ui/**/*.test.[jt]s?(x)', ignore: false, trigger: true, load: true, test: true, order: 5 }
    ],
    runAllTestsInAffectedTestFile: false,
    updateNoMoreThanOneSnapshotPerTestFileRun: false,
    compilers: {},
    smartStart: [ { test: true, source: false, pattern: '**/*', startMode: 'open' }, { test: false, source: true, pattern: '**/*', startMode: 'edit' } ],
    logLimits: { inline: { depth: 5, elements: 5000 }, values: { default: { stringLength: 200 }, autoExpand: { elements: 5000, stringLength: 8192, depth: 10 } } },
    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: true,
    mapConsoleMessagesStackTrace: false,
    extensions: {},
    env: { type: 'node', params: {}, runner: '/opt/homebrew/Cellar/node/20.7.0/bin/node', viewportSize: { width: 800, height: 600 }, options: { width: 800, height: 600 }, bundle: true },
    reportUnhandledPromises: true,
    slowTestThreshold: 75,
    lowCoverageThreshold: 80,
    runAllTestsWhenNoAffectedTests: false,
    configCode: 'auto.detect#-298814455',
    testLocations: [ 'packages/client/src/components/EqxCardTabbed/EqxCardTabbed.test.tsx' ]
  },
  packageJSON: {
    dependencies: undefined,
    devDependencies: {
      '@types/react-dom': '^18.2.7',
      '@typescript-eslint/eslint-plugin': '^6.7.2',
      '@typescript-eslint/parser': '^6.7.2',
      concurrently: '^8.2.1',
      eslint: '^8.49.0',
      'eslint-config-airbnb': '^19.0.4',
      'eslint-config-prettier': '^9.0.0',
      'eslint-plugin-import': '^2.28.1',
      'eslint-plugin-jsx-a11y': '^6.7.1',
      'eslint-plugin-prettier': '^5.0.0',
      'eslint-plugin-react': '^7.33.2',
      'eslint-plugin-react-hooks': '^4.6.0',
      'eslint-plugin-simple-import-sort': '^10.0.0',
      'eslint-plugin-unused-imports': '^3.0.0',
      jest: '^29.7.0',
      'jest-environment-jsdom': '^29.7.0',
      prettier: '^3.0.3',
      react: '^18.2.0',
      'react-dom': '18.2.0',
      rimraf: '^5.0.1',
      typescript: '^5.2.2'
    }
  },
  fs: { numberOfFiles: 1262 },
  debug: [
    '2023-10-09T13:37:22.608Z config Attempting automatic configuration for angular\n',
    '2023-10-09T13:37:22.612Z angular/cli config Angular CLI not found.\n',
    '2023-10-09T13:37:22.612Z config Finished attempting automatic configuration for angular (4ms)\n',
    '2023-10-09T13:37:22.612Z config Attempting automatic configuration for jest\n',
    '2023-10-09T13:37:22.764Z jest/config Detected Jest.\n',
    '2023-10-09T13:37:22.764Z jest/config Configured Jest.\n',
    '2023-10-09T13:37:22.764Z config Finished attempting automatic configuration for jest (152ms)\n',
    '2023-10-09T13:37:22.765Z project Wallaby Node version: v20.7.0\n',
    '2023-10-09T13:37:22.765Z project Wallaby config: <homeDir>/work/goeng-goe-tools-ui/auto.detect\n',
    '2023-10-09T13:37:22.776Z fs File system starting\n',
    '2023-10-09T13:37:23.952Z fs File system scan has finished by timeout\n',
    '2023-10-09T13:37:24.277Z project File cache: <homeDir>/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.371/projects/08f279d7d5587154\n',
    '2023-10-09T13:37:24.348Z uiService Listening port 51235\n',
    '2023-10-09T13:37:24.371Z workers Parallelism for initial run: 8, for regular run: 4\n',
    '2023-10-09T13:37:24.371Z workers Starting run worker instance #0\n',
    '2023-10-09T13:37:24.371Z workers Starting run worker instance #1\n',
    '2023-10-09T13:37:24.371Z workers Starting run worker instance #2\n',
    '2023-10-09T13:37:24.371Z workers Starting run worker instance #3\n',
    '2023-10-09T13:37:24.371Z workers Starting run worker instance #4\n',
    '2023-10-09T13:37:24.371Z workers Starting run worker instance #5\n',
    '2023-10-09T13:37:24.371Z workers Starting run worker instance #6\n',
    '2023-10-09T13:37:24.372Z workers Starting run worker instance #7\n',
    '2023-10-09T13:37:24.372Z workers Web server is listening at 52613\n',
    '2023-10-09T13:37:24.380Z project Stopping process pool\n',
    '2023-10-09T13:37:24.380Z project File cache is up-to-date, starting full test run\n',
    '2023-10-09T13:37:24.382Z project Test run started; run priority: 3\n',
    '2023-10-09T13:37:24.384Z project Running all tests\n',
    '2023-10-09T13:37:24.392Z project Test run finished\n',
    '2023-10-09T13:37:24.392Z project Test run data re-queued\n',
    '2023-10-09T13:37:24.614Z workers Started run worker instance (delayed) #0\n',
    '2023-10-09T13:37:24.658Z workers Started run worker instance (delayed) #1\n',
    '2023-10-09T13:37:24.737Z workers Started run worker instance (delayed) #6\n',
    '2023-10-09T13:37:24.788Z workers Started run worker instance (delayed) #5\n',
    '2023-10-09T13:37:24.847Z workers Started run worker instance (delayed) #2\n',
    '2023-10-09T13:37:24.906Z workers Started run worker instance (delayed) #3\n',
    '2023-10-09T13:37:24.963Z workers Started run worker instance (delayed) #4\n',
    '2023-10-09T13:37:25.020Z workers Started run worker instance (delayed) #7\n',
    '2023-10-09T13:37:25.327Z project Requested to run all tests\n',
    '2023-10-09T13:37:25.329Z project Test run started; run priority: 3\n',
    '2023-10-09T13:37:25.329Z project Running all tests\n',
    '2023-10-09T13:37:25.338Z workers Starting test run, priority: 3\n',
    '2023-10-09T13:37:25.339Z nodeRunner Starting sandbox [worker #0, session #n889t]\n',
    '2023-10-09T13:37:25.339Z nodeRunner Preparing sandbox [worker #0, session #n889t]\n',
    '2023-10-09T13:37:25.339Z nodeRunner Prepared sandbox [worker #0, session #n889t]\n',
    '2023-10-09T13:37:25.339Z workers [worker #0, session #n889t] Running tests in sandbox\n',
    '2023-10-09T13:37:31.667Z workers Scheduling Jest Test Run (n889t): 2023-10-09T13:37:25.644Z\n',
    '2023-10-09T13:37:31.681Z workers [n889t] Loaded unknown number of test(s)\n',
    '2023-10-09T13:37:31.681Z workers [n889t] Test executed: should render successfully\n',
    '2023-10-09T13:37:31.691Z workers [n889t] Test executed: should render the second tab when clicked\n',
    '2023-10-09T13:37:31.691Z workers [n889t] Run 2 test(s), skipped 0 test(s)\n',
    '2023-10-09T13:37:31.691Z workers Jest Test Run Complete (n889t): 2023-10-09T13:37:31.690Z\n',
    '2023-10-09T13:37:31.692Z workers [n889t] Sandbox is responsive, closing it\n',
    '2023-10-09T13:37:31.692Z project Test run finished\n',
    '2023-10-09T13:37:31.693Z project Processed console.log entries\n',
    '2023-10-09T13:37:31.693Z project Processed loading sequences\n',
    '2023-10-09T13:37:31.693Z project Processed executed tests\n',
    '2023-10-09T13:37:31.696Z project Processed code coverage\n',
    '2023-10-09T13:37:31.708Z project Test run result processed and sent to IDE\n'
  ]
}
mburnell commented 1 year ago

Thanks for posting your diagnostics report. We can see that you're running quite an old version of Wallaby core; a number of improvements and fixes have been made in areas related to the reported issue, so it's possible it has already been addressed. Could you please request a trial license and check if the latest version works for you? If you're still having a problem after updating, please provide an updated diagnostic report and we'll take a look.

jbaccarelli-equinix commented 1 year ago

Thanks for posting your diagnostics report. We can see that you're running quite an old version of Wallaby core; a number of improvements and fixes have been made in areas related to the reported issue, so it's possible it has already been addressed. Could you please request a trial license and check if the latest version works for you? If you're still having a problem after updating, please provide an updated diagnostic report and we'll take a look.

It doesn't sound right that something that worked right stops working after you stop paying for renewal πŸ˜…

Also, i have tried using the same licence on a different laptop and it seems to work fine there, but i can't figure out what's the difference

smcenlly commented 1 year ago

It doesn't sound right that something that worked right stops working after you stop paying for renewal πŸ˜…

While we appreciate your humour ☺️, in all seriousness, often between Major.Minor releases of testing frameworks, such as Jest, things do break and unfortunately we need to make changes to support them. The JavaScript ecosystem is fast moving, and we spend a lot of time and effort to make sure the latest version of Wallaby works smoothly for you.

In your case, the last version of Wallaby supported by your license was from Mar 29, 2023. It's ~70 versions behind our latest version (we do a lot to stay up-to-date with framework changes, etc.). I checked our commit history and there have been 10+ bug fixes / updates to our jest integration alone since that time.

The version of Jest used in your package.json was released on the 9th of September, 2023, so it's entirely possible that something was broken and fixed in jest during that time.

Also, i have tried using the same licence on a different laptop and it seems to work fine there, but i can't figure out what's the difference.

Besides the jest version, I just re-reviewed your Diagnostics Report against potential reasons for your project not working. You are using node@20.7.0, which is not supported by older versions of Wallaby. We added support for this in May, 2023, a few days after it was released.

I expect that the node version is different between your current laptop and the different laptop that you tried on. You should be able to downgrade your version of node and your older version of Wallaby will work for you.


If you're still having problems, as @mburnell mentioned, please try the latest version for us and confirm whether you still have a problem.

jbaccarelli-equinix commented 1 year ago

Ok it sounds like a good start, i will try downgrading node and jest to see if anything helps, thanks!

jbaccarelli-equinix commented 1 year ago

@smcenlly @mburnell i just tried both approaches, downgrading node to 14 and jest to a version from over a year ago, And using the trial license for wallaby, i still see the coverage markers and inline logging only happening on the .test files but not on the source files :/ Any other ideas?

mburnell commented 1 year ago

Thanks for the additional information. You mentioned that you'd tried on another machine and it had worked there. Was this against the same project / repo? If so, I wonder if there's something cached on your machine that's causing the issue. You could try clearing the Wallaby cache using the Wallaby.js: Reset Wallaby Cache command. If that doesn't work, if you could prepare a sample project that reproduces the issue then we can attempt to reproduce internally.

jbaccarelli-equinix commented 1 year ago

Thanks for the additional information. You mentioned that you'd tried on another machine and it had worked there. Was this against the same project / repo? If so, I wonder if there's something cached on your machine that's causing the issue. You could try clearing the Wallaby cache using the Wallaby.js: Reset Wallaby Cache command. If that doesn't work, if you could prepare a sample project that reproduces the issue then we can attempt to reproduce internally.

The curious thing is that i just performed a full re-imaging of macos on my laptop, i had this issue before doing that and it continues now, so maybe it has to do with some vscode setting or the project in general :/ but i can't figure out what to try, or how to debug to see what's causing this to not work

smcenlly commented 1 year ago

If you haven't already tried this, can you please clone to a new directory on both laptops (working laptop and not-working laptop) and see if you still have the problem on both?

If it's working on one laptop and not the other, can you please generate the diagnostics report on the machine that's working for you (different laptop) and also on the machine that's not working for you. I'm hoping perhaps we can spot a difference by diffing the two diagnostics reports.

jbaccarelli-equinix commented 1 year ago

ok so i cloned another repo in the laptop with the project that doesn't work properly, this new project is just a placeholder but it has a test and wallaby runs just fine there, coverage showing everywhere

here's the diagnostic:

{
  editorVersion: '1.83.0',
  pluginVersion: '1.0.371',
  editorType: 'VSCode',
  osVersion: 'darwin 22.6.0',
  nodeVersion: 'v20.8.0',
  coreVersion: '1.0.1403',
  checksum: 'YWU5Zjg3NWQ3ODJmMjdlOTY3YzE4YWU0NzBiMjMxYjIsMTY4MDEzNDQwMDAwMCww',
  config: {
    diagnostics: {
      jest: {
        config: {
          configs: [
            {
              automock: false,
              cache: true,
              cacheDirectory: '/private/var/folders/4z/d03nh5px097b_tvn8s3yzxx00000gp/T/jest_dy',
              clearMocks: false,
              collectCoverageFrom: [],
              coverageDirectory: '<homeDir>/work/test-wallaby/coverage',
              coveragePathIgnorePatterns: [ '/node_modules/' ],
              cwd: '<homeDir>/work/test-wallaby',
              dependencyExtractor: undefined,
              detectLeaks: false,
              detectOpenHandles: false,
              displayName: undefined,
              errorOnDeprecated: false,
              extensionsToTreatAsEsm: [],
              fakeTimers: { enableGlobally: false },
              filter: undefined,
              forceCoverageMatch: [],
              globalSetup: undefined,
              globalTeardown: undefined,
              globals: {},
              haste: { defaultPlatform: 'ios', platforms: [ 'android', 'ios', 'native' ] },
              id: 'aeec10d8166b649e91677662c2f3b387',
              injectGlobals: true,
              moduleDirectories: [ 'node_modules' ],
              moduleFileExtensions: [
                'js',   'mjs',
                'cjs',  'jsx',
                'ts',   'tsx',
                'json', 'node'
              ],
              moduleNameMapper: [],
              modulePathIgnorePatterns: [],
              modulePaths: undefined,
              openHandlesTimeout: 1000,
              prettierPath: 'prettier',
              resetMocks: false,
              resetModules: false,
              resolver: undefined,
              restoreMocks: false,
              rootDir: '<homeDir>/work/test-wallaby',
              roots: [ '<homeDir>/work/test-wallaby' ],
              runner: '<homeDir>/work/test-wallaby/node_modules/jest-runner/build/index.js',
              runtime: undefined,
              sandboxInjectedGlobals: [],
              setupFiles: [ '<homeDir>/work/test-wallaby/node_modules/react-native/jest/setup.js' ],
              setupFilesAfterEnv: [],
              skipFilter: false,
              skipNodeResolution: undefined,
              slowTestThreshold: 5,
              snapshotFormat: { escapeString: false, printBasicPrototype: false },
              snapshotResolver: undefined,
              snapshotSerializers: [],
              testEnvironment: '<homeDir>/work/test-wallaby/node_modules/react-native/jest/react-native-env.js',
              testEnvironmentOptions: {},
              testLocationInResults: false,
              testMatch: [ '**/__tests__/**/*.[jt]s?(x)', '**/?(*.)+(spec|test).[tj]s?(x)' ],
              testPathIgnorePatterns: [ '/node_modules/' ],
              testRegex: [],
              testRunner: '<homeDir>/work/test-wallaby/node_modules/jest-circus/runner.js',
              transform: [
                [ '^.+\\.(js|ts|tsx)$', '<homeDir>/work/test-wallaby/node_modules/babel-jest/build/index.js', {} ],
                [ '^.+\\.(bmp|gif|jpg|jpeg|mp4|png|psd|svg|webp)$', '<homeDir>/work/test-wallaby/node_modules/react-native/jest/assetFileTransformer.js', {} ]
              ],
              transformIgnorePatterns: [ 'node_modules/(?!((jest-)?react-native|@react-native(-community)?)/)' ],
              unmockedModulePathPatterns: undefined,
              watchPathIgnorePatterns: []
            }
          ],
          globalConfig: {
            bail: 0,
            changedFilesWithAncestor: false,
            changedSince: undefined,
            ci: false,
            collectCoverage: false,
            collectCoverageFrom: [],
            coverageDirectory: '<homeDir>/work/test-wallaby/coverage',
            coverageProvider: 'babel',
            coverageReporters: [ 'json', 'text', 'lcov', 'clover' ],
            coverageThreshold: undefined,
            detectLeaks: false,
            detectOpenHandles: false,
            errorOnDeprecated: false,
            expand: false,
            filter: undefined,
            findRelatedTests: false,
            forceExit: false,
            globalSetup: undefined,
            globalTeardown: undefined,
            json: false,
            lastCommit: false,
            listTests: false,
            logHeapUsage: false,
            maxConcurrency: 5,
            maxWorkers: 9,
            noSCM: undefined,
            noStackTrace: false,
            nonFlagArgs: undefined,
            notify: false,
            notifyMode: 'failure-change',
            onlyChanged: false,
            onlyFailures: false,
            openHandlesTimeout: 1000,
            outputFile: undefined,
            passWithNoTests: false,
            projects: [],
            randomize: undefined,
            replname: undefined,
            reporters: undefined,
            rootDir: '<homeDir>/work/test-wallaby',
            runInBand: undefined,
            runTestsByPath: false,
            seed: 1038493691,
            shard: undefined,
            showSeed: undefined,
            silent: undefined,
            skipFilter: false,
            snapshotFormat: { escapeString: false, printBasicPrototype: false },
            testFailureExitCode: 1,
            testNamePattern: undefined,
            testPathPattern: '',
            testResultsProcessor: undefined,
            testSequencer: '<homeDir>/work/test-wallaby/node_modules/@jest/test-sequencer/build/index.js',
            testTimeout: undefined,
            updateSnapshot: 'new',
            useStderr: false,
            verbose: undefined,
            watch: false,
            watchAll: false,
            watchPlugins: undefined,
            watchman: true,
            workerIdleMemoryLimit: undefined,
            workerThreads: false
          },
          hasDeprecationWarnings: false,
          wallaby: {
            roots: [],
            watchPathIgnorePatterns: [ '/node_modules/', '\\./dist/|\\./build/|\\./coverage/|\\./git/|/\\..+/|android/|ios/', '/private/var/folders/4z/d03nh5px097b_tvn8s3yzxx00000gp/T/jest_dy', '\\./coverage' ],
            testPathIgnorePatterns: [ '/node_modules/', '\\./dist/|\\./build/|\\./coverage/|\\./git/|/\\..+/|android/|ios/', '/private/var/folders/4z/d03nh5px097b_tvn8s3yzxx00000gp/T/jest_dy', '\\./coverage' ],
            testMatch: [ '**/__tests__/**/*.[jt]s?(x)', '**/?(*.)+(spec|test).[tj]s?(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,
    dot: true,
    files: [
      { pattern: '/node_modules/', regexp: /\/node_modules\//, ignore: true, trigger: true, load: true, file: true, test: true },
      {
        pattern: '\\./dist/|\\./build/|\\./coverage/|\\./git/|/\\..+/|android/|ios/',
        regexp: /\.\/dist\/|\.\/build\/|\.\/coverage\/|\.\/git\/|\/\..+\/|android\/|ios\//,
        ignore: true,
        trigger: true,
        load: true,
        file: true,
        test: true
      },
      {
        pattern: '/private/var/folders/4z/d03nh5px097b_tvn8s3yzxx00000gp/T/jest_dy',
        regexp: /\/private\/var\/folders\/4z\/d03nh5px097b_tvn8s3yzxx00000gp\/T\/jest_dy/,
        ignore: true,
        trigger: true,
        load: true,
        file: true,
        test: true
      },
      { pattern: '\\./coverage', regexp: /\.\/coverage/, ignore: true, trigger: true, load: true, file: true, test: true },
      { pattern: '**/**', ignore: false, trigger: true, load: true, order: 1 },
      { pattern: '**/__tests__/**/*.[jt]s?(x)', ignore: true, trigger: true, load: true, file: true },
      { pattern: '**/?(*.)+(spec|test).[tj]s?(x)', ignore: true, trigger: true, load: true, file: true }
    ],
    captureConsoleLog: true,
    tests: [
      { pattern: '/node_modules/', regexp: /\/node_modules\//, ignore: true, trigger: true, load: true, test: true, file: false },
      {
        pattern: '\\./dist/|\\./build/|\\./coverage/|\\./git/|/\\..+/|android/|ios/',
        regexp: /\.\/dist\/|\.\/build\/|\.\/coverage\/|\.\/git\/|\/\..+\/|android\/|ios\//,
        ignore: true,
        trigger: true,
        load: true,
        test: true,
        file: false
      },
      {
        pattern: '/private/var/folders/4z/d03nh5px097b_tvn8s3yzxx00000gp/T/jest_dy',
        regexp: /\/private\/var\/folders\/4z\/d03nh5px097b_tvn8s3yzxx00000gp\/T\/jest_dy/,
        ignore: true,
        trigger: true,
        load: true,
        test: true,
        file: false
      },
      { pattern: '\\./coverage', regexp: /\.\/coverage/, ignore: true, trigger: true, load: true, test: true, file: false },
      { pattern: '**/__tests__/**/*.[jt]s?(x)', ignore: false, trigger: true, load: true, test: true, order: 2 },
      { pattern: '**/?(*.)+(spec|test).[tj]s?(x)', ignore: false, trigger: true, load: true, test: true, order: 3 }
    ],
    runAllTestsInAffectedTestFile: false,
    updateNoMoreThanOneSnapshotPerTestFileRun: false,
    compilers: {},
    smartStart: [ { test: true, source: false, pattern: '**/*', startMode: 'open' }, { test: false, source: true, pattern: '**/*', startMode: 'edit' } ],
    logLimits: { inline: { depth: 5, elements: 5000 }, values: { default: { stringLength: 200 }, autoExpand: { elements: 5000, stringLength: 8192, depth: 10 } } },
    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: true,
    mapConsoleMessagesStackTrace: false,
    extensions: {},
    env: { type: 'node', params: {}, runner: '/opt/homebrew/Cellar/node/20.8.0/bin/node', viewportSize: { width: 800, height: 600 }, options: { width: 800, height: 600 }, bundle: true },
    reportUnhandledPromises: true,
    slowTestThreshold: 75,
    lowCoverageThreshold: 80,
    runAllTestsWhenNoAffectedTests: false,
    configCode: 'auto.detect#-23263802',
    testLocations: [ '__tests__/App.test.tsx' ]
  },
  packageJSON: {
    dependencies: { react: '18.2.0', 'react-native': '0.72.5' },
    devDependencies: {
      '@babel/core': '^7.20.0',
      '@babel/preset-env': '^7.20.0',
      '@babel/runtime': '^7.20.0',
      '@react-native/eslint-config': '^0.72.2',
      '@react-native/metro-config': '^0.72.11',
      '@tsconfig/react-native': '^3.0.0',
      '@types/react': '^18.0.24',
      '@types/react-test-renderer': '^18.0.0',
      'babel-jest': '^29.2.1',
      eslint: '^8.19.0',
      jest: '^29.2.1',
      'metro-react-native-babel-preset': '0.76.8',
      prettier: '^2.4.1',
      'react-test-renderer': '18.2.0',
      typescript: '4.8.4'
    }
  },
  fs: { numberOfFiles: 17 },
  debug: [
    '2023-10-11T08:15:18.272Z config Attempting automatic configuration for angular\n',
    '2023-10-11T08:15:18.274Z angular/cli config Angular CLI not found.\n',
    '2023-10-11T08:15:18.274Z config Finished attempting automatic configuration for angular (2ms)\n',
    '2023-10-11T08:15:18.274Z config Attempting automatic configuration for jest\n',
    '2023-10-11T08:15:18.348Z jest/config Detected Jest.\n',
    '2023-10-11T08:15:18.348Z jest/config Configured Jest.\n',
    '2023-10-11T08:15:18.348Z config Finished attempting automatic configuration for jest (74ms)\n',
    '2023-10-11T08:15:18.349Z project Wallaby Node version: v20.8.0\n',
    '2023-10-11T08:15:18.349Z project Wallaby config: <homeDir>/work/test-wallaby/auto.detect\n',
    '2023-10-11T08:15:18.357Z fs File system starting\n',
    '2023-10-11T08:15:18.375Z fs File system scan completed\n',
    '2023-10-11T08:15:18.378Z project File cache: <homeDir>/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.371/projects/e463ff64c623e0e7\n',
    '2023-10-11T08:15:18.466Z uiService Listening port 51235\n',
    '2023-10-11T08:15:18.467Z project package.json file change detected, invalidating local cache\n',
    '2023-10-11T08:15:18.474Z workers Parallelism for initial run: 8, for regular run: 4\n',
    '2023-10-11T08:15:18.474Z workers Starting run worker instance #0\n',
    '2023-10-11T08:15:18.474Z workers Starting run worker instance #1\n',
    '2023-10-11T08:15:18.474Z workers Starting run worker instance #2\n',
    '2023-10-11T08:15:18.474Z workers Starting run worker instance #3\n',
    '2023-10-11T08:15:18.474Z workers Starting run worker instance #4\n',
    '2023-10-11T08:15:18.474Z workers Starting run worker instance #5\n',
    '2023-10-11T08:15:18.474Z workers Starting run worker instance #6\n',
    '2023-10-11T08:15:18.474Z workers Starting run worker instance #7\n',
    '2023-10-11T08:15:18.474Z workers Web server is listening at 51174\n',
    '2023-10-11T08:15:18.474Z project File cache requires some updates, waiting required files from IDE\n',
    '2023-10-11T08:15:18.486Z project Stopping process pool\n',
    '2023-10-11T08:15:18.487Z project Test run started; run priority: 3\n',
    '2023-10-11T08:15:18.488Z project Running all tests\n',
    '2023-10-11T08:15:18.489Z project Test run finished\n',
    '2023-10-11T08:15:18.489Z project Test run data re-queued\n',
    '2023-10-11T08:15:18.592Z project Requested to run all tests\n',
    '2023-10-11T08:15:18.592Z project Test run started; run priority: 3\n',
    '2023-10-11T08:15:18.592Z project Running all tests\n',
    '2023-10-11T08:15:18.593Z workers Starting test run, priority: 3\n',
    '2023-10-11T08:15:18.593Z nodeRunner Starting sandbox [worker #0, session #st9mn]\n',
    '2023-10-11T08:15:18.593Z nodeRunner Preparing sandbox [worker #0, session #st9mn]\n',
    '2023-10-11T08:15:18.691Z workers Started run worker instance (delayed) #0\n',
    '2023-10-11T08:15:18.692Z nodeRunner Prepared sandbox [worker #0, session #st9mn]\n',
    '2023-10-11T08:15:18.692Z workers [worker #0, session #st9mn] Running tests in sandbox\n',
    '2023-10-11T08:15:18.745Z workers Started run worker instance (delayed) #3\n',
    '2023-10-11T08:15:18.806Z workers Started run worker instance (delayed) #7\n',
    '2023-10-11T08:15:18.886Z workers Started run worker instance (delayed) #2\n',
    '2023-10-11T08:15:18.946Z workers Started run worker instance (delayed) #5\n',
    '2023-10-11T08:15:19.015Z workers Started run worker instance (delayed) #1\n',
    '2023-10-11T08:15:19.089Z workers Started run worker instance (delayed) #4\n',
    '2023-10-11T08:15:19.160Z workers Started run worker instance (delayed) #6\n',
    '2023-10-11T08:15:23.909Z workers Scheduling Jest Test Run (st9mn): 2023-10-11T08:15:19.656Z\n',
    '2023-10-11T08:15:23.914Z workers [st9mn] Loaded unknown number of test(s)\n',
    '2023-10-11T08:15:23.914Z workers [st9mn] Test executed: renders correctly\n',
    '2023-10-11T08:15:23.914Z workers [st9mn] Run 1 test(s), skipped 0 test(s)\n',
    '2023-10-11T08:15:23.915Z workers Jest Test Run Complete (st9mn): 2023-10-11T08:15:23.907Z\n',
    '2023-10-11T08:15:23.915Z workers [st9mn] Sandbox is responsive, closing it\n',
    '2023-10-11T08:15:23.916Z project Test run finished\n',
    '2023-10-11T08:15:23.916Z project Processed console.log entries\n',
    '2023-10-11T08:15:23.916Z project Processed loading sequences\n',
    '2023-10-11T08:15:23.916Z project Processed executed tests\n',
    '2023-10-11T08:15:23.916Z project Processed code coverage\n',
    '2023-10-11T08:15:23.922Z project Test run result processed and sent to IDE\n'
  ]
}

And here's the report for the project where it doesn't show coverage on source files: i forgot to mention that besides being a yarn monorepo, this is also using pnp. Maybe that helps? The weird thing is that everything was working fine until a couple of months ago on the same project

{
  editorVersion: '1.83.0',
  pluginVersion: '1.0.371',
  editorType: 'VSCode',
  osVersion: 'darwin 22.6.0',
  nodeVersion: 'v20.8.0',
  coreVersion: '1.0.1403',
  checksum: 'YWU5Zjg3NWQ3ODJmMjdlOTY3YzE4YWU0NzBiMjMxYjIsMTY4MDEzNDQwMDAwMCww',
  config: {
    diagnostics: {
      jest: {
        config: {
          configs: [
            {
              automock: false,
              cache: true,
              cacheDirectory: '/private/var/folders/4z/d03nh5px097b_tvn8s3yzxx00000gp/T/jest_dy',
              clearMocks: false,
              collectCoverageFrom: [ 'src/components/**/*.{ts,tsx}', 'src/hooks/**/*.{ts,tsx}', 'src/layout/**/*.{ts,tsx}', 'src/views/**/*.{ts,tsx}', 'src/services/**/*.{ts,tsx}' ],
              coverageDirectory: '<homeDir>/work/goeng-goe-tools-ui/packages/client/coverage',
              coveragePathIgnorePatterns: [
                'src/hooks/useEqxTableRowEdit',
                'src/hooks/useUserFeedback',
                'src/hooks/useAssetDetailDrawer/AssetDetailDrawer/components/DcimPointDataPanel',
                'src/hooks/useAssetDetailDrawer/AssetDetailDrawer/components/MaximoAssetSpecsPanel',
                'src/hooks/useEqxTableQuery/index.tsx',
                'src/hooks/util/useRenderInfo',
                'src/hooks/useCreateTicket',
                'src/hooks/util/useWhyDidYouRender.ts',
                'src/hooks/util/useTimeout.ts',
                'src/hooks/util/useTimeoutFn.ts',
                'src/hooks/util/useUpdate.ts',
                'src/hooks/useSentry',
                'src/hooks/util/useLogger',
                'src/components/selects',
                'src/hooks/useUserPreferencesFilters',
                'src/hooks/useUserSettingsDialog',
                'src/dialogs/UserSettingsDialog',
                'src/hooks/useEqxTableController',
                'src/dialogs/ReleaseNotesDialog',
                'src/components/EqxMessenger',
                'src/components/EqxTable/components/panel/filterPanel',
                'src/components/EqxTable/components/customColumnTypes',
                'src/dialogs/TicketCreateDialog',
                'src/dialogs/UserFeedbackDialog',
                'src/hooks/context',
                'src/testing'
              ],
              cwd: '<homeDir>/work/goeng-goe-tools-ui',
              dependencyExtractor: undefined,
              detectLeaks: false,
              detectOpenHandles: false,
              displayName: { color: 'white', name: '@goe/client' },
              errorOnDeprecated: false,
              extensionsToTreatAsEsm: [],
              fakeTimers: { enableGlobally: false },
              filter: undefined,
              forceCoverageMatch: [],
              globalSetup: undefined,
              globalTeardown: undefined,
              globals: {},
              haste: { computeSha1: false, enableSymlinks: false, forceNodeFilesystemAPI: true, throwOnModuleCollision: false },
              id: '2b5d94f76af42be235936615433ebdf7',
              injectGlobals: true,
              moduleDirectories: [ 'node_modules' ],
              moduleFileExtensions: [ 'js', 'json', 'jsx', 'ts', 'tsx' ],
              moduleNameMapper: [
                [ '^@/(.*)$', '<homeDir>/work/goeng-goe-tools-ui/packages/client/src/$1' ],
                [ '\\.(?:png|jpg|webp|ttf|woff|woff2|svg|mp4)$', '<homeDir>/work/goeng-goe-tools-ui/packages/client/src/testing/mockFile.js' ],
                [ '\\.(?:css|scss)$', '<homeDir>/work/goeng-goe-tools-ui/packages/client/src/testing/mockFile.js' ]
              ],
              modulePathIgnorePatterns: [ 'build' ],
              modulePaths: undefined,
              openHandlesTimeout: 1000,
              prettierPath: 'prettier',
              resetMocks: true,
              resetModules: false,
              resolver: undefined,
              restoreMocks: false,
              rootDir: '<homeDir>/work/goeng-goe-tools-ui/packages/client',
              roots: [ '<homeDir>/work/goeng-goe-tools-ui/packages/client' ],
              runner: '<homeDir>/work/goeng-goe-tools-ui/.yarn/cache/jest-runner-npm-29.7.0-3bc9f82b58-f0405778ea.zip/node_modules/jest-runner/build/index.js',
              runtime: undefined,
              sandboxInjectedGlobals: [],
              setupFiles: [],
              setupFilesAfterEnv: [ '<homeDir>/work/goeng-goe-tools-ui/packages/client/src/testing/setupTests.ts' ],
              skipFilter: false,
              skipNodeResolution: undefined,
              slowTestThreshold: 5,
              snapshotFormat: { escapeString: false, printBasicPrototype: false },
              snapshotResolver: undefined,
              snapshotSerializers: [],
              testEnvironment: '<homeDir>/work/goeng-goe-tools-ui/.yarn/__virtual__/jest-environment-jsdom-virtual-c2fbfcfed5/0/cache/jest-environment-jsdom-npm-29.7.0-0b72dd0e0b-559aac134c.zip/node_modules/jest-environment-jsdom/build/index.js',
              testEnvironmentOptions: {},
              testLocationInResults: false,
              testMatch: [ '<homeDir>/work/goeng-goe-tools-ui/packages/client/**/*.test.[jt]s?(x)' ],
              testPathIgnorePatterns: [ '/node_modules/' ],
              testRegex: [],
              testRunner: '<homeDir>/work/goeng-goe-tools-ui/.yarn/cache/jest-circus-npm-29.7.0-f7679858c6-3494371489.zip/node_modules/jest-circus/runner.js',
              transform: [
                [
                  '^.+\\.(t|j)sx?$',
                  '<homeDir>/work/goeng-goe-tools-ui/.yarn/__virtual__/@swc-jest-virtual-cd3e7f94d1/0/cache/@swc-jest-npm-0.2.29-83a2d9fed7-9eaad32231.zip/node_modules/@swc/jest/index.js',
                  {
                    jsc: { transform: { react: { runtime: 'automatic' } } }
                  }
                ]
              ],
              transformIgnorePatterns: [ '/node_modules/', '\\.pnp\\.[^\\/]+$' ],
              unmockedModulePathPatterns: undefined,
              watchPathIgnorePatterns: []
            },
            {
              automock: false,
              cache: true,
              cacheDirectory: '/private/var/folders/4z/d03nh5px097b_tvn8s3yzxx00000gp/T/jest_dy',
              clearMocks: false,
              collectCoverageFrom: [
                'src/components/**/*.{ts,tsx}',
                'src/form/**/*.{ts,tsx}',
                'src/hooks/**/*.{ts,tsx}',
                'src/icons/**/*.{ts,tsx}',
                'src/layout/**/*.{ts,tsx}',
                'src/pages/**/*.{ts,tsx}',
                'src/services/**/*.{ts,tsx}'
              ],
              coverageDirectory: '<homeDir>/work/goeng-goe-tools-ui/packages/ui/coverage',
              coveragePathIgnorePatterns: [ 'src/testing' ],
              cwd: '<homeDir>/work/goeng-goe-tools-ui',
              dependencyExtractor: undefined,
              detectLeaks: false,
              detectOpenHandles: false,
              displayName: { color: 'white', name: '@goe/ui' },
              errorOnDeprecated: false,
              extensionsToTreatAsEsm: [],
              fakeTimers: { enableGlobally: false },
              filter: undefined,
              forceCoverageMatch: [],
              globalSetup: undefined,
              globalTeardown: undefined,
              globals: {},
              haste: { computeSha1: false, enableSymlinks: false, forceNodeFilesystemAPI: true, throwOnModuleCollision: false },
              id: '20655d5bfed610810d836620940347bb',
              injectGlobals: true,
              moduleDirectories: [ 'node_modules' ],
              moduleFileExtensions: [ 'js', 'json', 'jsx', 'ts', 'tsx' ],
              moduleNameMapper: [
                [ '^@/(.*)$', '<homeDir>/work/goeng-goe-tools-ui/packages/ui/src/$1' ],
                [ '^@/config$', '<homeDir>/work/goeng-goe-tools-ui/packages/ui/src/config.ts' ],
                [ '^@/components/(.*)$', '<homeDir>/work/goeng-goe-tools-ui/packages/ui/src/components/$1' ],
                [ '^@/assets/(.*)$', '<homeDir>/work/goeng-goe-tools-ui/packages/ui/src/assets/$1' ],
                [ '^@/icons/(.*)$', '<homeDir>/work/goeng-goe-tools-ui/packages/ui/src/icons/$1' ]
              ],
              modulePathIgnorePatterns: [ 'build' ],
              modulePaths: undefined,
              openHandlesTimeout: 1000,
              prettierPath: 'prettier',
              resetMocks: true,
              resetModules: false,
              resolver: undefined,
              restoreMocks: false,
              rootDir: '<homeDir>/work/goeng-goe-tools-ui/packages/ui',
              roots: [ '<homeDir>/work/goeng-goe-tools-ui/packages/ui' ],
              runner: '<homeDir>/work/goeng-goe-tools-ui/.yarn/cache/jest-runner-npm-29.7.0-3bc9f82b58-f0405778ea.zip/node_modules/jest-runner/build/index.js',
              runtime: undefined,
              sandboxInjectedGlobals: [],
              setupFiles: [],
              setupFilesAfterEnv: [ '<homeDir>/work/goeng-goe-tools-ui/packages/ui/src/testing/setupTests.ts' ],
              skipFilter: false,
              skipNodeResolution: undefined,
              slowTestThreshold: 5,
              snapshotFormat: { escapeString: false, printBasicPrototype: false },
              snapshotResolver: undefined,
              snapshotSerializers: [],
              testEnvironment: '<homeDir>/work/goeng-goe-tools-ui/.yarn/__virtual__/jest-environment-jsdom-virtual-c2fbfcfed5/0/cache/jest-environment-jsdom-npm-29.7.0-0b72dd0e0b-559aac134c.zip/node_modules/jest-environment-jsdom/build/index.js',
              testEnvironmentOptions: {},
              testLocationInResults: false,
              testMatch: [ '<homeDir>/work/goeng-goe-tools-ui/packages/ui/**/*.test.[jt]s?(x)' ],
              testPathIgnorePatterns: [ '/node_modules/' ],
              testRegex: [],
              testRunner: '<homeDir>/work/goeng-goe-tools-ui/.yarn/cache/jest-circus-npm-29.7.0-f7679858c6-3494371489.zip/node_modules/jest-circus/runner.js',
              transform: [
                [
                  '^.+\\.(t|j)sx?$',
                  '<homeDir>/work/goeng-goe-tools-ui/.yarn/__virtual__/@swc-jest-virtual-cd3e7f94d1/0/cache/@swc-jest-npm-0.2.29-83a2d9fed7-9eaad32231.zip/node_modules/@swc/jest/index.js',
                  {
                    jsc: { transform: { react: { runtime: 'automatic' } } }
                  }
                ]
              ],
              transformIgnorePatterns: [ '/node_modules/', '\\.pnp\\.[^\\/]+$' ],
              unmockedModulePathPatterns: undefined,
              watchPathIgnorePatterns: []
            },
            {
              automock: false,
              cache: true,
              cacheDirectory: '/private/var/folders/4z/d03nh5px097b_tvn8s3yzxx00000gp/T/jest_dy',
              clearMocks: false,
              collectCoverageFrom: [ 'src/functions/**/*.{ts,tsx}' ],
              coverageDirectory: '<homeDir>/work/goeng-goe-tools-ui/packages/utils/coverage',
              coveragePathIgnorePatterns: [ '/node_modules/' ],
              cwd: '<homeDir>/work/goeng-goe-tools-ui',
              dependencyExtractor: undefined,
              detectLeaks: false,
              detectOpenHandles: false,
              displayName: { color: 'white', name: '@goe/utils' },
              errorOnDeprecated: false,
              extensionsToTreatAsEsm: [],
              fakeTimers: { enableGlobally: false },
              filter: undefined,
              forceCoverageMatch: [],
              globalSetup: undefined,
              globalTeardown: undefined,
              globals: {},
              haste: { computeSha1: false, enableSymlinks: false, forceNodeFilesystemAPI: true, throwOnModuleCollision: false },
              id: '04e6e2bd23c76668fcd288dee5d237d5',
              injectGlobals: true,
              moduleDirectories: [ 'node_modules' ],
              moduleFileExtensions: [ 'js', 'json', 'jsx', 'ts', 'tsx' ],
              moduleNameMapper: [],
              modulePathIgnorePatterns: [ 'build' ],
              modulePaths: undefined,
              openHandlesTimeout: 1000,
              prettierPath: 'prettier',
              resetMocks: true,
              resetModules: false,
              resolver: undefined,
              restoreMocks: false,
              rootDir: '<homeDir>/work/goeng-goe-tools-ui/packages/utils',
              roots: [ '<homeDir>/work/goeng-goe-tools-ui/packages/utils' ],
              runner: '<homeDir>/work/goeng-goe-tools-ui/.yarn/cache/jest-runner-npm-29.7.0-3bc9f82b58-f0405778ea.zip/node_modules/jest-runner/build/index.js',
              runtime: undefined,
              sandboxInjectedGlobals: [],
              setupFiles: [],
              setupFilesAfterEnv: [ '<homeDir>/work/goeng-goe-tools-ui/packages/utils/src/testing/setupTests.ts' ],
              skipFilter: false,
              skipNodeResolution: undefined,
              slowTestThreshold: 5,
              snapshotFormat: { escapeString: false, printBasicPrototype: false },
              snapshotResolver: undefined,
              snapshotSerializers: [],
              testEnvironment: '<homeDir>/work/goeng-goe-tools-ui/.yarn/__virtual__/jest-environment-jsdom-virtual-c2fbfcfed5/0/cache/jest-environment-jsdom-npm-29.7.0-0b72dd0e0b-559aac134c.zip/node_modules/jest-environment-jsdom/build/index.js',
              testEnvironmentOptions: {},
              testLocationInResults: false,
              testMatch: [ '<homeDir>/work/goeng-goe-tools-ui/packages/utils/**/*.test.[jt]s?(x)' ],
              testPathIgnorePatterns: [ '/node_modules/' ],
              testRegex: [],
              testRunner: '<homeDir>/work/goeng-goe-tools-ui/.yarn/cache/jest-circus-npm-29.7.0-f7679858c6-3494371489.zip/node_modules/jest-circus/runner.js',
              transform: [
                [
                  '^.+\\.(t|j)sx?$',
                  '<homeDir>/work/goeng-goe-tools-ui/.yarn/__virtual__/@swc-jest-virtual-cd3e7f94d1/0/cache/@swc-jest-npm-0.2.29-83a2d9fed7-9eaad32231.zip/node_modules/@swc/jest/index.js',
                  {
                    jsc: { transform: { react: { runtime: 'automatic' } } }
                  }
                ]
              ],
              transformIgnorePatterns: [ '/node_modules/', '\\.pnp\\.[^\\/]+$' ],
              unmockedModulePathPatterns: undefined,
              watchPathIgnorePatterns: []
            }
          ],
          globalConfig: {
            bail: 0,
            changedFilesWithAncestor: false,
            changedSince: undefined,
            ci: false,
            collectCoverage: false,
            collectCoverageFrom: [],
            coverageDirectory: '<homeDir>/work/goeng-goe-tools-ui/coverage',
            coverageProvider: 'babel',
            coverageReporters: [ 'json', 'text', 'lcov', 'clover' ],
            coverageThreshold: undefined,
            detectLeaks: false,
            detectOpenHandles: false,
            errorOnDeprecated: false,
            expand: false,
            filter: undefined,
            findRelatedTests: false,
            forceExit: false,
            globalSetup: undefined,
            globalTeardown: undefined,
            json: false,
            lastCommit: false,
            listTests: false,
            logHeapUsage: false,
            maxConcurrency: 5,
            maxWorkers: 9,
            noSCM: undefined,
            noStackTrace: false,
            nonFlagArgs: undefined,
            notify: false,
            notifyMode: 'failure-change',
            onlyChanged: false,
            onlyFailures: false,
            openHandlesTimeout: 1000,
            outputFile: undefined,
            passWithNoTests: false,
            projects: [
              '<homeDir>/work/goeng-goe-tools-ui/packages/client/jest.config.js',
              '<homeDir>/work/goeng-goe-tools-ui/packages/ui/jest.config.js',
              '<homeDir>/work/goeng-goe-tools-ui/packages/utils/jest.config.js'
            ],
            randomize: undefined,
            replname: undefined,
            reporters: undefined,
            rootDir: '<homeDir>/work/goeng-goe-tools-ui',
            runInBand: undefined,
            runTestsByPath: false,
            seed: -1050620304,
            shard: undefined,
            showSeed: undefined,
            silent: undefined,
            skipFilter: false,
            snapshotFormat: { escapeString: false, printBasicPrototype: false },
            testFailureExitCode: 1,
            testNamePattern: undefined,
            testPathPattern: '',
            testResultsProcessor: undefined,
            testSequencer: '<homeDir>/work/goeng-goe-tools-ui/.yarn/cache/@jest-test-sequencer-npm-29.7.0-291f23a495-73f4359901.zip/node_modules/@jest/test-sequencer/build/index.js',
            testTimeout: undefined,
            updateSnapshot: 'new',
            useStderr: false,
            verbose: undefined,
            watch: false,
            watchAll: false,
            watchPlugins: undefined,
            watchman: true,
            workerIdleMemoryLimit: undefined,
            workerThreads: false
          },
          hasDeprecationWarnings: false,
          wallaby: {
            roots: [ 'packages/client', 'packages/ui', 'packages/utils' ],
            watchPathIgnorePatterns: [
              '/node_modules/',
              '\\./dist/|\\./build/|\\./coverage/|\\./git/|/\\..+/',
              '/private/var/folders/4z/d03nh5px097b_tvn8s3yzxx00000gp/T/jest_dy',
              '(packages/client.*)build',
              '(packages/ui.*)build',
              '(packages/utils.*)build',
              '\\./coverage'
            ],
            testPathIgnorePatterns: [
              '/node_modules/',
              '\\./dist/|\\./build/|\\./coverage/|\\./git/|/\\..+/',
              '/private/var/folders/4z/d03nh5px097b_tvn8s3yzxx00000gp/T/jest_dy',
              '(packages/client.*)build',
              '(packages/ui.*)build',
              '(packages/utils.*)build',
              '\\./coverage'
            ],
            testMatch: [ 'packages/client/**/*.test.[jt]s?(x)', 'packages/ui/**/*.test.[jt]s?(x)', 'packages/utils/**/*.test.[jt]s?(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: [
      'src/components/**/*.{ts,tsx}',
      'src/hooks/**/*.{ts,tsx}',
      'src/layout/**/*.{ts,tsx}',
      'src/views/**/*.{ts,tsx}',
      'src/services/**/*.{ts,tsx}',
      'src/components/**/*.{ts,tsx}',
      'src/form/**/*.{ts,tsx}',
      'src/hooks/**/*.{ts,tsx}',
      'src/icons/**/*.{ts,tsx}',
      'src/layout/**/*.{ts,tsx}',
      'src/pages/**/*.{ts,tsx}',
      'src/services/**/*.{ts,tsx}',
      'src/functions/**/*.{ts,tsx}'
    ],
    filesWithNoCoverageCalculated: [
      /src\/hooks\/useEqxTableRowEdit/,
      /src\/hooks\/useUserFeedback/,
      /src\/hooks\/useAssetDetailDrawer\/AssetDetailDrawer\/components\/DcimPointDataPanel/,
      /src\/hooks\/useAssetDetailDrawer\/AssetDetailDrawer\/components\/MaximoAssetSpecsPanel/,
      /src\/hooks\/useEqxTableQuery\/index.tsx/,
      /src\/hooks\/util\/useRenderInfo/,
      /src\/hooks\/useCreateTicket/,
      /src\/hooks\/util\/useWhyDidYouRender.ts/,
      /src\/hooks\/util\/useTimeout.ts/,
      /src\/hooks\/util\/useTimeoutFn.ts/,
      /src\/hooks\/util\/useUpdate.ts/,
      /src\/hooks\/useSentry/,
      /src\/hooks\/util\/useLogger/,
      /src\/components\/selects/,
      /src\/hooks\/useUserPreferencesFilters/,
      /src\/hooks\/useUserSettingsDialog/,
      /src\/dialogs\/UserSettingsDialog/,
      /src\/hooks\/useEqxTableController/,
      /src\/dialogs\/ReleaseNotesDialog/,
      /src\/components\/EqxMessenger/,
      /src\/components\/EqxTable\/components\/panel\/filterPanel/,
      /src\/components\/EqxTable\/components\/customColumnTypes/,
      /src\/dialogs\/TicketCreateDialog/,
      /src\/dialogs\/UserFeedbackDialog/,
      /src\/hooks\/context/,
      /src\/testing/,
      /src\/testing/
    ],
    globalSetup: false,
    dot: true,
    files: [
      { pattern: '/node_modules/', regexp: /\/node_modules\//, ignore: true, trigger: true, load: true, file: true, test: true },
      {
        pattern: '\\./dist/|\\./build/|\\./coverage/|\\./git/|/\\..+/',
        regexp: /\.\/dist\/|\.\/build\/|\.\/coverage\/|\.\/git\/|\/\..+\//,
        ignore: true,
        trigger: true,
        load: true,
        file: true,
        test: true
      },
      {
        pattern: '/private/var/folders/4z/d03nh5px097b_tvn8s3yzxx00000gp/T/jest_dy',
        regexp: /\/private\/var\/folders\/4z\/d03nh5px097b_tvn8s3yzxx00000gp\/T\/jest_dy/,
        ignore: true,
        trigger: true,
        load: true,
        file: true,
        test: true
      },
      { pattern: '(packages/client.*)build', regexp: /(packages\/client.*)build/, ignore: true, trigger: true, load: true, file: true, test: true },
      { pattern: '(packages/ui.*)build', regexp: /(packages\/ui.*)build/, ignore: true, trigger: true, load: true, file: true, test: true },
      { pattern: '(packages/utils.*)build', regexp: /(packages\/utils.*)build/, ignore: true, trigger: true, load: true, file: true, test: true },
      { pattern: '\\./coverage', regexp: /\.\/coverage/, ignore: true, trigger: true, load: true, file: true, test: true },
      { pattern: '**/**', ignore: false, trigger: true, load: true, order: 1 },
      { pattern: 'packages/client/**', ignore: false, trigger: true, load: true, order: 2 },
      { pattern: 'packages/ui/**', ignore: false, trigger: true, load: true, order: 3 },
      { pattern: 'packages/utils/**', ignore: false, trigger: true, load: true, order: 4 },
      { pattern: 'packages/client/**/*.test.[jt]s?(x)', ignore: true, trigger: true, load: true, file: true },
      { pattern: 'packages/ui/**/*.test.[jt]s?(x)', ignore: true, trigger: true, load: true, file: true },
      { pattern: 'packages/utils/**/*.test.[jt]s?(x)', ignore: true, trigger: true, load: true, file: true }
    ],
    captureConsoleLog: true,
    tests: [
      { pattern: '/node_modules/', regexp: /\/node_modules\//, ignore: true, trigger: true, load: true, test: true, file: false },
      {
        pattern: '\\./dist/|\\./build/|\\./coverage/|\\./git/|/\\..+/',
        regexp: /\.\/dist\/|\.\/build\/|\.\/coverage\/|\.\/git\/|\/\..+\//,
        ignore: true,
        trigger: true,
        load: true,
        test: true,
        file: false
      },
      {
        pattern: '/private/var/folders/4z/d03nh5px097b_tvn8s3yzxx00000gp/T/jest_dy',
        regexp: /\/private\/var\/folders\/4z\/d03nh5px097b_tvn8s3yzxx00000gp\/T\/jest_dy/,
        ignore: true,
        trigger: true,
        load: true,
        test: true,
        file: false
      },
      { pattern: '(packages/client.*)build', regexp: /(packages\/client.*)build/, ignore: true, trigger: true, load: true, test: true, file: false },
      { pattern: '(packages/ui.*)build', regexp: /(packages\/ui.*)build/, ignore: true, trigger: true, load: true, test: true, file: false },
      { pattern: '(packages/utils.*)build', regexp: /(packages\/utils.*)build/, ignore: true, trigger: true, load: true, test: true, file: false },
      { pattern: '\\./coverage', regexp: /\.\/coverage/, ignore: true, trigger: true, load: true, test: true, file: false },
      { pattern: 'packages/client/**/*.test.[jt]s?(x)', ignore: false, trigger: true, load: true, test: true, order: 5 },
      { pattern: 'packages/ui/**/*.test.[jt]s?(x)', ignore: false, trigger: true, load: true, test: true, order: 6 },
      { pattern: 'packages/utils/**/*.test.[jt]s?(x)', ignore: false, trigger: true, load: true, test: true, order: 7 }
    ],
    runAllTestsInAffectedTestFile: false,
    updateNoMoreThanOneSnapshotPerTestFileRun: false,
    compilers: {},
    smartStart: [ { test: true, source: false, pattern: '**/*', startMode: 'open' }, { test: false, source: true, pattern: '**/*', startMode: 'edit' } ],
    logLimits: { inline: { depth: 5, elements: 5000 }, values: { default: { stringLength: 200 }, autoExpand: { elements: 5000, stringLength: 8192, depth: 10 } } },
    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: true,
    mapConsoleMessagesStackTrace: false,
    extensions: {},
    env: { type: 'node', params: {}, runner: '/opt/homebrew/Cellar/node/20.8.0/bin/node', viewportSize: { width: 800, height: 600 }, options: { width: 800, height: 600 }, bundle: true },
    reportUnhandledPromises: true,
    slowTestThreshold: 75,
    lowCoverageThreshold: 80,
    runAllTestsWhenNoAffectedTests: false,
    configCode: 'auto.detect#-1153159089',
    testLocations: [ 'packages/client/src/hooks/useEqxTableQuery/helpers/validateSortModel/validateSortModel.test.ts' ]
  },
  packageJSON: {
    dependencies: undefined,
    devDependencies: {
      '@types/react-dom': '^18.2.7',
      '@typescript-eslint/eslint-plugin': '^6.7.2',
      '@typescript-eslint/parser': '^6.7.2',
      concurrently: '^8.2.1',
      eslint: '^8.49.0',
      'eslint-config-airbnb': '^19.0.4',
      'eslint-config-prettier': '^9.0.0',
      'eslint-plugin-import': '^2.28.1',
      'eslint-plugin-jsx-a11y': '^6.7.1',
      'eslint-plugin-prettier': '^5.0.0',
      'eslint-plugin-react': '^7.33.2',
      'eslint-plugin-react-hooks': '^4.6.0',
      'eslint-plugin-simple-import-sort': '^10.0.0',
      'eslint-plugin-unused-imports': '^3.0.0',
      jest: '^29.7.0',
      'jest-environment-jsdom': '^29.7.0',
      prettier: '^3.0.3',
      react: '^18.2.0',
      'react-dom': '18.2.0',
      rimraf: '^5.0.1',
      typescript: '^5.2.2'
    }
  },
  fs: { numberOfFiles: 1321 },
  debug: [
    '2023-10-11T08:16:37.916Z config Attempting automatic configuration for angular\n',
    '2023-10-11T08:16:37.921Z angular/cli config Angular CLI not found.\n',
    '2023-10-11T08:16:37.921Z config Finished attempting automatic configuration for angular (5ms)\n',
    '2023-10-11T08:16:37.921Z config Attempting automatic configuration for jest\n',
    '2023-10-11T08:16:38.095Z jest/config Detected Jest.\n',
    '2023-10-11T08:16:38.095Z jest/config Configured Jest.\n',
    '2023-10-11T08:16:38.095Z config Finished attempting automatic configuration for jest (174ms)\n',
    '2023-10-11T08:16:38.096Z project Wallaby Node version: v20.8.0\n',
    '2023-10-11T08:16:38.096Z project Wallaby config: <homeDir>/work/goeng-goe-tools-ui/auto.detect\n',
    '2023-10-11T08:16:38.108Z fs File system starting\n',
    '2023-10-11T08:16:39.289Z fs File system scan has finished by timeout\n',
    '2023-10-11T08:16:39.571Z project File cache: <homeDir>/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.371/projects/08f279d7d5587154\n',
    '2023-10-11T08:16:39.575Z uiService Listening port 51236\n',
    '2023-10-11T08:16:39.597Z workers Parallelism for initial run: 8, for regular run: 4\n',
    '2023-10-11T08:16:39.597Z workers Starting run worker instance #0\n',
    '2023-10-11T08:16:39.597Z workers Starting run worker instance #1\n',
    '2023-10-11T08:16:39.597Z workers Starting run worker instance #2\n',
    '2023-10-11T08:16:39.597Z workers Starting run worker instance #3\n',
    '2023-10-11T08:16:39.597Z workers Starting run worker instance #4\n',
    '2023-10-11T08:16:39.597Z workers Starting run worker instance #5\n',
    '2023-10-11T08:16:39.597Z workers Starting run worker instance #6\n',
    '2023-10-11T08:16:39.597Z workers Starting run worker instance #7\n',
    '2023-10-11T08:16:39.597Z workers Web server is listening at 51397\n',
    '2023-10-11T08:16:39.605Z project Stopping process pool\n',
    '2023-10-11T08:16:39.605Z project File cache is up-to-date, starting full test run\n',
    '2023-10-11T08:16:39.607Z project Test run started; run priority: 3\n',
    '2023-10-11T08:16:39.609Z project Running all tests\n',
    '2023-10-11T08:16:39.618Z project Test run finished\n',
    '2023-10-11T08:16:39.618Z project Test run data re-queued\n',
    '2023-10-11T08:16:39.851Z workers Started run worker instance (delayed) #0\n',
    '2023-10-11T08:16:39.900Z workers Started run worker instance (delayed) #1\n',
    '2023-10-11T08:16:39.966Z workers Started run worker instance (delayed) #6\n',
    '2023-10-11T08:16:40.029Z workers Started run worker instance (delayed) #2\n',
    '2023-10-11T08:16:40.090Z workers Started run worker instance (delayed) #4\n',
    '2023-10-11T08:16:40.151Z workers Started run worker instance (delayed) #3\n',
    '2023-10-11T08:16:40.215Z workers Started run worker instance (delayed) #5\n',
    '2023-10-11T08:16:40.271Z workers Started run worker instance (delayed) #7\n',
    '2023-10-11T08:17:05.132Z project Requested to run all tests\n',
    '2023-10-11T08:17:05.133Z project Test run started; run priority: 3\n',
    '2023-10-11T08:17:05.133Z project Running all tests\n',
    '2023-10-11T08:17:05.154Z workers Starting test run, priority: 3\n',
    '2023-10-11T08:17:05.154Z nodeRunner Starting sandbox [worker #0, session #rx1es]\n',
    '2023-10-11T08:17:05.154Z nodeRunner Preparing sandbox [worker #0, session #rx1es]\n',
    '2023-10-11T08:17:05.154Z nodeRunner Prepared sandbox [worker #0, session #rx1es]\n',
    '2023-10-11T08:17:05.155Z workers [worker #0, session #rx1es] Running tests in sandbox\n',
    '2023-10-11T08:17:07.919Z workers Scheduling Jest Test Run (rx1es): 2023-10-11T08:17:05.565Z\n',
    '2023-10-11T08:17:07.919Z workers [rx1es] Loaded unknown number of test(s)\n',
    '2023-10-11T08:17:07.919Z workers [rx1es] Test executed: returns origional GridSortModel[] as a valid model\n',
    '2023-10-11T08:17:07.920Z workers [rx1es] Test executed: returns [] as an invalid model. Model contains an unlisted column\n',
    '2023-10-11T08:17:07.920Z workers [rx1es] Test executed: should return an empty array if no sort model is provided\n',
    '2023-10-11T08:17:07.921Z workers [rx1es] Run 3 test(s), skipped 0 test(s)\n',
    '2023-10-11T08:17:07.921Z workers Jest Test Run Complete (rx1es): 2023-10-11T08:17:07.917Z\n',
    '2023-10-11T08:17:07.921Z workers [rx1es] Sandbox is responsive, closing it\n',
    '2023-10-11T08:17:07.922Z project Test run finished\n',
    '2023-10-11T08:17:07.922Z project Processed console.log entries\n',
    '2023-10-11T08:17:07.922Z project Processed loading sequences\n',
    '2023-10-11T08:17:07.922Z project Processed executed tests\n',
    '2023-10-11T08:17:07.924Z project Processed code coverage\n',
    '2023-10-11T08:17:07.930Z project Test run result processed and sent to IDE\n'
  ]
}
smcenlly commented 1 year ago

i forgot to mention that besides being a yarn monorepo, this is also using pnp. Maybe that helps?

Unless this changed recently, I don't believe it will be the cause of your problem.

The weird thing is that everything was working fine until a couple of months ago on the same project

Perhaps you could revert your project changes to a few months back when it was working and see if it works for you? Then you could analyse the differences to understand why it's not working.


For us to better understand the issue, could you please follow our earlier request of cloning to a new directory on both laptops and providing diagnostic reports from both machines (where the project works, and where it doesn't work)? This will help in comparing and identifying any discrepancies that might be causing the issue.

jbaccarelli-equinix commented 1 year ago

i forgot to mention that besides being a yarn monorepo, this is also using pnp. Maybe that helps?

Unless this changed recently, I don't believe it will be the cause of your problem.

The weird thing is that everything was working fine until a couple of months ago on the same project

Perhaps you could revert your project changes to a few months back when it was working and see if it works for you? Then you could analyse the differences to understand why it's not working.

For us to better understand the issue, could you please follow our earlier request of cloning to a new directory on both laptops and providing diagnostic reports from both machines (where the project works, and where it doesn't work)? This will help in comparing and identifying any discrepancies that might be causing the issue.

Ok i will try that today when i come back home. On the laptop where wallaby is not working i can see that creating a new react-app makes it work just fine, so definitely is something in my setup with this project,i tried disabling all extensions and vscode settings but that didn't help. It's very weird

jbaccarelli-equinix commented 1 year ago

OK here is the report from the project that doesn't work properly, on the laptop where it doesn't work:

{
  editorVersion: '1.83.1',
  pluginVersion: '1.0.371',
  editorType: 'VSCode',
  osVersion: 'darwin 22.6.0',
  nodeVersion: 'v20.8.0',
  coreVersion: '1.0.1403',
  checksum: 'YWU5Zjg3NWQ3ODJmMjdlOTY3YzE4YWU0NzBiMjMxYjIsMTY4MDEzNDQwMDAwMCww',
  config: {
    diagnostics: {
      jest: {
        config: {
          configs: [
            {
              automock: false,
              cache: true,
              cacheDirectory: '/private/var/folders/4z/d03nh5px097b_tvn8s3yzxx00000gp/T/jest_dy',
              clearMocks: false,
              collectCoverageFrom: [ 'src/components/**/*.{ts,tsx}', 'src/hooks/**/*.{ts,tsx}', 'src/layout/**/*.{ts,tsx}', 'src/views/**/*.{ts,tsx}', 'src/services/**/*.{ts,tsx}' ],
              coverageDirectory: '<homeDir>/work/goeng-goe-tools-ui/packages/client/coverage',
              coveragePathIgnorePatterns: [
                'src/hooks/useEqxTableRowEdit',
                'src/hooks/useUserFeedback',
                'src/hooks/useAssetDetailDrawer/AssetDetailDrawer/components/DcimPointDataPanel',
                'src/hooks/useAssetDetailDrawer/AssetDetailDrawer/components/MaximoAssetSpecsPanel',
                'src/hooks/useEqxTableQuery/index.tsx',
                'src/hooks/util/useRenderInfo',
                'src/hooks/useCreateTicket',
                'src/hooks/util/useWhyDidYouRender.ts',
                'src/hooks/util/useTimeout.ts',
                'src/hooks/util/useTimeoutFn.ts',
                'src/hooks/util/useUpdate.ts',
                'src/hooks/useSentry',
                'src/hooks/util/useLogger',
                'src/components/selects',
                'src/hooks/useUserPreferencesFilters',
                'src/hooks/useUserSettingsDialog',
                'src/dialogs/UserSettingsDialog',
                'src/hooks/useEqxTableController',
                'src/dialogs/ReleaseNotesDialog',
                'src/components/EqxMessenger',
                'src/components/EqxTable/components/panel/filterPanel',
                'src/components/EqxTable/components/customColumnTypes',
                'src/dialogs/TicketCreateDialog',
                'src/dialogs/UserFeedbackDialog',
                'src/hooks/context',
                'src/testing'
              ],
              cwd: '<homeDir>/work/goeng-goe-tools-ui',
              dependencyExtractor: undefined,
              detectLeaks: false,
              detectOpenHandles: false,
              displayName: { color: 'white', name: '@goe/client' },
              errorOnDeprecated: false,
              extensionsToTreatAsEsm: [],
              fakeTimers: { enableGlobally: false },
              filter: undefined,
              forceCoverageMatch: [],
              globalSetup: undefined,
              globalTeardown: undefined,
              globals: {},
              haste: { computeSha1: false, enableSymlinks: false, forceNodeFilesystemAPI: true, throwOnModuleCollision: false },
              id: '2b5d94f76af42be235936615433ebdf7',
              injectGlobals: true,
              moduleDirectories: [ 'node_modules' ],
              moduleFileExtensions: [ 'js', 'json', 'jsx', 'ts', 'tsx' ],
              moduleNameMapper: [
                [ '^@/(.*)$', '<homeDir>/work/goeng-goe-tools-ui/packages/client/src/$1' ],
                [ '\\.(?:png|jpg|webp|ttf|woff|woff2|svg|mp4)$', '<homeDir>/work/goeng-goe-tools-ui/packages/client/src/testing/mockFile.js' ],
                [ '\\.(?:css|scss)$', '<homeDir>/work/goeng-goe-tools-ui/packages/client/src/testing/mockFile.js' ]
              ],
              modulePathIgnorePatterns: [ 'build' ],
              modulePaths: undefined,
              openHandlesTimeout: 1000,
              prettierPath: 'prettier',
              resetMocks: true,
              resetModules: false,
              resolver: undefined,
              restoreMocks: false,
              rootDir: '<homeDir>/work/goeng-goe-tools-ui/packages/client',
              roots: [ '<homeDir>/work/goeng-goe-tools-ui/packages/client' ],
              runner: '<homeDir>/work/goeng-goe-tools-ui/.yarn/cache/jest-runner-npm-29.7.0-3bc9f82b58-f0405778ea.zip/node_modules/jest-runner/build/index.js',
              runtime: undefined,
              sandboxInjectedGlobals: [],
              setupFiles: [],
              setupFilesAfterEnv: [ '<homeDir>/work/goeng-goe-tools-ui/packages/client/src/testing/setupTests.ts' ],
              skipFilter: false,
              skipNodeResolution: undefined,
              slowTestThreshold: 5,
              snapshotFormat: { escapeString: false, printBasicPrototype: false },
              snapshotResolver: undefined,
              snapshotSerializers: [],
              testEnvironment: '<homeDir>/work/goeng-goe-tools-ui/.yarn/__virtual__/jest-environment-jsdom-virtual-c2fbfcfed5/0/cache/jest-environment-jsdom-npm-29.7.0-0b72dd0e0b-559aac134c.zip/node_modules/jest-environment-jsdom/build/index.js',
              testEnvironmentOptions: {},
              testLocationInResults: false,
              testMatch: [ '<homeDir>/work/goeng-goe-tools-ui/packages/client/**/*.test.[jt]s?(x)' ],
              testPathIgnorePatterns: [ '/node_modules/' ],
              testRegex: [],
              testRunner: '<homeDir>/work/goeng-goe-tools-ui/.yarn/cache/jest-circus-npm-29.7.0-f7679858c6-3494371489.zip/node_modules/jest-circus/runner.js',
              transform: [
                [
                  '^.+\\.(t|j)sx?$',
                  '<homeDir>/work/goeng-goe-tools-ui/.yarn/__virtual__/@swc-jest-virtual-1e20308b63/0/cache/@swc-jest-npm-0.2.29-83a2d9fed7-9eaad32231.zip/node_modules/@swc/jest/index.js',
                  {
                    jsc: { transform: { react: { runtime: 'automatic' } } }
                  }
                ]
              ],
              transformIgnorePatterns: [ '/node_modules/', '\\.pnp\\.[^\\/]+$' ],
              unmockedModulePathPatterns: undefined,
              watchPathIgnorePatterns: []
            },
            {
              automock: false,
              cache: true,
              cacheDirectory: '/private/var/folders/4z/d03nh5px097b_tvn8s3yzxx00000gp/T/jest_dy',
              clearMocks: false,
              collectCoverageFrom: [
                'src/components/**/*.{ts,tsx}',
                'src/form/**/*.{ts,tsx}',
                'src/hooks/**/*.{ts,tsx}',
                'src/icons/**/*.{ts,tsx}',
                'src/layout/**/*.{ts,tsx}',
                'src/pages/**/*.{ts,tsx}',
                'src/services/**/*.{ts,tsx}'
              ],
              coverageDirectory: '<homeDir>/work/goeng-goe-tools-ui/packages/ui/coverage',
              coveragePathIgnorePatterns: [ 'src/testing' ],
              cwd: '<homeDir>/work/goeng-goe-tools-ui',
              dependencyExtractor: undefined,
              detectLeaks: false,
              detectOpenHandles: false,
              displayName: { color: 'white', name: '@goe/ui' },
              errorOnDeprecated: false,
              extensionsToTreatAsEsm: [],
              fakeTimers: { enableGlobally: false },
              filter: undefined,
              forceCoverageMatch: [],
              globalSetup: undefined,
              globalTeardown: undefined,
              globals: {},
              haste: { computeSha1: false, enableSymlinks: false, forceNodeFilesystemAPI: true, throwOnModuleCollision: false },
              id: '20655d5bfed610810d836620940347bb',
              injectGlobals: true,
              moduleDirectories: [ 'node_modules' ],
              moduleFileExtensions: [ 'js', 'json', 'jsx', 'ts', 'tsx' ],
              moduleNameMapper: [
                [ '^@/(.*)$', '<homeDir>/work/goeng-goe-tools-ui/packages/ui/src/$1' ],
                [ '^@/components/(.*)$', '<homeDir>/work/goeng-goe-tools-ui/packages/ui/src/components/$1' ],
                [ '^@/assets/(.*)$', '<homeDir>/work/goeng-goe-tools-ui/packages/ui/src/assets/$1' ],
                [ '^@/icons/(.*)$', '<homeDir>/work/goeng-goe-tools-ui/packages/ui/src/icons/$1' ]
              ],
              modulePathIgnorePatterns: [ 'build' ],
              modulePaths: undefined,
              openHandlesTimeout: 1000,
              prettierPath: 'prettier',
              resetMocks: true,
              resetModules: false,
              resolver: undefined,
              restoreMocks: false,
              rootDir: '<homeDir>/work/goeng-goe-tools-ui/packages/ui',
              roots: [ '<homeDir>/work/goeng-goe-tools-ui/packages/ui' ],
              runner: '<homeDir>/work/goeng-goe-tools-ui/.yarn/cache/jest-runner-npm-29.7.0-3bc9f82b58-f0405778ea.zip/node_modules/jest-runner/build/index.js',
              runtime: undefined,
              sandboxInjectedGlobals: [],
              setupFiles: [],
              setupFilesAfterEnv: [ '<homeDir>/work/goeng-goe-tools-ui/packages/ui/src/testing/setupTests.ts' ],
              skipFilter: false,
              skipNodeResolution: undefined,
              slowTestThreshold: 5,
              snapshotFormat: { escapeString: false, printBasicPrototype: false },
              snapshotResolver: undefined,
              snapshotSerializers: [],
              testEnvironment: '<homeDir>/work/goeng-goe-tools-ui/.yarn/__virtual__/jest-environment-jsdom-virtual-c2fbfcfed5/0/cache/jest-environment-jsdom-npm-29.7.0-0b72dd0e0b-559aac134c.zip/node_modules/jest-environment-jsdom/build/index.js',
              testEnvironmentOptions: {},
              testLocationInResults: false,
              testMatch: [ '<homeDir>/work/goeng-goe-tools-ui/packages/ui/**/*.test.[jt]s?(x)' ],
              testPathIgnorePatterns: [ '/node_modules/' ],
              testRegex: [],
              testRunner: '<homeDir>/work/goeng-goe-tools-ui/.yarn/cache/jest-circus-npm-29.7.0-f7679858c6-3494371489.zip/node_modules/jest-circus/runner.js',
              transform: [
                [
                  '^.+\\.(t|j)sx?$',
                  '<homeDir>/work/goeng-goe-tools-ui/.yarn/__virtual__/@swc-jest-virtual-1e20308b63/0/cache/@swc-jest-npm-0.2.29-83a2d9fed7-9eaad32231.zip/node_modules/@swc/jest/index.js',
                  {
                    jsc: { transform: { react: { runtime: 'automatic' } } }
                  }
                ]
              ],
              transformIgnorePatterns: [ '/node_modules/', '\\.pnp\\.[^\\/]+$' ],
              unmockedModulePathPatterns: undefined,
              watchPathIgnorePatterns: []
            },
            {
              automock: false,
              cache: true,
              cacheDirectory: '/private/var/folders/4z/d03nh5px097b_tvn8s3yzxx00000gp/T/jest_dy',
              clearMocks: false,
              collectCoverageFrom: [ 'src/functions/**/*.{ts,tsx}' ],
              coverageDirectory: '<homeDir>/work/goeng-goe-tools-ui/packages/utils/coverage',
              coveragePathIgnorePatterns: [ '/node_modules/' ],
              cwd: '<homeDir>/work/goeng-goe-tools-ui',
              dependencyExtractor: undefined,
              detectLeaks: false,
              detectOpenHandles: false,
              displayName: { color: 'white', name: '@goe/utils' },
              errorOnDeprecated: false,
              extensionsToTreatAsEsm: [],
              fakeTimers: { enableGlobally: false },
              filter: undefined,
              forceCoverageMatch: [],
              globalSetup: undefined,
              globalTeardown: undefined,
              globals: {},
              haste: { computeSha1: false, enableSymlinks: false, forceNodeFilesystemAPI: true, throwOnModuleCollision: false },
              id: '04e6e2bd23c76668fcd288dee5d237d5',
              injectGlobals: true,
              moduleDirectories: [ 'node_modules' ],
              moduleFileExtensions: [ 'js', 'json', 'jsx', 'ts', 'tsx' ],
              moduleNameMapper: [],
              modulePathIgnorePatterns: [ 'build' ],
              modulePaths: undefined,
              openHandlesTimeout: 1000,
              prettierPath: 'prettier',
              resetMocks: true,
              resetModules: false,
              resolver: undefined,
              restoreMocks: false,
              rootDir: '<homeDir>/work/goeng-goe-tools-ui/packages/utils',
              roots: [ '<homeDir>/work/goeng-goe-tools-ui/packages/utils' ],
              runner: '<homeDir>/work/goeng-goe-tools-ui/.yarn/cache/jest-runner-npm-29.7.0-3bc9f82b58-f0405778ea.zip/node_modules/jest-runner/build/index.js',
              runtime: undefined,
              sandboxInjectedGlobals: [],
              setupFiles: [],
              setupFilesAfterEnv: [ '<homeDir>/work/goeng-goe-tools-ui/packages/utils/src/testing/setupTests.ts' ],
              skipFilter: false,
              skipNodeResolution: undefined,
              slowTestThreshold: 5,
              snapshotFormat: { escapeString: false, printBasicPrototype: false },
              snapshotResolver: undefined,
              snapshotSerializers: [],
              testEnvironment: '<homeDir>/work/goeng-goe-tools-ui/.yarn/__virtual__/jest-environment-jsdom-virtual-c2fbfcfed5/0/cache/jest-environment-jsdom-npm-29.7.0-0b72dd0e0b-559aac134c.zip/node_modules/jest-environment-jsdom/build/index.js',
              testEnvironmentOptions: {},
              testLocationInResults: false,
              testMatch: [ '<homeDir>/work/goeng-goe-tools-ui/packages/utils/**/*.test.[jt]s?(x)' ],
              testPathIgnorePatterns: [ '/node_modules/' ],
              testRegex: [],
              testRunner: '<homeDir>/work/goeng-goe-tools-ui/.yarn/cache/jest-circus-npm-29.7.0-f7679858c6-3494371489.zip/node_modules/jest-circus/runner.js',
              transform: [
                [
                  '^.+\\.(t|j)sx?$',
                  '<homeDir>/work/goeng-goe-tools-ui/.yarn/__virtual__/@swc-jest-virtual-1e20308b63/0/cache/@swc-jest-npm-0.2.29-83a2d9fed7-9eaad32231.zip/node_modules/@swc/jest/index.js',
                  {
                    jsc: { transform: { react: { runtime: 'automatic' } } }
                  }
                ]
              ],
              transformIgnorePatterns: [ '/node_modules/', '\\.pnp\\.[^\\/]+$' ],
              unmockedModulePathPatterns: undefined,
              watchPathIgnorePatterns: []
            }
          ],
          globalConfig: {
            bail: 0,
            changedFilesWithAncestor: false,
            changedSince: undefined,
            ci: false,
            collectCoverage: false,
            collectCoverageFrom: [],
            coverageDirectory: '<homeDir>/work/goeng-goe-tools-ui/coverage',
            coverageProvider: 'babel',
            coverageReporters: [ 'json', 'text', 'lcov', 'clover' ],
            coverageThreshold: undefined,
            detectLeaks: false,
            detectOpenHandles: false,
            errorOnDeprecated: false,
            expand: false,
            filter: undefined,
            findRelatedTests: false,
            forceExit: false,
            globalSetup: undefined,
            globalTeardown: undefined,
            json: false,
            lastCommit: false,
            listTests: false,
            logHeapUsage: false,
            maxConcurrency: 5,
            maxWorkers: 9,
            noSCM: undefined,
            noStackTrace: false,
            nonFlagArgs: undefined,
            notify: false,
            notifyMode: 'failure-change',
            onlyChanged: false,
            onlyFailures: false,
            openHandlesTimeout: 1000,
            outputFile: undefined,
            passWithNoTests: false,
            projects: [
              '<homeDir>/work/goeng-goe-tools-ui/packages/client/jest.config.js',
              '<homeDir>/work/goeng-goe-tools-ui/packages/ui/jest.config.js',
              '<homeDir>/work/goeng-goe-tools-ui/packages/utils/jest.config.js'
            ],
            randomize: undefined,
            replname: undefined,
            reporters: undefined,
            rootDir: '<homeDir>/work/goeng-goe-tools-ui',
            runInBand: undefined,
            runTestsByPath: false,
            seed: -224285821,
            shard: undefined,
            showSeed: undefined,
            silent: undefined,
            skipFilter: false,
            snapshotFormat: { escapeString: false, printBasicPrototype: false },
            testFailureExitCode: 1,
            testNamePattern: undefined,
            testPathPattern: '',
            testResultsProcessor: undefined,
            testSequencer: '<homeDir>/work/goeng-goe-tools-ui/.yarn/cache/@jest-test-sequencer-npm-29.7.0-291f23a495-73f4359901.zip/node_modules/@jest/test-sequencer/build/index.js',
            testTimeout: undefined,
            updateSnapshot: 'new',
            useStderr: false,
            verbose: undefined,
            watch: false,
            watchAll: false,
            watchPlugins: undefined,
            watchman: true,
            workerIdleMemoryLimit: undefined,
            workerThreads: false
          },
          hasDeprecationWarnings: false,
          wallaby: {
            roots: [ 'packages/client', 'packages/ui', 'packages/utils' ],
            watchPathIgnorePatterns: [
              '/node_modules/',
              '\\./dist/|\\./build/|\\./coverage/|\\./git/|/\\..+/',
              '/private/var/folders/4z/d03nh5px097b_tvn8s3yzxx00000gp/T/jest_dy',
              '(packages/client.*)build',
              '(packages/ui.*)build',
              '(packages/utils.*)build',
              '\\./coverage'
            ],
            testPathIgnorePatterns: [
              '/node_modules/',
              '\\./dist/|\\./build/|\\./coverage/|\\./git/|/\\..+/',
              '/private/var/folders/4z/d03nh5px097b_tvn8s3yzxx00000gp/T/jest_dy',
              '(packages/client.*)build',
              '(packages/ui.*)build',
              '(packages/utils.*)build',
              '\\./coverage'
            ],
            testMatch: [ 'packages/client/**/*.test.[jt]s?(x)', 'packages/ui/**/*.test.[jt]s?(x)', 'packages/utils/**/*.test.[jt]s?(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: [
      'src/components/**/*.{ts,tsx}',
      'src/hooks/**/*.{ts,tsx}',
      'src/layout/**/*.{ts,tsx}',
      'src/views/**/*.{ts,tsx}',
      'src/services/**/*.{ts,tsx}',
      'src/components/**/*.{ts,tsx}',
      'src/form/**/*.{ts,tsx}',
      'src/hooks/**/*.{ts,tsx}',
      'src/icons/**/*.{ts,tsx}',
      'src/layout/**/*.{ts,tsx}',
      'src/pages/**/*.{ts,tsx}',
      'src/services/**/*.{ts,tsx}',
      'src/functions/**/*.{ts,tsx}'
    ],
    filesWithNoCoverageCalculated: [
      /src\/hooks\/useEqxTableRowEdit/,
      /src\/hooks\/useUserFeedback/,
      /src\/hooks\/useAssetDetailDrawer\/AssetDetailDrawer\/components\/DcimPointDataPanel/,
      /src\/hooks\/useAssetDetailDrawer\/AssetDetailDrawer\/components\/MaximoAssetSpecsPanel/,
      /src\/hooks\/useEqxTableQuery\/index.tsx/,
      /src\/hooks\/util\/useRenderInfo/,
      /src\/hooks\/useCreateTicket/,
      /src\/hooks\/util\/useWhyDidYouRender.ts/,
      /src\/hooks\/util\/useTimeout.ts/,
      /src\/hooks\/util\/useTimeoutFn.ts/,
      /src\/hooks\/util\/useUpdate.ts/,
      /src\/hooks\/useSentry/,
      /src\/hooks\/util\/useLogger/,
      /src\/components\/selects/,
      /src\/hooks\/useUserPreferencesFilters/,
      /src\/hooks\/useUserSettingsDialog/,
      /src\/dialogs\/UserSettingsDialog/,
      /src\/hooks\/useEqxTableController/,
      /src\/dialogs\/ReleaseNotesDialog/,
      /src\/components\/EqxMessenger/,
      /src\/components\/EqxTable\/components\/panel\/filterPanel/,
      /src\/components\/EqxTable\/components\/customColumnTypes/,
      /src\/dialogs\/TicketCreateDialog/,
      /src\/dialogs\/UserFeedbackDialog/,
      /src\/hooks\/context/,
      /src\/testing/,
      /src\/testing/
    ],
    globalSetup: false,
    dot: true,
    files: [
      { pattern: '/node_modules/', regexp: /\/node_modules\//, ignore: true, trigger: true, load: true, file: true, test: true },
      {
        pattern: '\\./dist/|\\./build/|\\./coverage/|\\./git/|/\\..+/',
        regexp: /\.\/dist\/|\.\/build\/|\.\/coverage\/|\.\/git\/|\/\..+\//,
        ignore: true,
        trigger: true,
        load: true,
        file: true,
        test: true
      },
      {
        pattern: '/private/var/folders/4z/d03nh5px097b_tvn8s3yzxx00000gp/T/jest_dy',
        regexp: /\/private\/var\/folders\/4z\/d03nh5px097b_tvn8s3yzxx00000gp\/T\/jest_dy/,
        ignore: true,
        trigger: true,
        load: true,
        file: true,
        test: true
      },
      { pattern: '(packages/client.*)build', regexp: /(packages\/client.*)build/, ignore: true, trigger: true, load: true, file: true, test: true },
      { pattern: '(packages/ui.*)build', regexp: /(packages\/ui.*)build/, ignore: true, trigger: true, load: true, file: true, test: true },
      { pattern: '(packages/utils.*)build', regexp: /(packages\/utils.*)build/, ignore: true, trigger: true, load: true, file: true, test: true },
      { pattern: '\\./coverage', regexp: /\.\/coverage/, ignore: true, trigger: true, load: true, file: true, test: true },
      { pattern: '**/**', ignore: false, trigger: true, load: true, order: 1 },
      { pattern: 'packages/client/**', ignore: false, trigger: true, load: true, order: 2 },
      { pattern: 'packages/ui/**', ignore: false, trigger: true, load: true, order: 3 },
      { pattern: 'packages/utils/**', ignore: false, trigger: true, load: true, order: 4 },
      { pattern: 'packages/client/**/*.test.[jt]s?(x)', ignore: true, trigger: true, load: true, file: true },
      { pattern: 'packages/ui/**/*.test.[jt]s?(x)', ignore: true, trigger: true, load: true, file: true },
      { pattern: 'packages/utils/**/*.test.[jt]s?(x)', ignore: true, trigger: true, load: true, file: true }
    ],
    captureConsoleLog: true,
    tests: [
      { pattern: '/node_modules/', regexp: /\/node_modules\//, ignore: true, trigger: true, load: true, test: true, file: false },
      {
        pattern: '\\./dist/|\\./build/|\\./coverage/|\\./git/|/\\..+/',
        regexp: /\.\/dist\/|\.\/build\/|\.\/coverage\/|\.\/git\/|\/\..+\//,
        ignore: true,
        trigger: true,
        load: true,
        test: true,
        file: false
      },
      {
        pattern: '/private/var/folders/4z/d03nh5px097b_tvn8s3yzxx00000gp/T/jest_dy',
        regexp: /\/private\/var\/folders\/4z\/d03nh5px097b_tvn8s3yzxx00000gp\/T\/jest_dy/,
        ignore: true,
        trigger: true,
        load: true,
        test: true,
        file: false
      },
      { pattern: '(packages/client.*)build', regexp: /(packages\/client.*)build/, ignore: true, trigger: true, load: true, test: true, file: false },
      { pattern: '(packages/ui.*)build', regexp: /(packages\/ui.*)build/, ignore: true, trigger: true, load: true, test: true, file: false },
      { pattern: '(packages/utils.*)build', regexp: /(packages\/utils.*)build/, ignore: true, trigger: true, load: true, test: true, file: false },
      { pattern: '\\./coverage', regexp: /\.\/coverage/, ignore: true, trigger: true, load: true, test: true, file: false },
      { pattern: 'packages/client/**/*.test.[jt]s?(x)', ignore: false, trigger: true, load: true, test: true, order: 5 },
      { pattern: 'packages/ui/**/*.test.[jt]s?(x)', ignore: false, trigger: true, load: true, test: true, order: 6 },
      { pattern: 'packages/utils/**/*.test.[jt]s?(x)', ignore: false, trigger: true, load: true, test: true, order: 7 }
    ],
    runAllTestsInAffectedTestFile: false,
    updateNoMoreThanOneSnapshotPerTestFileRun: false,
    compilers: {},
    smartStart: [ { test: true, source: false, pattern: '**/*', startMode: 'open' }, { test: false, source: true, pattern: '**/*', startMode: 'edit' } ],
    logLimits: { inline: { depth: 5, elements: 5000 }, values: { default: { stringLength: 200 }, autoExpand: { elements: 5000, stringLength: 8192, depth: 10 } } },
    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: true,
    mapConsoleMessagesStackTrace: false,
    extensions: {},
    env: { type: 'node', params: {}, runner: '/opt/homebrew/Cellar/node/20.8.0/bin/node', viewportSize: { width: 800, height: 600 }, options: { width: 800, height: 600 }, bundle: true },
    reportUnhandledPromises: true,
    slowTestThreshold: 75,
    lowCoverageThreshold: 80,
    runAllTestsWhenNoAffectedTests: false,
    configCode: 'auto.detect#-1153159089',
    testLocations: [ 'packages/client/src/components/EqxCardTabbed/EqxCardTabbed.test.tsx' ]
  },
  packageJSON: {
    dependencies: undefined,
    devDependencies: {
      '@types/react-dom': '^18.2.7',
      '@typescript-eslint/eslint-plugin': '^6.7.2',
      '@typescript-eslint/parser': '^6.7.2',
      concurrently: '^8.2.1',
      eslint: '^8.49.0',
      'eslint-config-airbnb': '^19.0.4',
      'eslint-config-prettier': '^9.0.0',
      'eslint-import-resolver-typescript': '^3.6.1',
      'eslint-plugin-import': '^2.28.1',
      'eslint-plugin-jsx-a11y': '^6.7.1',
      'eslint-plugin-prettier': '^5.0.0',
      'eslint-plugin-react': '^7.33.2',
      'eslint-plugin-react-hooks': '^4.6.0',
      'eslint-plugin-simple-import-sort': '^10.0.0',
      'eslint-plugin-unused-imports': '^3.0.0',
      jest: '^29.7.0',
      'jest-environment-jsdom': '^29.7.0',
      prettier: '^3.0.3',
      react: '^18.2.0',
      'react-dom': '18.2.0',
      rimraf: '^5.0.1',
      typescript: '^5.2.2'
    }
  },
  fs: { numberOfFiles: 1326 },
  debug: [
    '2023-10-13T08:09:16.621Z config Attempting automatic configuration for angular\n',
    '2023-10-13T08:09:16.625Z angular/cli config Angular CLI not found.\n',
    '2023-10-13T08:09:16.625Z config Finished attempting automatic configuration for angular (4ms)\n',
    '2023-10-13T08:09:16.625Z config Attempting automatic configuration for jest\n',
    '2023-10-13T08:09:16.802Z jest/config Detected Jest.\n',
    '2023-10-13T08:09:16.802Z jest/config Configured Jest.\n',
    '2023-10-13T08:09:16.802Z config Finished attempting automatic configuration for jest (177ms)\n',
    '2023-10-13T08:09:16.803Z project Wallaby Node version: v20.8.0\n',
    '2023-10-13T08:09:16.803Z project Wallaby config: <homeDir>/work/goeng-goe-tools-ui/auto.detect\n',
    '2023-10-13T08:09:16.810Z fs File system starting\n',
    '2023-10-13T08:09:17.998Z fs File system scan has finished by timeout\n',
    '2023-10-13T08:09:18.267Z project File cache: <homeDir>/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.371/projects/08f279d7d5587154\n',
    '2023-10-13T08:09:18.364Z uiService Listening port 51235\n',
    '2023-10-13T08:09:18.371Z project package.json file change detected, invalidating local cache\n',
    '2023-10-13T08:09:18.421Z workers Parallelism for initial run: 8, for regular run: 4\n',
    '2023-10-13T08:09:18.421Z workers Starting run worker instance #0\n',
    '2023-10-13T08:09:18.421Z workers Starting run worker instance #1\n',
    '2023-10-13T08:09:18.421Z workers Starting run worker instance #2\n',
    '2023-10-13T08:09:18.421Z workers Starting run worker instance #3\n',
    '2023-10-13T08:09:18.421Z workers Starting run worker instance #4\n',
    '2023-10-13T08:09:18.421Z workers Starting run worker instance #5\n',
    '2023-10-13T08:09:18.421Z workers Starting run worker instance #6\n',
    '2023-10-13T08:09:18.421Z workers Starting run worker instance #7\n',
    '2023-10-13T08:09:18.422Z workers Web server is listening at 60446\n',
    '2023-10-13T08:09:18.422Z project File cache requires some updates, waiting required files from IDE\n',
    '2023-10-13T08:09:18.466Z project Stopping process pool\n',
    '2023-10-13T08:09:18.467Z project Test run started; run priority: 3\n',
    '2023-10-13T08:09:18.469Z project Running all tests\n',
    '2023-10-13T08:09:18.479Z project Test run finished\n',
    '2023-10-13T08:09:18.479Z project Test run data re-queued\n',
    '2023-10-13T08:09:18.481Z project Requested to run all tests\n',
    '2023-10-13T08:09:18.482Z project Test run started; run priority: 3\n',
    '2023-10-13T08:09:18.482Z project Running all tests\n',
    '2023-10-13T08:09:18.491Z workers Starting test run, priority: 3\n',
    '2023-10-13T08:09:18.491Z nodeRunner Starting sandbox [worker #0, session #sr0vp]\n',
    '2023-10-13T08:09:18.491Z nodeRunner Preparing sandbox [worker #0, session #sr0vp]\n',
    '2023-10-13T08:09:18.684Z workers Started run worker instance (delayed) #0\n',
    '2023-10-13T08:09:18.684Z nodeRunner Prepared sandbox [worker #0, session #sr0vp]\n',
    '2023-10-13T08:09:18.684Z workers [worker #0, session #sr0vp] Running tests in sandbox\n',
    '2023-10-13T08:09:18.724Z workers Started run worker instance (delayed) #5\n',
    '2023-10-13T08:09:18.785Z workers Started run worker instance (delayed) #3\n',
    '2023-10-13T08:09:18.855Z workers Started run worker instance (delayed) #4\n',
    '2023-10-13T08:09:18.920Z workers Started run worker instance (delayed) #1\n',
    '2023-10-13T08:09:18.981Z workers Started run worker instance (delayed) #6\n',
    '2023-10-13T08:09:19.065Z workers Started run worker instance (delayed) #2\n',
    '2023-10-13T08:09:19.129Z workers Started run worker instance (delayed) #7\n',
    '2023-10-13T08:09:25.359Z workers Scheduling Jest Test Run (sr0vp): 2023-10-13T08:09:19.063Z\n',
    '2023-10-13T08:09:25.376Z workers [sr0vp] Loaded unknown number of test(s)\n',
    '2023-10-13T08:09:25.383Z workers [sr0vp] Test executed: should render successfully\n',
    '2023-10-13T08:09:25.383Z workers [sr0vp] Test executed: should render the second tab when clicked\n',
    '2023-10-13T08:09:25.384Z workers [sr0vp] Run 2 test(s), skipped 0 test(s)\n',
    '2023-10-13T08:09:25.384Z workers Jest Test Run Complete (sr0vp): 2023-10-13T08:09:25.383Z\n',
    '2023-10-13T08:09:25.385Z workers [sr0vp] Sandbox is responsive, closing it\n',
    '2023-10-13T08:09:25.385Z project Test run finished\n',
    '2023-10-13T08:09:25.386Z project Processed console.log entries\n',
    '2023-10-13T08:09:25.386Z project Processed loading sequences\n',
    '2023-10-13T08:09:25.386Z project Processed executed tests\n',
    '2023-10-13T08:09:25.387Z project Processed code coverage\n',
    '2023-10-13T08:09:25.394Z project Test run result processed and sent to IDE\n'
  ]
}

And here is the report where it works fine, from the other laptop where it works too:

{
 editorVersion: '1.83.0',
 pluginVersion: '1.0.371',
 editorType: 'VSCode',
 osVersion: 'darwin 23.1.0',
 nodeVersion: 'v18.15.0 - Electron',
 coreVersion: '1.0.1403',
 checksum: 'YWU5Zjg3NWQ3ODJmMjdlOTY3YzE4YWU0NzBiMjMxYjIsMTY4MDEzNDQwMDAwMCww',
 config: {
 diagnostics: {
 jest: {
 config: {
 configs: [
 {
 automock: false,
 cache: true,
 cacheDirectory: '/private/var/folders/4h/_m4h3fkd1q5f7jchymbh582c0000gn/T/jest_dx',
 clearMocks: false,
 collectCoverageFrom: [],
 coverageDirectory: '<homeDir>/work/mine/PupyLog/coverage',
 coveragePathIgnorePatterns: [ '/node_modules/' ],
 cwd: '<homeDir>/work/mine/PupyLog',
 dependencyExtractor: undefined,
 detectLeaks: false,
 detectOpenHandles: false,
 displayName: undefined,
 errorOnDeprecated: false,
 extensionsToTreatAsEsm: [],
 fakeTimers: { enableGlobally: false },
 filter: undefined,
 forceCoverageMatch: [],
 globalSetup: undefined,
 globalTeardown: undefined,
 globals: {},
 haste: { defaultPlatform: 'ios', platforms: [ 'android', 'ios', 'native' ] },
 id: 'e82b5395607bbee9cb609ae3b07beb01',
 injectGlobals: true,
 moduleDirectories: [ 'node_modules' ],
 moduleFileExtensions: [
 'js', 'mjs',
 'cjs', 'jsx',
 'ts', 'tsx',
 'json', 'node'
 ],
 moduleNameMapper: [],
 modulePathIgnorePatterns: [],
 modulePaths: undefined,
 openHandlesTimeout: 1000,
 prettierPath: 'prettier',
 resetMocks: false,
 resetModules: false,
 resolver: undefined,
 restoreMocks: false,
 rootDir: '<homeDir>/work/mine/PupyLog',
 roots: [ '<homeDir>/work/mine/PupyLog' ],
 runner: '<homeDir>/work/mine/PupyLog/node_modules/jest-runner/build/index.js',
 runtime: undefined,
 sandboxInjectedGlobals: [],
 setupFiles: [ '<homeDir>/work/mine/PupyLog/node_modules/react-native/jest/setup.js' ],
 setupFilesAfterEnv: [],
 skipFilter: false,
 skipNodeResolution: undefined,
 slowTestThreshold: 5,
 snapshotFormat: { escapeString: false, printBasicPrototype: false },
 snapshotResolver: undefined,
 snapshotSerializers: [],
 testEnvironment: '<homeDir>/work/mine/PupyLog/node_modules/react-native/jest/react-native-env.js',
 testEnvironmentOptions: {},
 testLocationInResults: false,
 testMatch: [ '**/__tests__/**/*.[jt]s?(x)', '**/?(*.)+(spec|test).[tj]s?(x)' ],
 testPathIgnorePatterns: [ '/node_modules/' ],
 testRegex: [],
 testRunner: '<homeDir>/work/mine/PupyLog/node_modules/jest-circus/runner.js',
 transform: [
 [ '^.+\\.(js|ts|tsx)$', '<homeDir>/work/mine/PupyLog/node_modules/babel-jest/build/index.js', {} ],
 [ '^.+\\.(bmp|gif|jpg|jpeg|mp4|png|psd|svg|webp)$', '<homeDir>/work/mine/PupyLog/node_modules/react-native/jest/assetFileTransformer.js', {} ]
 ],
 transformIgnorePatterns: [ 'node_modules/(?!((jest-)?react-native|@react-native(-community)?)/)' ],
 unmockedModulePathPatterns: undefined,
 watchPathIgnorePatterns: []
 }
 ],
 globalConfig: {
 bail: 0,
 changedFilesWithAncestor: false,
 changedSince: undefined,
 ci: false,
 collectCoverage: false,
 collectCoverageFrom: [],
 coverageDirectory: '<homeDir>/work/mine/PupyLog/coverage',
 coverageProvider: 'babel',
 coverageReporters: [ 'json', 'text', 'lcov', 'clover' ],
 coverageThreshold: undefined,
 detectLeaks: false,
 detectOpenHandles: false,
 errorOnDeprecated: false,
 expand: false,
 filter: undefined,
 findRelatedTests: false,
 forceExit: false,
 globalSetup: undefined,
 globalTeardown: undefined,
 json: false,
 lastCommit: false,
 listTests: false,
 logHeapUsage: false,
 maxConcurrency: 5,
 maxWorkers: 7,
 noSCM: undefined,
 noStackTrace: false,
 nonFlagArgs: undefined,
 notify: false,
 notifyMode: 'failure-change',
 onlyChanged: false,
 onlyFailures: false,
 openHandlesTimeout: 1000,
 outputFile: undefined,
 passWithNoTests: false,
 projects: [],
 randomize: undefined,
 replname: undefined,
 reporters: undefined,
 rootDir: '<homeDir>/work/mine/PupyLog',
 runInBand: undefined,
 runTestsByPath: false,
 seed: 1005533001,
 shard: undefined,
 showSeed: undefined,
 silent: undefined,
 skipFilter: false,
 snapshotFormat: { escapeString: false, printBasicPrototype: false },
 testFailureExitCode: 1,
 testNamePattern: undefined,
 testPathPattern: '',
 testResultsProcessor: undefined,
 testSequencer: '<homeDir>/work/mine/PupyLog/node_modules/@jest/test-sequencer/build/index.js',
 testTimeout: undefined,
 updateSnapshot: 'new',
 useStderr: false,
 verbose: undefined,
 watch: false,
 watchAll: false,
 watchPlugins: undefined,
 watchman: true,
 workerIdleMemoryLimit: undefined,
 workerThreads: false
 },
 hasDeprecationWarnings: false,
 wallaby: {
 roots: [],
 watchPathIgnorePatterns: [ '/node_modules/', '\\./dist/|\\./build/|\\./coverage/|\\./git/|/\\..+/|android/|ios/', '/private/var/folders/4h/_m4h3fkd1q5f7jchymbh582c0000gn/T/jest_dx', '\\./coverage' ],
 testPathIgnorePatterns: [ '/node_modules/', '\\./dist/|\\./build/|\\./coverage/|\\./git/|/\\..+/|android/|ios/', '/private/var/folders/4h/_m4h3fkd1q5f7jchymbh582c0000gn/T/jest_dx', '\\./coverage' ],
 testMatch: [ '**/__tests__/**/*.[jt]s?(x)', '**/?(*.)+(spec|test).[tj]s?(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,
 dot: true,
 files: [
 { pattern: '/node_modules/', regexp: /\/node_modules\//, ignore: true, trigger: true, load: true, file: true, test: true },
 {
 pattern: '\\./dist/|\\./build/|\\./coverage/|\\./git/|/\\..+/|android/|ios/',
 regexp: /\.\/dist\/|\.\/build\/|\.\/coverage\/|\.\/git\/|\/\..+\/|android\/|ios\//,
 ignore: true,
 trigger: true,
 load: true,
 file: true,
 test: true
 },
 {
 pattern: '/private/var/folders/4h/_m4h3fkd1q5f7jchymbh582c0000gn/T/jest_dx',
 regexp: /\/private\/var\/folders\/4h\/_m4h3fkd1q5f7jchymbh582c0000gn\/T\/jest_dx/,
 ignore: true,
 trigger: true,
 load: true,
 file: true,
 test: true
 },
 { pattern: '\\./coverage', regexp: /\.\/coverage/, ignore: true, trigger: true, load: true, file: true, test: true },
 { pattern: '**/**', ignore: false, trigger: true, load: true, order: 1 },
 { pattern: '**/__tests__/**/*.[jt]s?(x)', ignore: true, trigger: true, load: true, file: true },
 { pattern: '**/?(*.)+(spec|test).[tj]s?(x)', ignore: true, trigger: true, load: true, file: true }
 ],
 captureConsoleLog: true,
 tests: [
 { pattern: '/node_modules/', regexp: /\/node_modules\//, ignore: true, trigger: true, load: true, test: true, file: false },
 {
 pattern: '\\./dist/|\\./build/|\\./coverage/|\\./git/|/\\..+/|android/|ios/',
 regexp: /\.\/dist\/|\.\/build\/|\.\/coverage\/|\.\/git\/|\/\..+\/|android\/|ios\//,
 ignore: true,
 trigger: true,
 load: true,
 test: true,
 file: false
 },
 {
 pattern: '/private/var/folders/4h/_m4h3fkd1q5f7jchymbh582c0000gn/T/jest_dx',
 regexp: /\/private\/var\/folders\/4h\/_m4h3fkd1q5f7jchymbh582c0000gn\/T\/jest_dx/,
 ignore: true,
 trigger: true,
 load: true,
 test: true,
 file: false
 },
 { pattern: '\\./coverage', regexp: /\.\/coverage/, ignore: true, trigger: true, load: true, test: true, file: false },
 { pattern: '**/__tests__/**/*.[jt]s?(x)', ignore: false, trigger: true, load: true, test: true, order: 2 },
 { pattern: '**/?(*.)+(spec|test).[tj]s?(x)', ignore: false, trigger: true, load: true, test: true, order: 3 }
 ],
 runAllTestsInAffectedTestFile: false,
 updateNoMoreThanOneSnapshotPerTestFileRun: false,
 compilers: {},
 smartStart: [ { test: true, source: false, pattern: '**/*', startMode: 'open' }, { test: false, source: true, pattern: '**/*', startMode: 'edit' } ],
 logLimits: { inline: { depth: 5, elements: 5000 }, values: { default: { stringLength: 200 }, autoExpand: { elements: 5000, stringLength: 8192, depth: 10 } } },
 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: true,
 mapConsoleMessagesStackTrace: false,
 extensions: {},
 env: {
 type: 'node',
 params: {},
 runner: '/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)',
 viewportSize: { width: 800, height: 600 },
 options: { width: 800, height: 600 },
 bundle: true
 },
 reportUnhandledPromises: true,
 slowTestThreshold: 75,
 lowCoverageThreshold: 80,
 runAllTestsWhenNoAffectedTests: false,
 configCode: 'auto.detect#-1898611578',
 testLocations: [ '__tests__/App.test.tsx' ]
 },
 packageJSON: {
 dependencies: { react: '18.2.0', 'react-native': '0.72.5' },
 devDependencies: {
 '@babel/core': '^7.20.0',
 '@babel/preset-env': '^7.20.0',
 '@babel/runtime': '^7.20.0',
 '@react-native/eslint-config': '^0.72.2',
 '@react-native/metro-config': '^0.72.11',
 '@tsconfig/react-native': '^3.0.0',
 '@types/react': '^18.0.24',
 '@types/react-test-renderer': '^18.0.0',
 'babel-jest': '^29.2.1',
 eslint: '^8.19.0',
 jest: '^29.2.1',
 'metro-react-native-babel-preset': '0.76.8',
 prettier: '^2.4.1',
 'react-test-renderer': '18.2.0',
 typescript: '4.8.4'
 }
 },
 fs: { numberOfFiles: 2391 },
 debug: [
 '2023-10-13T08:08:17.278Z config Attempting automatic configuration for angular\n',
 '2023-10-13T08:08:17.280Z angular/cli config Angular CLI not found.\n',
 '2023-10-13T08:08:17.280Z config Finished attempting automatic configuration for angular (2ms)\n',
 '2023-10-13T08:08:17.280Z config Attempting automatic configuration for jest\n',
 '2023-10-13T08:08:17.342Z jest/config Detected Jest.\n',
 '2023-10-13T08:08:17.342Z jest/config Configured Jest.\n',
 '2023-10-13T08:08:17.342Z config Finished attempting automatic configuration for jest (62ms)\n',
 '2023-10-13T08:08:17.343Z project Wallaby Node version: v18.15.0\n',
 '2023-10-13T08:08:17.343Z project Wallaby config: <homeDir>/work/mine/PupyLog/auto.detect\n',
 '2023-10-13T08:08:17.351Z fs File system starting\n',
 '2023-10-13T08:08:17.486Z fs File system scan completed\n',
 '2023-10-13T08:08:17.494Z project File cache: <homeDir>/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.371/projects/efe4d80aee1c1e81\n',
 '2023-10-13T08:08:17.548Z uiService Listening port 51235\n',
 '2023-10-13T08:08:17.580Z workers Parallelism for initial run: 6, for regular run: 3\n',
 '2023-10-13T08:08:17.580Z workers Starting run worker instance #0\n',
 '2023-10-13T08:08:17.580Z workers Starting run worker instance #1\n',
 '2023-10-13T08:08:17.580Z workers Starting run worker instance #2\n',
 '2023-10-13T08:08:17.580Z workers Starting run worker instance #3\n',
 '2023-10-13T08:08:17.580Z workers Starting run worker instance #4\n',
 '2023-10-13T08:08:17.580Z workers Starting run worker instance #5\n',
 '2023-10-13T08:08:17.580Z workers Web server is listening at 58328\n',
 '2023-10-13T08:08:17.594Z project Stopping process pool\n',
 '2023-10-13T08:08:17.594Z project File cache is up-to-date, starting full test run\n',
 '2023-10-13T08:08:17.598Z project Test run started; run priority: 3\n',
 '2023-10-13T08:08:17.607Z project Running all tests\n',
 '2023-10-13T08:08:17.627Z project Test run finished\n',
 '2023-10-13T08:08:17.627Z project Test run data re-queued\n',
 '2023-10-13T08:08:17.878Z workers Started run worker instance (delayed) #0\n',
 '2023-10-13T08:08:17.881Z workers Started run worker instance (delayed) #3\n',
 '2023-10-13T08:08:17.886Z workers Started run worker instance (delayed) #4\n',
 '2023-10-13T08:08:17.890Z workers Started run worker instance (delayed) #1\n',
 '2023-10-13T08:08:17.921Z workers Started run worker instance (delayed) #5\n',
 '2023-10-13T08:08:17.922Z workers Started run worker instance (delayed) #2\n',
 '2023-10-13T08:08:22.457Z project Requested to run all tests\n',
 '2023-10-13T08:08:22.458Z project Test run started; run priority: 3\n',
 '2023-10-13T08:08:22.458Z project Running all tests\n',
 '2023-10-13T08:08:22.479Z workers Starting test run, priority: 3\n',
 '2023-10-13T08:08:22.479Z nodeRunner Starting sandbox [worker #0, session #3m0rj]\n',
 '2023-10-13T08:08:22.479Z nodeRunner Preparing sandbox [worker #0, session #3m0rj]\n',
 '2023-10-13T08:08:22.479Z nodeRunner Prepared sandbox [worker #0, session #3m0rj]\n',
 '2023-10-13T08:08:22.479Z workers [worker #0, session #3m0rj] Running tests in sandbox\n',
 '2023-10-13T08:08:23.606Z workers Scheduling Jest Test Run (3m0rj): 2023-10-13T08:08:23.071Z\n',
 '2023-10-13T08:08:23.606Z workers [3m0rj] Loaded unknown number of test(s)\n',
 '2023-10-13T08:08:23.606Z workers [3m0rj] Test executed: renders correctly\n',
 '2023-10-13T08:08:23.607Z workers [3m0rj] Run 1 test(s), skipped 0 test(s)\n',
 '2023-10-13T08:08:23.607Z workers Jest Test Run Complete (3m0rj): 2023-10-13T08:08:23.605Z\n',
 '2023-10-13T08:08:23.608Z workers [3m0rj] Sandbox is responsive, closing it\n',
 '2023-10-13T08:08:23.608Z project Test run finished\n',
 '2023-10-13T08:08:23.608Z project Processed console.log entries\n',
 '2023-10-13T08:08:23.608Z project Processed loading sequences\n',
 '2023-10-13T08:08:23.609Z project Processed executed tests\n',
 '2023-10-13T08:08:23.610Z project Processed code coverage\n',
 '2023-10-13T08:08:23.615Z project Test run result processed and sent to IDE\n'
 ]
}

I noticed also on the non-working project, that when i switch to the source file after running wallaby there's a flicker on the status bar where the coverage percentage should appear, like it tries to render it but then it doesn't and it only shows the number of tests run

smcenlly commented 1 year ago

On the laptop where wallaby is not working i can see that creating a new react-app makes it work just fine, so definitely is something in my setup with this project

We previously asked if you could try cloning the project that doesn't work on another laptop, but didn't hear back from you. I assume this will fail also.

We expect that something has changed in your project since Wallaby was last working for you, either a dependency, or more likely, your jest configuration.

We can also see from your diagnostics report that you are still using node@v20.x. As per our previous advice, this is not supported by your version of Wallaby. You will need to specify to use a previous version of node with the env.runner configuration option.


Assuming that the problem is related to this specific project, and not other projects on your computer, the best course of action is for to find when Wallaby stopped working by reverting to previous commits for your project. For example:

I expect Wallaby will work for you. Then bisect to a commit between latest and 1 year ago. You should be able to repeat the process until you identify what changed in your project that is causing Wallaby to no longer report coverage.

jbaccarelli-equinix commented 1 year ago

Sadly i can't copy the non-working project out of this laptop because it's confidential. Also, on the same laptop other projects do work with the same Node and Jest versions so i think it's safe to assume that's not the problem.

What i also noticed is that when i run Wallaby and open the Coverage & Test Explorer, i see the tests listed but the files list is empty. So what i am guessing is that wallaby can't read those for some reason.

I can't think of anything else to try, maybe if there was some way of debugging wallaby, because as i mentioned, i see that when i switch to the source files i see a flash of where the coverage percentage would show up, so it's trying to render and failing.

smcenlly commented 1 year ago

Did you check / confirm the other items from our previous response?

We expect that something has changed in your project since Wallaby was last working for you, either a dependency, or more likely, your jest configuration.

We can also see from your diagnostics report that you are still using node@v20.x. As per our previous advice, this is not supported by your version of Wallaby. You will need to specify to use a previous version of node with the env.runner configuration option.


Assuming that the problem is related to this specific project, and not other projects on your computer, the best course of action is for to find when Wallaby stopped working by reverting to previous commits for your project. For example:

  • Revert to a commit from 1 year ago
  • Reinstall node modules
  • Restart Wallaby (ensure that you're using the same node version you were at the time - not node@20.x)

I expect Wallaby will work for you. Then bisect to a commit between latest and 1 year ago. You should be able to repeat the process until you identify what changed in your project that is causing Wallaby to no longer report coverage.

jbaccarelli-equinix commented 1 year ago

Did you check / confirm the other items from our previous response?

We expect that something has changed in your project since Wallaby was last working for you, either a dependency, or more likely, your jest configuration. We can also see from your diagnostics report that you are still using node@v20.x. As per our previous advice, this is not supported by your version of Wallaby. You will need to specify to use a previous version of node with the env.runner configuration option.

Assuming that the problem is related to this specific project, and not other projects on your computer, the best course of action is for to find when Wallaby stopped working by reverting to previous commits for your project. For example:

  • Revert to a commit from 1 year ago
  • Reinstall node modules
  • Restart Wallaby (ensure that you're using the same node version you were at the time - not node@20.x)

I expect Wallaby will work for you. Then bisect to a commit between latest and 1 year ago. You should be able to repeat the process until you identify what changed in your project that is causing Wallaby to no longer report coverage.

I tried a bit but it's a huge project with way too many commits, a process like this could take me really long so I thought that maybe there could be a specific set of things i could take a look at that could affect this part of wallaby, or that there is some way to get additional logging to see the step by step when wallaby attempts to display source file coverage and maybe some more explicit error of why it fails.

I already tried reverting to a few months ago but i guess something in the yarn pnp setup makes it even impossible to just run the project when i try to do that :/

I guess i'll keep trying on my own if there's nothing else you can suggest, thanks for the time

jbaccarelli-equinix commented 1 year ago

Not sure if it's important, but i see that the diagnostic and the debug console show "fs File system scan has finished by timeout"

smcenlly commented 1 year ago

The fs File system scan has finished by timeout is not indicative of a problem.

Are you able to provide us with your project configuration and structure, and remove all source files/sensitive packages so that there's nothing private being shared? Then create a single test and source file that has the same problem.

We are keen to help you but without additional information, or without you reverting to a previous good working version and finding out when/where it broke, we can't do a lot to help.

jbaccarelli-equinix commented 1 year ago

The fs File system scan has finished by timeout is not indicative of a problem.

Are you able to provide us with your project configuration and structure, and remove all source files/sensitive packages so that there's nothing private being shared? Then create a single test and source file that has the same problem.

We are keen to help you but without additional information, or without you reverting to a previous good working version and finding out when/where it broke, we can't do a lot to help.

Ok, great idea, i think it's done like you asked here https://github.com/jbaccarelli-equinix/wallaby-test-monorepo

you should run the commands in the following order and yarn jest would be working fine

yarn install
yarn build
yarn jest

Also going to the TestComponent folder you can run wallaby from there and see that the coverage doesn't show up for the souce index file

Let me know if you can get to that or if you need help from me

Thanks!

jbaccarelli-equinix commented 1 year ago

Two things i figured out while testing on the test repo i posted, it looks like if i remove the collectCoverageFrom and moduleNameMapper options from lib/jest.config.js the coverage starts working for source files, but it's not working properly. It doesn't show for example non-covered if-else branches.

It only works 100% properly if i replace @swc/jest with ts-jest, but for ts-jest to work i need to add noEmitOnError: false which sucks and i can't figure a way around it. Any idea why @swc/jest might not be working as expected?

smcenlly commented 1 year ago

Thanks for the sample repo. We've confirmed we get the same behavior. We'll investigate further first thing next week.

jbaccarelli-equinix commented 1 year ago

Thanks for the sample repo. We've confirmed we get the same behavior. We'll investigate further first thing next week.

I pushed a PR to the repo on the branch ts-jest-setup, here if i remove the import for the @goe/utils functions everything works as expected, but i can't figure out how to have ts-jest working and also import from local workspaces like this, if you can help me figure out this last part everything would be working as needed :)

smcenlly commented 1 year ago

You may be having problems with swc because you are missing sourceMaps configuration, which Wallaby needs to correctly map swc transformed code back to your original source. You can fix this with the sourceMaps: 'inline' setting:

...
  transform: {
    '^.+\\.(t|j)sx?$': [
      '@swc/jest',
      {
        jsc: {
          transform: {
            react: {
              runtime: 'automatic',
            },
          },
        },
+       sourceMaps: 'inline',
      },
    ],
  },
...

We had a look at your ts-jest-setup but don't really understand your project setup to advise how to configure jest.

I think the best course of action is to proceed with swc and provide us with examples of jest CLI working, but Wallaby failing. Perhaps the sourceMaps setting will fix the problems you're having?

jbaccarelli-equinix commented 1 year ago

You may be having problems with swc because you are missing sourceMaps configuration, which Wallaby needs to correctly map swc transformed code back to your original source. You can fix this with the sourceMaps: 'inline' setting:

...
  transform: {
    '^.+\\.(t|j)sx?$': [
      '@swc/jest',
      {
        jsc: {
          transform: {
            react: {
              runtime: 'automatic',
            },
          },
        },
+       sourceMaps: 'inline',
      },
    ],
  },
...

We had a look at your ts-jest-setup but don't really understand your project setup to advise how to configure jest.

I think the best course of action is to proceed with swc and provide us with examples of jest CLI working, but Wallaby failing. Perhaps the sourceMaps setting will fix the problems you're having?

I pushed a branch and opened a pr for swc-partially-working As i mentioned, if i move the collectCoverageFrom from the package/*/jest.config.js into the root config, the source coverage starts appearing but incomplete

I tried adding the option for swc you mentioned but as you can see in the screenshot, the coverage is still not completely showing up, and i also removed one of the tests that would cover the else branch of the ternary, so the marker should be yellow, but it's not updating at all no matter how i change the tests

Screenshot 2023-10-24 at 10 13 12

jbaccarelli-equinix commented 1 year ago

Ok i managed to get ts-jest working, i updated the jest config file transform like so:

    transform: {
    '^.+\\.(ts|tsx)?$': ['ts-jest'],
    '^.+\\.(js|jsx)?$': [
      'babel-jest',
      { configFile: './packages/testing/src/jest/babel.config.js' },
    ],
  },

The file path may vary a bit depending on the project setup, on my actual project i had to update it to { configFile: path.resolve(__dirname, 'babel.config.js') }, to get it working for all other packages

And added a babel.config.js with this:

module.exports = {
  presets: [['@babel/preset-env', { targets: { node: 'current' } }]],
}

This gets ts-jest working with local workspace imports and the wallaby coverage is displayed as expected. Couldn't figure out a way to get swc to work and ts-jest runs just as fast so i dont see a downside

smcenlly commented 1 year ago

Thanks for sharing that final working configuration, we're glad to hear you got it working. Closing the issue.

jbaccarelli-equinix commented 1 year ago

Thanks for sharing that final working configuration, we're glad to hear you got it working. Closing the issue.

So i thought it was working fine now but i still have some issues, some files will randomly not have the coverage markers (especially custom hooks) and the coverage percentage in the status bar is still not showing. Any other ideas to try?

smcenlly commented 1 year ago

Can you please update https://github.com/jbaccarelli-equinix/wallaby-test-monorepo with the latest configuration (if it's not already updated), and provide us with steps to reproduce your problem in that repo (I'm assuming you're able to)?

jbaccarelli-equinix commented 1 year ago

Can you please update https://github.com/jbaccarelli-equinix/wallaby-test-monorepo with the latest configuration (if it's not already updated), and provide us with steps to reproduce your problem in that repo (I'm assuming you're able to)?

Yes i've just merged teh latest code into main, you can run yarn install && yarn build && yarn jest to see it works from root. Then go to the TestComponen.test.tsx and run wallaby there, you can see in the source file the coverage green markers are there but the coverage percentage is not appearing in the status bar

smcenlly commented 1 year ago

Thanks for updating the sample repo. The problem is in your mono-repo jest.config.js file.

Your file has a global collectCoverageFrom setting.

jest.config.js

module.exports = {
  projects: ['<rootDir>/packages/*/jest.config.js'],
  collectCoverageFrom: ['<rootDir>/src/**/*.{ts,tsx}'],
}

In this case, Wallaby is checking each file against the pattern from the mono-repo root directory. For example, it is checking that:

packages/lib/src/components/TestComponent/index.tsx

starts with

/src/**/*.{ts,tsx}

But it actually starts with packages and so is failing.


I think the best, most correct thing to do in this case is to simply remove the collectCoverageFrom setting. It should work for you.

jbaccarelli-equinix commented 1 year ago

Thanks for updating the sample repo. The problem is in your mono-repo jest.config.js file.

Your file has a global collectCoverageFrom setting.

jest.config.js

module.exports = {
  projects: ['<rootDir>/packages/*/jest.config.js'],
  collectCoverageFrom: ['<rootDir>/src/**/*.{ts,tsx}'],
}

In this case, Wallaby is checking each file against the pattern from the mono-repo root directory. For example, it is checking that:

packages/lib/src/components/TestComponent/index.tsx

starts with

/src/**/*.{ts,tsx}

But it actually starts with packages and so is failing.

I think the best, most correct thing to do in this case is to simply remove the collectCoverageFrom setting. It should work for you.

This makes wallaby work but i loose the coverage control, first of all if i try to add collectCoverageFrom to a package's jest.config. Wallaby stops showing coverage on files completely. Second, if i remove collectCoverageFrom everywhere, i get the report mixed with .yarn folders, and it doesn't really show the uncovered files, only shows files which have tests written for them :/

I tried updating the main collectCoverageFrom to <rootDir>/packages/**/src/**/*.{ts,tsx} but the coverage doesn't work πŸ€”

jbaccarelli-equinix commented 1 year ago

It would seem that going back to @swc and configuring the package's coverage like so collectCoverageFrom: ['**/src/**/*.{ts,tsx}'], makes it work properly, or it seems for now, i'll let you know if something changes πŸ˜… thanks for the help