wallabyjs / public

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

Wallaby not working with recent version of NX #3284

Closed GabrielAPineiro closed 10 months ago

GabrielAPineiro commented 10 months ago

Issue description or question

Wallaby is not working after we updated our NX version, from 16.8.1 to 16.10.0.

NX Report complete - copy this into the issue template

Node : 18.16.1 OS : win32-x64 yarn : 1.22.19

nx : 16.10.0 @nx/js : 16.10.0 @nx/jest : 16.10.0 @nx/linter : 16.10.0 @nx/workspace : 16.10.0 @nx/angular : 16.10.0 @nx/cypress : 16.10.0 @nx/devkit : 16.10.0 @nx/eslint-plugin : 16.10.0 @nx/plugin : 16.10.0 @nx/storybook : 16.10.0 @nrwl/tao : 16.10.0 @nx/webpack : 16.10.0 nx-cloud : 16.5.2 typescript : 5.0.4

Community plugins: @nx-dotnet/core : 1.23.0 @storybook/angular : 7.5.1 @trumbitta/nx-plugin-openapi : 1.12.1 ng-mocks : 14.11.0

Local workspace plugins: @exclaimer/workspace-plugin

Wallaby diagnostics report

‍​[Info]​ Started Wallaby.js Core v1.0.1482 ​​[Error] Failed to load configuration file: Automatic Angular CLI configuration error: '.\nx.json' is not a valid Angular CLI file. ​​ ​​[Error] ​​ ​​[Error] We've also tried to automatically configure Wallaby.js for other frameworks ​​ ​​[Error] Automatic Jest configuration error: Module jest-cli is not found in '.'. ​​ ​​[Error] Automatic Vitest configuration error: Vitest dependency not found.​​ ​​[Error] Please refer to our docs: https://wallabyjs.com/docs/config/overview.html ​​

smcenlly commented 10 months ago

We tried creating a new Angular project the latest create-nx-workspace (npx create-nx-workspace@latest), and everything is working for us.

I expect that your problem is that there's something in your project that has not upgraded properly using the automated upgrade tools.

The best place to start to fix your problem is to compare a freshly generated project to your existing project. This should allow you to compare nx.json file differences and fix anything that's broken.

If that doesn't help, could you please provide your nx.json and your Wallaby Diagnostics report?

GabrielAPineiro commented 10 months ago

How can I provide the Diagnostics report? I try to start wallaby but I get the error above, it doesn't even start the tests.

I turned on the trace for wallaby and this is what I got ‍​[Info]​ 2023-10-24T08:15:49.845Z project waiting for initial run signal ​[Info]​ 2023-10-24T08:15:49.854Z config Attempting automatic configuration for angular ​[Info]​ 2023-10-24T08:15:49.854Z angular/cli config Detecting Angular CLI. ​[Info]​ Started Wallaby.js Core v1.0.1482 ​[Info]​ 2023-10-24T08:15:51.433Z angular/cli config Detected Angular CLI. ​[Info]​ 2023-10-24T08:15:51.433Z angular/cli config Error: 'C:\Projects\exclaimercloud-ui\nx.json' is not a valid Angular CLI file. ​[Info]​ at Object.configure (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallabyf5ce5e\server.js:144:15698) ​[Info]​ at automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallabyf5ce5e\server.js:132:12007) ​[Info]​ at automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallabyf5ce5e\server.js:132:11892) ​[Info]​ at automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallabyf5ce5e\server.js:132:11892) ​[Info]​ at Config.load (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallabyf5ce5e\server.js:132:11832) ​[Info]​ 2023-10-24T08:15:51.435Z angular/cli config Angular.json: ​[Info]​ { ​[Info]​ '$schema': './node_modules/nx/schemas/nx-schema.json', ​[Info]​ npmScope: 'exclaimer', ​[Info]​ affected: { defaultBase: 'master' }, ​[Info]​ cli: { defaultCollection: '@exclaimer/workspace-plugin' }, ​[Info]​ tasksRunnerOptions: { ​[Info]​ default: { ​[Info]​ runner: 'nx-cloud', ​[Info]​ options: { cacheableOperations: [ 'build', 'lint', 'test', 'e2e', 'build-storybook' ], accessToken: '=' } ​[Info]​ } ​[Info]​ }, ​[Info]​ targetDefaults: { ​[Info]​ build: { dependsOn: [ '^build' ], inputs: [ 'production', '^production' ] }, ​[Info]​ test: { inputs: [ 'default', '^production', '{workspaceRoot}/karma.conf.js', '{workspaceRoot}/tools/karma/get-karma-config.js' ] }, ​[Info]​ lint: { inputs: [ 'default', '{workspaceRoot}/.eslintrc.json', '{workspaceRoot}/.eslintignore', '{workspaceRoot}/tools/eslint/get-eslint-config.js', '{workspaceRoot}/.editorconfig' ] }, ​[Info]​ e2e: { inputs: [ 'default', '^production' ] }, ​[Info]​ 'build-storybook': { inputs: [ 'default', '^storybookProduction', '{workspaceRoot}/.storybook//*' ] }, ​[Info]​ chromatic: { dependsOn: [ 'build-storybook' ], inputs: [ 'default', '^storybookProduction' ] } ​[Info]​ }, ​[Info]​ namedInputs: { ​[Info]​ default: [ '{projectRoot}/*/', 'sharedGlobals' ], ​[Info]​ production: [ ​[Info]​ 'default', ​[Info]​ '!{projectRoot}//?(*.)+(spec|test).[jt]s?(x)?(.snap)', ​[Info]​ '!{projectRoot}//*.md', ​[Info]​ '!{projectRoot}/tsconfig.spec.json', ​[Info]​ '!{projectRoot}/karma.conf.js', ​[Info]​ '!{projectRoot}/.eslintrc.json', ​[Info]​ '!{projectRoot}/.storybook/*/', ​[Info]​ '!{projectRoot}//*.stories.@(js|jsx|ts|tsx|mdx)' ​[Info]​ ], ​[Info]​ storybookProduction: [ 'default', '!{projectRoot}/*/?(.)+(spec|test).[jt]s?(x)?(.snap)', '!{projectRoot}/tsconfig.spec.json', '!{projectRoot}/karma.conf.js', '!{projectRoot}/.eslintrc.json' ], ​[Info]​ sharedGlobals: [] ​[Info]​ }, ​[Info]​ generators: { ​[Info]​ '@nx/angular:application': { style: 'scss', linter: 'eslint', unitTestRunner: 'karma', e2eTestRunner: 'none', prefix: 'excl', routing: true }, ​[Info]​ '@nx/angular:library': { linter: 'eslint', unitTestRunner: 'karma', prefix: 'excl', buildable: true }, ​[Info]​ '@nx/angular:component': { style: 'scss', changeDetection: 'OnPush' }, ​[Info]​ '@nx/angular:scam': { style: 'scss', changeDetection: 'OnPush', export: true, inlineScam: false }, ​[Info]​ '@nx/angular:storybook-configuration': { configureCypress: false, generateCypressSpecs: false, generateStories: true }, ​[Info]​ '@nx/angular:stories': { generateCypressSpecs: false } ​[Info]​ }, ​[Info]​ plugins: [ '@exclaimer/plugins/dotnet-project-graph', '@exclaimer/workspace-plugin' ] ​[Info]​ } ​[Info]​ 2023-10-24T08:15:51.435Z angular/cli config Error: 'C:\Projects\exclaimercloud-ui\nx.json' is not a valid Angular CLI file. ​[Info]​ at Object.configure (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallabyf5ce5e\server.js:144:15698) ​[Info]​ at automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallabyf5ce5e\server.js:132:12007) ​[Info]​ at automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallabyf5ce5e\server.js:132:11892) ​[Info]​ at automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallabyf5ce5e\server.js:132:11892) ​[Info]​ at Config.load (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallabyf5ce5e\server.js:132:11832) ​[Info]​ 2023-10-24T08:15:51.435Z config Finished attempting automatic configuration for angular (1581ms) ​[Info]​ 2023-10-24T08:15:51.435Z config Attempting automatic configuration for jest ​[Info]​ 2023-10-24T08:15:51.435Z jest/config Detecting Jest. ​[Info]​ 2023-10-24T08:15:51.439Z jest/config Error: Module jest-cli is not found in 'C:\Projects\exclaimercloud-ui'. ​[Info]​ at Object.loadJest (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallabyf5ce5e\server.js:496:1070) ​[Info]​ at n (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallabyf5ce5e\server.js:184:23339) ​[Info]​ at Object.configure (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallabyf5ce5e\server.js:184:26449) ​[Info]​ at automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallabyf5ce5e\server.js:132:12015) ​[Info]​ at automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallabyf5ce5e\server.js:132:11892) ​[Info]​ at Config.load (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallabyf5ce5e\server.js:132:11832) ​[Info]​ 2023-10-24T08:15:51.439Z config Finished attempting automatic configuration for jest (4ms) ​[Info]​ 2023-10-24T08:15:51.439Z config Attempting automatic configuration for vitest ​[Info]​ 2023-10-24T08:15:51.440Z vitest/config Detecting Vitest. ​[Info]​ 2023-10-24T08:15:51.441Z vitest/config Error: Vitest dependency not found. ​[Info]​ at Object.configure (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallabyf5ce5e\server.js:185:1508) ​[Info]​ at automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallabyf5ce5e\server.js:132:12015) ​[Info]​ at Config.load (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallabyf5ce5e\server.js:132:11832) ​[Info]​ 2023-10-24T08:15:51.441Z config Finished attempting automatic configuration for vitest (2ms) ​​[Error] Failed to load configuration file: Automatic Angular CLI configuration error: '.\nx.json' is not a valid Angular CLI file. ​​ ​​[Error] ​​ ​​[Error] We've also tried to automatically configure Wallaby.js for other frameworks ​​ ​​[Error] Automatic Jest configuration error: Module jest-cli is not found in '.'. ​​ ​​[Error] Automatic Vitest configuration error: Vitest dependency not found.​​ ​​[Error] Please refer to our docs: https://wallabyjs.com/docs/config/overview.html ​​ ​[Info]​ 2023-10-24T08:15:51.445Z extended-core Setting preferences

This is my nx.json { "$schema": "./node_modules/nx/schemas/nx-schema.json", "npmScope": "exclaimer", "affected": { "defaultBase": "master" }, "cli": { "defaultCollection": "@exclaimer/workspace-plugin" }, "tasksRunnerOptions": { "default": { "runner": "nx-cloud", "options": { "cacheableOperations": ["build", "lint", "test", "e2e", "build-storybook"], "accessToken": "=" } } }, "targetDefaults": { "build": { "dependsOn": ["^build"], "inputs": ["production", "^production"] }, "test": { "inputs": ["default", "^production", "{workspaceRoot}/karma.conf.js", "{workspaceRoot}/tools/karma/get-karma-config.js"] }, "lint": { "inputs": [ "default", "{workspaceRoot}/.eslintrc.json", "{workspaceRoot}/.eslintignore", "{workspaceRoot}/tools/eslint/get-eslint-config.js", "{workspaceRoot}/.editorconfig" ] }, "e2e": { "inputs": ["default", "^production"] }, "build-storybook": { "inputs": ["default", "^storybookProduction", "{workspaceRoot}/.storybook/**/*"] }, "chromatic": { "dependsOn": ["build-storybook"], "inputs": ["default", "^storybookProduction"] } }, "namedInputs": { "default": ["{projectRoot}/**/*", "sharedGlobals"], "production": [ "default", "!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)", "!{projectRoot}/**/*.md", "!{projectRoot}/tsconfig.spec.json", "!{projectRoot}/karma.conf.js", "!{projectRoot}/.eslintrc.json", "!{projectRoot}/.storybook/**/*", "!{projectRoot}/**/*.stories.@(js|jsx|ts|tsx|mdx)" ], "storybookProduction": [ "default", "!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)", "!{projectRoot}/tsconfig.spec.json", "!{projectRoot}/karma.conf.js", "!{projectRoot}/.eslintrc.json" ], "sharedGlobals": [] }, "generators": { "@nx/angular:application": { "style": "scss", "linter": "eslint", "unitTestRunner": "karma", "e2eTestRunner": "none", "prefix": "excl", "routing": true }, "@nx/angular:library": { "linter": "eslint", "unitTestRunner": "karma", "prefix": "excl", "buildable": true }, "@nx/angular:component": { "style": "scss", "changeDetection": "OnPush" }, "@nx/angular:scam": { "style": "scss", "changeDetection": "OnPush", "export": true, "inlineScam": false }, "@nx/angular:storybook-configuration": { "configureCypress": false, "generateCypressSpecs": false, "generateStories": true }, "@nx/angular:stories": { "generateCypressSpecs": false } }, "plugins": ["@exclaimer/plugins/dotnet-project-graph", "@exclaimer/workspace-plugin"] }

smcenlly commented 10 months ago

Thanks for the trace and nx.json. We also need your project.json configuration file(s). Could you please send those through? If you have multiple, can you please let us know their path relative to your project root?

GabrielAPineiro commented 10 months ago

This is one project.json for example { "name": "cloud-ui-frontend", "$schema": "../../../node_modules/nx/schemas/project-schema.json", "projectType": "application", "sourceRoot": "apps/cloud-ui/frontend/src", "prefix": "app", "targets": { "build": { "executor": "@nx/angular:webpack-browser", "outputs": ["{options.outputPath}"], "options": { "outputPath": "dist/apps/cloud-ui/frontend", "index": "apps/cloud-ui/frontend/src/index.html", "main": "apps/cloud-ui/frontend/src/main.ts", "polyfills": "apps/cloud-ui/frontend/src/polyfills.ts", "tsConfig": "apps/cloud-ui/frontend/tsconfig.app.json", "inlineStyleLanguage": "scss", "assets": [ "apps/cloud-ui/frontend/src/favicon.ico", "apps/cloud-ui/frontend/src/assets", "apps/cloud-ui/frontend/src/web.config", "apps/cloud-ui/frontend/src/.npmrc", { "input": "libs/cloud-ui/i18n/src/translations", "glob": "**/*", "output": "assets/i18n" }, { "input": "libs/shared/common/src/lib/i18n/translations", "glob": "**/*", "output": "assets/i18n/common" }, { "input": "libs/social-feeds/frontend/i18n/src/translations", "glob": "**/*", "output": "assets/i18n/social-feeds" } ], "styles": [ "libs/shared/frontend/global-styles/cloud-ui/src/styles.scss", "libs/social-feeds/frontend/ui/src/lib/scss/styles.scss" ], "scripts": [], "customWebpackConfig": { "path": "apps/cloud-ui/frontend/webpack.config.js" }, "buildLibsFromSource": true }, "configurations": { "production": { "budgets": [ { "type": "initial", "maximumWarning": "500kb", "maximumError": "3mb" }, { "type": "anyComponentStyle", "maximumWarning": "2kb", "maximumError": "15kb" } ], "fileReplacements": [ { "replace": "apps/cloud-ui/frontend/src/environments/environment.ts", "with": "apps/cloud-ui/frontend/src/environments/environment.prod.ts" } ], "outputHashing": "all", "customWebpackConfig": { "path": "apps/cloud-ui/frontend/webpack.prod.config.js" } }, "development": { "buildOptimizer": false, "optimization": false, "vendorChunk": true, "extractLicenses": false, "sourceMap": true, "namedChunks": true } }, "defaultConfiguration": "production" }, "serve": { "executor": "@nx/angular:webpack-dev-server", "configurations": { "production": { "browserTarget": "cloud-ui-frontend:build:production" }, "development": { "browserTarget": "cloud-ui-frontend:build:development" } }, "defaultConfiguration": "development", "options": { "port": 4200, "publicHost": "https://localhost:5001" } }, "extract-i18n": { "executor": "@angular-devkit/build-angular:extract-i18n", "options": { "browserTarget": "cloud-ui-frontend:build" } }, "lint": { "executor": "@nx/linter:eslint", "options": { "lintFilePatterns": ["apps/cloud-ui/frontend/src/**/*.ts", "apps/cloud-ui/frontend/src/**/*.html"] } }, "test": { "executor": "@angular-devkit/build-angular:karma", "options": { "main": "apps/cloud-ui/frontend/src/test.ts", "tsConfig": "apps/cloud-ui/frontend/tsconfig.spec.json", "karmaConfig": "apps/cloud-ui/frontend/karma.conf.js", "polyfills": "apps/cloud-ui/frontend/src/polyfills.ts", "styles": ["libs/shared/frontend/global-styles/cloud-ui/src/styles.scss"], "scripts": [], "assets": [] }, "configurations": { "production": { "watch": false, "browsers": "ChromeHeadlessNoSandbox" } } }, "serve-mfe": { "executor": "nx:run-commands", "options": { "commands": ["nx serve signature-analytics-frontend", "nx serve cloud-ui-frontend"] } }, "storybook": { "executor": "@storybook/angular:start-storybook", "options": { "port": 4400, "configDir": "apps/cloud-ui/frontend/.storybook", "browserTarget": "cloud-ui-frontend:build", "compodoc": false, "styles": ["libs/shared/frontend/global-styles/cloud-ui/src/styles.scss"] }, "configurations": { "ci": { "quiet": true } } }, "build-storybook": { "executor": "@storybook/angular:build-storybook", "outputs": ["{options.outputDir}"], "options": { "outputDir": "dist/storybook/cloud-ui-frontend", "configDir": "apps/cloud-ui/frontend/.storybook", "browserTarget": "cloud-ui-frontend:build", "compodoc": false, "styles": ["libs/shared/frontend/global-styles/cloud-ui/src/styles.scss"] }, "configurations": { "ci": { "quiet": true } } } }, "tags": ["scope:cloud-ui", "type:app"] }

We have multiple ones, here is a list of a few. image

All of them are inside different folders, we have quite a few libs. This is our tsconfig.base { "extends": "./node_modules/@exclaimer/tsconfig/tsconfig.json", "compileOnSave": false, "compilerOptions": { "rootDir": ".", "sourceMap": true, "declaration": false, "moduleResolution": "node", "emitDecoratorMetadata": true, "experimentalDecorators": true, "importHelpers": true, "target": "es2020", "module": "esnext", "lib": ["es2017", "dom"], "skipLibCheck": true, "skipDefaultLibCheck": true, "resolveJsonModule": true, "baseUrl": ".", "paths": { "@apps/cloud-ui/components": ["apps/cloud-ui/frontend/src/app/components/index.ts"], "@apps/cloud-ui/components/*": ["apps/cloud-ui/frontend/src/app/components/*"], "@apps/cloud-ui/core/*": ["apps/cloud-ui/frontend/src/app/core/*"], "@apps/cloud-ui/env/*": ["apps/cloud-ui/frontend/src/environments/*"], "@apps/cloud-ui/pages/*": ["apps/cloud-ui/frontend/src/app/pages/*"], "@apps/cloud-ui/shared": ["apps/cloud-ui/frontend/src/app/shared/index.ts"], "@apps/cloud-ui/shared/*": ["apps/cloud-ui/frontend/src/app/shared/*"], "@components": ["apps/cloud-ui/frontend/src/app/components/index.ts"], "@components/*": ["apps/cloud-ui/frontend/src/app/components/*"], "@core/*": ["apps/cloud-ui/frontend/src/app/core/*"], "@env/*": ["apps/cloud-ui/frontend/src/environments/*"], "@exclaimer/cloud-ui/i18n": ["libs/cloud-ui/i18n/src/index.ts"], "@exclaimer/cloud-ui/types": ["libs/cloud-ui/types/src/index.ts"], "@exclaimer/cloud-ui/ui": ["libs/cloud-ui/ui/src/index.ts"], "@exclaimer/configuration/data-access": ["libs/configuration/frontend/data-access/src/index.ts"], "@exclaimer/configuration/feature-audit-log": ["libs/configuration/frontend/feature-audit-log/src/index.ts"], "@exclaimer/configuration/feature-connection-flow": ["libs/configuration/frontend/feature-connection-flow/src/index.ts"], "@exclaimer/configuration/feature-exchange-on-premises": ["libs/configuration/frontend/feature-exchange-on-premises/src/index.ts"], "@exclaimer/configuration/feature-gmail-signatures": ["libs/configuration/frontend/feature-gmail-signatures/src/index.ts"], "@exclaimer/configuration/feature-integrations": ["libs/configuration/frontend/feature-integrations/src/index.ts"], "@exclaimer/configuration/feature-mail-flow": ["libs/configuration/frontend/feature-mail-flow/src/index.ts"], "@exclaimer/configuration/feature-onboarding": ["libs/configuration/frontend/feature-onboarding/src/index.ts"], "@exclaimer/configuration/feature-outlook-signatures": ["libs/configuration/frontend/feature-outlook-signatures/src/index.ts"], "@exclaimer/configuration/feature-user-data": ["libs/configuration/frontend/feature-user-data/src/index.ts"], "@exclaimer/crm-integration/data-access": ["libs/crm-integration/frontend/data-access/src/index.ts"], "@exclaimer/crm-integration/feature-salesforce": ["libs/crm-integration/frontend/feature-salesforce/src/index.ts"], "@exclaimer/diagnostic-logs/shell": ["libs/diagnostic-logs/shell/src/index.ts"], "@exclaimer/plugins/dotnet-project-graph": ["libs/plugins/dotnet-project-graph/src/index.ts"], "@exclaimer/shared/api-client-cloud-ui": ["libs/shared/api-client-cloud-ui/src/index.ts"], "@exclaimer/shared/api-client-poeditor": ["libs/shared/frontend/api-client-poeditor/src/index.ts"], "@exclaimer/shared/common": ["libs/shared/common/src/index.ts"], "@exclaimer/shared/data-access-user": ["libs/shared/data-access-user/src/index.ts"], "@exclaimer/shared/signature-emailing/ui": ["libs/shared/frontend/signature-emailing/ui/src/index.ts"], "@exclaimer/shared/signature-rules-evaluation/types": ["libs/shared/frontend/signature-rules-evaluation/types/src/index.ts"], "@exclaimer/shared/signature-rules-evaluation/ui": ["libs/shared/frontend/signature-rules-evaluation/ui/src/index.ts"], "@exclaimer/shared/storybook": ["libs/shared/frontend/storybook/src/index.ts"], "@exclaimer/signature-analytics/api-client": ["libs/signature-analytics/api-client/src/index.ts"], "@exclaimer/signature-analytics/common": ["libs/signature-analytics/common/src/index.ts"], "@exclaimer/signature-analytics/customer-experience/data-access": [ "libs/signature-analytics/customer-experience/data-access/src/index.ts" ], "@exclaimer/signature-analytics/customer-experience/main": ["libs/signature-analytics/customer-experience/main/src/index.ts"], "@exclaimer/signature-analytics/customer-experience/types": ["libs/signature-analytics/customer-experience/types/src/index.ts"], "@exclaimer/signature-analytics/customer-experience/ui": ["libs/signature-analytics/customer-experience/ui/src/index.ts"], "@exclaimer/signature-analytics/data-access": ["libs/signature-analytics/data-access/src/index.ts"], "@exclaimer/signature-analytics/engagement/data-access": ["libs/signature-analytics/engagement/data-access/src/index.ts"], "@exclaimer/signature-analytics/engagement/main": ["libs/signature-analytics/engagement/main/src/index.ts"], "@exclaimer/signature-analytics/i18n": ["libs/signature-analytics/i18n/src/index.ts"], "@exclaimer/signature-analytics/social-feeds/data-access": ["libs/signature-analytics/social-feeds/data-access/src/index.ts"], "@exclaimer/signature-analytics/social-feeds/main": ["libs/signature-analytics/social-feeds/main/src/index.ts"], "@exclaimer/signature-analytics/types": ["libs/signature-analytics/types/src/index.ts"], "@exclaimer/signature-analytics/ui": ["libs/signature-analytics/ui/src/index.ts"], "@exclaimer/signature-analytics/usage/data-access": ["libs/signature-analytics/usage/data-access/src/index.ts"], "@exclaimer/signature-analytics/usage/main": ["libs/signature-analytics/usage/main/src/index.ts"], "@exclaimer/signature-designer/shell": ["libs/signature-designer/shell/src/index.ts"], "@exclaimer/signature-management/ui": ["libs/signature-management/frontend/ui/src/index.ts"], "@exclaimer/signature-rules/data-access": ["libs/signature-rules/frontend/data-access/src/index.ts"], "@exclaimer/signature-rules/feature-advanced-rules": ["libs/signature-rules/frontend/feature-advanced-rules/src/index.ts"], "@exclaimer/signature-rules/feature-date-time": ["libs/signature-rules/frontend/feature-date-time/src/index.ts"], "@exclaimer/signature-rules/feature-enable": ["libs/signature-rules/frontend/feature-enable/src/index.ts"], "@exclaimer/signature-rules/feature-exceptions": ["libs/signature-rules/frontend/feature-exceptions/src/index.ts"], "@exclaimer/signature-rules/feature-overview": ["libs/signature-rules/frontend/feature-overview/src/index.ts"], "@exclaimer/signature-rules/feature-recipients": ["libs/signature-rules/frontend/feature-recipients/src/index.ts"], "@exclaimer/signature-rules/feature-senders": ["libs/signature-rules/frontend/feature-senders/src/index.ts"], "@exclaimer/signature-rules/ui": ["libs/signature-rules/frontend/ui/src/index.ts"], "@exclaimer/signature-tester/api-client": ["libs/signature-tester/frontend/api-client/src/index.ts"], "@exclaimer/signature-tester/data-access": ["libs/signature-tester/frontend/data-access/src/index.ts"], "@exclaimer/signature-tester/feature-form": ["libs/signature-tester/frontend/feature-form/src/index.ts"], "@exclaimer/signature-tester/feature-results": ["libs/signature-tester/frontend/feature-results/src/index.ts"], "@exclaimer/signature-tester/feature-results-details": ["libs/signature-tester/frontend/feature-results-details/src/index.ts"], "@exclaimer/signature-tester/i18n": ["libs/signature-tester/frontend/i18n/src/index.ts"], "@exclaimer/signature-tester/main": ["libs/signature-tester/frontend/main/src/index.ts"], "@exclaimer/signature-tester/shell": ["libs/signature-tester/shell/src/index.ts"], "@exclaimer/signature-tester/types": ["libs/signature-tester/frontend/types/src/index.ts"], "@exclaimer/signature-tester/ui": ["libs/signature-tester/frontend/ui/src/index.ts"], "@exclaimer/signatures/data-access": ["libs/signatures/data-access/src/index.ts"], "@exclaimer/social-feeds/data-access": ["libs/social-feeds/frontend/data-access/src/index.ts"], "@exclaimer/social-feeds/feature-facebook": ["libs/social-feeds/frontend/feature-facebook/src/index.ts"], "@exclaimer/social-feeds/types": ["libs/social-feeds/frontend/types/src/index.ts"], "@exclaimer/social-feeds/ui": ["libs/social-feeds/frontend/ui/src/index.ts"], "@exclaimer/visual-trial/api-client": ["libs/visual-trial/frontend/api-client/src/index.ts"], "@exclaimer/visual-trial/common": ["libs/visual-trial/frontend/common/src/index.ts"], "@exclaimer/visual-trial/data-access": ["libs/visual-trial/frontend/data-access/src/index.ts"], "@exclaimer/visual-trial/feature-details": ["libs/visual-trial/frontend/feature-details/src/index.ts"], "@exclaimer/visual-trial/feature-images": ["libs/visual-trial/frontend/feature-images/src/index.ts"], "@exclaimer/visual-trial/feature-signature-preview": ["libs/visual-trial/frontend/feature-signature-preview/src/index.ts"], "@exclaimer/visual-trial/feature-socials": ["libs/visual-trial/frontend/feature-socials/src/index.ts"], "@exclaimer/visual-trial/feature-styles": ["libs/visual-trial/frontend/feature-styles/src/index.ts"], "@exclaimer/visual-trial/feature-templates": ["libs/visual-trial/frontend/feature-templates/src/index.ts"], "@exclaimer/visual-trial/i18n": ["libs/visual-trial/frontend/i18n/src/index.ts"], "@exclaimer/visual-trial/main": ["libs/visual-trial/frontend/main/src/index.ts"], "@exclaimer/visual-trial/types": ["libs/visual-trial/frontend/types/src/index.ts"], "@exclaimer/visual-trial/ui": ["libs/visual-trial/frontend/ui/src/index.ts"], "@exclaimer/workspace-plugin": ["libs/plugins/workspace-plugin/src/index.ts"], "@pages/*": ["apps/cloud-ui/frontend/src/app/pages/*"], "@shared": ["apps/cloud-ui/frontend/src/app/shared/index.ts"], "@shared/*": ["apps/cloud-ui/frontend/src/app/shared/*"] } }, "exclude": ["node_modules", "tmp"] }

smcenlly commented 10 months ago

Thanks for providing the additional information.

Can you please update to Wallaby core v1.0.1486, it should fix your problem.

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

GabrielAPineiro commented 10 months ago

I updated, but still got the same error =/ image

smcenlly commented 10 months ago

Can you please send us an updated copy of your Wallaby Console output (trace).

GabrielAPineiro commented 10 months ago

‍​[Info]​ 2023-10-26T09:40:49.207Z project waiting for initial run signal ​[Info]​ 2023-10-26T09:40:49.216Z config Attempting automatic configuration for angular ​[Info]​ 2023-10-26T09:40:49.217Z angular/cli config Detecting Angular CLI. ​[Info]​ Started Wallaby.js Core v1.0.1486 ​[Info]​ 2023-10-26T09:40:51.103Z angular/cli config Detected Angular CLI. ​[Info]​ 2023-10-26T09:40:51.103Z angular/cli config Error: 'C:\Projects\exclaimercloud-ui\nx.json' is not a valid Angular CLI file. ​[Info]​ at Object.configure (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:144:15698) ​[Info]​ at automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:132:12007) ​[Info]​ at automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:132:11892) ​[Info]​ at automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:132:11892) ​[Info]​ at Config.load (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:132:11832) ​[Info]​ 2023-10-26T09:40:51.105Z angular/cli config Angular.json: ​[Info]​ { ​[Info]​ '$schema': './node_modules/nx/schemas/nx-schema.json', ​[Info]​ npmScope: 'exclaimer', ​[Info]​ affected: { defaultBase: 'master' }, ​[Info]​ cli: { defaultCollection: '@exclaimer/workspace-plugin' }, ​[Info]​ tasksRunnerOptions: { ​[Info]​ default: { ​[Info]​ runner: 'nx-cloud', ​[Info]​ options: { cacheableOperations: [ 'build', 'lint', 'test', 'e2e', 'build-storybook' ], accessToken: '=' } ​[Info]​ } ​[Info]​ }, ​[Info]​ targetDefaults: { ​[Info]​ build: { dependsOn: [ '^build' ], inputs: [ 'production', '^production' ] }, ​[Info]​ test: { inputs: [ 'default', '^production', '{workspaceRoot}/karma.conf.js', '{workspaceRoot}/tools/karma/get-karma-config.js' ] }, ​[Info]​ lint: { inputs: [ 'default', '{workspaceRoot}/.eslintrc.json', '{workspaceRoot}/.eslintignore', '{workspaceRoot}/tools/eslint/get-eslint-config.js', '{workspaceRoot}/.editorconfig' ] }, ​[Info]​ e2e: { inputs: [ 'default', '^production' ] }, ​[Info]​ 'build-storybook': { inputs: [ 'default', '^storybookProduction', '{workspaceRoot}/.storybook//*' ] }, ​[Info]​ chromatic: { dependsOn: [ 'build-storybook' ], inputs: [ 'default', '^storybookProduction' ] } ​[Info]​ }, ​[Info]​ namedInputs: { ​[Info]​ default: [ '{projectRoot}/*/', 'sharedGlobals' ], ​[Info]​ production: [ ​[Info]​ 'default', ​[Info]​ '!{projectRoot}//?(*.)+(spec|test).[jt]s?(x)?(.snap)', ​[Info]​ '!{projectRoot}//*.md', ​[Info]​ '!{projectRoot}/tsconfig.spec.json', ​[Info]​ '!{projectRoot}/karma.conf.js', ​[Info]​ '!{projectRoot}/.eslintrc.json', ​[Info]​ '!{projectRoot}/.storybook/*/', ​[Info]​ '!{projectRoot}//*.stories.@(js|jsx|ts|tsx|mdx)' ​[Info]​ ], ​[Info]​ storybookProduction: [ 'default', '!{projectRoot}/*/?(.)+(spec|test).[jt]s?(x)?(.snap)', '!{projectRoot}/tsconfig.spec.json', '!{projectRoot}/karma.conf.js', '!{projectRoot}/.eslintrc.json' ], ​[Info]​ sharedGlobals: [] ​[Info]​ }, ​[Info]​ generators: { ​[Info]​ '@nx/angular:application': { style: 'scss', linter: 'eslint', unitTestRunner: 'karma', e2eTestRunner: 'none', prefix: 'excl', routing: true }, ​[Info]​ '@nx/angular:library': { linter: 'eslint', unitTestRunner: 'karma', prefix: 'excl', buildable: true }, ​[Info]​ '@nx/angular:component': { style: 'scss', changeDetection: 'OnPush' }, ​[Info]​ '@nx/angular:scam': { style: 'scss', changeDetection: 'OnPush', export: true, inlineScam: false }, ​[Info]​ '@nx/angular:storybook-configuration': { configureCypress: false, generateCypressSpecs: false, generateStories: true }, ​[Info]​ '@nx/angular:stories': { generateCypressSpecs: false } ​[Info]​ }, ​[Info]​ plugins: [ '@exclaimer/plugins/dotnet-project-graph', '@exclaimer/workspace-plugin' ] ​[Info]​ } ​[Info]​ 2023-10-26T09:40:51.105Z angular/cli config Error: 'C:\Projects\exclaimercloud-ui\nx.json' is not a valid Angular CLI file. ​[Info]​ at Object.configure (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:144:15698) ​[Info]​ at automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:132:12007) ​[Info]​ at automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:132:11892) ​[Info]​ at automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:132:11892) ​[Info]​ at Config.load (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:132:11832) ​[Info]​ 2023-10-26T09:40:51.105Z config Finished attempting automatic configuration for angular (1889ms) ​[Info]​ 2023-10-26T09:40:51.105Z config Attempting automatic configuration for jest ​[Info]​ 2023-10-26T09:40:51.106Z jest/config Detecting Jest. ​[Info]​ 2023-10-26T09:40:51.111Z jest/config Error: Module jest-cli is not found in 'C:\Projects\exclaimercloud-ui'. ​[Info]​ at Object.loadJest (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:496:1070) ​[Info]​ at n (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:184:23339) ​[Info]​ at Object.configure (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:184:26449) ​[Info]​ at automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:132:12015) ​[Info]​ at automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:132:11892) ​[Info]​ at Config.load (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:132:11832) ​[Info]​ 2023-10-26T09:40:51.111Z config Finished attempting automatic configuration for jest (6ms) ​[Info]​ 2023-10-26T09:40:51.111Z config Attempting automatic configuration for vitest ​[Info]​ 2023-10-26T09:40:51.111Z vitest/config Detecting Vitest. ​​[Error] Failed to load configuration file: Automatic Angular CLI configuration error: '.\nx.json' is not a valid Angular CLI file. ​​ ​​[Error] ​​ ​​[Error] We've also tried to automatically configure Wallaby.js for other frameworks ​​ ​​[Error] Automatic Jest configuration error: Module jest-cli is not found in '.'. ​​ ​​[Error] Automatic Vitest configuration error: Vitest dependency not found.​​ ​​[Error] Please refer to our docs: https://wallabyjs.com/docs/config/overview.html ​​ ​[Info]​ 2023-10-26T09:40:51.112Z vitest/config Error: Vitest dependency not found. ​[Info]​ at Object.configure (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:185:1508) ​[Info]​ at automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:132:12015) ​[Info]​ at Config.load (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:132:11832) ​[Info]​ 2023-10-26T09:40:51.112Z config Finished attempting automatic configuration for vitest (1ms) ​[Info]​ 2023-10-26T09:40:51.117Z extended-core Setting preferences

smcenlly commented 10 months ago

Unfortunately we cannot reproduce your problem and will need some additional details to proceed.

Can you please share your package.json and relevant lock file (e.g. package-lock.json or yarn.lock).

Could you also please tell us how you are installing your dependencies? (e.g. yarn install, npm install, etc.)

GabrielAPineiro commented 10 months ago

{ "name": "exclaimer", "version": "0.0.0", "private": true, "scripts": { "start": "nx serve", "build": "nx build", "test": "nx test", "npm-auth": "vsts-npm-auth -config .npmrc", "install:warp": "warp-cli disconnect && yarn install && warp-cli connect", "load-configs": "npx zx tools/scripts/load-dev-configs.mjs", "compose": "yarn run load-configs && cd scripts/docker-compose && pwsh compose-cli.ps1 2", "restore": "yarn run restore:cloud-ui && yarn run restore:signature-analytics", "restore:cloud-ui": "dotnet restore apps/cloud-ui/backend/ExclaimerCloud.UI", "restore:signature-analytics": "dotnet restore apps/signature-analytics/backend/Exclaimer.Signature.Analytics.Api", "start:frontend": "concurrently --kill-others \"npm run start:frontend:cloud-ui\" \"npm run start:frontend:signature-analytics\"", "start:frontend:cloud-ui": "nx serve cloud-ui-frontend", "start:frontend:signature-analytics": "nx serve signature-analytics-frontend", "start:frontend:signature-tester": "nx serve signature-tester-frontend", "start:frontend:visual-trial": "nx serve visual-trial-frontend", "start:backend": "concurrently --kill-others \"npm run start:backend:cloud-ui\" \"npm run start:backend:signature-analytics\"", "start:backend:cloud-ui": "nx serve cloud-ui-backend", "start:backend:signature-analytics": "nx serve signature-analytics-backend", "nx:migrate": "nx migrate latest --interactive", "nx:migrate:run": "nx migrate --run-migrations" }, "workspaces": [ "apps/cloud-ui/frontend" ], "dependencies": { "@angular-architects/module-federation": "16.0.4", "@angular/animations": "16.2.10", "@angular/cdk": "16.2.9", "@angular/common": "16.2.10", "@angular/compiler": "16.2.10", "@angular/core": "16.2.10", "@angular/forms": "16.2.10", "@angular/platform-browser": "16.2.10", "@angular/platform-browser-dynamic": "16.2.10", "@angular/router": "16.2.10", "@datadog/browser-rum": "4.50.1", "@exclaimer/common": "9.7.0", "@exclaimer/types": "9.8.0", "@exclaimer/ui": "9.13.0", "@ngx-translate/core": "14.0.0", "@ngxs/devtools-plugin": "3.8.1", "@ngxs/form-plugin": "3.8.1", "@ngxs/storage-plugin": "3.8.1", "@ngxs/store": "3.8.1", "angular-google-tag-manager": "1.8.0", "date-fns": "2.30.0", "highcharts": "10.3.3", "highcharts-angular": "3.1.2", "immer": "9.0.21", "normalizr": "3.6.2", "rxjs": "7.8.1", "tslib": "2.6.2", "xstate": "4.26.1", "zone.js": "0.14.0" }, "devDependencies": { "@angular-devkit/build-angular": "16.2.7", "@angular-devkit/core": "16.2.7", "@angular-devkit/schematics": "16.2.7", "@angular-eslint/eslint-plugin": "16.2.0", "@angular-eslint/eslint-plugin-template": "16.2.0", "@angular-eslint/template-parser": "16.2.0", "@angular/cli": "16.2.7", "@angular/compiler-cli": "16.2.10", "@angular/language-service": "16.2.10", "@babel/core": "7.23.2", "@exclaimer/eslint-config": "2.2.1", "@exclaimer/eslint-config-angular-template": "2.0.1", "@exclaimer/prettier-config": "3.1.2", "@exclaimer/stylelint-config": "2.0.0", "@exclaimer/tsconfig": "2.0.0", "@nx-dotnet/core": "1.23.0", "@nx-dotnet/dotnet": "1.23.0", "@nx/angular": "16.10.0", "@nx/devkit": "16.10.0", "@nx/eslint-plugin": "16.10.0", "@nx/js": "16.10.0", "@nx/linter": "16.10.0", "@nx/plugin": "16.10.0", "@nx/storybook": "16.10.0", "@nx/workspace": "16.10.0", "@nrwl/devkit": "16.10.0", "@openapitools/openapi-generator-cli": "2.7.0", "@phenomnomnominal/tsquery": "4.2.0", "@schematics/angular": "16.2.7", "@storybook/addon-a11y": "7.5.1", "@storybook/addon-actions": "7.5.1", "@storybook/addon-essentials": "7.5.1", "@storybook/addon-interactions": "7.5.1", "@storybook/addon-storysource": "7.5.1", "@storybook/addon-styling": "1.3.7", "@storybook/addon-viewport": "7.5.1", "@storybook/angular": "7.5.1", "@storybook/core-server": "7.5.1", "@storybook/testing-library": "0.1.0", "@storybook/types": "7.5.1", "@swc-node/register": "1.6.8", "@swc/cli": "0.1.62", "@swc/core": "1.3.95", "@swc/helpers": "0.5.3", "@trumbitta/nx-plugin-openapi": "1.12.1", "@types/jasmine": "4.6.1", "@types/node": "16.18.59", "@typescript-eslint/eslint-plugin": "5.62.0", "@typescript-eslint/parser": "5.62.0", "@xstate/inspect": "0.8.0", "axios": "0.27.2", "chromatic": "6.24.1", "concurrently": "7.6.0", "eslint": "8.52.0", "eslint-config-prettier": "8.10.0", "eslint-plugin-storybook": "0.6.15", "jasmine-core": "4.6.0", "jasmine-spec-reporter": "7.0.0", "jsonc-eslint-parser": "2.4.0", "karma": "6.4.2", "karma-chrome-launcher": "3.2.0", "karma-coverage": "2.2.1", "karma-jasmine": "5.1.0", "karma-jasmine-html-reporter": "2.1.0", "karma-junit-reporter": "2.0.1", "ng-mocks": "14.11.0", "ng-packagr": "16.2.3", "nx": "16.10.0", "nx-cloud": "16.5.2", "postcss": "8.4.31", "postcss-import": "14.1.0", "postcss-preset-env": "8.5.1", "postcss-url": "10.1.3", "prettier": "2.8.8", "react": "18.2.0", "react-dom": "18.2.0", "storybook": "7.5.1", "storybook-addon-designs": "6.3.1", "stylelint": "14.16.1", "typescript": "5.0.4", "vsts-npm-auth": "0.42.1", "webpack": "5.89.0" } } We install with yarn install

GabrielAPineiro commented 10 months ago

yarn.zip This is the yarn.lock, too big to paste haha

smcenlly commented 10 months ago

Unfortunately we're still struggling to reproduce your issue and identify why it's not working for you. We discovered another potential problem with our nx +@angular-devkit/build-angular:karma integration, but your Console Output shows that you're not even getting that far for that to be your problem.

To diagnose what's going wrong, we're going to need to reproduce your issue. I believe we're missing relevant parts of your configuration.

We've created a sample repo that has your nx.json, package.json, yarn.lock, and a similar nested project.

Can you please clone this repo and confirm it works for you after installing yarn with yarn install (we're expecting it to work). Once you've confirmed it's working, can you please compare it to your project and copy across the parts of your configuration that we have updated / missed / assumed? You should be able to get to the point where you can reproduce the same problem without any of your application code.

If you're able to share your project with us, you can do that too of course, but we figured it's likely proprietary and you're unable to do so.

GabrielAPineiro commented 10 months ago

I've tried your repo, but it didn't work. The error was different though

​[Info]​ 2023-10-30T10:44:53.178Z project waiting for initial run signal
​[Info]​ 2023-10-30T10:44:53.196Z config Attempting automatic configuration for angular
​[Info]​ 2023-10-30T10:44:53.196Z angular/cli config Detecting Angular CLI.
​[Info]​ Started Wallaby.js Core v1.0.1486
​[Info]​ 2023-10-30T10:44:53.382Z angular/cli config Detected Angular CLI.
​[Info]​ 2023-10-30T10:44:53.386Z extended-core Setting preferences
​[Info]​ 2023-10-30T10:44:53.387Z angular/cli config Angular currentDirPath: "C:\Projects\Wallaby", workspaceDirPath: "C:\Projects\Wallaby"
​[Info]​ 2023-10-30T10:44:53.394Z angular/cli karma project config Configuring.
​[Info]​ 2023-10-30T10:44:54.231Z angular/cli karma project config Calling test command for cloud-ui-frontend.
​[Info]​ 2023-10-30T10:44:54.231Z angular/cli config TypeError: Cannot read properties of undefined (reading 'error')
​[Info]​     at TestCommandModule.onMissingTarget (C:\Projects\Wallaby\node_modules\@angular\cli\src\command-builder\architect-base-command-module.js:161:20)
​[Info]​     at TestCommandModule.runSingleTarget (C:\Projects\Wallaby\node_modules\@angular\cli\src\command-builder\architect-base-command-module.js:37:25)
​[Info]​     at async TestCommandModule.run (C:\Projects\Wallaby\node_modules\@angular\cli\src\command-builder\architect-command-module.js:76:20)
​[Info]​     at async s.configure (c:\Users\Gabriel.Pineiro\.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:160:4144)
​[Info]​     at async Object.configure (c:\Users\Gabriel.Pineiro\.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:144:18285)
​[Info]​     at async automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro\.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:132:12007)
​[Info]​     at async automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro\.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:132:11892)
​[Info]​     at async automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro\.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:132:11892)
​[Info]​     at async Config.load (c:\Users\Gabriel.Pineiro\.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:132:11832)
​[Info]​ 2023-10-30T10:44:54.234Z angular/cli config Angular.json: 
​[Info]​  {
​[Info]​   version: 2,
​[Info]​   projects: {
​[Info]​     'cloud-ui-frontend': {
​[Info]​       name: 'cloud-ui-frontend',
​[Info]​       root: 'apps/cloud-ui/frontend',
​[Info]​       '$schema': '../../../node_modules/nx/schemas/project-schema.json',
​[Info]​       projectType: 'application',
​[Info]​       sourceRoot: 'apps/cloud-ui/frontend/src',
​[Info]​       prefix: 'app',
​[Info]​       targets: {
​[Info]​         build: {
​[Info]​           executor: '@nx/angular:webpack-browser',
​[Info]​           outputs: [ '{options.outputPath}' ],
​[Info]​           options: {
​[Info]​             outputPath: 'dist/apps/cloud-ui/frontend',
​[Info]​             index: 'apps/cloud-ui/frontend/src/index.html',
​[Info]​             main: 'apps/cloud-ui/frontend/src/main.ts',
​[Info]​             polyfills: 'apps/cloud-ui/frontend/src/polyfills.ts',
​[Info]​             tsConfig: 'apps/cloud-ui/frontend/tsconfig.app.json',
​[Info]​             inlineStyleLanguage: 'scss',
​[Info]​             assets: [
​[Info]​               'apps/cloud-ui/frontend/src/favicon.ico',
​[Info]​               'apps/cloud-ui/frontend/src/assets',
​[Info]​               'apps/cloud-ui/frontend/src/web.config',
​[Info]​               'apps/cloud-ui/frontend/src/.npmrc',
​[Info]​               { input: 'libs/cloud-ui/i18n/src/translations', glob: '**/*', output: 'assets/i18n' },
​[Info]​               { input: 'libs/shared/common/src/lib/i18n/translations', glob: '**/*', output: 'assets/i18n/common' },
​[Info]​               { input: 'libs/social-feeds/frontend/i18n/src/translations', glob: '**/*', output: 'assets/i18n/social-feeds' }
​[Info]​             ],
​[Info]​             styles: [],
​[Info]​             scripts: [],
​[Info]​             customWebpackConfig: { path: 'apps/cloud-ui/frontend/webpack.config.js' },
​[Info]​             buildLibsFromSource: true
​[Info]​           },
​[Info]​           configurations: {
​[Info]​             production: {
​[Info]​               budgets: [ { type: 'initial', maximumWarning: '500kb', maximumError: '3mb' }, { type: 'anyComponentStyle', maximumWarning: '2kb', maximumError: '15kb' } ],
​[Info]​               fileReplacements: [ { replace: 'apps/cloud-ui/frontend/src/environments/environment.ts', with: 'apps/cloud-ui/frontend/src/environments/environment.prod.ts' } ],
​[Info]​               outputHashing: 'all',
​[Info]​               customWebpackConfig: { path: 'apps/cloud-ui/frontend/webpack.prod.config.js' }
​[Info]​             },
​[Info]​             development: { buildOptimizer: false, optimization: false, vendorChunk: true, extractLicenses: false, sourceMap: true, namedChunks: true }
​[Info]​           },
​[Info]​           defaultConfiguration: 'production'
​[Info]​         },
​[Info]​         serve: {
​[Info]​           executor: '@nx/angular:webpack-dev-server',
​[Info]​           configurations: { production: { browserTarget: 'cloud-ui-frontend:build:production' }, development: { browserTarget: 'cloud-ui-frontend:build:development' } },
​[Info]​           defaultConfiguration: 'development',
​[Info]​           options: { port: 4200, publicHost: 'https://localhost:5001' }
​[Info]​         },
​[Info]​         'extract-i18n': { executor: '@angular-devkit/build-angular:extract-i18n', options: { browserTarget: 'cloud-ui-frontend:build' } },
​[Info]​         lint: { executor: '@nx/linter:eslint', options: { lintFilePatterns: [ 'apps/cloud-ui/frontend/src/**/*.ts', 'apps/cloud-ui/frontend/src/**/*.html' ] } },
​[Info]​         test: {
​[Info]​           executor: '@angular-devkit/build-angular:karma',
​[Info]​           options: {
​[Info]​             main: 'apps/cloud-ui/frontend/src/test.ts',
​[Info]​             tsConfig: 'apps/cloud-ui/frontend/tsconfig.spec.json',
​[Info]​             karmaConfig: 'apps/cloud-ui/frontend/karma.conf.js',
​[Info]​             polyfills: 'apps/cloud-ui/frontend/src/polyfills.ts',
​[Info]​             styles: [],
​[Info]​             scripts: [],
​[Info]​             assets: []
​[Info]​           },
​[Info]​           configurations: { production: { watch: false, browsers: 'ChromeHeadlessNoSandbox' } },
​[Info]​           builder: '@angular-devkit/build-angular:karma'
​[Info]​         },
​[Info]​         'serve-mfe': { executor: 'nx:run-commands', options: { commands: [ 'nx serve signature-analytics-frontend', 'nx serve cloud-ui-frontend' ] } },
​[Info]​         storybook: {
​[Info]​           executor: '@storybook/angular:start-storybook',
​[Info]​           options: { port: 4400, configDir: 'apps/cloud-ui/frontend/.storybook', browserTarget: 'cloud-ui-frontend:build', compodoc: false, styles: [] },
​[Info]​           configurations: { ci: { quiet: true } }
​[Info]​         },
​[Info]​         'build-storybook': {
​[Info]​           executor: '@storybook/angular:build-storybook',
​[Info]​           outputs: [ '{options.outputDir}' ],
​[Info]​           options: { outputDir: 'dist/storybook/cloud-ui-frontend', configDir: 'apps/cloud-ui/frontend/.storybook', browserTarget: 'cloud-ui-frontend:build', compodoc: false, styles: [] },
​[Info]​           configurations: { ci: { quiet: true } }
​[Info]​         }
​[Info]​       },
​[Info]​       tags: [ 'scope:cloud-ui', 'type:app' ],
​[Info]​       architect: {
​[Info]​         build: {
​[Info]​           executor: '@nx/angular:webpack-browser',
​[Info]​           outputs: [ '{options.outputPath}' ],
​[Info]​           options: {
​[Info]​             outputPath: 'dist/apps/cloud-ui/frontend',
​[Info]​             index: 'apps/cloud-ui/frontend/src/index.html',
​[Info]​             main: 'apps/cloud-ui/frontend/src/main.ts',
​[Info]​             polyfills: 'apps/cloud-ui/frontend/src/polyfills.ts',
​[Info]​             tsConfig: 'apps/cloud-ui/frontend/tsconfig.app.json',
​[Info]​             inlineStyleLanguage: 'scss',
​[Info]​             assets: [
​[Info]​               'apps/cloud-ui/frontend/src/favicon.ico',
​[Info]​               'apps/cloud-ui/frontend/src/assets',
​[Info]​               'apps/cloud-ui/frontend/src/web.config',
​[Info]​               'apps/cloud-ui/frontend/src/.npmrc',
​[Info]​               { input: 'libs/cloud-ui/i18n/src/translations', glob: '**/*', output: 'assets/i18n' },
​[Info]​               { input: 'libs/shared/common/src/lib/i18n/translations', glob: '**/*', output: 'assets/i18n/common' },
​[Info]​               { input: 'libs/social-feeds/frontend/i18n/src/translations', glob: '**/*', output: 'assets/i18n/social-feeds' }
​[Info]​             ],
​[Info]​             styles: [],
​[Info]​             scripts: [],
​[Info]​             customWebpackConfig: { path: 'apps/cloud-ui/frontend/webpack.config.js' },
​[Info]​             buildLibsFromSource: true
​[Info]​           },
​[Info]​           configurations: {
​[Info]​             production: {
​[Info]​               budgets: [ { type: 'initial', maximumWarning: '500kb', maximumError: '3mb' }, { type: 'anyComponentStyle', maximumWarning: '2kb', maximumError: '15kb' } ],
​[Info]​               fileReplacements: [ { replace: 'apps/cloud-ui/frontend/src/environments/environment.ts', with: 'apps/cloud-ui/frontend/src/environments/environment.prod.ts' } ],
​[Info]​               outputHashing: 'all',
​[Info]​               customWebpackConfig: { path: 'apps/cloud-ui/frontend/webpack.prod.config.js' }
​[Info]​             },
​[Info]​             development: { buildOptimizer: false, optimization: false, vendorChunk: true, extractLicenses: false, sourceMap: true, namedChunks: true }
​[Info]​           },
​[Info]​           defaultConfiguration: 'production'
​[Info]​         },
​[Info]​         serve: {
​[Info]​           executor: '@nx/angular:webpack-dev-server',
​[Info]​           configurations: { production: { browserTarget: 'cloud-ui-frontend:build:production' }, development: { browserTarget: 'cloud-ui-frontend:build:development' } },
​[Info]​           defaultConfiguration: 'development',
​[Info]​           options: { port: 4200, publicHost: 'https://localhost:5001' }
​[Info]​         },
​[Info]​         'extract-i18n': { executor: '@angular-devkit/build-angular:extract-i18n', options: { browserTarget: 'cloud-ui-frontend:build' } },
​[Info]​         lint: { executor: '@nx/linter:eslint', options: { lintFilePatterns: [ 'apps/cloud-ui/frontend/src/**/*.ts', 'apps/cloud-ui/frontend/src/**/*.html' ] } },
​[Info]​         test: {
​[Info]​           executor: '@angular-devkit/build-angular:karma',
​[Info]​           options: {
​[Info]​             main: 'apps/cloud-ui/frontend/src/test.ts',
​[Info]​             tsConfig: 'apps/cloud-ui/frontend/tsconfig.spec.json',
​[Info]​             karmaConfig: 'apps/cloud-ui/frontend/karma.conf.js',
​[Info]​             polyfills: 'apps/cloud-ui/frontend/src/polyfills.ts',
​[Info]​             styles: [],
​[Info]​             scripts: [],
​[Info]​             assets: []
​[Info]​           },
​[Info]​           configurations: { production: { watch: false, browsers: 'ChromeHeadlessNoSandbox' } },
​[Info]​           builder: '@angular-devkit/build-angular:karma'
​[Info]​         },
​[Info]​         'serve-mfe': { executor: 'nx:run-commands', options: { commands: [ 'nx serve signature-analytics-frontend', 'nx serve cloud-ui-frontend' ] } },
​[Info]​         storybook: {
​[Info]​           executor: '@storybook/angular:start-storybook',
​[Info]​           options: { port: 4400, configDir: 'apps/cloud-ui/frontend/.storybook', browserTarget: 'cloud-ui-frontend:build', compodoc: false, styles: [] },
​[Info]​           configurations: { ci: { quiet: true } }
​[Info]​         },
​[Info]​         'build-storybook': {
​[Info]​           executor: '@storybook/angular:build-storybook',
​[Info]​           outputs: [ '{options.outputDir}' ],
​[Info]​           options: { outputDir: 'dist/storybook/cloud-ui-frontend', configDir: 'apps/cloud-ui/frontend/.storybook', browserTarget: 'cloud-ui-frontend:build', compodoc: false, styles: [] },
​[Info]​           configurations: { ci: { quiet: true } }
​[Info]​         }
​[Info]​       }
​[Info]​     }
​[Info]​   },
​[Info]​   '$schema': './node_modules/nx/schemas/nx-schema.json',
​[Info]​   npmScope: 'exclaimer',
​[Info]​   affected: { defaultBase: 'master' },
​[Info]​   cli: { defaultCollection: '@exclaimer/workspace-plugin' },
​[Info]​   tasksRunnerOptions: {
​[Info]​     default: {
​[Info]​       runner: 'nx-cloud',
​[Info]​       options: { cacheableOperations: [ 'build', 'lint', 'test', 'e2e', 'build-storybook' ], accessToken: '=' }
​[Info]​     }
​[Info]​   },
​[Info]​   targetDefaults: {
​[Info]​     build: { dependsOn: [ '^build' ], inputs: [ 'production', '^production' ] },
​[Info]​     test: { inputs: [ 'default', '^production', '{workspaceRoot}/karma.conf.js', '{workspaceRoot}/tools/karma/get-karma-config.js' ] },
​[Info]​     lint: { inputs: [ 'default', '{workspaceRoot}/.eslintrc.json', '{workspaceRoot}/.eslintignore', '{workspaceRoot}/tools/eslint/get-eslint-config.js', '{workspaceRoot}/.editorconfig' ] },
​[Info]​     e2e: { inputs: [ 'default', '^production' ] },
​[Info]​     'build-storybook': { inputs: [ 'default', '^storybookProduction', '{workspaceRoot}/.storybook/**/*' ] },
​[Info]​     chromatic: { dependsOn: [ 'build-storybook' ], inputs: [ 'default', '^storybookProduction' ] }
​[Info]​   },
​[Info]​   namedInputs: {
​[Info]​     default: [ '{projectRoot}/**/*', 'sharedGlobals' ],
​[Info]​     production: [
​[Info]​       'default',
​[Info]​       '!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)',
​[Info]​       '!{projectRoot}/**/*.md',
​[Info]​       '!{projectRoot}/tsconfig.spec.json',
​[Info]​       '!{projectRoot}/karma.conf.js',
​[Info]​       '!{projectRoot}/.eslintrc.json',
​[Info]​       '!{projectRoot}/.storybook/**/*',
​[Info]​       '!{projectRoot}/**/*.stories.@(js|jsx|ts|tsx|mdx)'
​[Info]​     ],
​[Info]​     storybookProduction: [ 'default', '!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)', '!{projectRoot}/tsconfig.spec.json', '!{projectRoot}/karma.conf.js', '!{projectRoot}/.eslintrc.json' ],
​[Info]​     sharedGlobals: []
​[Info]​   },
​[Info]​   generators: {
​[Info]​     '@nx/angular:application': { style: 'scss', linter: 'eslint', unitTestRunner: 'karma', e2eTestRunner: 'none', prefix: 'excl', routing: true },
​[Info]​     '@nx/angular:library': { linter: 'eslint', unitTestRunner: 'karma', prefix: 'excl', buildable: true },
​[Info]​     '@nx/angular:component': { style: 'scss', changeDetection: 'OnPush' },
​[Info]​     '@nx/angular:scam': { style: 'scss', changeDetection: 'OnPush', export: true, inlineScam: false },
​[Info]​     '@nx/angular:storybook-configuration': { configureCypress: false, generateCypressSpecs: false, generateStories: true },
​[Info]​     '@nx/angular:stories': { generateCypressSpecs: false }
​[Info]​   },
​[Info]​   configFileName: 'C:\\Projects\\Wallaby\\nx.json',
​[Info]​   nxWorkspace: true
​[Info]​ }
​[Info]​ 2023-10-30T10:44:54.234Z angular/cli config TypeError: Cannot read properties of undefined (reading 'error')
​[Info]​     at TestCommandModule.onMissingTarget (C:\Projects\Wallaby\node_modules\@angular\cli\src\command-builder\architect-base-command-module.js:161:20)
​[Info]​     at TestCommandModule.runSingleTarget (C:\Projects\Wallaby\node_modules\@angular\cli\src\command-builder\architect-base-command-module.js:37:25)
​[Info]​     at async TestCommandModule.run (C:\Projects\Wallaby\node_modules\@angular\cli\src\command-builder\architect-command-module.js:76:20)
​[Info]​     at async s.configure (c:\Users\Gabriel.Pineiro\.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:160:4144)
​[Info]​     at async Object.configure (c:\Users\Gabriel.Pineiro\.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:144:18285)
​[Info]​     at async automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro\.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:132:12007)
​[Info]​     at async automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro\.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:132:11892)
​[Info]​     at async automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro\.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:132:11892)
​[Info]​     at async Config.load (c:\Users\Gabriel.Pineiro\.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:132:11832)
​[Info]​ 2023-10-30T10:44:54.234Z config Finished attempting automatic configuration for angular (1038ms)
​[Info]​ 2023-10-30T10:44:54.234Z config Attempting automatic configuration for jest
​[Info]​ 2023-10-30T10:44:54.235Z jest/config Detecting Jest.
​[Info]​ 2023-10-30T10:44:54.236Z jest/config Error: Module jest-cli is not found in 'C:\Projects\Wallaby'.
​[Info]​     at Object.loadJest (c:\Users\Gabriel.Pineiro\.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:496:1070)
​[Info]​     at n (c:\Users\Gabriel.Pineiro\.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:184:23339)
​[Info]​     at Object.configure (c:\Users\Gabriel.Pineiro\.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:184:26449)
​[Info]​     at automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro\.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:132:12015)
​[Info]​     at async automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro\.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:132:11892)
​[Info]​     at async Config.load (c:\Users\Gabriel.Pineiro\.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:132:11832)
​[Info]​ 2023-10-30T10:44:54.236Z config Finished attempting automatic configuration for jest (2ms)
​[Info]​ 2023-10-30T10:44:54.236Z config Attempting automatic configuration for vitest
​[Info]​ 2023-10-30T10:44:54.237Z vitest/config Detecting Vitest.
​[Info]​ 2023-10-30T10:44:54.237Z vitest/config Error: Vitest dependency not found.
​[Info]​     at Object.configure (c:\Users\Gabriel.Pineiro\.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:185:1508)
​[Info]​     at automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro\.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:132:12015)
​[Info]​     at async Config.load (c:\Users\Gabriel.Pineiro\.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby30e004\server.js:132:11832)
​[Info]​ 2023-10-30T10:44:54.237Z config Finished attempting automatic configuration for vitest (1ms)
​​[Error] Failed to load configuration file: Automatic Angular CLI configuration error: Cannot read properties of undefined (reading 'error')
​​
​​[Error] 
​​
​​[Error] We've also tried to automatically configure Wallaby.js for other frameworks
​​
​​[Error] Automatic Jest configuration error: Module jest-cli is not found in '.'.
​​
​​[Error] Automatic Vitest configuration error: Vitest dependency not found.​​
​​[Error] Please refer to our docs: https://wallabyjs.com/docs/config/overview.html ​
smcenlly commented 10 months ago

We can see that you're not using the latest version of Wallaby:

​[Info]​ Started Wallaby.js Core v1.0.1486

Can you please update to Wallaby core v1.0.1488 and try again? You should be able to do this with the Wallaby.js: Force Core Update VS Code command.

GabrielAPineiro commented 10 months ago

I did the update, but it still not workingfor my project, but its working on the example project. I noticed the only difference between the nx.json from my project and your project is a plugins property. I removed from my nx.json and the error disappeared, it took some time but nx finished the run (Its actualy taking a long time)

image

Edit: Finally finished running everything. Before it was taking seconds, now it took 1.4min image

smcenlly commented 10 months ago

We'll need to understand what your plugins are doing to help further.

Are you able to check if it's just one plugin that causes the problem, or both? Just based on the name, I expect it's @exclaimer/workspace-plugin that's causing a problem. I assume you need these plugins for your project, and removing them is not a solution? Can you provide us with the source code for the plugins so we can use them ourselves?

You mention Before it was taking seconds, now it took 1.4min, do you mean outside of Wallaby? If so, this is likely because of NX affected test caching. If you run all tests with nx run-many --all --target=test then I think you will see similar execution times.

GabrielAPineiro commented 10 months ago

What I mean is when I did a wallaby reset cache or wallaby start, it took seconds for wallaby to run everything and be ready to show me the test results in each test file, like usual. Now it takes 1. min. I tried both plugins, it only worked when I removed both of them. The weird thing is even with the property empty, its giving me an error image

smcenlly commented 10 months ago

I tried both plugins, it only worked when I removed both of them. The weird thing is even with the property empty, it's giving me an error.

While this is reported as an error, it shouldn't actually cause a problem. We've updated our integration with NX to ignore these errors, so you shouldn't see these problems any more.

I'm a little unsure of what you did, you said:

What I mean is when I did a wallaby reset cache or wallaby start, it took seconds for wallaby to run everything and be ready to show me the test results in each test file, like usual. Now it takes 1. min.

Is this in the sample project that we created, or is this in your own project?

Can you please:

  1. Update to the latest version of Wallaby that ignores the invalid names (v1.0.1489).
  2. Provide the exact steps you took
  3. Provide your Wallaby Diagnostics report after you perform these steps

If that doesn't assist us further, we will need you to update the sample repo and provide us with the code for the plugins so we can see the sample repo breaking in the same way as your project.

GabrielAPineiro commented 10 months ago

What I do is I press ctrl + alt + P in my VS Code, then I run Wallaby Start or Reset Cache. Before the NX update, this process took seconds to finish. But now is taking a minute, sometimes almost two to complete and run all tests. The new version still has the same error ​[Info]​ Started Wallaby.js Core v1.0.1489 ​[Info]​ 2023-11-02T09:13:26.940Z angular/cli config Detected Angular CLI. ​[Info]​ 2023-11-02T09:13:26.940Z angular/cli config Error: 'C:\Projects\exclaimercloud-ui\nx.json' is not a valid Angular CLI file. ​[Info]​ at Object.configure (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby411bca\server.js:144:15698) ​[Info]​ at automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby411bca\server.js:132:12007) ​[Info]​ at automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby411bca\server.js:132:11892) ​[Info]​ at automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby411bca\server.js:132:11892) ​[Info]​ at Config.load (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby411bca\server.js:132:11832) ​[Info]​ 2023-11-02T09:13:26.943Z angular/cli config Angular.json: ​[Info]​ { ​[Info]​ '$schema': './node_modules/nx/schemas/nx-schema.json', ​[Info]​ npmScope: 'exclaimer', ​[Info]​ affected: { defaultBase: 'master' }, ​[Info]​ cli: { defaultCollection: '@exclaimer/workspace-plugin' }, ​[Info]​ tasksRunnerOptions: { ​[Info]​ default: { ​[Info]​ runner: 'nx-cloud', ​[Info]​ options: { cacheableOperations: [ 'build', 'lint', 'test', 'e2e', 'build-storybook' ], accessToken: '=' } ​[Info]​ } ​[Info]​ }, ​[Info]​ targetDefaults: { ​[Info]​ build: { dependsOn: [ '^build' ], inputs: [ 'production', '^production' ] }, ​[Info]​ test: { inputs: [ 'default', '^production', '{workspaceRoot}/karma.conf.js', '{workspaceRoot}/tools/karma/get-karma-config.js' ] }, ​[Info]​ lint: { inputs: [ 'default', '{workspaceRoot}/.eslintrc.json', '{workspaceRoot}/.eslintignore', '{workspaceRoot}/tools/eslint/get-eslint-config.js', '{workspaceRoot}/.editorconfig' ] }, ​[Info]​ e2e: { inputs: [ 'default', '^production' ] }, ​[Info]​ 'build-storybook': { inputs: [ 'default', '^storybookProduction', '{workspaceRoot}/.storybook//*' ] }, ​[Info]​ chromatic: { dependsOn: [ 'build-storybook' ], inputs: [ 'default', '^storybookProduction' ] } ​[Info]​ }, ​[Info]​ namedInputs: { ​[Info]​ default: [ '{projectRoot}/*/', 'sharedGlobals' ], ​[Info]​ production: [ ​[Info]​ 'default', ​[Info]​ '!{projectRoot}//?(*.)+(spec|test).[jt]s?(x)?(.snap)', ​[Info]​ '!{projectRoot}//*.md', ​[Info]​ '!{projectRoot}/tsconfig.spec.json', ​[Info]​ '!{projectRoot}/karma.conf.js', ​[Info]​ '!{projectRoot}/.eslintrc.json', ​[Info]​ '!{projectRoot}/.storybook/*/', ​[Info]​ '!{projectRoot}//*.stories.@(js|jsx|ts|tsx|mdx)' ​[Info]​ ], ​[Info]​ storybookProduction: [ 'default', '!{projectRoot}/*/?(.)+(spec|test).[jt]s?(x)?(.snap)', '!{projectRoot}/tsconfig.spec.json', '!{projectRoot}/karma.conf.js', '!{projectRoot}/.eslintrc.json' ], ​[Info]​ sharedGlobals: [] ​[Info]​ }, ​[Info]​ generators: { ​[Info]​ '@nx/angular:application': { style: 'scss', linter: 'eslint', unitTestRunner: 'karma', e2eTestRunner: 'none', prefix: 'excl', routing: true }, ​[Info]​ '@nx/angular:library': { linter: 'eslint', unitTestRunner: 'karma', prefix: 'excl', buildable: true }, ​[Info]​ '@nx/angular:component': { style: 'scss', changeDetection: 'OnPush' }, ​[Info]​ '@nx/angular:scam': { style: 'scss', changeDetection: 'OnPush', export: true, inlineScam: false }, ​[Info]​ '@nx/angular:storybook-configuration': { configureCypress: false, generateCypressSpecs: false, generateStories: true }, ​[Info]​ '@nx/angular:stories': { generateCypressSpecs: false } ​[Info]​ }, ​[Info]​ plugins: [ '@exclaimer/plugins/dotnet-project-graph', '@exclaimer/workspace-plugin' ] ​[Info]​ } ​[Info]​ 2023-11-02T09:13:26.943Z angular/cli config Error: 'C:\Projects\exclaimercloud-ui\nx.json' is not a valid Angular CLI file. ​[Info]​ at Object.configure (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby411bca\server.js:144:15698) ​[Info]​ at automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby411bca\server.js:132:12007) ​[Info]​ at automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby411bca\server.js:132:11892) ​[Info]​ at automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby411bca\server.js:132:11892) ​[Info]​ at Config.load (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby411bca\server.js:132:11832) ​[Info]​ 2023-11-02T09:13:26.943Z config Finished attempting automatic configuration for angular (2721ms) ​[Info]​ 2023-11-02T09:13:26.943Z config Attempting automatic configuration for jest ​[Info]​ 2023-11-02T09:13:26.944Z jest/config Detecting Jest. ​[Info]​ 2023-11-02T09:13:26.949Z jest/config Error: Module jest-cli is not found in 'C:\Projects\exclaimercloud-ui'. ​[Info]​ at Object.loadJest (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby411bca\server.js:496:1070) ​[Info]​ at n (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby411bca\server.js:184:23407) ​[Info]​ at Object.configure (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby411bca\server.js:184:26517) ​[Info]​ at automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby411bca\server.js:132:12015) ​[Info]​ at automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby411bca\server.js:132:11892) ​[Info]​ at Config.load (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby411bca\server.js:132:11832) ​[Info]​ 2023-11-02T09:13:26.949Z config Finished attempting automatic configuration for jest (6ms) ​[Info]​ 2023-11-02T09:13:26.949Z config Attempting automatic configuration for vitest ​[Info]​ 2023-11-02T09:13:26.950Z vitest/config Detecting Vitest. ​[Info]​ 2023-11-02T09:13:26.951Z vitest/config Error: Vitest dependency not found. ​[Info]​ at Object.configure (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby411bca\server.js:185:1508) ​[Info]​ at automaticConfigurationProviders.reduce.Promise.resolve.success (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby411bca\server.js:132:12015) ​[Info]​ at Config.load (c:\Users\Gabriel.Pineiro.vscode\extensions\wallabyjs.wallaby-vscode-1.0.371\wallaby411bca\server.js:132:11832) ​[Info]​ 2023-11-02T09:13:26.951Z config Finished attempting automatic configuration for vitest (2ms) ​​[Error] Failed to load configuration file: Automatic Angular CLI configuration error: '.\nx.json' is not a valid Angular CLI file. ​​ ​​[Error] ​​ ​​[Error] We've also tried to automatically configure Wallaby.js for other frameworks ​​ ​​[Error] Automatic Jest configuration error: Module jest-cli is not found in '.'. ​​ ​​[Error] Automatic Vitest configuration error: Vitest dependency not found.​​ ​​[Error] Please refer to our docs: https://wallabyjs.com/docs/config/overview.html ​​ ​[Info]​ 2023-11-02T09:13:26.956Z extended-core Setting preferences

I'll try to update the code in the sample repo

GabrielAPineiro commented 10 months ago

https://github.com/wallabyjs/wallaby-3284/pull/1 I've added the plugins here

smcenlly commented 10 months ago

What I do is I press ctrl + alt + P in my VS Code, then I run Wallaby Start or Reset Cache. Before the NX update, this process took seconds to finish. But now is taking a minute, sometimes almost two to complete and run all tests. The new version still has the same error

I'm a little confused. You're saying that it's taking a minute or two to complete and run all tests, but you're also saying you have the error and nothing is running.

Can you please explain in detail the exact steps you're taking so we can understand what is working, and what is failing?

I've added the plugins here

Thanks for the update. It looks like this is the pre-compiled source code and not the compiled source code. The project is completely broken for us with this change and we can't run it either from the command-line or from within Wallaby.


In terms of next steps, we will need a sample repo that breaks in the same way as your project. Since you are using some private dependencies, the best thing to do is zip the entire project folder (including your node_modules). It's probably too big to email to us, but if you have any privacy concerns about sharing with us, you can email a link to download to hello@wallabyjs.com.

GabrielAPineiro commented 10 months ago

If I remove the plugins line from my nx.json, I can run wallaby without any errors. In that instance, is taking minutes to run all tests.

smcenlly commented 10 months ago

If you run nx run-many --all --target=test from your project (with the plugins removed), how long does it take?

marleypowell commented 10 months ago

If I remove the plugins line from my nx.json, I can run wallaby without any errors. In that instance, is taking minutes to run all tests.

I think the execution time is a problem on our end. (jest would help with this)

Our tests really do take minutes to run.

GabrielAPineiro commented 10 months ago

But weirdly is it was pretty fast even with our tests taking minutes, before the update. After the update it feels wallaby is slower

smcenlly commented 10 months ago

It sounds like everything is working now, and that the time it is taking to run is expected. If you're noticing a difference between Wallaby performance and the command-line executing times (running the same tests), we'd be happy to take a further look.

I'm going to close the issue, but happy to reopen if you're still having problems.