wallabyjs / public

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

Unable to start Wallaby on existing Angular project. #3238

Closed jasonhick closed 1 year ago

jasonhick commented 1 year ago

Issue description or question

I am unable to start Wallaby on existing Angular project.

Error below is being shown:

‌[Error] Automatic Angular CLI configuration error: e.replace is not a function 
[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. 

Wallaby diagnostics report

"Copy Diagnostics Report" is not showing in the list of available commands. The code below is from the trace setting.

‍​[Info]​ 2023-06-29T11:47:02.384Z config Attempting automatic configuration for angular
​[Info]​ 2023-06-29T11:47:02.385Z angular/cli config Detecting Angular CLI.
​[Info]​ Started Wallaby.js Core v1.0.1436
​[Info]​ 2023-06-29T11:47:02.388Z angular/cli config Detected Angular CLI.
​[Info]​ 2023-06-29T11:47:02.389Z angular/cli config Angular currentDirPath: "/Users/HNFS/Sites/gfdtv-ui-portal-customer-quote", workspaceDirPath: "/Users/HNFS/Sites/gfdtv-ui-portal-customer-quote"
​[Info]​ 2023-06-29T11:47:02.391Z angular/cli karma project config Configuring.
​[Info]​ 2023-06-29T11:47:03.772Z angular/cli karma project config Calling test command for gfdtv-ui-portal-customer-quote.
​​[Error] Browserslist: caniuse-lite is outdated. Please run the following command: `npx browserslist --update-db`​​
​[Info]​ 2023-06-29T11:47:04.065Z angular/cli karma project config Initializing postprocessor.
​[Info]​ 2023-06-29T11:47:04.066Z angular/cli karma project config Sanitizing style rules.
​[Info]​ 2023-06-29T11:47:04.066Z angular/cli karma project config Sanitizing plugins.
​[Info]​ 2023-06-29T11:47:04.066Z angular/cli karma project config Setting up polyfills.
​[Info]​ 2023-06-29T11:47:04.066Z angular/cli karma project config Setting up styles.
​[Info]​ 2023-06-29T11:47:04.066Z angular/cli karma project config Setting up main file.
​[Info]​ 2023-06-29T11:47:04.069Z extended-core Setting preferences
​[Info]​ 2023-06-29T11:47:04.070Z angular/cli karma project config Using virtual /Users/HNFS/Sites/gfdtv-ui-portal-customer-quote/src/test.ts.
​[Info]​ 2023-06-29T11:47:04.070Z angular/cli karma project config Creating postprocessor.
​[Info]​ 2023-06-29T11:47:04.084Z angular/cli karma project config Created postprocessor.
​[Info]​ 2023-06-29T11:47:04.085Z angular/cli config TypeError: e.replace is not a function
​[Info]​     at Object.normalizePath (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:31:22975)
​[Info]​     at t.<anonymous> (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:18:65)
​[Info]​     at r (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:17:22375)
​[Info]​     at Object.next (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:17:21670)
​[Info]​     at o (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:17:21429)
​[Info]​ 2023-06-29T11:47:04.087Z angular/cli config Angular.json: 
​[Info]​  {
​[Info]​   '$schema': './node_modules/@angular/cli/lib/config/schema.json',
​[Info]​   version: 1,
​[Info]​   newProjectRoot: 'projects',
​[Info]​   projects: {
​[Info]​     'gfdtv-ui-portal-customer-quote': {
​[Info]​       projectType: 'application',
​[Info]​       schematics: { '@schematics/angular:component': { style: 'scss' } },
​[Info]​       root: '',
​[Info]​       sourceRoot: 'src',
​[Info]​       prefix: 'app',
​[Info]​       architect: {
​[Info]​         build: {
​[Info]​           builder: '@angular-devkit/build-angular:browser',
​[Info]​           options: {
​[Info]​             outputPath: 'dist/',
​[Info]​             deployUrl: '/quote/',
​[Info]​             index: { input: 'src/index.html', output: 'index.html' },
​[Info]​             assets: [ { glob: '**/*', input: 'src/assets', output: '/assets/' } ],
​[Info]​             main: 'src/main.ts',
​[Info]​             polyfills: 'src/polyfills.ts',
​[Info]​             tsConfig: 'tsconfig.app.json',
​[Info]​             aot: false,
​[Info]​             styles: [ 'src/assets/styles/styles.scss' ],
​[Info]​             stylePreprocessorOptions: {
​[Info]​               includePaths: [
​[Info]​                 'node_modules/gfdtv-ui-module-customer-style-config/dist',
​[Info]​                 'node_modules/gfdtv-ui-module-style-pixel-grid/dist',
​[Info]​                 'node_modules/gfdtv-ui-module-style-typography/dist',
​[Info]​                 'node_modules/gfdtv-ui-module-style-utils/dist',
​[Info]​                 'src/assets/styles'
​[Info]​               ]
​[Info]​             },
​[Info]​             scripts: [ { bundleName: 'gfdtv-analytics', input: 'node_modules/gfdtv-ui-module-analytics/dist/analytics-lib/bundles/gfdtv-analytics.min.js', inject: false } ]
​[Info]​           },
​[Info]​           configurations: {
​[Info]​             wiremock: {
​[Info]​               fileReplacements: [
​[Info]​                 { replace: 'src/assets/config/cdn.config.json', with: 'src/environments/wiremock/config/cdn.config.json' },
​[Info]​                 { replace: 'src/assets/config/config.json', with: 'src/environments/wiremock/config/local.config.json' },
​[Info]​                 { replace: 'src/assets/data/stripe.data.json', with: 'src/environments/wiremock/data/stripe.data.json' }
​[Info]​               ]
​[Info]​             },
​[Info]​             wiremockRemote: {
​[Info]​               fileReplacements: [
​[Info]​                 { replace: 'src/assets/config/cdn.config.json', with: 'src/environments/wiremock/config/cdn.config.json' },
​[Info]​                 { replace: 'src/assets/config/config.json', with: 'src/environments/wiremock/config/remote.config.json' },
​[Info]​                 { replace: 'src/assets/data/stripe.data.json', with: 'src/environments/wiremock/data/stripe.data.json' }
​[Info]​               ]
​[Info]​             },
​[Info]​             si: {
​[Info]​               fileReplacements: [
​[Info]​                 { replace: 'src/assets/config/cdn.config.json', with: 'src/environments/si/config/cdn.config.json' },
​[Info]​                 { replace: 'src/assets/config/config.json', with: 'src/environments/si/config/config.json' },
​[Info]​                 { replace: 'src/assets/data/stripe.data.json', with: 'src/environments/si/data/stripe.data.json' }
​[Info]​               ]
​[Info]​             },
​[Info]​             dev: {
​[Info]​               fileReplacements: [
​[Info]​                 { replace: 'src/assets/config/cdn.config.json', with: 'src/environments/dev/config/cdn.config.json' },
​[Info]​                 { replace: 'src/assets/config/config.json', with: 'src/environments/dev/config/config.json' },
​[Info]​                 { replace: 'src/assets/data/stripe.data.json', with: 'src/environments/dev/data/stripe.data.json' }
​[Info]​               ]
​[Info]​             },
​[Info]​             qa: {
​[Info]​               fileReplacements: [
​[Info]​                 { replace: 'src/assets/config/cdn.config.json', with: 'src/environments/qa/config/cdn.config.json' },
​[Info]​                 { replace: 'src/assets/config/config.json', with: 'src/environments/qa/config/config.json' },
​[Info]​                 { replace: 'src/assets/data/stripe.data.json', with: 'src/environments/qa/data/stripe.data.json' }
​[Info]​               ]
​[Info]​             },
​[Info]​             uat: {
​[Info]​               fileReplacements: [
​[Info]​                 { replace: 'src/assets/config/cdn.config.json', with: 'src/environments/uat/config/cdn.config.json' },
​[Info]​                 { replace: 'src/assets/config/config.json', with: 'src/environments/uat/config/config.json' },
​[Info]​                 { replace: 'src/assets/data/stripe.data.json', with: 'src/environments/uat/data/stripe.data.json' }
​[Info]​               ]
​[Info]​             },
​[Info]​             uat2: {
​[Info]​               fileReplacements: [
​[Info]​                 { replace: 'src/assets/config/cdn.config.json', with: 'src/environments/uat2/config/cdn.config.json' },
​[Info]​                 { replace: 'src/assets/config/config.json', with: 'src/environments/uat2/config/config.json' },
​[Info]​                 { replace: 'src/assets/data/stripe.data.json', with: 'src/environments/uat2/data/stripe.data.json' }
​[Info]​               ]
​[Info]​             },
​[Info]​             production: {
​[Info]​               fileReplacements: [ { replace: 'src/environments/environment.ts', with: 'src/environments/environment.prod.ts' } ],
​[Info]​               outputPath: 'dist/bundles/',
​[Info]​               deployUrl: '/quote/bundles/',
​[Info]​               index: { input: 'src/index.html', output: './../index.html' },
​[Info]​               assets: [ { glob: '**/*', input: 'src/assets', output: './../assets/' } ],
​[Info]​               optimization: true,
​[Info]​               outputHashing: 'all',
​[Info]​               sourceMap: false,
​[Info]​               extractCss: true,
​[Info]​               namedChunks: false,
​[Info]​               aot: true,
​[Info]​               extractLicenses: true,
​[Info]​               vendorChunk: false,
​[Info]​               buildOptimizer: true,
​[Info]​               budgets: [ { type: 'initial', maximumWarning: '2mb', maximumError: '5mb' }, { type: 'anyComponentStyle', maximumWarning: '6kb', maximumError: '10kb' } ]
​[Info]​             }
​[Info]​           }
​[Info]​         },
​[Info]​         serve: {
​[Info]​           builder: '@angular-devkit/build-angular:dev-server',
​[Info]​           options: { browserTarget: 'gfdtv-ui-portal-customer-quote:build' },
​[Info]​           configurations: {
​[Info]​             wiremock: { browserTarget: 'gfdtv-ui-portal-customer-quote:build:wiremock' },
​[Info]​             wiremockRemote: { browserTarget: 'gfdtv-ui-portal-customer-quote:build:wiremockRemote' },
​[Info]​             si: { browserTarget: 'gfdtv-ui-portal-customer-quote:build:si' },
​[Info]​             dev: { browserTarget: 'gfdtv-ui-portal-customer-quote:build:dev' },
​[Info]​             qa: { browserTarget: 'gfdtv-ui-portal-customer-quote:build:qa' },
​[Info]​             uat: { browserTarget: 'gfdtv-ui-portal-customer-quote:build:uat' },
​[Info]​             uat2: { browserTarget: 'gfdtv-ui-portal-customer-quote:build:uat2' },
​[Info]​             production: { browserTarget: 'gfdtv-ui-portal-customer-quote:build:production' }
​[Info]​           }
​[Info]​         },
​[Info]​         test: {
​[Info]​           builder: '@angular-devkit/build-angular:karma',
​[Info]​           options: {
​[Info]​             main: 'src/test.ts',
​[Info]​             polyfills: 'src/polyfills.ts',
​[Info]​             tsConfig: 'tsconfig.spec.json',
​[Info]​             karmaConfig: 'karma.conf.js',
​[Info]​             assets: [ { glob: '**/*', input: 'src/assets', output: '/assets/' } ],
​[Info]​             styles: [ 'src/assets/styles/styles.scss' ],
​[Info]​             stylePreprocessorOptions: {
​[Info]​               includePaths: [
​[Info]​                 'node_modules/gfdtv-ui-module-customer-style-config/dist',
​[Info]​                 'node_modules/gfdtv-ui-module-style-pixel-grid/dist',
​[Info]​                 'node_modules/gfdtv-ui-module-style-typography/dist',
​[Info]​                 'node_modules/gfdtv-ui-module-style-utils/dist',
​[Info]​                 'src/assets/styles'
​[Info]​               ]
​[Info]​             },
​[Info]​             scripts: [ 'src/assets/scripts/one-trust/one-trust-config.js' ]
​[Info]​           }
​[Info]​         },
​[Info]​         lint: { builder: '@angular-devkit/build-angular:tslint', options: { tsConfig: [ 'tsconfig.app.json', 'tsconfig.spec.json' ], exclude: [ '**/node_modules/**' ] } }
​[Info]​       }
​[Info]​     }
​[Info]​   },
​[Info]​   defaultProject: 'gfdtv-ui-portal-customer-quote'
​[Info]​ }
​[Info]​ 2023-06-29T11:47:04.087Z angular/cli config TypeError: e.replace is not a function
​[Info]​     at Object.normalizePath (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:31:22975)
​[Info]​     at t.<anonymous> (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:18:65)
​[Info]​     at r (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:17:22375)
​[Info]​     at Object.next (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:17:21670)
​[Info]​     at o (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:17:21429)
​[Info]​ 2023-06-29T11:47:04.087Z config Finished attempting automatic configuration for angular (1703ms)
​[Info]​ 2023-06-29T11:47:04.087Z config Attempting automatic configuration for jest
​[Info]​ 2023-06-29T11:47:04.088Z jest/config Detecting Jest.
​[Info]​ 2023-06-29T11:47:04.089Z jest/config Error: Module jest-cli is not found in '/Users/HNFS/Sites/gfdtv-ui-portal-customer-quote'.
​[Info]​     at Object.<anonymous> (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:32:5011)
​[Info]​     at r (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:31:20130)
​[Info]​     at Object.next (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:31:19425)
​[Info]​     at /Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:31:19334
​[Info]​     at new Promise (<anonymous>)
​[Info]​     at s (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:31:19128)
​[Info]​     at Object.loadJest (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:32:2609)
​[Info]​     at /Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:19:30281
​[Info]​     at r (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:20:2986)
​[Info]​     at Object.next (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:20:2281)
​[Info]​     at /Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:20:2190
​[Info]​     at new Promise (<anonymous>)
​[Info]​     at s (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:20:1984)
​[Info]​     at r (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:19:29969)
​[Info]​     at Object.<anonymous> (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:20:1661)
​[Info]​     at r (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:20:2986)
​[Info]​     at Object.next (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:20:2281)
​[Info]​     at /Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:20:2190
​[Info]​     at new Promise (<anonymous>)
​[Info]​     at s (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:20:1984)
​[Info]​     at Object.n [as configure] (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:20:1542)
​[Info]​     at Config.<anonymous> (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:15:24268)
​[Info]​     at r (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:15:15489)
​[Info]​     at Object.next (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:15:14784)
​[Info]​     at o (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:15:14533)
​[Info]​ 2023-06-29T11:47:04.089Z config Finished attempting automatic configuration for jest (2ms)
​[Info]​ 2023-06-29T11:47:04.089Z config Attempting automatic configuration for vitest
​[Info]​ 2023-06-29T11:47:04.090Z vitest/config Detecting Vitest.
​[Info]​ 2023-06-29T11:47:04.090Z vitest/config Error: Vitest dependency not found.
​[Info]​     at Object.<anonymous> (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:20:5203)
​[Info]​     at r (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:20:8459)
​[Info]​     at Object.next (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:20:7754)
​[Info]​     at /Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:20:7663
​[Info]​     at new Promise (<anonymous>)
​[Info]​     at n (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:20:7457)
​[Info]​     at Object.r [as configure] (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:20:4454)
​[Info]​     at Config.<anonymous> (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:15:24268)
​[Info]​     at r (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:15:15489)
​[Info]​     at Object.next (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:15:14784)
​[Info]​     at o (/Users/HNFS/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.362/wallabyf67947/server.js:15:14533)
​[Info]​ 2023-06-29T11:47:04.090Z config Finished attempting automatic configuration for vitest (1ms)
​​[Error] Failed to load configuration file: Automatic Angular CLI configuration error: e.replace is not a function​​
​​[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 ​​

Angular.json

{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  "newProjectRoot": "projects",
  "projects": {
    "gfdtv-ui-portal-customer-quote": {
      "projectType": "application",
      "schematics": {
        "@schematics/angular:component": {
          "style": "scss"
        }
      },
      "root": "",
      "sourceRoot": "src",
      "prefix": "app",
      "architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            "outputPath": "dist/",
            "deployUrl": "/quote/",
            "index": {
              "input": "src/index.html",
              "output": "index.html"
            },
            "assets": [
              {
                "glob": "**/*",
                "input": "src/assets",
                "output": "/assets/"
              }
            ],
            "main": "src/main.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "tsconfig.app.json",
            "aot": false,
            "styles": [
              "src/assets/styles/styles.scss"
            ],
            "stylePreprocessorOptions": {
              "includePaths": [
                "node_modules/gfdtv-ui-module-customer-style-config/dist",
                "node_modules/gfdtv-ui-module-style-pixel-grid/dist",
                "node_modules/gfdtv-ui-module-style-typography/dist",
                "node_modules/gfdtv-ui-module-style-utils/dist",
                "src/assets/styles"
              ]
            },
            "scripts": [
              {
                "bundleName": "gfdtv-analytics",
                "input": "node_modules/gfdtv-ui-module-analytics/dist/analytics-lib/bundles/gfdtv-analytics.min.js",
                "inject": false
              }
            ]
          },
          "configurations": {
            "wiremock": {
              "fileReplacements": [
                {
                  "replace": "src/assets/config/cdn.config.json",
                  "with": "src/environments/wiremock/config/cdn.config.json"
                },
                {
                  "replace": "src/assets/config/config.json",
                  "with": "src/environments/wiremock/config/local.config.json"
                },
                {
                  "replace": "src/assets/data/stripe.data.json",
                  "with": "src/environments/wiremock/data/stripe.data.json"
                }
              ]
            },
            "wiremockRemote": {
              "fileReplacements": [
                {
                  "replace": "src/assets/config/cdn.config.json",
                  "with": "src/environments/wiremock/config/cdn.config.json"
                },
                {
                  "replace": "src/assets/config/config.json",
                  "with": "src/environments/wiremock/config/remote.config.json"
                },
                {
                  "replace": "src/assets/data/stripe.data.json",
                  "with": "src/environments/wiremock/data/stripe.data.json"
                }
              ]
            },
            "si": {
              "fileReplacements": [
                {
                  "replace": "src/assets/config/cdn.config.json",
                  "with": "src/environments/si/config/cdn.config.json"
                },
                {
                  "replace": "src/assets/config/config.json",
                  "with": "src/environments/si/config/config.json"
                },
                {
                  "replace": "src/assets/data/stripe.data.json",
                  "with": "src/environments/si/data/stripe.data.json"
                }
              ]
            },
            "dev": {
              "fileReplacements": [
                {
                  "replace": "src/assets/config/cdn.config.json",
                  "with": "src/environments/dev/config/cdn.config.json"
                },
                {
                  "replace": "src/assets/config/config.json",
                  "with": "src/environments/dev/config/config.json"
                },
                {
                  "replace": "src/assets/data/stripe.data.json",
                  "with": "src/environments/dev/data/stripe.data.json"
                }
              ]
            },
            "qa": {
              "fileReplacements": [
                {
                  "replace": "src/assets/config/cdn.config.json",
                  "with": "src/environments/qa/config/cdn.config.json"
                },
                {
                  "replace": "src/assets/config/config.json",
                  "with": "src/environments/qa/config/config.json"
                },
                {
                  "replace": "src/assets/data/stripe.data.json",
                  "with": "src/environments/qa/data/stripe.data.json"
                }
              ]
            },
            "uat": {
              "fileReplacements": [
                {
                  "replace": "src/assets/config/cdn.config.json",
                  "with": "src/environments/uat/config/cdn.config.json"
                },
                {
                  "replace": "src/assets/config/config.json",
                  "with": "src/environments/uat/config/config.json"
                },
                {
                  "replace": "src/assets/data/stripe.data.json",
                  "with": "src/environments/uat/data/stripe.data.json"
                }
              ]
            },
            "uat2": {
              "fileReplacements": [
                {
                  "replace": "src/assets/config/cdn.config.json",
                  "with": "src/environments/uat2/config/cdn.config.json"
                },
                {
                  "replace": "src/assets/config/config.json",
                  "with": "src/environments/uat2/config/config.json"
                },
                {
                  "replace": "src/assets/data/stripe.data.json",
                  "with": "src/environments/uat2/data/stripe.data.json"
                }
              ]
            },
            "production": {
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.prod.ts"
                }
              ],
              "outputPath": "dist/bundles/",
              "deployUrl": "/quote/bundles/",
              "index": {
                "input": "src/index.html",
                "output": "./../index.html"
              },
              "assets": [
                {
                  "glob": "**/*",
                  "input": "src/assets",
                  "output": "./../assets/"
                }
              ],
              "optimization": true,
              "outputHashing": "all",
              "sourceMap": false,
              "extractCss": true,
              "namedChunks": false,
              "aot": true,
              "extractLicenses": true,
              "vendorChunk": false,
              "buildOptimizer": true,
              "budgets": [
                {
                  "type": "initial",
                  "maximumWarning": "2mb",
                  "maximumError": "5mb"
                },
                {
                  "type": "anyComponentStyle",
                  "maximumWarning": "6kb",
                  "maximumError": "10kb"
                }
              ]
            }
          }
        },
        "serve": {
          "builder": "@angular-devkit/build-angular:dev-server",
          "options": {
            "browserTarget": "gfdtv-ui-portal-customer-quote:build"
          },
          "configurations": {
            "wiremock": {
              "browserTarget": "gfdtv-ui-portal-customer-quote:build:wiremock"
            },
            "wiremockRemote": {
              "browserTarget": "gfdtv-ui-portal-customer-quote:build:wiremockRemote"
            },
            "si": {
              "browserTarget": "gfdtv-ui-portal-customer-quote:build:si"
            },
            "dev": {
              "browserTarget": "gfdtv-ui-portal-customer-quote:build:dev"
            },
            "qa": {
              "browserTarget": "gfdtv-ui-portal-customer-quote:build:qa"
            },
            "uat": {
              "browserTarget": "gfdtv-ui-portal-customer-quote:build:uat"
            },
            "uat2": {
              "browserTarget": "gfdtv-ui-portal-customer-quote:build:uat2"
            },
            "production": {
              "browserTarget": "gfdtv-ui-portal-customer-quote:build:production"
            }
          }
        },
        "test": {
          "builder": "@angular-devkit/build-angular:karma",
          "options": {
            "main": "src/test.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "tsconfig.spec.json",
            "karmaConfig": "karma.conf.js",
            "assets": [
              {
                "glob": "**/*",
                "input": "src/assets",
                "output": "/assets/"
              }
            ],
            "styles": [
              "src/assets/styles/styles.scss"
            ],
            "stylePreprocessorOptions": {
              "includePaths": [
                "node_modules/gfdtv-ui-module-customer-style-config/dist",
                "node_modules/gfdtv-ui-module-style-pixel-grid/dist",
                "node_modules/gfdtv-ui-module-style-typography/dist",
                "node_modules/gfdtv-ui-module-style-utils/dist",
                "src/assets/styles"
              ]
            },
            "scripts": [
              "src/assets/scripts/one-trust/one-trust-config.js"
            ]
          }
        },
        "lint": {
          "builder": "@angular-devkit/build-angular:tslint",
          "options": {
            "tsConfig": [
              "tsconfig.app.json",
              "tsconfig.spec.json"
            ],
            "exclude": [
              "**/node_modules/**"
            ]
          }
        }
      }
    }
  },
  "defaultProject": "gfdtv-ui-portal-customer-quote"
}

Package.json

{
  "name": "gfdtv-ui-portal-customer-quote",
  "version": "3.1.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve --open --configuration=dev --ssl=true --ssl-cert=ssl/server.crt --ssl-key=ssl/server.key",
    "start:si": "ng serve --open --configuration=si --ssl=false --ssl-cert=ssl/server.crt --ssl-key=ssl/server.key",
    "build": "ng build --prod",
    "test": "ng test",
    "lint": "ng lint",
    "cypress:open": "cypress open --project=tests --browser=chrome",
    "cypress:open:si": "HTTP_PROXY=http://tiny-proxy-poc-fe6eb37eb76b5b04.elb.eu-west-1.amazonaws.com:8888 cypress open --project=tests --browser=chrome --config-file=cypress.si.json",
    "cypress:run": "cypress run --project=tests --browser=chrome",
    "cypress:run:dev": "cypress run --project=tests --browser=chrome --config-file=cypress.dev.json",
    "cypress:run:qa": "cypress run --project=tests --browser=chrome --config-file=cypress.qa.json",
    "cypress:run:uat": "cypress run --project=tests --browser=chrome --config-file=cypress.uat.json",
    "cypress:run:uat2": "cypress run --project=tests --browser=chrome --config-file=cypress.uat2.json",
    "cypress:run:si": "HTTP_PROXY=http://tiny-proxy-poc-fe6eb37eb76b5b04.elb.eu-west-1.amazonaws.com:8888 cypress run --project=tests --browser=chrome --config-file=cypress.si.json",
    "cypress:run:staging": "cypress run --project=tests --browser=chrome --config-file=cypress.staging.json",
    "cypress:run:staging-secondary": "cypress run --project=tests --browser=chrome --config-file=cypress.staging-secondary.json",
    "deployment:lint": "sass-lint --verbose --max-warnings=0 && ng lint --format verbose && prettier --check '**/*.{ts,js,json}'",
    "deployment:test": "ng test --karma-config karma.conf.ci.js --code-coverage",
    "deployment:e2e:serve": "ng serve",
    "deployment:e2e:cypress": "cypress run --project=tests --browser=chrome",
    "deployment:e2e:cypress:focus": "cypress run --project=tests --browser=chrome --env TAGS=@focus",
    "deployment:e2e:cypress:sanity": "cypress run --project=tests --browser=chrome --env TAGS=@sanity",
    "deployment:e2e:cypress:regression": "cypress run --project=tests --browser=chrome --env TAGS=@regression",
    "deployment:e2e:report": "node tools/project/gfdtv-cucumber-reporter",
    "deployment:e2e": "start-server-and-test deployment:e2e:serve http://localhost:4200/quote deployment:e2e:cypress && npm run deployment:e2e:report",
    "deployment:e2e:focus": "start-server-and-test deployment:e2e:serve http://localhost:4200/quote deployment:e2e:cypress:focus && npm run deployment:e2e:report",
    "deployment:e2e:sanity": "start-server-and-test deployment:e2e:serve http://localhost:4200/quote deployment:e2e:cypress:sanity && npm run deployment:e2e:report",
    "deployment:e2e:regression": "start-server-and-test deployment:e2e:serve http://localhost:4200/quote deployment:e2e:cypress:regression && npm run deployment:e2e:report",
    "deployment:app-version": "node tools/global/app-version",
    "deployment:dist-verify": "node tools/global/dist-verify",
    "deployment:toggles-verify": "node tools/global/toggles-verify",
    "githook:pre-push": "sass-lint --no-exit --verbose && ng lint --force --format verbose && prettier --check '**/*.{ts,js,json}' || true",
    "githook:commit-msg": "node hooks/global/commit-msg",
    "debug:sass-lint": "sass-lint --no-exit --verbose",
    "debug:ng-lint": "ng lint --force --format verbose",
    "debug:prettier": "prettier --check '**/*.{ts,js,json}'"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "~8.2.14",
    "@angular/common": "~8.2.14",
    "@angular/compiler": "~8.2.14",
    "@angular/core": "~8.2.14",
    "@angular/forms": "~8.2.14",
    "@angular/platform-browser": "~8.2.14",
    "@angular/platform-browser-dynamic": "~8.2.14",
    "@angular/router": "~8.2.14",
    "dayjs": "^1.11.4",
    "gfdtv-ui-module-analytics": "^1.2.1",
    "gfdtv-ui-module-apm": "^2.0.1",
    "gfdtv-ui-module-bot-check": "^1.1.0",
    "gfdtv-ui-module-config-service": "^1.1.1",
    "gfdtv-ui-module-customer-accordion": "^2.0.4",
    "gfdtv-ui-module-customer-footer": "^2.0.1",
    "gfdtv-ui-module-customer-forms": "^4.0.1",
    "gfdtv-ui-module-customer-header": "^2.0.1",
    "gfdtv-ui-module-customer-links": "^1.4.1",
    "gfdtv-ui-module-customer-modal": "^2.0.3",
    "gfdtv-ui-module-customer-panel": "^1.0.2",
    "gfdtv-ui-module-customer-style-config": "0.0.3",
    "gfdtv-ui-module-form-validators": "^2.4.0",
    "gfdtv-ui-module-idle-timeout": "^1.0.5",
    "gfdtv-ui-module-one-trust": "0.0.1",
    "gfdtv-ui-module-storage": "^2.4.3",
    "gfdtv-ui-module-stripe-payments": "^1.2.1",
    "gfdtv-ui-module-style-pixel-grid": "^1.0.0",
    "gfdtv-ui-module-style-typography": "^1.0.0",
    "gfdtv-ui-module-style-utils": "0.0.2",
    "moment": "^2.29.1",
    "ng-bullet": "^1.0.3",
    "rxjs": "~6.4.0",
    "tslib": "^1.10.0",
    "zone.js": "~0.9.1"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.803.21",
    "@angular/cli": "~8.3.21",
    "@angular/compiler-cli": "~8.2.14",
    "@angular/language-service": "~8.2.14",
    "@cypress/webpack-preprocessor": "^5.4.2",
    "@types/cypress-cucumber-preprocessor": "^1.14.1",
    "@types/jasmine": "~3.3.8",
    "@types/jasminewd2": "~2.0.3",
    "@types/node": "~8.9.4",
    "codelyzer": "^5.0.0",
    "cypress": "^9.7.0",
    "cypress-cucumber-preprocessor": "^2.5.4",
    "cypress-terminal-report": "^3.3.4",
    "gfdtv-ui-cli": "^0.4.0",
    "jasmine-core": "~3.4.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~4.1.0",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.1",
    "karma-jasmine": "~2.0.1",
    "karma-jasmine-html-reporter": "^1.4.0",
    "karma-jasmine-seed-reporter": "^0.2.0",
    "multiple-cucumber-html-reporter": "^1.18.0",
    "prettier": "^1.16.4",
    "sass-lint": "^1.12.1",
    "start-server-and-test": "^1.11.2",
    "ts-loader": "^8.0.1",
    "ts-node": "~7.0.0",
    "tslint": "~5.15.0",
    "tslint-config-prettier": "^1.18.0",
    "typescript": "~3.5.3"
  },
  "engines": {
    "node": "=12.16.1",
    "npm": "=6.13.4"
  },
  "cypress-cucumber-preprocessor": {
    "nonGlobalStepDefinitions": true,
    "cucumberJson": {
      "generate": true,
      "outputFolder": "cypress/reports/tmp-output",
      "filePrefix": "",
      "fileSuffix": ".cucumber"
    }
  },
  "wallaby": {
    "trace": true
  }
}
smcenlly commented 1 year ago

Thanks for reporting the issue. We believe we have found and fixed the problem, related to using architect.build.options.index.input and architect.build.options.index.output. Wallaby was only expecting this to be a string and not an object in your configuration file.

Please update to the latest version of Wallaby core, v1.0.1437, it should work for you.

If you're still having problems, please let us know.