wallabyjs / public

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

How to configure wallaby per project in nx? #3255

Closed shanehsi closed 1 year ago

shanehsi commented 1 year ago

Issue description or question

I'm using nrwl/nx and mixing jest/vitest. Wallaby's autodetect is unable to correctly identify certain projects as vitest. Additionally, due to the large size of the tests, Wallaby's full execution causes a high CPU usage. So, I was wondering if it's possible to configure the 'files' and 'tests' settings to only target specific directories I'm currently developing and explicitly set them as vitest. However, I encountered an error. Can you please take a look?

module.exports = function (wallaby) {
  return {
    autoDetect: false,
    files: [
      'libs/inspect-services/**/*.ts',
      '!libs/inspect-services/**/*.spec.ts',
    ],

    tests: [
      'libs/inspect-services/**/*.spec.ts'
    ],
    env: {
      type: 'node'
    },
    testFramework: 'vitest'
  };
};

error

​​[Error] Runtime error: Failed to initialize wallaby vitest.​​
​​[Error] dependency.startVitest is not a function​​

Wallaby diagnostics report

{
  editorVersion: '1.81.0',
  pluginVersion: '1.0.364',
  editorType: 'VSCode',
  osVersion: 'darwin 22.2.0',
  nodeVersion: 'v18.12.0',
  coreVersion: '1.0.1456',
  checksum: 'ZGU3ZDI3YmZhZDJhZTJhYzdiNjBhMmE5YTY0OTQ5ZGIsMTcyMjkwMjQwMDAwMCww',
  config: {
    files: [
      { pattern: 'libs/inspect-services/**/*.ts', ignore: false, trigger: true, load: true, instrument: true, order: 1 },
      { pattern: 'libs/inspect-services/**/*.spec.ts', ignore: true, trigger: true, load: true, instrument: true, file: true }
    ],
    tests: [ { pattern: 'libs/inspect-services/**/*.spec.ts', ignore: false, trigger: true, load: true, test: true, order: 2 } ],
    env: { type: 'node', params: {}, runner: '<homeDir>/.nvm/versions/node/v18.12.0/bin/node', viewportSize: { width: 800, height: 600 }, options: { width: 800, height: 600 }, bundle: true },
    testFramework: { version: 'vitest@0.14.0', configurator: 'vitest@0.14.0', reporter: 'vitest@0.14.0', starter: 'vitest@0.14.0' },
    diagnostics: {},
    captureConsoleLog: true,
    filesWithNoCoverageCalculated: [],
    runAllTestsInAffectedTestFile: false,
    updateNoMoreThanOneSnapshotPerTestFileRun: false,
    compilers: { '**/*.?(lit)coffee?(.md)': [Function (anonymous)] },
    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|c8 ignore/',
      ignoreCoverageForFile: '__REGEXP /ignore file coverage/',
      commentAutoLog: '?',
      testFileSelection: { include: '__REGEXP /file\\.only/', exclude: '__REGEXP /file\\.skip/' }
    },
    automaticTestFileSelection: true,
    runSelectedTestsOnly: false,
    mapConsoleMessagesStackTrace: false,
    extensions: {},
    reportUnhandledPromises: true,
    slowTestThreshold: 75,
    lowCoverageThreshold: 80,
    runAllTestsWhenNoAffectedTests: true,
    symlinkNodeModules: undefined,
    configCode: 'module.exports = function (wallaby) {\n' +
      '  return {\n' +
      '    autoDetect: false,\n' +
      '    files: [\n' +
      "      'libs/inspect-services/**/*.ts',\n" +
      "      '!libs/inspect-services/**/*.spec.ts',\n" +
      '    ],\n' +
      '\n' +
      '    tests: [\n' +
      "      'libs/inspect-services/**/*.spec.ts'\n" +
      '    ],\n' +
      '    env: {\n' +
      "      type: 'node'\n" +
      '    },\n' +
      "    testFramework: 'vitest'\n" +
      '  };\n' +
      '};\n'
  },
  packageJSON: {
    dependencies: {
      '@anatine/zod-openapi': 'workspace:*',
      '@ant-design/icons': '^4.8.0',
      '@ant-design/pro-card': '^2.1.11',
      '@ant-design/pro-components': '^2.3.53',
      '@ant-design/pro-layout': '^7.7.0',
      '@babel/plugin-proposal-class-properties': '^7.18.6',
      '@babel/plugin-proposal-decorators': '^7.21.0',
      '@casl/ability': '^6.3.2',
      '@nestjs/common': '^9.0.0',
      '@nestjs/core': '^9.0.0',
      '@nestjs/jwt': '^9.0.0',
      '@nestjs/passport': '^9.0.0',
      '@nestjs/platform-express': '^9.0.0',
      '@nestjs/swagger': '^6.1.3',
      '@prisma/client': '^4.13.0',
      '@rebass/grid': '^6.1.0',
      '@types/history': '4.7.11',
      '@types/passport-local': '^1.0.35',
      antd: '5.1.1',
      'antd-mobile': '^5.28.1',
      axios: '1.1.0',
      bcrypt: '^5.1.0',
      'camunda-external-task-client-js': '^3.0.1',
      'class-transformer': '^0.5.1',
      'class-validator': '^0.13.2',
      'class-validator-jsonschema': '^3.1.1',
      classnames: '^2.3.2',
      'cookie-parser': '^1.4.6',
      'core-js': '^3.6.5',
      'cos-nodejs-sdk-v5': '^2.11.15',
      'crypto-js': '^4.1.1',
      cuid: '^2.1.8',
      dayjs: '^1.11.6',
      dotenv: '^16.0.3',
      envalid: '^7.3.1',
      express: '^4.18.2',
      'express-session': '^1.17.3',
      formik: '^1.5.8',
      handlebars: '^4.7.7',
      history: '4.10.1',
      inversify: '^6.0.1',
      'inversify-react': '^1.1.0',
      jsonwebtoken: '^8.5.1',
      keymachine: '^2.1.0',
      lodash: '^4.17.21',
      lokijs: '^1.5.12',
      mobx: '^6.6.2',
      'mobx-react': '^7.6.0',
      'mobx-react-lite': '^3.4.0',
      'nestjs-zod': '^2.3.2',
      nodemailer: '^6.8.0',
      'openapi3-ts': '^2.0.0 || ^3.0.0',
      passport: '^0.6.0',
      'passport-custom': '^1.1.1',
      'passport-jwt': '^4.0.1',
      'passport-local': '^1.0.0',
      pluralize: '^8.0.0',
      polished: '^4.2.2',
      qs: '^6.11.2',
      react: '18.2.0',
      'react-dom': '18.2.0',
      'react-is': '18.2.0',
      'react-router-dom': '5.3.4',
      rebass: '^4.0.7',
      'reflect-metadata': '^0.1.13',
      reflexbox: '^4.0.6',
      'regenerator-runtime': '0.13.7',
      rxjs: '^7.0.0',
      'schema-to-yup': '^1.12.11',
      'styled-components': '5.3.6',
      supertest: '^6.3.1',
      tslib: '^2.3.0',
      'twin.macro': '^3.1.0',
      'wechat-oauth': '^1.5.0',
      'wechatpay-node-v3': '^2.0.6',
      yup: '^1.1.1',
      zod: '3.21.1',
      'zod-prisma-types': 'workspace:*',
      'html-minifier': '4.0.0'
    },
    devDependencies: {
      '@babel/core': '7.12.13',
      '@babel/preset-react': '^7.14.5',
      '@babel/preset-typescript': '7.12.13',
      '@golevelup/ts-jest': '^0.3.4',
      '@nestjs/schematics': '^9.0.0',
      '@nestjs/testing': '^9.0.0',
      '@nrwl/cli': '15.7.2',
      '@nrwl/cypress': '15.7.2',
      '@nrwl/esbuild': '15.7.2',
      '@nrwl/eslint-plugin-nx': '15.7.2',
      '@nrwl/jest': '15.7.2',
      '@nrwl/js': '15.7.2',
      '@nrwl/linter': '15.7.2',
      '@nrwl/nest': '15.7.2',
      '@nrwl/node': '15.7.2',
      '@nrwl/nx-cloud': '15.0.3',
      '@nrwl/react': '15.7.2',
      '@nrwl/storybook': '15.7.2',
      '@nrwl/vite': '15.7.2',
      '@nrwl/web': '15.7.2',
      '@nrwl/webpack': '15.7.2',
      '@nrwl/workspace': '15.7.2',
      '@pmmmwh/react-refresh-webpack-plugin': '^0.5.7',
      '@storybook/addon-essentials': '^7.0.0-beta.64',
      '@storybook/builder-webpack5': '6.5.16',
      '@storybook/core-server': '^7.0.0-beta.64',
      '@storybook/manager-webpack5': '6.5.16',
      '@storybook/react': '^7.0.0-beta.64',
      '@storybook/react-vite': '^7.0.0-beta.64',
      '@svgr/webpack': '^6.1.2',
      '@swc/core': '^1.2.173',
      '@swc/jest': '0.2.20',
      '@testing-library/react': '13.4.0',
      '@types/bcrypt': '^5.0.0',
      '@types/cookie-parser': '^1.4.3',
      '@types/crypto-js': '^4.1.1',
      '@types/express-session': '^1.17.5',
      '@types/jest': '28.1.1',
      '@types/jest-when': '^3.5.2',
      '@types/json-schema': '^7.0.11',
      '@types/jsonwebtoken': '^8.5.9',
      '@types/lodash': '^4.14.186',
      '@types/lokijs': '^1.5.7',
      '@types/node': '18.11.9',
      '@types/nodemailer': '^6.4.6',
      '@types/passport-jwt': '^3.0.8',
      '@types/pluralize': '^0.0.29',
      '@types/qs': '^6.9.7',
      '@types/react': '18.0.25',
      '@types/react-dom': '18.0.9',
      '@types/react-is': '17.0.3',
      '@types/react-router-dom': '5.3.3',
      '@types/rebass__grid': '^6.0.10',
      '@types/reflexbox': '^4.0.5',
      '@types/styled-components': '5.1.26',
      '@typescript-eslint/eslint-plugin': '^5.36.1',
      '@typescript-eslint/parser': '^5.36.1',
      '@vitejs/plugin-react': '^3.0.0',
      '@vitest/coverage-c8': '~0.28.1',
      '@vitest/ui': '^0.28.1',
      '@vitest/runner': '^0.28.1',
      'babel-jest': '28.1.1',
      'babel-loader': '8.1.0',
      'babel-plugin-styled-components': '1.10.7',
      'css-loader': '^6.4.0',
      cypress: '^12.2.0',
      'dotenv-cli': '^6.0.0',
      esbuild: '^0.17.5',
      eslint: '~8.15.0',
      'eslint-config-prettier': '8.1.0',
      'eslint-plugin-cypress': '^2.10.3',
      'eslint-plugin-import': '2.26.0',
      'eslint-plugin-jsx-a11y': '6.6.1',
      'eslint-plugin-react': '7.31.11',
      'eslint-plugin-react-hooks': '4.6.0',
      execa: '^5.1.1',
      'fs-extra': '^11.1.0',
      jest: '28.1.1',
      'jest-environment-jsdom': '28.1.1',
      'jest-environment-node': '28.1.1',
      'jest-junit': '^14.0.1',
      'jest-mock-extended': '2.0.4',
      'jest-when': '^3.5.2',
      jsdom: '~20.0.3',
      lefthook: '^1.2.2',
      mockdate: '^3.0.5',
      nx: '15.7.2',
      prettier: '^2.6.2',
      prisma: '^4.13.0',
      'prisma-dbml-generator': '^0.10.0',
      'react-refresh': '^0.10.0',
      'react-test-renderer': '18.2.0',
      'storybook-addon-swc': '^1.1.7',
      'storybook-react-context': '^0.6.0',
      'style-loader': '^3.3.0',
      stylus: '^0.55.0',
      'stylus-loader': '^7.1.0',
      'swc-loader': '0.1.15',
      'theme-ui': '^0.15.5',
      'ts-jest': '28.0.5',
      'ts-node': '10.9.1',
      typescript: '~4.9.5',
      'url-loader': '^4.1.1',
      vite: '^4.0.1',
      'vite-plugin-dts': '~1.7.1',
      'vite-plugin-eslint': '^1.8.1',
      'vite-tsconfig-paths': '^4.0.2',
      vitest: '^0.28.1',
      webpack: '^5.75.0',
      'webpack-merge': '^5.8.0',
      zx: '^7.1.1',
      'http-proxy-middleware': '^2.0.6',
      'vitest-mock-extended': '^1.1.4',
      '@faker-js/faker': '^8.0.2',
      '@anatine/zod-mock': '^3.1.1',
      'node-html-parser': '^6.1.5'
    }
  },
  fs: { numberOfFiles: 9 },
  debug: [
    '2023-08-08T03:29:10.530Z project Wallaby Node version: v18.12.0\n',
    '2023-08-08T03:29:10.530Z project Wallaby config: <homeDir>/Projects/XProjects/flowda-solutions/flowda-projects/wallaby.js\n',
    '2023-08-08T03:29:10.573Z fs File system starting\n',
    '2023-08-08T03:29:10.595Z fs File system scan completed\n',
    '2023-08-08T03:29:10.599Z project File cache: <homeDir>/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.364/projects/957b6d9721ef35bf\n',
    '2023-08-08T03:29:10.607Z uiService Listening port 51236\n',
    '2023-08-08T03:29:10.608Z project package.json file change detected, invalidating local cache\n',
    '2023-08-08T03:29:10.614Z workers Parallelism for initial run: 10, for regular run: 5\n',
    '2023-08-08T03:29:10.614Z workers Starting run worker instance #0\n',
    '2023-08-08T03:29:10.614Z workers Starting run worker instance #1\n',
    '2023-08-08T03:29:10.614Z workers Starting run worker instance #2\n',
    '2023-08-08T03:29:10.614Z workers Starting run worker instance #3\n',
    '2023-08-08T03:29:10.614Z workers Starting run worker instance #4\n',
    '2023-08-08T03:29:10.614Z workers Starting run worker instance #5\n',
    '2023-08-08T03:29:10.614Z workers Starting run worker instance #6\n',
    '2023-08-08T03:29:10.614Z workers Starting run worker instance #7\n',
    '2023-08-08T03:29:10.614Z workers Starting run worker instance #8\n',
    '2023-08-08T03:29:10.614Z workers Starting run worker instance #9\n',
    '2023-08-08T03:29:10.615Z workers Web server is listening at 49966\n',
    '2023-08-08T03:29:10.615Z project File cache requires some updates, waiting required files from IDE\n',
    '2023-08-08T03:29:11.256Z workers Started run worker instance (delayed) #0\n',
    '2023-08-08T03:29:11.294Z workers Started run worker instance (delayed) #1\n',
    '2023-08-08T03:29:11.324Z workers Started run worker instance (delayed) #3\n',
    '2023-08-08T03:29:11.328Z workers Started run worker instance (delayed) #2\n',
    '2023-08-08T03:29:11.367Z workers Started run worker instance (delayed) #8\n',
    '2023-08-08T03:29:11.377Z workers Started run worker instance (delayed) #6\n',
    '2023-08-08T03:29:11.402Z workers Started run worker instance (delayed) #4\n',
    '2023-08-08T03:29:11.405Z workers Started run worker instance (delayed) #7\n',
    '2023-08-08T03:29:11.405Z workers Started run worker instance (delayed) #9\n',
    '2023-08-08T03:29:11.427Z workers Started run worker instance (delayed) #5\n',
    '2023-08-08T03:29:11.958Z project Stopping process pool\n',
    '2023-08-08T03:29:11.960Z project Running postprocessor\n',
    '2023-08-08T03:29:11.977Z postprocessor New TypeScript language service is required\n',
    '2023-08-08T03:29:11.985Z postprocessor Error parsing tsconfig file <homeDir>/Projects/XProjects/flowda-solutions/flowda-projects/tsconfig.json\n' +
      "(ENOENT: no such file or directory, open '<homeDir>/Projects/XProjects/flowda-solutions/flowda-projects/tsconfig.json')\n",
    '2023-08-08T03:29:11.987Z postprocessor Error reading tsconfig file from <homeDir>/Projects/XProjects/flowda-solutions/flowda-projects/tsconfig.json\n' +
      "(Cannot find module '<homeDir>/Projects/XProjects/flowda-solutions/flowda-projects/tsconfig.json'\n" +
      'Require stack:\n' +
      '- <homeDir>/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.364/wallaby3cfb94/server.js)\n',
    '2023-08-08T03:29:12.221Z project Postprocessor execution finished\n',
    '2023-08-08T03:29:12.221Z project Test run started; run priority: 3\n',
    '2023-08-08T03:29:12.222Z project Running all tests\n',
    '2023-08-08T03:29:12.223Z workers Starting test run, priority: 3\n',
    '2023-08-08T03:29:12.223Z workers Distributing tests between 10 workers\n',
    '2023-08-08T03:29:12.223Z workers Running tests in parallel\n',
    '2023-08-08T03:29:12.223Z nodeRunner Starting sandbox [worker #0, session #d1yir]\n',
    '2023-08-08T03:29:12.223Z nodeRunner Starting sandbox [worker #1, session #lcetj]\n',
    '2023-08-08T03:29:12.223Z nodeRunner Starting sandbox [worker #2, session #r2jg4]\n',
    '2023-08-08T03:29:12.224Z nodeRunner Preparing sandbox [worker #0, session #d1yir]\n',
    '2023-08-08T03:29:12.224Z nodeRunner Preparing sandbox [worker #1, session #lcetj]\n',
    '2023-08-08T03:29:12.224Z nodeRunner Preparing sandbox [worker #2, session #r2jg4]\n',
    '2023-08-08T03:29:12.224Z nodeRunner Prepared sandbox [worker #0, session #d1yir]\n',
    '2023-08-08T03:29:12.224Z nodeRunner Prepared sandbox [worker #1, session #lcetj]\n',
    '2023-08-08T03:29:12.224Z nodeRunner Prepared sandbox [worker #2, session #r2jg4]\n',
    '2023-08-08T03:29:12.224Z workers [worker #0, session #d1yir] Running tests in sandbox\n',
    '2023-08-08T03:29:12.225Z workers [worker #1, session #lcetj] Running tests in sandbox\n',
    '2023-08-08T03:29:12.225Z workers [worker #2, session #r2jg4] Running tests in sandbox\n',
    '2023-08-08T03:29:14.841Z workers Sandbox (active) [r2jg4] error: Failed to initialize wallaby vitest.\n' +
      'dependency.startVitest is not a function\n' +
      'TypeError: dependency.startVitest is not a function\n',
    '2023-08-08T03:29:14.842Z workers Failed to map the stack to user code, entry message: Failed to initialize wallaby vitest.\n' +
      'dependency.startVitest is not a function\n' +
      'TypeError: dependency.startVitest is not a function, stack: Failed to initialize wallaby vitest.\n' +
      'dependency.startVitest is not a function\n' +
      'TypeError: dependency.startVitest is not a function\n' +
      '    at initializeVitest (<homeDir>/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.364/wallaby3cfb94/runners/node/vitest@0.14.0/initializer.js:14:14334)\n' +
      '    at async v._onStart (<homeDir>/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.364/wallaby3cfb94/runners/node/vitest@0.14.0/initializer.js:14:24500)\n',
    '2023-08-08T03:29:14.842Z workers Sandbox (active) [lcetj] error: Failed to initialize wallaby vitest.\n' +
      'dependency.startVitest is not a function\n' +
      'TypeError: dependency.startVitest is not a function\n',
    '2023-08-08T03:29:14.842Z workers Failed to map the stack to user code, entry message: Failed to initialize wallaby vitest.\n' +
      'dependency.startVitest is not a function\n' +
      'TypeError: dependency.startVitest is not a function, stack: Failed to initialize wallaby vitest.\n' +
      'dependency.startVitest is not a function\n' +
      'TypeError: dependency.startVitest is not a function\n' +
      '    at initializeVitest (<homeDir>/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.364/wallaby3cfb94/runners/node/vitest@0.14.0/initializer.js:14:14334)\n' +
      '    at async v._onStart (<homeDir>/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.364/wallaby3cfb94/runners/node/vitest@0.14.0/initializer.js:14:24500)\n',
    '2023-08-08T03:29:14.843Z workers Sandbox (active) [d1yir] error: Failed to initialize wallaby vitest.\n' +
      'dependency.startVitest is not a function\n' +
      'TypeError: dependency.startVitest is not a function\n',
    '2023-08-08T03:29:14.843Z workers Failed to map the stack to user code, entry message: Failed to initialize wallaby vitest.\n' +
      'dependency.startVitest is not a function\n' +
      'TypeError: dependency.startVitest is not a function, stack: Failed to initialize wallaby vitest.\n' +
      'dependency.startVitest is not a function\n' +
      'TypeError: dependency.startVitest is not a function\n' +
      '    at initializeVitest (<homeDir>/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.364/wallaby3cfb94/runners/node/vitest@0.14.0/initializer.js:14:14334)\n' +
      '    at async v._onStart (<homeDir>/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.364/wallaby3cfb94/runners/node/vitest@0.14.0/initializer.js:14:24500)\n',
    '2023-08-08T03:29:14.943Z workers [r2jg4] Run 0 test(s), skipped 0 test(s)\n',
    '2023-08-08T03:29:14.943Z workers [lcetj] Run 0 test(s), skipped 0 test(s)\n',
    '2023-08-08T03:29:14.943Z workers [d1yir] Run 0 test(s), skipped 0 test(s)\n',
    '2023-08-08T03:29:14.946Z workers [r2jg4] Sandbox is responsive, closing it\n',
    '2023-08-08T03:29:14.947Z workers [d1yir] Sandbox is responsive, closing it\n',
    '2023-08-08T03:29:14.947Z workers [lcetj] Sandbox is responsive, closing it\n',
    '2023-08-08T03:29:14.948Z workers Merging parallel test run results\n',
    '2023-08-08T03:29:14.948Z project Test run finished\n',
    '2023-08-08T03:29:14.949Z project Processed console.log entries\n',
    '2023-08-08T03:29:14.949Z project Processed loading sequences\n',
    '2023-08-08T03:29:14.949Z project Processed executed tests\n',
    '2023-08-08T03:29:14.949Z project Processed code coverage\n',
    '2023-08-08T03:29:14.955Z project Test run result processed and sent to IDE\n'
  ]
}
smcenlly commented 1 year ago

Your Wallaby configuration is actually invalid.

Wallaby does not support configuring vitest manually, which means that this will not work:

module.exports = function (wallaby) {
  return {
...
    autoDetect: false,
    testFramework: 'vitest'
  };
};

If you want to run with multiple different testing frameworks within your project, then you will need to have a separate Wallaby configuration file for each testing framework. You can configure Wallaby to only automatically configure with a specific testing framework, for example:

module.exports = function (wallaby) {
  return {
    // Tell Wallaby to only try configuring with vitest
    // Default is: ['angular', 'jest', 'vitest']
    autoDetect: ["vitest"],

    // Limit how many processes Wallaby will use, for example:
    // 1 process for incremental runs, 2 processes at startup
    workers: { regular: 1, initial: 2 },

    // modify `files` automatic configuration settings
    files: {
      override: (filePatterns) => {
        // TODO: modify `filePatterns` array as required
        return filePatterns;
      },
    },

    // modify `tests` automatic configuration settings
    tests: {
      override: (testPatterns) => {
        // TODO: modify `testPatterns` array as required
        return testPatterns;
      },
    },
  };
};

You should be able to use this configuration as a base and modify to only run a single file. Please note that the configuration will need to be in the root of your NX workspace.

If you're still having problems, please let us know, we're happy to help.

shanehsi commented 1 year ago

Thank you very much, this is exactly what I wanted. Additionally, I would like to know how to easily find a wallaby-compatible version of vitest.

error

‌0 failing tests, 0 passing (only executed html-minifier.spec.ts)  ​Launch Coverage & Test Explorer​ | ​Search Tests​

Failed to initialize wallaby vitest. 
Initialization: Wallaby is not compatible with current version of Vitest. 
Could not find const child = fork(childPath, in entry point for file file://./node_modules/.pnpm/vitest@0.25.8_s6wqdchbfx6wfdl7cd3mh4oxbu/node_modules/vitest/dist/chunk-vite-node-externalize.b9495318.js. 
Error: Initialization: Wallaby is not compatible with current version of Vitest. 
Could not find const child = fork(childPath, in entry point for file file://./node_modules/.pnpm/vitest@0.25.8_s6wqdchbfx6wfdl7cd3mh4oxbu/node_modules/vitest/dist/chunk-vite-node-externalize.b9495318.js. 

Wallaby diagnostics report

{
  editorVersion: '1.81.0',
  pluginVersion: '1.0.364',
  editorType: 'VSCode',
  osVersion: 'darwin 22.2.0',
  nodeVersion: 'v18.12.0',
  coreVersion: '1.0.1456',
  checksum: 'ZGU3ZDI3YmZhZDJhZTJhYzdiNjBhMmE5YTY0OTQ5ZGIsMTcyMjkwMjQwMDAwMCww',
  config: {
    workers: { regular: 1, initial: 1, recycle: false },
    files: [
      { pattern: 'libs/inspect-services/**/*.ts', ignore: false, trigger: true, load: true, order: 1 },
      { pattern: 'libs/inspect-services/**/*.spec.ts', ignore: true, trigger: true, load: true, file: true }
    ],
    tests: [ { pattern: 'libs/inspect-services/**/*.spec.ts', ignore: false, trigger: true, load: true, test: true, order: 2 } ],
    diagnostics: {
      vitest: {
        config: {
          allowOnly: true,
          watch: true,
          globals: false,
          environment: 'node',
          threads: true,
          clearMocks: false,
          restoreMocks: false,
          mockReset: false,
          include: [ '**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}' ],
          exclude: [ '**/node_modules/**', '**/dist/**', '**/cypress/**', '**/.{idea,git,cache,output,temp}/**', '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress}.config.*' ],
          testTimeout: 5000,
          hookTimeout: 10000,
          teardownTimeout: 1000,
          isolate: true,
          watchExclude: [ '**/node_modules/**', '**/dist/**' ],
          forceRerunTriggers: [ '**/package.json/**', '**/{vitest,vite}.config.*/**' ],
          update: false,
          reporters: [ 'default' ],
          silent: false,
          ui: false,
          uiBase: '/__vitest__/',
          open: true,
          css: { include: [], modules: { classNameStrategy: 'stable' } },
          coverage: {
            provider: 'c8',
            enabled: false,
            clean: true,
            cleanOnRerun: false,
            reportsDirectory: './coverage',
            excludeNodeModules: true,
            exclude: [
              'coverage/**',
              'dist/**',
              'packages/*/test{,s}/**',
              '**/*.d.ts',
              'cypress/**',
              'test{,s}/**',
              'test{,-*}.{js,cjs,mjs,ts,tsx,jsx}',
              '**/*{.,-}test.{js,cjs,mjs,ts,tsx,jsx}',
              '**/*{.,-}spec.{js,cjs,mjs,ts,tsx,jsx}',
              '**/__tests__/**',
              '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress}.config.*',
              '**/.{eslint,mocha,prettier}rc.{js,cjs,yml}'
            ],
            reporter: [ 'text', 'html', 'clover', 'json' ],
            allowExternal: false,
            extension: [
              '.js',  '.cjs',
              '.mjs', '.ts',
              '.mts', '.cts',
              '.tsx', '.jsx',
              '.vue', '.svelte'
            ]
          },
          fakeTimers: { loopLimit: 10000, shouldClearNativeTimers: true, toFake: [ 'setTimeout', 'clearTimeout', 'setInterval', 'clearInterval', 'setImmediate', 'clearImmediate', 'Date' ] },
          maxConcurrency: 5,
          dangerouslyIgnoreUnhandledErrors: false,
          typecheck: {
            checker: 'tsc',
            include: [ '**/*.{test,spec}-d.{ts,js}' ],
            exclude: [ '**/node_modules/**', '**/dist/**', '**/cypress/**', '**/.{idea,git,cache,output,temp}/**', '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress}.config.*' ]
          },
          slowTestThreshold: 300,
          defines: {},
          root: '<homeDir>/Projects/XProjects/flowda-solutions/flowda-projects',
          mode: [],
          deps: { inline: [ {}, {}, {}, {}, {}, {}, '@nuxt/test-utils' ], registerNodeLoader: false },
          snapshotOptions: { snapshotFormat: {}, updateSnapshot: 'new' },
          setupFiles: [],
          cache: { dir: '<homeDir>/Projects/XProjects/flowda-solutions/flowda-projects/node_modules/.vitest' },
          sequence: { hooks: 'parallel' },
          package: {
            version: '0.25.8',
            urls: { hooks: 'file://<homeDir>/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.364/wallaby3cfb94/runners/node/hooks.mjs' },
            paths: {
              root: '<homeDir>/Projects/XProjects/flowda-solutions/flowda-projects/node_modules/.pnpm/vitest@0.25.8_s6wqdchbfx6wfdl7cd3mh4oxbu/node_modules/vitest',
              dist: '<homeDir>/Projects/XProjects/flowda-solutions/flowda-projects/node_modules/.pnpm/vitest@0.25.8_s6wqdchbfx6wfdl7cd3mh4oxbu/node_modules/vitest/dist'
            }
          }
        }
      }
    },
    testFramework: { version: 'vitest@0.14.0', configurator: 'vitest@0.14.0', reporter: 'vitest@0.14.0', starter: 'vitest@0.14.0', autoDetected: true },
    preserveComments: false,
    extractComments: true,
    captureConsoleLog: true,
    filesWithNoCoverageCalculated: [],
    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 },
    teardown: undefined,
    hints: {
      ignoreCoverage: '__REGEXP /ignore coverage|istanbul ignore|c8 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: '--experimental-loader=file://<homeDir>/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.364/wallaby3cfb94/runners/node/hooks.mjs' },
      runner: '<homeDir>/.nvm/versions/node/v18.12.0/bin/node',
      viewportSize: { width: 800, height: 600 },
      options: { width: 800, height: 600 },
      bundle: true
    },
    reportUnhandledPromises: true,
    slowTestThreshold: 75,
    lowCoverageThreshold: 80,
    runAllTestsWhenNoAffectedTests: true,
    symlinkNodeModules: undefined,
    configCode: 'module.exports = function (wallaby) {\n' +
      '    return {\n' +
      '        // Tell Wallaby to only try configuring with vitest\n' +
      "        // Default is: ['angular', 'jest', 'vitest']\n" +
      '        autoDetect: ["vitest"],\n' +
      '\n' +
      '        // Limit how many processes Wallaby will use, for example:\n' +
      '        // 1 process for incremental runs, 2 processes at startup\n' +
      '        workers: { regular: 1, initial: 2 },\n' +
      '\n' +
      '        // modify `files` automatic configuration settings\n' +
      '        files: {\n' +
      '            override: (filePatterns) => {\n' +
      '                // TODO: modify `filePatterns` array as required\n' +
      '                // return filePatterns;\n' +
      "                return ['libs/inspect-services/**/*.ts', '!libs/inspect-services/**/*.spec.ts']\n" +
      '            },\n' +
      '        },\n' +
      '\n' +
      '        // modify `tests` automatic configuration settings\n' +
      '        tests: {\n' +
      '            override: (testPatterns) => {\n' +
      '                // TODO: modify `testPatterns` array as required\n' +
      '                // return testPatterns;\n' +
      "                return ['libs/inspect-services/**/*.spec.ts']\n" +
      '            },\n' +
      '        },\n' +
      '    };\n' +
      '};',
    testLocations: [ 'libs/inspect-services/src/html-minifier/html-minifier.spec.ts' ]
  },
  packageJSON: {
    dependencies: {
      '@anatine/zod-openapi': 'workspace:*',
      '@ant-design/icons': '^4.8.0',
      '@ant-design/pro-card': '^2.1.11',
      '@ant-design/pro-components': '^2.3.53',
      '@ant-design/pro-layout': '^7.7.0',
      '@babel/plugin-proposal-class-properties': '^7.18.6',
      '@babel/plugin-proposal-decorators': '^7.21.0',
      '@casl/ability': '^6.3.2',
      '@nestjs/common': '^9.0.0',
      '@nestjs/core': '^9.0.0',
      '@nestjs/jwt': '^9.0.0',
      '@nestjs/passport': '^9.0.0',
      '@nestjs/platform-express': '^9.0.0',
      '@nestjs/swagger': '^6.1.3',
      '@prisma/client': '^4.13.0',
      '@rebass/grid': '^6.1.0',
      '@types/history': '4.7.11',
      '@types/passport-local': '^1.0.35',
      antd: '5.1.1',
      'antd-mobile': '^5.28.1',
      axios: '1.1.0',
      bcrypt: '^5.1.0',
      'camunda-external-task-client-js': '^3.0.1',
      'class-transformer': '^0.5.1',
      'class-validator': '^0.13.2',
      'class-validator-jsonschema': '^3.1.1',
      classnames: '^2.3.2',
      'cookie-parser': '^1.4.6',
      'core-js': '^3.6.5',
      'cos-nodejs-sdk-v5': '^2.11.15',
      'crypto-js': '^4.1.1',
      cuid: '^2.1.8',
      dayjs: '^1.11.6',
      dotenv: '^16.0.3',
      envalid: '^7.3.1',
      express: '^4.18.2',
      'express-session': '^1.17.3',
      formik: '^1.5.8',
      handlebars: '^4.7.7',
      history: '4.10.1',
      inversify: '^6.0.1',
      'inversify-react': '^1.1.0',
      jsonwebtoken: '^8.5.1',
      keymachine: '^2.1.0',
      lodash: '^4.17.21',
      lokijs: '^1.5.12',
      mobx: '^6.6.2',
      'mobx-react': '^7.6.0',
      'mobx-react-lite': '^3.4.0',
      'nestjs-zod': '^2.3.2',
      nodemailer: '^6.8.0',
      'openapi3-ts': '^2.0.0 || ^3.0.0',
      passport: '^0.6.0',
      'passport-custom': '^1.1.1',
      'passport-jwt': '^4.0.1',
      'passport-local': '^1.0.0',
      pluralize: '^8.0.0',
      polished: '^4.2.2',
      qs: '^6.11.2',
      react: '18.2.0',
      'react-dom': '18.2.0',
      'react-is': '18.2.0',
      'react-router-dom': '5.3.4',
      rebass: '^4.0.7',
      'reflect-metadata': '^0.1.13',
      reflexbox: '^4.0.6',
      'regenerator-runtime': '0.13.7',
      rxjs: '^7.0.0',
      'schema-to-yup': '^1.12.11',
      'styled-components': '5.3.6',
      supertest: '^6.3.1',
      tslib: '^2.3.0',
      'twin.macro': '^3.1.0',
      'wechat-oauth': '^1.5.0',
      'wechatpay-node-v3': '^2.0.6',
      yup: '^1.1.1',
      zod: '3.21.1',
      'zod-prisma-types': 'workspace:*',
      'html-minifier': '4.0.0'
    },
    devDependencies: {
      '@babel/core': '7.12.13',
      '@babel/preset-react': '^7.14.5',
      '@babel/preset-typescript': '7.12.13',
      '@golevelup/ts-jest': '^0.3.4',
      '@nestjs/schematics': '^9.0.0',
      '@nestjs/testing': '^9.0.0',
      '@nrwl/cli': '15.7.2',
      '@nrwl/cypress': '15.7.2',
      '@nrwl/esbuild': '15.7.2',
      '@nrwl/eslint-plugin-nx': '15.7.2',
      '@nrwl/jest': '15.7.2',
      '@nrwl/js': '15.7.2',
      '@nrwl/linter': '15.7.2',
      '@nrwl/nest': '15.7.2',
      '@nrwl/node': '15.7.2',
      '@nrwl/nx-cloud': '15.0.3',
      '@nrwl/react': '15.7.2',
      '@nrwl/storybook': '15.7.2',
      '@nrwl/vite': '15.7.2',
      '@nrwl/web': '15.7.2',
      '@nrwl/webpack': '15.7.2',
      '@nrwl/workspace': '15.7.2',
      '@pmmmwh/react-refresh-webpack-plugin': '^0.5.7',
      '@storybook/addon-essentials': '^7.0.0-beta.64',
      '@storybook/builder-webpack5': '6.5.16',
      '@storybook/core-server': '^7.0.0-beta.64',
      '@storybook/manager-webpack5': '6.5.16',
      '@storybook/react': '^7.0.0-beta.64',
      '@storybook/react-vite': '^7.0.0-beta.64',
      '@svgr/webpack': '^6.1.2',
      '@swc/core': '^1.2.173',
      '@swc/jest': '0.2.20',
      '@testing-library/react': '13.4.0',
      '@types/bcrypt': '^5.0.0',
      '@types/cookie-parser': '^1.4.3',
      '@types/crypto-js': '^4.1.1',
      '@types/express-session': '^1.17.5',
      '@types/jest': '28.1.1',
      '@types/jest-when': '^3.5.2',
      '@types/json-schema': '^7.0.11',
      '@types/jsonwebtoken': '^8.5.9',
      '@types/lodash': '^4.14.186',
      '@types/lokijs': '^1.5.7',
      '@types/node': '18.11.9',
      '@types/nodemailer': '^6.4.6',
      '@types/passport-jwt': '^3.0.8',
      '@types/pluralize': '^0.0.29',
      '@types/qs': '^6.9.7',
      '@types/react': '18.0.25',
      '@types/react-dom': '18.0.9',
      '@types/react-is': '17.0.3',
      '@types/react-router-dom': '5.3.3',
      '@types/rebass__grid': '^6.0.10',
      '@types/reflexbox': '^4.0.5',
      '@types/styled-components': '5.1.26',
      '@typescript-eslint/eslint-plugin': '^5.36.1',
      '@typescript-eslint/parser': '^5.36.1',
      '@vitejs/plugin-react': '^3.0.0',
      '@vitest/coverage-c8': '~0.25.8',
      '@vitest/ui': '^0.25.8',
      'babel-jest': '28.1.1',
      'babel-loader': '8.1.0',
      'babel-plugin-styled-components': '1.10.7',
      'css-loader': '^6.4.0',
      cypress: '^12.2.0',
      'dotenv-cli': '^6.0.0',
      esbuild: '^0.17.5',
      eslint: '~8.15.0',
      'eslint-config-prettier': '8.1.0',
      'eslint-plugin-cypress': '^2.10.3',
      'eslint-plugin-import': '2.26.0',
      'eslint-plugin-jsx-a11y': '6.6.1',
      'eslint-plugin-react': '7.31.11',
      'eslint-plugin-react-hooks': '4.6.0',
      execa: '^5.1.1',
      'fs-extra': '^11.1.0',
      jest: '28.1.1',
      'jest-environment-jsdom': '28.1.1',
      'jest-environment-node': '28.1.1',
      'jest-junit': '^14.0.1',
      'jest-mock-extended': '2.0.4',
      'jest-when': '^3.5.2',
      jsdom: '~20.0.3',
      lefthook: '^1.2.2',
      mockdate: '^3.0.5',
      nx: '15.7.2',
      prettier: '^2.6.2',
      prisma: '^4.13.0',
      'prisma-dbml-generator': '^0.10.0',
      'react-refresh': '^0.10.0',
      'react-test-renderer': '18.2.0',
      'storybook-addon-swc': '^1.1.7',
      'storybook-react-context': '^0.6.0',
      'style-loader': '^3.3.0',
      stylus: '^0.55.0',
      'stylus-loader': '^7.1.0',
      'swc-loader': '0.1.15',
      'theme-ui': '^0.15.5',
      'ts-jest': '28.0.5',
      'ts-node': '10.9.1',
      typescript: '~4.9.5',
      'url-loader': '^4.1.1',
      vite: '^4.0.1',
      'vite-plugin-dts': '~1.7.1',
      'vite-plugin-eslint': '^1.8.1',
      'vite-tsconfig-paths': '^4.0.2',
      vitest: '^0.25.8',
      webpack: '^5.75.0',
      'webpack-merge': '^5.8.0',
      zx: '^7.1.1',
      'http-proxy-middleware': '^2.0.6',
      'vitest-mock-extended': '^1.1.4',
      '@faker-js/faker': '^8.0.2',
      '@anatine/zod-mock': '^3.1.1',
      'node-html-parser': '^6.1.5',
      sharp: '^0.30.0'
    }
  },
  fs: { numberOfFiles: 13 },
  debug: [
    '2023-08-08T08:20:18.854Z config Attempting automatic configuration for vitest\n',
    '2023-08-08T08:20:18.857Z vitest/config Detected Vitest (0.25.8).\n',
    '2023-08-08T08:20:19.289Z config Finished attempting automatic configuration for vitest (435ms)\n',
    '2023-08-08T08:20:19.291Z project Wallaby Node version: v18.12.0\n',
    '2023-08-08T08:20:19.291Z project Wallaby config: <homeDir>/Projects/XProjects/flowda-solutions/flowda-projects/wallaby.js\n',
    '2023-08-08T08:20:19.340Z fs File system starting\n',
    '2023-08-08T08:20:19.376Z fs File system scan completed\n',
    '2023-08-08T08:20:19.381Z project File cache: <homeDir>/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.364/projects/957b6d9721ef35bf\n',
    '2023-08-08T08:20:19.446Z uiService Listening port 51235\n',
    '2023-08-08T08:20:19.457Z workers Parallelism for initial run: 1, for regular run: 1\n',
    '2023-08-08T08:20:19.458Z workers Starting run worker instance #0\n',
    '2023-08-08T08:20:19.458Z workers Web server is listening at 51912\n',
    '2023-08-08T08:20:19.464Z project Stopping process pool\n',
    '2023-08-08T08:20:19.464Z project File cache is up-to-date, starting full test run\n',
    '2023-08-08T08:20:19.465Z project Test run started; run priority: 3\n',
    '2023-08-08T08:20:19.467Z project Running all tests\n',
    '2023-08-08T08:20:19.468Z project Test run finished\n',
    '2023-08-08T08:20:19.468Z project Test run data re-queued\n',
    '2023-08-08T08:20:19.573Z project Requested to run all tests\n',
    '2023-08-08T08:20:19.574Z project Test run started; run priority: 3\n',
    '2023-08-08T08:20:19.574Z project Running all tests\n',
    '2023-08-08T08:20:19.575Z workers Starting test run, priority: 3\n',
    '2023-08-08T08:20:19.575Z nodeRunner Starting sandbox [worker #0, session #5irdj]\n',
    '2023-08-08T08:20:19.575Z nodeRunner Preparing sandbox [worker #0, session #5irdj]\n',
    '2023-08-08T08:20:19.666Z workers Started run worker instance (delayed) #0\n',
    '2023-08-08T08:20:19.666Z nodeRunner Prepared sandbox [worker #0, session #5irdj]\n',
    '2023-08-08T08:20:19.666Z workers [worker #0, session #5irdj] Running tests in sandbox\n',
    '2023-08-08T08:20:19.775Z workers Sandbox (active) [5irdj] error: Failed to initialize wallaby vitest.\n' +
      'Initialization: Wallaby is not compatible with current version of Vitest.\n' +
      'Could not find const child = fork(childPath, in entry point for file file://./node_modules/.pnpm/vitest@0.25.8_s6wqdchbfx6wfdl7cd3mh4oxbu/node_modules/vitest/dist/chunk-vite-node-externalize.b9495318.js.\n' +
      'Error: Initialization: Wallaby is not compatible with current version of Vitest.\n' +
      'Could not find const child = fork(childPath, in entry point for file file://./node_modules/.pnpm/vitest@0.25.8_s6wqdchbfx6wfdl7cd3mh4oxbu/node_modules/vitest/dist/chunk-vite-node-externalize.b9495318.js.\n' +
      '    at file://./node_modules/.pnpm/vitest@0.25.8_s6wqdchbfx6wfdl7cd3mh4oxbu/node_modules/vitest/dist/chunk-vite-node-externalize.b9495318.js:1:7\n' +
      '    at ModuleJob.run (node:internal/modules/esm/module_job:193:25)\n' +
      '    at async Promise.all (index 0)\n' +
      '    at async ESMLoader.import (node:internal/modules/esm/loader:530:24)\n' +
      '    at async importModuleDynamicallyWrapper (node:internal/vm/module:438:15)\n',
    '2023-08-08T08:20:19.876Z workers [5irdj] Run 0 test(s), skipped 0 test(s)\n',
    '2023-08-08T08:20:19.878Z workers [5irdj] Sandbox is responsive, closing it\n',
    '2023-08-08T08:20:19.879Z workers Failed to map the stack to user code, entry message: Failed to initialize wallaby vitest.\n' +
      'Initialization: Wallaby is not compatible with current version of Vitest.\n' +
      'Could not find const child = fork(childPath, in entry point for file file://<homeDir>/Projects/XProjects/flowda-solutions/flowda-projects/node_modules/.pnpm/vitest@0.25.8_s6wqdchbfx6wfdl7cd3mh4oxbu/node_modules/vitest/dist/chunk-vite-node-externalize.b9495318.js.\n' +
      'Error: Initialization: Wallaby is not compatible with current version of Vitest.\n' +
      'Could not find const child = fork(childPath, in entry point for file file://<homeDir>/Projects/XProjects/flowda-solutions/flowda-projects/node_modules/.pnpm/vitest@0.25.8_s6wqdchbfx6wfdl7cd3mh4oxbu/node_modules/vitest/dist/chunk-vite-node-externalize.b9495318.js., stack: Failed to initialize wallaby vitest.\n' +
      'Initialization: Wallaby is not compatible with current version of Vitest.\n' +
      'Could not find const child = fork(childPath, in entry point for file file://<homeDir>/Projects/XProjects/flowda-solutions/flowda-projects/node_modules/.pnpm/vitest@0.25.8_s6wqdchbfx6wfdl7cd3mh4oxbu/node_modules/vitest/dist/chunk-vite-node-externalize.b9495318.js.\n' +
      'Error: Initialization: Wallaby is not compatible with current version of Vitest.\n' +
      'Could not find const child = fork(childPath, in entry point for file file://<homeDir>/Projects/XProjects/flowda-solutions/flowda-projects/node_modules/.pnpm/vitest@0.25.8_s6wqdchbfx6wfdl7cd3mh4oxbu/node_modules/vitest/dist/chunk-vite-node-externalize.b9495318.js.\n' +
      '    at file://<homeDir>/Projects/XProjects/flowda-solutions/flowda-projects/node_modules/.pnpm/vitest@0.25.8_s6wqdchbfx6wfdl7cd3mh4oxbu/node_modules/vitest/dist/chunk-vite-node-externalize.b9495318.js:1:7\n' +
      '    at ModuleJob.run (node:internal/modules/esm/module_job:193:25)\n' +
      '    at async Promise.al\n',
    '2023-08-08T08:20:19.880Z project Test run finished\n',
    '2023-08-08T08:20:19.880Z project Processed console.log entries\n',
    '2023-08-08T08:20:19.880Z project Processed loading sequences\n',
    '2023-08-08T08:20:19.880Z project Processed executed tests\n',
    '2023-08-08T08:20:19.880Z project Processed code coverage\n',
    '2023-08-08T08:20:19.883Z project Test run result processed and sent to IDE\n'
  ]
}
ArtemGovorov commented 1 year ago

Hello,

I would like to know how to easily find a wallaby-compatible version of vitest.

From the error log, it looks like you are using v0.25.8, that is ~8 months behind the latest vitest version 0.34.1. Can you try updating to the latest, or one that is a couple months old to see if it's working for you?

shanehsi commented 1 year ago

The latest version of vitest is working fine now. The remaining issue seems to be related to wallaby's watch strategy. I'm using sharp, which relies on a native module. The initial run with wallaby works fine, but after modifying the code and triggering it again, an error occurs.

Vitest watch works fine. maybe related issus https://github.com/vitest-dev/vitest/issues/740

In conclusion, I believe it might be an issue with vitest compatibility. I will close the issue for now. Thank you once again. I will create a minimal reproducible demo when I have time in the future.