mediawiki/extensions/GrowthExperiments: main (log #1813755)

sourcepatches

This run took 216 seconds.

$ date
--- stdout ---
Fri Mar 21 01:36:37 UTC 2025

--- end ---
$ git clone file:///srv/git/mediawiki-extensions-GrowthExperiments.git repo --depth=1 -b master
--- stderr ---
Cloning into 'repo'...
--- stdout ---

--- end ---
$ git config user.name libraryupgrader
--- stdout ---

--- end ---
$ git config user.email tools.libraryupgrader@tools.wmflabs.org
--- stdout ---

--- end ---
$ git submodule update --init
--- stdout ---

--- end ---
$ grr init
--- stdout ---
Installed commit-msg hook.

--- end ---
$ git show-ref refs/heads/master
--- stdout ---
6455e1d02aa4b7305159098444b6f6146f250bcc refs/heads/master

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "@babel/helpers": {
      "name": "@babel/helpers",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1103026,
          "name": "@babel/helpers",
          "dependency": "@babel/helpers",
          "title": "Babel has inefficient RexExp complexity in generated code with .replace when transpiling named capturing groups",
          "url": "https://github.com/advisories/GHSA-968p-4wvh-cqc8",
          "severity": "moderate",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 6.2,
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<7.26.10"
        }
      ],
      "effects": [],
      "range": "<7.26.10",
      "nodes": [
        "node_modules/@babel/helpers"
      ],
      "fixAvailable": true
    },
    "@babel/runtime": {
      "name": "@babel/runtime",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1103025,
          "name": "@babel/runtime",
          "dependency": "@babel/runtime",
          "title": "Babel has inefficient RexExp complexity in generated code with .replace when transpiling named capturing groups",
          "url": "https://github.com/advisories/GHSA-968p-4wvh-cqc8",
          "severity": "moderate",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 6.2,
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<7.26.10"
        }
      ],
      "effects": [],
      "range": "<7.26.10",
      "nodes": [
        "node_modules/@babel/runtime"
      ],
      "fixAvailable": true
    },
    "babel-core": {
      "name": "babel-core",
      "severity": "critical",
      "isDirect": true,
      "via": [
        "babel-helpers",
        "babel-register",
        "babel-template",
        "babel-traverse",
        "json5"
      ],
      "effects": [
        "babel-register"
      ],
      "range": "5.8.20 - 7.0.0-beta.3",
      "nodes": [
        "node_modules/babel-core"
      ],
      "fixAvailable": {
        "name": "babel-core",
        "version": "4.7.16",
        "isSemVerMajor": true
      }
    },
    "babel-helpers": {
      "name": "babel-helpers",
      "severity": "critical",
      "isDirect": false,
      "via": [
        "babel-template"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/babel-helpers"
      ],
      "fixAvailable": true
    },
    "babel-register": {
      "name": "babel-register",
      "severity": "high",
      "isDirect": false,
      "via": [
        "babel-core"
      ],
      "effects": [
        "babel-core"
      ],
      "range": "*",
      "nodes": [
        "node_modules/babel-register"
      ],
      "fixAvailable": {
        "name": "babel-core",
        "version": "4.7.16",
        "isSemVerMajor": true
      }
    },
    "babel-template": {
      "name": "babel-template",
      "severity": "critical",
      "isDirect": false,
      "via": [
        "babel-traverse"
      ],
      "effects": [
        "babel-helpers"
      ],
      "range": "*",
      "nodes": [
        "node_modules/babel-template"
      ],
      "fixAvailable": true
    },
    "babel-traverse": {
      "name": "babel-traverse",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1096879,
          "name": "babel-traverse",
          "dependency": "babel-traverse",
          "title": "Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code",
          "url": "https://github.com/advisories/GHSA-67hx-6x53-jw92",
          "severity": "critical",
          "cwe": [
            "CWE-184",
            "CWE-697"
          ],
          "cvss": {
            "score": 9.4,
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"
          },
          "range": "<7.23.2"
        }
      ],
      "effects": [
        "babel-core",
        "babel-template"
      ],
      "range": "*",
      "nodes": [
        "node_modules/babel-traverse"
      ],
      "fixAvailable": {
        "name": "babel-core",
        "version": "4.7.16",
        "isSemVerMajor": true
      }
    },
    "json5": {
      "name": "json5",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1096543,
          "name": "json5",
          "dependency": "json5",
          "title": "Prototype Pollution in JSON5 via Parse Method",
          "url": "https://github.com/advisories/GHSA-9c47-m6qq-7p4h",
          "severity": "high",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 7.1,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:H"
          },
          "range": "<1.0.2"
        }
      ],
      "effects": [
        "babel-core"
      ],
      "range": "<1.0.2",
      "nodes": [
        "node_modules/babel-core/node_modules/json5"
      ],
      "fixAvailable": {
        "name": "babel-core",
        "version": "4.7.16",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 2,
      "high": 2,
      "critical": 4,
      "total": 8
    },
    "dependencies": {
      "prod": 1,
      "dev": 1294,
      "optional": 5,
      "peer": 0,
      "peerOptional": 0,
      "total": 1294
    }
  }
}

--- end ---
$ /usr/bin/composer install
--- stderr ---
No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
Loading composer repositories with package information
Updating dependencies
Lock file operations: 49 installs, 0 updates, 0 removals
  - Locking composer/pcre (3.3.2)
  - Locking composer/semver (3.4.3)
  - Locking composer/spdx-licenses (1.5.8)
  - Locking composer/xdebug-handler (3.0.5)
  - Locking dealerdirect/phpcodesniffer-composer-installer (v1.0.0)
  - Locking doctrine/annotations (2.0.2)
  - Locking doctrine/deprecations (1.1.4)
  - Locking doctrine/lexer (3.0.1)
  - Locking felixfbecker/advanced-json-rpc (v3.2.1)
  - Locking mediawiki/mediawiki-codesniffer (v46.0.0)
  - Locking mediawiki/mediawiki-phan-config (0.15.0)
  - Locking mediawiki/minus-x (1.1.3)
  - Locking mediawiki/phan-taint-check-plugin (6.1.0)
  - Locking microsoft/tolerant-php-parser (v0.1.2)
  - Locking netresearch/jsonmapper (v4.5.0)
  - Locking phan/phan (5.4.5)
  - Locking php-parallel-lint/php-console-color (v1.0.1)
  - Locking php-parallel-lint/php-console-highlighter (v1.0.0)
  - Locking php-parallel-lint/php-parallel-lint (v1.4.0)
  - Locking phpbench/container (2.2.2)
  - Locking phpbench/phpbench (1.4.1)
  - Locking phpcsstandards/phpcsextra (1.2.1)
  - Locking phpcsstandards/phpcsutils (1.0.12)
  - Locking phpdocumentor/reflection-common (2.2.0)
  - Locking phpdocumentor/reflection-docblock (5.6.1)
  - Locking phpdocumentor/type-resolver (1.10.0)
  - Locking phpstan/phpdoc-parser (2.1.0)
  - Locking psr/cache (3.0.0)
  - Locking psr/container (2.0.2)
  - Locking psr/log (3.0.2)
  - Locking sabre/event (5.1.7)
  - Locking seld/jsonlint (1.11.0)
  - Locking squizlabs/php_codesniffer (3.11.3)
  - Locking symfony/console (v7.2.1)
  - Locking symfony/deprecation-contracts (v3.5.1)
  - Locking symfony/filesystem (v7.2.0)
  - Locking symfony/finder (v7.2.2)
  - Locking symfony/options-resolver (v7.2.0)
  - Locking symfony/polyfill-ctype (v1.31.0)
  - Locking symfony/polyfill-intl-grapheme (v1.31.0)
  - Locking symfony/polyfill-intl-normalizer (v1.31.0)
  - Locking symfony/polyfill-mbstring (v1.31.0)
  - Locking symfony/polyfill-php80 (v1.31.0)
  - Locking symfony/process (v7.2.4)
  - Locking symfony/service-contracts (v3.5.1)
  - Locking symfony/string (v7.2.0)
  - Locking tysonandre/var_representation_polyfill (0.1.3)
  - Locking webmozart/assert (1.11.0)
  - Locking webmozart/glob (4.7.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 49 installs, 0 updates, 0 removals
  - Downloading webmozart/glob (4.7.0)
  - Downloading symfony/options-resolver (v7.2.0)
  - Downloading phpbench/container (2.2.2)
  - Downloading doctrine/annotations (2.0.2)
  - Downloading phpbench/phpbench (1.4.1)
 0/5 [>---------------------------]   0%
 5/5 [============================] 100%
  - Installing squizlabs/php_codesniffer (3.11.3): Extracting archive
  - Installing dealerdirect/phpcodesniffer-composer-installer (v1.0.0): Extracting archive
  - Installing composer/pcre (3.3.2): Extracting archive
  - Installing doctrine/lexer (3.0.1): Extracting archive
  - Installing symfony/polyfill-php80 (v1.31.0): Extracting archive
  - Installing phpcsstandards/phpcsutils (1.0.12): Extracting archive
  - Installing phpcsstandards/phpcsextra (1.2.1): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.31.0): Extracting archive
  - Installing composer/spdx-licenses (1.5.8): Extracting archive
  - Installing composer/semver (3.4.3): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v46.0.0): Extracting archive
  - Installing tysonandre/var_representation_polyfill (0.1.3): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.31.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.31.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.31.0): Extracting archive
  - Installing symfony/string (v7.2.0): Extracting archive
  - Installing symfony/deprecation-contracts (v3.5.1): Extracting archive
  - Installing psr/container (2.0.2): Extracting archive
  - Installing symfony/service-contracts (v3.5.1): Extracting archive
  - Installing symfony/console (v7.2.1): Extracting archive
  - Installing sabre/event (5.1.7): Extracting archive
  - Installing netresearch/jsonmapper (v4.5.0): Extracting archive
  - Installing microsoft/tolerant-php-parser (v0.1.2): Extracting archive
  - Installing webmozart/assert (1.11.0): Extracting archive
  - Installing phpstan/phpdoc-parser (2.1.0): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing doctrine/deprecations (1.1.4): Extracting archive
  - Installing phpdocumentor/type-resolver (1.10.0): Extracting archive
  - Installing phpdocumentor/reflection-docblock (5.6.1): Extracting archive
  - Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive
  - Installing psr/log (3.0.2): Extracting archive
  - Installing composer/xdebug-handler (3.0.5): Extracting archive
  - Installing phan/phan (5.4.5): Extracting archive
  - Installing mediawiki/phan-taint-check-plugin (6.1.0): Extracting archive
  - Installing mediawiki/mediawiki-phan-config (0.15.0): Extracting archive
  - Installing mediawiki/minus-x (1.1.3): Extracting archive
  - Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
  - Installing php-parallel-lint/php-parallel-lint (v1.4.0): Extracting archive
  - Installing webmozart/glob (4.7.0): Extracting archive
  - Installing symfony/process (v7.2.4): Extracting archive
  - Installing symfony/options-resolver (v7.2.0): Extracting archive
  - Installing symfony/finder (v7.2.2): Extracting archive
  - Installing symfony/filesystem (v7.2.0): Extracting archive
  - Installing seld/jsonlint (1.11.0): Extracting archive
  - Installing phpbench/container (2.2.2): Extracting archive
  - Installing psr/cache (3.0.0): Extracting archive
  - Installing doctrine/annotations (2.0.2): Extracting archive
  - Installing phpbench/phpbench (1.4.1): Extracting archive
  0/47 [>---------------------------]   0%
 20/47 [===========>----------------]  42%
 35/47 [====================>-------]  74%
 46/47 [===========================>]  97%
 47/47 [============================] 100%
2 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
23 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---
PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils

--- end ---
Upgrading n:stylelint-config-wikimedia from 0.17.2 -> 0.18.0
Upgrading n:vue from 3.4.27 -> 3.5.13
Upgrading n:@wikimedia/codex from 1.18.0 -> 1.21.1
$ /usr/bin/npm install
--- stderr ---
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR! 
npm ERR! While resolving: GrowthExperiments@undefined
npm ERR! Found: @wikimedia/codex@1.18.0
npm ERR! node_modules/@wikimedia/codex
npm ERR!   dev @wikimedia/codex@"1.21.1" from the root project
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! dev @wikimedia/codex@"1.21.1" from the root project
npm ERR! 
npm ERR! Conflicting peer dependency: vue@3.5.13
npm ERR! node_modules/vue
npm ERR!   peer vue@"^3.5.13" from @wikimedia/codex@1.21.1
npm ERR!   node_modules/@wikimedia/codex
npm ERR!     dev @wikimedia/codex@"1.21.1" from the root project
npm ERR! 
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR! 
npm ERR! 
npm ERR! For a full report see:
npm ERR! /cache/_logs/2025-03-21T01_36_44_929Z-eresolve-report.txt

npm ERR! A complete log of this run can be found in:
npm ERR!     /cache/_logs/2025-03-21T01_36_44_929Z-debug-0.log
--- stdout ---

--- end ---
$ rm -rf package-lock.json node_modules
--- stdout ---

--- end ---
$ /usr/bin/npm install
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wikimedia/codex@1.21.1',
npm WARN EBADENGINE   required: { npm: '>=10.8.1', node: '>=20' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wikimedia/codex-icons@1.21.1',
npm WARN EBADENGINE   required: { npm: '>=10.8.1', node: '>=20' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated osenv@0.1.5: This package is no longer supported.
npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated @babel/plugin-proposal-unicode-property-regex@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead.
npm WARN deprecated @babel/plugin-proposal-optional-catch-binding@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead.
npm WARN deprecated @babel/plugin-proposal-private-methods@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.
npm WARN deprecated @babel/plugin-proposal-numeric-separator@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.
npm WARN deprecated @babel/plugin-proposal-nullish-coalescing-operator@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.
npm WARN deprecated @babel/plugin-proposal-json-strings@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-json-strings instead.
npm WARN deprecated @babel/plugin-proposal-export-namespace-from@7.18.9: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-export-namespace-from instead.
npm WARN deprecated @babel/plugin-proposal-dynamic-import@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-dynamic-import instead.
npm WARN deprecated @babel/plugin-proposal-class-properties@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.
npm WARN deprecated @babel/plugin-proposal-logical-assignment-operators@7.20.7: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-logical-assignment-operators instead.
npm WARN deprecated @babel/plugin-proposal-class-static-block@7.21.0: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-static-block instead.
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm WARN deprecated @babel/plugin-proposal-optional-chaining@7.21.0: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.
npm WARN deprecated @babel/plugin-proposal-async-generator-functions@7.20.7: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.
npm WARN deprecated @babel/plugin-proposal-private-property-in-object@7.21.11: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead.
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
npm WARN deprecated @babel/plugin-proposal-object-rest-spread@7.20.7: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.
npm WARN deprecated formidable@1.2.6: Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau
npm WARN deprecated domexception@4.0.0: Use your platform's native DOMException instead
npm WARN deprecated superagent@6.1.0: Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
npm WARN deprecated core-js@2.6.12: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
--- stdout ---

added 1288 packages, and audited 1289 packages in 53s

170 packages are looking for funding
  run `npm fund` for details

6 vulnerabilities (2 high, 4 critical)

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.

--- end ---
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json

--- end ---
$ ./node_modules/.bin/grunt stylelint
--- stdout ---
Running "stylelint:all" (stylelint) task

modules/ext.growthExperiments.Homepage.styles/SuggestedEditsModule.less
   99:25  ✖  Needless disable for "declaration-no-important"  --report-needless-disables
  102:3   ✖  Unexpected !important                            declaration-no-important
  341:26  ✖  Needless disable for "declaration-no-important"  --report-needless-disables
  342:11  ✖  Unexpected !important                            declaration-no-important

modules/ext.growthExperiments.MentorDashboard/components/PersonalizedPraise/PersonalizedPraiseSettings.vue
  94:13  ✖  Cannot parse property value "0 @spacing-150 @spacing-100" for property "padding"  declaration-property-value-no-unknown

documentation/frontend/components/MultiPane.vue
  156:15  ✖  Cannot parse property value "all 500ms @animation-timing-function-base" for property "transition"  declaration-property-value-no-unknown
  160:14  ✖  Cannot parse property value "translateX( @size-full )" for property "transform"                    declaration-property-value-no-unknown
  165:14  ✖  Cannot parse property value "translateX( calc( -1 * @size-full ) )" for property "transform"       declaration-property-value-no-unknown
  169:14  ✖  Cannot parse property value "translateX( @size-full )" for property "transform"                    declaration-property-value-no-unknown
  173:14  ✖  Cannot parse property value "translateX( calc( -1 * @size-full ) )" for property "transform"       declaration-property-value-no-unknown

✖ 10 problems (10 errors, 0 warnings)


⚠ 10 warnings

Warning: Task "stylelint:all" failed. Use --force to continue.

Aborted due to warnings.

--- end ---
$ ./node_modules/.bin/stylelint modules/ext.growthExperiments.Homepage.styles/StartEmailModule.less modules/ext.growthExperiments.StructuredTask/addimage/AddImageCaptionInfoDialog.less modules/ext.growthExperiments.MentorDashboard/components/MenteeOverview/NoResults.vue modules/ext.growthExperiments.Account.styles/ConfirmEmail.less modules/ext.growthExperiments.StructuredTask.PreEdit/addlink/AddLinkOnboardingContent.less modules/ext.growthExperiments.MentorDashboard/styles/variables.less modules/ext.growthExperiments.StructuredTask/addimage/RecommendedImageToolbarDialog.less modules/vue-components/CText.vue modules/ext.growthExperiments.MentorDashboard/components/MenteeOverview/MenteeFilters.vue documentation/frontend/components/mixins.less modules/ext.growthExperiments.Account.styles/DonorSignupCampaign.less documentation/frontend/component-demos/filter-dialog/FilterDialogDemo.vue modules/ext.growthExperiments.HomepageDiscovery/HomepageDiscovery.less modules/ext.growthExperiments.StructuredTask/EditModeConfirmationDialog.less modules/utils/mixins.less modules/ext.growthExperiments.Homepage.Impact/components/StreakGraph.vue modules/ext.growthExperiments.StructuredTask/MachineSuggestionsMode.less modules/ext.growthExperiments.StructuredTask/StructuredTaskMessageDialog.less modules/ext.growthExperiments.Help/HelpPanelHomeButtonWidget.less modules/vue-components/CListItem.vue documentation/frontend/components/OnboardingDialog.vue modules/ext.growthExperiments.LevelingUp.InviteToSuggestedEdits/InviteToSuggestedEdits.less documentation/frontend/component-demos/add-link-dialog/AddLinkDialogDemo.vue modules/ext.growthExperiments.MentorDashboard/components/PersonalizedPraise/PersonalizedPraise.vue modules/ext.growthExperiments.HelpPanel/HelpPanelPopup.less documentation/frontend/component-demos/LanguageSelector.vue modules/ext.growthExperiments.MentorDashboard/components/MenteeOverview/MenteeFiltersForm.vue modules/ext.growthExperiments.Homepage.styles/TaskPreviewWidget.less modules/ext.growthExperiments.StructuredTask.PreEdit/addimage/AddImageOnboardingContent.less modules/ext.growthExperiments.HelpPanel/HelpPanelCta.less modules/ext.growthExperiments.Homepage.styles/ImpactModule.less modules/ext.growthExperiments.StructuredTask/addlink/RecommendedLinkRejectionDialog.less modules/ext.growthExperiments.Homepage.SuggestedEdits/SuggestionWidget.less modules/ext.growthExperiments.StructuredTask/StructuredTaskSaveDialog.less modules/ext.growthExperiments.PostEdit/PostEditDrawer.less modules/ext.growthExperiments.StructuredTask/addimage/RecommendedImageRejectionDialog.less modules/ext.growthExperiments.Account.styles/SpecialContributions.less modules/vue-components/CScoreCard.less modules/ext.growthExperiments.Homepage.styles/BaseModule.less modules/ext.growthExperiments.StructuredTask.PreEdit/addsectionimage/AddSectionImageOnboardingContent.less modules/vue-components/CPopper.vue modules/ext.growthExperiments.StructuredTask/StructuredTaskToolbarDialog.less modules/ext.growthExperiments.MentorDashboard/styles/BaseModule.less modules/ext.growthExperiments.MentorDashboard/components/DataTable/DataTablePagination.vue modules/ext.growthExperiments.MentorDashboard/components/PersonalizedPraise/PersonalizedPraiseSettingsForm.vue modules/ext.growthExperiments.Homepage.SuggestedEdits/ArticleCountWidget.less documentation/frontend/component-demos/onboarding-dialog/OnboardingDialogDemo.vue modules/ext.growthExperiments.MentorDashboard/components/DataTable/DataTableLimit.vue modules/ext.growthExperiments.HomepageDiscovery/HomepageDiscoveryMobile.less modules/ext.growthExperiments.Homepage.mobile/index.less documentation/frontend/component-demos/post-edit-dialog/PostEditDialogDemo.vue modules/ext.growthExperiments.Homepage.styles/EllipsisMenu.less modules/ext.growthExperiments.Homepage.SuggestedEdits/TopicSelectionWidget.less modules/vue-components/mixins.less documentation/frontend/component-demos/onboarding-simple-dialog/OnboardingSimpleDialogDemo.vue modules/ext.growthExperiments.PostEdit/PostEditPanel.less modules/ext.growthExperiments.StructuredTask.Surfacing/styles.less modules/vue-components/Skeleton.less modules/ext.growthExperiments.MentorDashboard/styles/MenteeOverview.less modules/ext.growthExperiments.Homepage.styles/BannerModule.less modules/ext.growthExperiments.Homepage.Impact/components/TrendChart.vue documentation/frontend/components/AddLinkDialog.vue modules/ext.growthExperiments.Homepage.styles/ConfirmEmailNotice.less modules/ext.growthExperiments.HelpPanel/SuggestedEditsGuidance.minerva.less modules/ext.growthExperiments.Homepage.styles/HelpModule.less modules/ext.growthExperiments.StructuredTask.PreEdit/StructuredTaskOnboardingContent.less modules/ext.growthExperiments.Help/HelpPanelSearchWidget.less modules/utils/variables.less modules/ext.growthExperiments.MentorDashboard/styles/Resources.less modules/ext.growthExperiments.Homepage.Impact/components/LayoutWrapper.vue documentation/frontend/components/AddImageDialog.vue modules/vue-components/CScoreCards.less modules/vue-components/CList.vue modules/ext.growthExperiments.Homepage.styles/CommunityUpdates.less modules/ext.growthExperiments.StructuredTask/addsectionimage/ceRecommendedImagePlaceholderNode.less modules/ext.growthExperiments.PostEdit/PostEditToastMessage.less modules/ext.growthExperiments.StructuredTask/addimage/AddImageSaveDialog.less modules/ext.growthExperiments.Homepage.styles/WelcomeSurveyReminderModule.less modules/ext.growthExperiments.StructuredTask/addlink/RecommendedLinkToolbarDialog.less modules/vue-components/CPopover.vue modules/ext.growthExperiments.MentorDashboard/components/PersonalizedPraise/PersonalizedPraiseSettings.vue modules/ext.growthExperiments.MentorDashboard/components/MenteeOverview/MenteeOverview.vue modules/ui-components/HelpPanelButton.less modules/ext.growthExperiments.Homepage.styles/MobileNoTasksWidget.less modules/vue-components/CScoreCards.vue modules/ext.growthExperiments.Homepage.Impact/components/RecentActivity.vue modules/ext.growthExperiments.Homepage.styles/StartEditingModule.less modules/ext.growthExperiments.Homepage.Impact/components/LayoutWrapper.less documentation/frontend/components/variables.less modules/ext.growthExperiments.MentorDashboard/MentorTools/MentorTools.less modules/vue-components/CScoreCard.vue documentation/frontend/component-demos/add-image-dialog/AddImageDialogDemo.vue modules/ext.growthExperiments.MentorDashboard/styles/Discovery.less modules/ext.growthExperiments.Homepage.Impact/styles/Impact.less modules/ext.growthExperiments.StructuredTask/addimage/ceRecommendedImageNode.less modules/ext.growthExperiments.Help/AskHelpPanel.less modules/ext.growthExperiments.Homepage.styles/MentorshipModule.less modules/ext.growthExperiments.Homepage.SuggestedEdits/TaskTypeSelectionWidget.less modules/ext.growthExperiments.StructuredTask/addimage/AddImageDetailsDialog.less modules/ext.growthExperiments.MentorDashboard/components/CNumberInput/CNumberInput.vue modules/ext.growthExperiments.StructuredTask/addimage/ceRecommendedImageCaptionNode.less modules/vue-components/CSparkline.vue modules/ext.growthExperiments.StructuredTask/addlink/AddLinkSaveDialog.less modules/ext.growthExperiments.MentorDashboard/components/MenteeOverview/MenteeSearch.vue modules/ext.growthExperiments.MentorDashboard/components/PersonalizedPraise/UserCard.vue modules/ext.growthExperiments.Homepage.styles/TaskExplanationWidget.less modules/ext.growthExperiments.Homepage.Impact/components/ErrorDisplay.vue modules/ext.growthExperiments.MentorDashboard/components/PersonalizedPraise/PersonalizedPraisePagination.vue documentation/frontend/component-demos/example-component/ExampleComponent.vue modules/ext.growthExperiments.Help/HelpPanelProcessDialog.less modules/ext.growthExperiments.Homepage.Impact/components/InfoBoxes.vue documentation/frontend/component-demos/DemoWrapper.vue documentation/frontend/component-demos/onboarding-stepper-demo/OnboardingStepperDemo.vue modules/ext.growthExperiments.Homepage.SuggestedEdits/SuggestionGroupWidget.less modules/ext.growthExperiments.StructuredTask/addimage/RecommendedImageViewer.less modules/ext.growthExperiments.Homepage.styles/Homepage.less modules/ext.growthExperiments.MentorDashboard/components/DataTable/DataTableCellValue.vue modules/ext.growthExperiments.Homepage.Impact/App.vue modules/ext.growthExperiments.MentorDashboard/components/DataTable/DataTableCellLink.vue modules/ext.growthExperiments.MentorDashboard/components/PersonalizedPraise/SkipMenteeDialog.vue modules/ext.growthExperiments.MentorDashboard/components/PersonalizedPraise/NoResults.vue modules/ext.growthExperiments.MentorDashboard/components/MenteeOverview/DataTableCellMentee.vue modules/ext.growthExperiments.Homepage.Impact/components/ImpactSummary.vue modules/ext.growthExperiments.StructuredTask.desktop/addimage/AddImageDesktopSaveDialog.less modules/ext.growthExperiments.Homepage.SuggestedEdits/MatchModeSelectWidget.less modules/ui-components/MultiPaneDialog.less documentation/frontend/component-demos/multi-pane/MultiPaneDemo.vue documentation/frontend/components/MultiPane.vue modules/ext.growthExperiments.Homepage.styles/SuggestedEditsModule.less modules/ext.growthExperiments.HelpPanel/SuggestedEditsGuidance.vector.less modules/ext.growthExperiments.Homepage.SuggestedEdits/StartEditingDialog.less modules/ext.growthExperiments.Homepage.Impact/components/Impact.less modules/ui-components/CollapsibleDrawer.less modules/ext.growthExperiments.MentorDashboard/components/DataTable/DataTable.vue documentation/frontend/components/FilterDialog.vue modules/ext.growthExperiments.StructuredTask.desktop/MinimizedToolbarDialogButton.less modules/ext.growthExperiments.StructuredTask/addlink/ceRecommendedLinkAnnotation.less documentation/frontend/components/OnboardingStepper.vue modules/ext.growthExperiments.Homepage.Impact/components/NoEditsDisplay.vue modules/ext.growthExperiments.Homepage.Impact/components/ArticlesList.vue modules/ext.growthExperiments.MentorDashboard/components/MenteeOverview/LegendBox.vue modules/ext.growthExperiments.Homepage.styles/SmallTaskCard.less documentation/frontend/component-demos/topic-selection-dialog/TopicSelectionDialog.vue modules/ext.growthExperiments.MentorDashboard/styles/MentorDashboard.less modules/ext.growthExperiments.MentorDashboard/components/HorizontalDivider/HorizontalDivider.vue modules/ext.growthExperiments.StructuredTask.PreEdit/StructuredTaskOnboardingDialog.less documentation/frontend/component-demos/topic-selection-dialog/TopicSelectionDemo.vue modules/ext.growthExperiments.Homepage.Impact/components/Impact.vue modules/ext.growthExperiments.Homepage.Impact/components/ErrorDisplaySummary.vue modules/ext.growthExperiments.Account.styles/WelcomeSurvey.less --fix
--- stderr ---
modules/ext.growthExperiments.MentorDashboard/components/PersonalizedPraise/PersonalizedPraiseSettings.vue
  94:13  ✖  Cannot parse property value "0 @spacing-150 @spacing-100" for property "padding"  declaration-property-value-no-unknown

documentation/frontend/components/MultiPane.vue
  156:15  ✖  Cannot parse property value "all 500ms @animation-timing-function-base" for property "transition"  declaration-property-value-no-unknown
  160:14  ✖  Cannot parse property value "translateX( @size-full )" for property "transform"                    declaration-property-value-no-unknown
  165:14  ✖  Cannot parse property value "translateX( calc( -1 * @size-full ) )" for property "transform"       declaration-property-value-no-unknown
  169:14  ✖  Cannot parse property value "translateX( @size-full )" for property "transform"                    declaration-property-value-no-unknown
  173:14  ✖  Cannot parse property value "translateX( calc( -1 * @size-full ) )" for property "transform"       declaration-property-value-no-unknown

modules/ext.growthExperiments.Homepage.styles/SuggestedEditsModule.less
   99:25  ✖  Needless disable for "declaration-no-important"  --report-needless-disables
  102:3   ✖  Unexpected !important                            declaration-no-important
  341:26  ✖  Needless disable for "declaration-no-important"  --report-needless-disables
  342:11  ✖  Unexpected !important                            declaration-no-important

✖ 10 problems (10 errors, 0 warnings)
--- stdout ---

--- end ---
$ ./node_modules/.bin/stylelint modules/ext.growthExperiments.Homepage.styles/StartEmailModule.less modules/ext.growthExperiments.StructuredTask/addimage/AddImageCaptionInfoDialog.less modules/ext.growthExperiments.MentorDashboard/components/MenteeOverview/NoResults.vue modules/ext.growthExperiments.Account.styles/ConfirmEmail.less modules/ext.growthExperiments.StructuredTask.PreEdit/addlink/AddLinkOnboardingContent.less modules/ext.growthExperiments.MentorDashboard/styles/variables.less modules/ext.growthExperiments.StructuredTask/addimage/RecommendedImageToolbarDialog.less modules/vue-components/CText.vue modules/ext.growthExperiments.MentorDashboard/components/MenteeOverview/MenteeFilters.vue documentation/frontend/components/mixins.less modules/ext.growthExperiments.Account.styles/DonorSignupCampaign.less documentation/frontend/component-demos/filter-dialog/FilterDialogDemo.vue modules/ext.growthExperiments.HomepageDiscovery/HomepageDiscovery.less modules/ext.growthExperiments.StructuredTask/EditModeConfirmationDialog.less modules/utils/mixins.less modules/ext.growthExperiments.Homepage.Impact/components/StreakGraph.vue modules/ext.growthExperiments.StructuredTask/MachineSuggestionsMode.less modules/ext.growthExperiments.StructuredTask/StructuredTaskMessageDialog.less modules/ext.growthExperiments.Help/HelpPanelHomeButtonWidget.less modules/vue-components/CListItem.vue documentation/frontend/components/OnboardingDialog.vue modules/ext.growthExperiments.LevelingUp.InviteToSuggestedEdits/InviteToSuggestedEdits.less documentation/frontend/component-demos/add-link-dialog/AddLinkDialogDemo.vue modules/ext.growthExperiments.MentorDashboard/components/PersonalizedPraise/PersonalizedPraise.vue modules/ext.growthExperiments.HelpPanel/HelpPanelPopup.less documentation/frontend/component-demos/LanguageSelector.vue modules/ext.growthExperiments.MentorDashboard/components/MenteeOverview/MenteeFiltersForm.vue modules/ext.growthExperiments.Homepage.styles/TaskPreviewWidget.less modules/ext.growthExperiments.StructuredTask.PreEdit/addimage/AddImageOnboardingContent.less modules/ext.growthExperiments.HelpPanel/HelpPanelCta.less modules/ext.growthExperiments.Homepage.styles/ImpactModule.less modules/ext.growthExperiments.StructuredTask/addlink/RecommendedLinkRejectionDialog.less modules/ext.growthExperiments.Homepage.SuggestedEdits/SuggestionWidget.less modules/ext.growthExperiments.StructuredTask/StructuredTaskSaveDialog.less modules/ext.growthExperiments.PostEdit/PostEditDrawer.less modules/ext.growthExperiments.StructuredTask/addimage/RecommendedImageRejectionDialog.less modules/ext.growthExperiments.Account.styles/SpecialContributions.less modules/vue-components/CScoreCard.less modules/ext.growthExperiments.Homepage.styles/BaseModule.less modules/ext.growthExperiments.StructuredTask.PreEdit/addsectionimage/AddSectionImageOnboardingContent.less modules/vue-components/CPopper.vue modules/ext.growthExperiments.StructuredTask/StructuredTaskToolbarDialog.less modules/ext.growthExperiments.MentorDashboard/styles/BaseModule.less modules/ext.growthExperiments.MentorDashboard/components/DataTable/DataTablePagination.vue modules/ext.growthExperiments.MentorDashboard/components/PersonalizedPraise/PersonalizedPraiseSettingsForm.vue modules/ext.growthExperiments.Homepage.SuggestedEdits/ArticleCountWidget.less documentation/frontend/component-demos/onboarding-dialog/OnboardingDialogDemo.vue modules/ext.growthExperiments.MentorDashboard/components/DataTable/DataTableLimit.vue modules/ext.growthExperiments.HomepageDiscovery/HomepageDiscoveryMobile.less modules/ext.growthExperiments.Homepage.mobile/index.less documentation/frontend/component-demos/post-edit-dialog/PostEditDialogDemo.vue modules/ext.growthExperiments.Homepage.styles/EllipsisMenu.less modules/ext.growthExperiments.Homepage.SuggestedEdits/TopicSelectionWidget.less modules/vue-components/mixins.less documentation/frontend/component-demos/onboarding-simple-dialog/OnboardingSimpleDialogDemo.vue modules/ext.growthExperiments.PostEdit/PostEditPanel.less modules/ext.growthExperiments.StructuredTask.Surfacing/styles.less modules/vue-components/Skeleton.less modules/ext.growthExperiments.MentorDashboard/styles/MenteeOverview.less modules/ext.growthExperiments.Homepage.styles/BannerModule.less modules/ext.growthExperiments.Homepage.Impact/components/TrendChart.vue documentation/frontend/components/AddLinkDialog.vue modules/ext.growthExperiments.Homepage.styles/ConfirmEmailNotice.less modules/ext.growthExperiments.HelpPanel/SuggestedEditsGuidance.minerva.less modules/ext.growthExperiments.Homepage.styles/HelpModule.less modules/ext.growthExperiments.StructuredTask.PreEdit/StructuredTaskOnboardingContent.less modules/ext.growthExperiments.Help/HelpPanelSearchWidget.less modules/utils/variables.less modules/ext.growthExperiments.MentorDashboard/styles/Resources.less modules/ext.growthExperiments.Homepage.Impact/components/LayoutWrapper.vue documentation/frontend/components/AddImageDialog.vue modules/vue-components/CScoreCards.less modules/vue-components/CList.vue modules/ext.growthExperiments.Homepage.styles/CommunityUpdates.less modules/ext.growthExperiments.StructuredTask/addsectionimage/ceRecommendedImagePlaceholderNode.less modules/ext.growthExperiments.PostEdit/PostEditToastMessage.less modules/ext.growthExperiments.StructuredTask/addimage/AddImageSaveDialog.less modules/ext.growthExperiments.Homepage.styles/WelcomeSurveyReminderModule.less modules/ext.growthExperiments.StructuredTask/addlink/RecommendedLinkToolbarDialog.less modules/vue-components/CPopover.vue modules/ext.growthExperiments.MentorDashboard/components/PersonalizedPraise/PersonalizedPraiseSettings.vue modules/ext.growthExperiments.MentorDashboard/components/MenteeOverview/MenteeOverview.vue modules/ui-components/HelpPanelButton.less modules/ext.growthExperiments.Homepage.styles/MobileNoTasksWidget.less modules/vue-components/CScoreCards.vue modules/ext.growthExperiments.Homepage.Impact/components/RecentActivity.vue modules/ext.growthExperiments.Homepage.styles/StartEditingModule.less modules/ext.growthExperiments.Homepage.Impact/components/LayoutWrapper.less documentation/frontend/components/variables.less modules/ext.growthExperiments.MentorDashboard/MentorTools/MentorTools.less modules/vue-components/CScoreCard.vue documentation/frontend/component-demos/add-image-dialog/AddImageDialogDemo.vue modules/ext.growthExperiments.MentorDashboard/styles/Discovery.less modules/ext.growthExperiments.Homepage.Impact/styles/Impact.less modules/ext.growthExperiments.StructuredTask/addimage/ceRecommendedImageNode.less modules/ext.growthExperiments.Help/AskHelpPanel.less modules/ext.growthExperiments.Homepage.styles/MentorshipModule.less modules/ext.growthExperiments.Homepage.SuggestedEdits/TaskTypeSelectionWidget.less modules/ext.growthExperiments.StructuredTask/addimage/AddImageDetailsDialog.less modules/ext.growthExperiments.MentorDashboard/components/CNumberInput/CNumberInput.vue modules/ext.growthExperiments.StructuredTask/addimage/ceRecommendedImageCaptionNode.less modules/vue-components/CSparkline.vue modules/ext.growthExperiments.StructuredTask/addlink/AddLinkSaveDialog.less modules/ext.growthExperiments.MentorDashboard/components/MenteeOverview/MenteeSearch.vue modules/ext.growthExperiments.MentorDashboard/components/PersonalizedPraise/UserCard.vue modules/ext.growthExperiments.Homepage.styles/TaskExplanationWidget.less modules/ext.growthExperiments.Homepage.Impact/components/ErrorDisplay.vue modules/ext.growthExperiments.MentorDashboard/components/PersonalizedPraise/PersonalizedPraisePagination.vue documentation/frontend/component-demos/example-component/ExampleComponent.vue modules/ext.growthExperiments.Help/HelpPanelProcessDialog.less modules/ext.growthExperiments.Homepage.Impact/components/InfoBoxes.vue documentation/frontend/component-demos/DemoWrapper.vue documentation/frontend/component-demos/onboarding-stepper-demo/OnboardingStepperDemo.vue modules/ext.growthExperiments.Homepage.SuggestedEdits/SuggestionGroupWidget.less modules/ext.growthExperiments.StructuredTask/addimage/RecommendedImageViewer.less modules/ext.growthExperiments.Homepage.styles/Homepage.less modules/ext.growthExperiments.MentorDashboard/components/DataTable/DataTableCellValue.vue modules/ext.growthExperiments.Homepage.Impact/App.vue modules/ext.growthExperiments.MentorDashboard/components/DataTable/DataTableCellLink.vue modules/ext.growthExperiments.MentorDashboard/components/PersonalizedPraise/SkipMenteeDialog.vue modules/ext.growthExperiments.MentorDashboard/components/PersonalizedPraise/NoResults.vue modules/ext.growthExperiments.MentorDashboard/components/MenteeOverview/DataTableCellMentee.vue modules/ext.growthExperiments.Homepage.Impact/components/ImpactSummary.vue modules/ext.growthExperiments.StructuredTask.desktop/addimage/AddImageDesktopSaveDialog.less modules/ext.growthExperiments.Homepage.SuggestedEdits/MatchModeSelectWidget.less modules/ui-components/MultiPaneDialog.less documentation/frontend/component-demos/multi-pane/MultiPaneDemo.vue documentation/frontend/components/MultiPane.vue modules/ext.growthExperiments.Homepage.styles/SuggestedEditsModule.less modules/ext.growthExperiments.HelpPanel/SuggestedEditsGuidance.vector.less modules/ext.growthExperiments.Homepage.SuggestedEdits/StartEditingDialog.less modules/ext.growthExperiments.Homepage.Impact/components/Impact.less modules/ui-components/CollapsibleDrawer.less modules/ext.growthExperiments.MentorDashboard/components/DataTable/DataTable.vue documentation/frontend/components/FilterDialog.vue modules/ext.growthExperiments.StructuredTask.desktop/MinimizedToolbarDialogButton.less modules/ext.growthExperiments.StructuredTask/addlink/ceRecommendedLinkAnnotation.less documentation/frontend/components/OnboardingStepper.vue modules/ext.growthExperiments.Homepage.Impact/components/NoEditsDisplay.vue modules/ext.growthExperiments.Homepage.Impact/components/ArticlesList.vue modules/ext.growthExperiments.MentorDashboard/components/MenteeOverview/LegendBox.vue modules/ext.growthExperiments.Homepage.styles/SmallTaskCard.less documentation/frontend/component-demos/topic-selection-dialog/TopicSelectionDialog.vue modules/ext.growthExperiments.MentorDashboard/styles/MentorDashboard.less modules/ext.growthExperiments.MentorDashboard/components/HorizontalDivider/HorizontalDivider.vue modules/ext.growthExperiments.StructuredTask.PreEdit/StructuredTaskOnboardingDialog.less documentation/frontend/component-demos/topic-selection-dialog/TopicSelectionDemo.vue modules/ext.growthExperiments.Homepage.Impact/components/Impact.vue modules/ext.growthExperiments.Homepage.Impact/components/ErrorDisplaySummary.vue modules/ext.growthExperiments.Account.styles/WelcomeSurvey.less -f json
--- stdout ---
[{"source":"/src/repo/modules/ext.growthExperiments.Homepage.styles/StartEmailModule.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.StructuredTask/addimage/AddImageCaptionInfoDialog.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.MentorDashboard/components/MenteeOverview/NoResults.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Account.styles/ConfirmEmail.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.StructuredTask.PreEdit/addlink/AddLinkOnboardingContent.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.MentorDashboard/styles/variables.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.StructuredTask/addimage/RecommendedImageToolbarDialog.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/vue-components/CText.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.MentorDashboard/components/MenteeOverview/MenteeFilters.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/documentation/frontend/components/mixins.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Account.styles/DonorSignupCampaign.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/documentation/frontend/component-demos/filter-dialog/FilterDialogDemo.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.HomepageDiscovery/HomepageDiscovery.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.StructuredTask/EditModeConfirmationDialog.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/utils/mixins.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.Impact/components/StreakGraph.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.StructuredTask/MachineSuggestionsMode.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.StructuredTask/StructuredTaskMessageDialog.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Help/HelpPanelHomeButtonWidget.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/vue-components/CListItem.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/documentation/frontend/components/OnboardingDialog.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.LevelingUp.InviteToSuggestedEdits/InviteToSuggestedEdits.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/documentation/frontend/component-demos/add-link-dialog/AddLinkDialogDemo.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.MentorDashboard/components/PersonalizedPraise/PersonalizedPraise.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.HelpPanel/HelpPanelPopup.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/documentation/frontend/component-demos/LanguageSelector.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.MentorDashboard/components/MenteeOverview/MenteeFiltersForm.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.styles/TaskPreviewWidget.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.StructuredTask.PreEdit/addimage/AddImageOnboardingContent.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.HelpPanel/HelpPanelCta.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.styles/ImpactModule.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.StructuredTask/addlink/RecommendedLinkRejectionDialog.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.SuggestedEdits/SuggestionWidget.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.StructuredTask/StructuredTaskSaveDialog.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.PostEdit/PostEditDrawer.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.StructuredTask/addimage/RecommendedImageRejectionDialog.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Account.styles/SpecialContributions.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/vue-components/CScoreCard.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.styles/BaseModule.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.StructuredTask.PreEdit/addsectionimage/AddSectionImageOnboardingContent.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/vue-components/CPopper.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.StructuredTask/StructuredTaskToolbarDialog.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.MentorDashboard/styles/BaseModule.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.MentorDashboard/components/DataTable/DataTablePagination.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.MentorDashboard/components/PersonalizedPraise/PersonalizedPraiseSettingsForm.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.SuggestedEdits/ArticleCountWidget.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/documentation/frontend/component-demos/onboarding-dialog/OnboardingDialogDemo.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.MentorDashboard/components/DataTable/DataTableLimit.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.HomepageDiscovery/HomepageDiscoveryMobile.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.mobile/index.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/documentation/frontend/component-demos/post-edit-dialog/PostEditDialogDemo.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.styles/EllipsisMenu.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.SuggestedEdits/TopicSelectionWidget.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/vue-components/mixins.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/documentation/frontend/component-demos/onboarding-simple-dialog/OnboardingSimpleDialogDemo.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.PostEdit/PostEditPanel.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.StructuredTask.Surfacing/styles.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/vue-components/Skeleton.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.MentorDashboard/styles/MenteeOverview.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.styles/BannerModule.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.Impact/components/TrendChart.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/documentation/frontend/components/AddLinkDialog.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.styles/ConfirmEmailNotice.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.HelpPanel/SuggestedEditsGuidance.minerva.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.styles/HelpModule.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.StructuredTask.PreEdit/StructuredTaskOnboardingContent.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Help/HelpPanelSearchWidget.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/utils/variables.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.MentorDashboard/styles/Resources.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.Impact/components/LayoutWrapper.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/documentation/frontend/components/AddImageDialog.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/vue-components/CScoreCards.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/vue-components/CList.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.styles/CommunityUpdates.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.StructuredTask/addsectionimage/ceRecommendedImagePlaceholderNode.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.PostEdit/PostEditToastMessage.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.StructuredTask/addimage/AddImageSaveDialog.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.styles/WelcomeSurveyReminderModule.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.StructuredTask/addlink/RecommendedLinkToolbarDialog.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/vue-components/CPopover.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.MentorDashboard/components/PersonalizedPraise/PersonalizedPraiseSettings.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":true,"warnings":[{"line":94,"column":13,"endLine":94,"endColumn":40,"rule":"declaration-property-value-no-unknown","severity":"error","text":"Cannot parse property value \"0 @spacing-150 @spacing-100\" for property \"padding\" (declaration-property-value-no-unknown)"}]},{"source":"/src/repo/modules/ext.growthExperiments.MentorDashboard/components/MenteeOverview/MenteeOverview.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ui-components/HelpPanelButton.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.styles/MobileNoTasksWidget.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/vue-components/CScoreCards.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.Impact/components/RecentActivity.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.styles/StartEditingModule.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.Impact/components/LayoutWrapper.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/documentation/frontend/components/variables.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.MentorDashboard/MentorTools/MentorTools.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/vue-components/CScoreCard.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/documentation/frontend/component-demos/add-image-dialog/AddImageDialogDemo.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.MentorDashboard/styles/Discovery.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.Impact/styles/Impact.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.StructuredTask/addimage/ceRecommendedImageNode.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Help/AskHelpPanel.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.styles/MentorshipModule.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.SuggestedEdits/TaskTypeSelectionWidget.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.StructuredTask/addimage/AddImageDetailsDialog.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.MentorDashboard/components/CNumberInput/CNumberInput.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.StructuredTask/addimage/ceRecommendedImageCaptionNode.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/vue-components/CSparkline.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.StructuredTask/addlink/AddLinkSaveDialog.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.MentorDashboard/components/MenteeOverview/MenteeSearch.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.MentorDashboard/components/PersonalizedPraise/UserCard.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.styles/TaskExplanationWidget.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.Impact/components/ErrorDisplay.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.MentorDashboard/components/PersonalizedPraise/PersonalizedPraisePagination.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/documentation/frontend/component-demos/example-component/ExampleComponent.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Help/HelpPanelProcessDialog.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.Impact/components/InfoBoxes.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/documentation/frontend/component-demos/DemoWrapper.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/documentation/frontend/component-demos/onboarding-stepper-demo/OnboardingStepperDemo.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.SuggestedEdits/SuggestionGroupWidget.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.StructuredTask/addimage/RecommendedImageViewer.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.styles/Homepage.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.MentorDashboard/components/DataTable/DataTableCellValue.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.Impact/App.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.MentorDashboard/components/DataTable/DataTableCellLink.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.MentorDashboard/components/PersonalizedPraise/SkipMenteeDialog.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.MentorDashboard/components/PersonalizedPraise/NoResults.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.MentorDashboard/components/MenteeOverview/DataTableCellMentee.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.Impact/components/ImpactSummary.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.StructuredTask.desktop/addimage/AddImageDesktopSaveDialog.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.SuggestedEdits/MatchModeSelectWidget.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ui-components/MultiPaneDialog.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/documentation/frontend/component-demos/multi-pane/MultiPaneDemo.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/documentation/frontend/components/MultiPane.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":true,"warnings":[{"line":156,"column":15,"endLine":156,"endColumn":56,"rule":"declaration-property-value-no-unknown","severity":"error","text":"Cannot parse property value \"all 500ms @animation-timing-function-base\" for property \"transition\" (declaration-property-value-no-unknown)"},{"line":160,"column":14,"endLine":160,"endColumn":38,"rule":"declaration-property-value-no-unknown","severity":"error","text":"Cannot parse property value \"translateX( @size-full )\" for property \"transform\" (declaration-property-value-no-unknown)"},{"line":165,"column":14,"endLine":165,"endColumn":51,"rule":"declaration-property-value-no-unknown","severity":"error","text":"Cannot parse property value \"translateX( calc( -1 * @size-full ) )\" for property \"transform\" (declaration-property-value-no-unknown)"},{"line":169,"column":14,"endLine":169,"endColumn":38,"rule":"declaration-property-value-no-unknown","severity":"error","text":"Cannot parse property value \"translateX( @size-full )\" for property \"transform\" (declaration-property-value-no-unknown)"},{"line":173,"column":14,"endLine":173,"endColumn":51,"rule":"declaration-property-value-no-unknown","severity":"error","text":"Cannot parse property value \"translateX( calc( -1 * @size-full ) )\" for property \"transform\" (declaration-property-value-no-unknown)"}]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.styles/SuggestedEditsModule.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":true,"warnings":[{"line":102,"column":3,"endLine":102,"endColumn":13,"rule":"declaration-no-important","severity":"error","text":"Unexpected !important (declaration-no-important)"},{"line":342,"column":11,"endLine":342,"endColumn":21,"rule":"declaration-no-important","severity":"error","text":"Unexpected !important (declaration-no-important)"},{"line":99,"column":25,"endLine":99,"endColumn":51,"rule":"--report-needless-disables","severity":"error","text":"Needless disable for \"declaration-no-important\""},{"line":341,"column":26,"endLine":341,"endColumn":52,"rule":"--report-needless-disables","severity":"error","text":"Needless disable for \"declaration-no-important\""}]},{"source":"/src/repo/modules/ext.growthExperiments.HelpPanel/SuggestedEditsGuidance.vector.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.SuggestedEdits/StartEditingDialog.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.Impact/components/Impact.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ui-components/CollapsibleDrawer.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.MentorDashboard/components/DataTable/DataTable.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/documentation/frontend/components/FilterDialog.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.StructuredTask.desktop/MinimizedToolbarDialogButton.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.StructuredTask/addlink/ceRecommendedLinkAnnotation.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/documentation/frontend/components/OnboardingStepper.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.Impact/components/NoEditsDisplay.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.Impact/components/ArticlesList.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.MentorDashboard/components/MenteeOverview/LegendBox.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.styles/SmallTaskCard.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/documentation/frontend/component-demos/topic-selection-dialog/TopicSelectionDialog.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.MentorDashboard/styles/MentorDashboard.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.MentorDashboard/components/HorizontalDivider/HorizontalDivider.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.StructuredTask.PreEdit/StructuredTaskOnboardingDialog.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/documentation/frontend/component-demos/topic-selection-dialog/TopicSelectionDemo.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.Impact/components/Impact.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Homepage.Impact/components/ErrorDisplaySummary.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/modules/ext.growthExperiments.Account.styles/WelcomeSurvey.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]}]
--- end ---
Removing stylelint-disable (x2) from /src/repo/modules/ext.growthExperiments.Homepage.styles/SuggestedEditsModule.less
$ /usr/bin/npm ci
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wikimedia/codex@1.21.1',
npm WARN EBADENGINE   required: { node: '>=20', npm: '>=10.8.1' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wikimedia/codex-icons@1.21.1',
npm WARN EBADENGINE   required: { node: '>=20', npm: '>=10.8.1' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated osenv@0.1.5: This package is no longer supported.
npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated @babel/plugin-proposal-unicode-property-regex@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead.
npm WARN deprecated @babel/plugin-proposal-optional-catch-binding@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead.
npm WARN deprecated @babel/plugin-proposal-private-methods@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.
npm WARN deprecated @babel/plugin-proposal-json-strings@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-json-strings instead.
npm WARN deprecated @babel/plugin-proposal-nullish-coalescing-operator@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.
npm WARN deprecated @babel/plugin-proposal-numeric-separator@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.
npm WARN deprecated @babel/plugin-proposal-dynamic-import@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-dynamic-import instead.
npm WARN deprecated @babel/plugin-proposal-class-properties@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.
npm WARN deprecated @babel/plugin-proposal-export-namespace-from@7.18.9: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-export-namespace-from instead.
npm WARN deprecated @babel/plugin-proposal-logical-assignment-operators@7.20.7: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-logical-assignment-operators instead.
npm WARN deprecated @babel/plugin-proposal-class-static-block@7.21.0: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-static-block instead.
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated @babel/plugin-proposal-private-property-in-object@7.21.11: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead.
npm WARN deprecated @babel/plugin-proposal-optional-chaining@7.21.0: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.
npm WARN deprecated @babel/plugin-proposal-async-generator-functions@7.20.7: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
npm WARN deprecated @babel/plugin-proposal-object-rest-spread@7.20.7: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.
npm WARN deprecated formidable@1.2.6: Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau
npm WARN deprecated domexception@4.0.0: Use your platform's native DOMException instead
npm WARN deprecated superagent@6.1.0: Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
npm WARN deprecated core-js@2.6.12: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
--- stdout ---

added 1288 packages, and audited 1289 packages in 21s

170 packages are looking for funding
  run `npm fund` for details

6 vulnerabilities (2 high, 4 critical)

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.

--- end ---
$ /usr/bin/npm test
--- stdout ---

> test
> npm run test:types && grunt test && npm run test:jest && npm run test:doc


> test:types
> tsc --noEmit && tsc --noEmit -p cypress/tsconfig.json

Running "eslint:all" (eslint) task

Running "banana:docs" (banana) task
>> The "se" translation has 4 translations with trailing whitespace:
>> * growthexperiments-homepage-email-text-noemail
>> * growthexperiments-homepage-startediting-dialog-difficulty-header
>> * growthexperiments-homepage-impact-unactivated-subheader-text
>> * growthexperiments-homepage-suggestededits-select-other-topic-mode-cta
>> The "se" translation has 1 translation with trailing whitespace:
>> * growthexperiments-mentor-dashboard-mentor-tools-away-dialog-away-for
>> 10 message directories checked.

Running "stylelint:all" (stylelint) task

modules/ext.growthExperiments.Homepage.styles/Homepage.less
  112:74  ✖  Needless disable for "declaration-no-important"  --report-needless-disables

modules/ext.growthExperiments.Homepage.styles/SuggestedEditsModule.less
  216:30  ✖  Needless disable for "declaration-no-important"  --report-needless-disables

modules/ext.growthExperiments.HomepageDiscovery/HomepageDiscovery.less
  13:29  ✖  Needless disable for "declaration-no-important"  --report-needless-disables

modules/ext.growthExperiments.MentorDashboard/components/PersonalizedPraise/PersonalizedPraiseSettings.vue
  94:13  ✖  Cannot parse property value "0 @spacing-150 @spacing-100" for property "padding"  declaration-property-value-no-unknown

modules/ui-components/MultiPaneDialog.less
  88:27  ✖  Needless disable for "declaration-no-important"  --report-needless-disables

documentation/frontend/components/MultiPane.vue
  156:15  ✖  Cannot parse property value "all 500ms @animation-timing-function-base" for property "transition"  declaration-property-value-no-unknown
  160:14  ✖  Cannot parse property value "translateX( @size-full )" for property "transform"                    declaration-property-value-no-unknown
  165:14  ✖  Cannot parse property value "translateX( calc( -1 * @size-full ) )" for property "transform"       declaration-property-value-no-unknown
  169:14  ✖  Cannot parse property value "translateX( @size-full )" for property "transform"                    declaration-property-value-no-unknown
  173:14  ✖  Cannot parse property value "translateX( calc( -1 * @size-full ) )" for property "transform"       declaration-property-value-no-unknown

✖ 10 problems (10 errors, 0 warnings)


⚠ 10 warnings

Warning: Task "stylelint:all" failed. Use --force to continue.

Aborted due to warnings.

--- end ---
$ node_modules/.bin/jest -u
--- stderr ---
PASS modules/ext.growthExperiments.MentorDashboard/store/modules/mentees.test.js
PASS modules/ext.growthExperiments.Homepage.Impact/components/NoEditsDisplay.test.js
PASS modules/ext.growthExperiments.DataStore/NewcomerTasksStore.test.js
PASS modules/ext.growthExperiments.MentorDashboard/components/MenteeOverview/MenteeOverview.test.js
PASS modules/ext.growthExperiments.StructuredTask.Surfacing/ArticleTextManipulator.test.js
PASS modules/ext.growthExperiments.Homepage.Impact/components/ImpactVue.test.js
PASS modules/vue-components/CScoreCards.test.js
 › 2 snapshots updated.
PASS modules/ext.growthExperiments.Homepage.Impact/components/TrendChart.test.js
PASS modules/vue-components/CPopover.test.js
PASS modules/vue-components/CPopper.test.js
PASS modules/ext.growthExperiments.MentorDashboard/components/PersonalizedPraise/PersonalizedPraise.test.js
 › 1 snapshot updated.
PASS modules/vue-components/CScoreCard.test.js
 › 2 snapshots updated.
PASS modules/ext.growthExperiments.Homepage.Impact/components/ErrorDisplay.test.js
PASS modules/vue-components/CText.test.js
PASS modules/ext.growthExperiments.MentorDashboard/components/DataTable/DataTableCellValue.test.js
PASS modules/ext.growthExperiments.Homepage.Impact/composables/useUserImpact.test.js
PASS modules/ext.growthExperiments.MentorDashboard/components/PersonalizedPraise/PersonalizedPraiseSettingsForm.test.js
 › 1 snapshot updated.
PASS modules/ext.growthExperiments.MentorDashboard/components/MenteeOverview/MenteeFiltersForm.test.js
 › 1 snapshot updated.

Snapshot Summary
 › 7 snapshots updated from 5 test suites.

Test Suites: 18 passed, 18 total
Tests:       52 passed, 52 total
Snapshots:   7 updated, 13 passed, 20 total
Time:        10.395 s
Ran all test suites.
--- stdout ---
---------------------------------------------------------------------|---------|----------|---------|---------|---------------------------------------------------------------------------------------
File                                                                 | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s                                                                     
---------------------------------------------------------------------|---------|----------|---------|---------|---------------------------------------------------------------------------------------
All files                                                            |   47.42 |    39.74 |   35.08 |   47.78 |                                                                                       
 ext.growthExperiments.Homepage.Impact                               |    3.92 |        0 |       0 |    3.96 |                                                                                       
  App.vue                                                            |       0 |        0 |       0 |       0 | 3-103                                                                                 
  constants.js                                                       |     100 |      100 |     100 |     100 |                                                                                       
  init.js                                                            |       0 |        0 |       0 |       0 | 1-163                                                                                 
 ext.growthExperiments.Homepage.Impact/components                    |   73.44 |    73.56 |   69.47 |   73.75 |                                                                                       
  ArticlesList.vue                                                   |   67.39 |        0 |    12.5 |   70.45 | 37,80-162                                                                             
  ErrorDisplay.vue                                                   |     100 |      100 |     100 |     100 |                                                                                       
  ErrorDisplaySummary.vue                                            |       0 |      100 |       0 |       0 | 3-58                                                                                  
  Impact.vue                                                         |   97.43 |    86.36 |    92.3 |   97.43 | 112                                                                                   
  ImpactSummary.vue                                                  |       0 |        0 |       0 |       0 | 1-48                                                                                  
  InfoBoxes.vue                                                      |       0 |        0 |       0 |       0 | 1-83                                                                                  
  LayoutWrapper.vue                                                  |       0 |      100 |       0 |       0 | 8-34                                                                                  
  NoEditsDisplay.vue                                                 |   96.22 |    89.18 |     100 |   96.22 | 59-60                                                                                 
  RecentActivity.vue                                                 |   97.14 |       50 |     100 |   97.14 | 63                                                                                    
  StreakGraph.vue                                                    |   95.23 |      100 |    87.5 |   95.23 | 25                                                                                    
  TrendChart.vue                                                     |     100 |      100 |     100 |     100 |                                                                                       
 ext.growthExperiments.Homepage.Impact/composables                   |   73.21 |    72.72 |   78.94 |   71.69 |                                                                                       
  useMWRestApi.js                                                    |       0 |        0 |       0 |       0 | 1-35                                                                                  
  useUserImpact.js                                                   |   97.61 |    88.88 |     100 |   97.43 | 93                                                                                    
 ext.growthExperiments.MentorDashboard                               |       0 |        0 |       0 |       0 |                                                                                       
  Discovery.js                                                       |       0 |        0 |       0 |       0 | 2-12                                                                                  
  PersonalizedPraisePostEdit.js                                      |       0 |        0 |       0 |       0 | 1-18                                                                                  
  init.js                                                            |       0 |        0 |       0 |       0 | 1-53                                                                                  
 ext.growthExperiments.MentorDashboard/MentorTools                   |       0 |        0 |       0 |       0 |                                                                                       
  AwaySettingsDialog.js                                              |       0 |        0 |       0 |       0 | 1-108                                                                                 
  MentorMessageChangeDialog.js                                       |       0 |        0 |       0 |       0 | 10-103                                                                                
  MentorTools.js                                                     |       0 |        0 |       0 |       0 | 2-223                                                                                 
  MentorToolsEllipsisMenu.js                                         |       0 |        0 |       0 |       0 | 1-63                                                                                  
 ext.growthExperiments.MentorDashboard/components/CNumberInput       |   66.66 |    55.55 |   23.07 |   65.51 |                                                                                       
  CNumberInput.vue                                                   |   66.66 |    55.55 |   23.07 |   65.51 | 99,102,105,108,129,148-164                                                            
 ext.growthExperiments.MentorDashboard/components/DataTable          |      47 |        0 |    5.26 |   52.38 |                                                                                       
  DataTable.vue                                                      |   32.25 |        0 |       0 |   39.21 | 37-89,100-103,121-164                                                                 
  DataTableCellLink.vue                                              |      75 |      100 |       0 |      75 | 36-41                                                                                 
  DataTableCellValue.vue                                             |     100 |      100 |     100 |     100 |                                                                                       
  DataTableLimit.vue                                                 |      50 |        0 |       0 |   53.33 | 24-31,49-55                                                                           
  DataTablePagination.vue                                            |      50 |        0 |       0 |      50 | 31-38,53-79                                                                           
 ext.growthExperiments.MentorDashboard/components/HorizontalDivider  |     100 |      100 |     100 |     100 |                                                                                       
  HorizontalDivider.vue                                              |     100 |      100 |     100 |     100 |                                                                                       
 ext.growthExperiments.MentorDashboard/components/MenteeOverview     |   66.23 |    38.15 |   37.07 |   66.52 |                                                                                       
  DataTableCellMentee.vue                                            |   60.86 |        0 |       0 |   60.86 | 27-45,74-82                                                                           
  LegendBox.vue                                                      |   73.33 |      100 |       0 |   73.33 | 21,43-45                                                                              
  MenteeFilters.vue                                                  |   40.74 |        0 |       0 |   40.74 | 28-64,82-89                                                                           
  MenteeFiltersForm.vue                                              |   75.47 |       50 |   56.52 |   75.47 | 87-105,160-175,191,206,219                                                            
  MenteeOverview.vue                                                 |   71.79 |    53.57 |   52.63 |   72.72 | 25-97,174-181,213-225,304-320                                                         
  MenteeSearch.vue                                                   |   45.45 |        0 |       0 |   45.45 | 22-43,60-66                                                                           
  NoResults.vue                                                      |   84.61 |        0 |       0 |   84.61 | 53-54                                                                                 
 ext.growthExperiments.MentorDashboard/components/PersonalizedPraise |   57.14 |       45 |   26.19 |   57.89 |                                                                                       
  NoResults.vue                                                      |     100 |      100 |     100 |     100 |                                                                                       
  PersonalizedPraise.vue                                             |   84.78 |      100 |   66.66 |   84.78 | 59-74,139                                                                             
  PersonalizedPraisePagination.vue                                   |   45.45 |        0 |       0 |   45.45 | 33-43,58-92                                                                           
  PersonalizedPraiseSettings.vue                                     |   68.96 |       50 |   33.33 |   68.96 | 44-54,78,90-99                                                                        
  PersonalizedPraiseSettingsForm.vue                                 |   70.73 |    68.18 |   44.44 |   70.73 | 67-70,88,144-164,180-185,200,218                                                      
  SkipMenteeDialog.vue                                               |   26.31 |        0 |       0 |   28.57 | 34-70,87-136                                                                          
  UserCard.vue                                                       |   34.04 |        0 |       0 |   34.04 | 33-123,147-172                                                                        
 ext.growthExperiments.MentorDashboard/logger                        |       0 |        0 |       0 |       0 |                                                                                       
  Logger.js                                                          |       0 |        0 |       0 |       0 | 5-41                                                                                  
 ext.growthExperiments.MentorDashboard/plugins                       |       0 |        0 |       0 |       0 |                                                                                       
  logger.js                                                          |       0 |        0 |       0 |       0 | 9-15                                                                                  
 ext.growthExperiments.MentorDashboard/store                         |   26.66 |        0 |    6.89 |   26.96 |                                                                                       
  MenteeOverviewApi.js                                               |   28.91 |        0 |    6.89 |   29.26 | 32,37-52,56-71,83,87,91,95,99,103-110,115-118,122-128,134-145,150-161,167-178,185-186 
  index.js                                                           |       0 |      100 |     100 |       0 | 1-16                                                                                  
 ext.growthExperiments.MentorDashboard/store/modules                 |   44.56 |    49.23 |   25.39 |      44 |                                                                                       
  mentees-search.js                                                  |       0 |        0 |       0 |       0 | 2-50                                                                                  
  mentees.js                                                         |   66.36 |    67.39 |   41.66 |   66.01 | 31,61-63,71-74,107,121,128,144,147,150,200-201,217,226,235-243,253-286                
  praiseworthy-mentees.js                                            |       0 |        0 |       0 |       0 | 1-101                                                                                 
  user-preferences.js                                                |   52.94 |       50 |      20 |   52.94 | 12,21,27-32,41                                                                        
 ext.growthExperiments.MentorDashboard/validators                    |     100 |      100 |     100 |     100 |                                                                                       
  align-text.validator.js                                            |     100 |      100 |     100 |     100 |                                                                                       
 ext.growthExperiments.StructuredTask.Surfacing                      |   11.74 |    19.04 |   10.25 |   11.74 |                                                                                       
  ArticleTextManipulator.js                                          |   90.62 |    66.66 |     100 |   90.62 | 16,60,73                                                                              
  PageSummaryRepository.js                                           |       0 |        0 |       0 |       0 | 23-82                                                                                 
  SurfacedTaskPopup.js                                               |       0 |        0 |       0 |       0 | 8-174                                                                                 
  index.js                                                           |       0 |        0 |       0 |       0 | 1-323                                                                                 
 vue-components                                                      |   78.51 |     64.7 |   67.14 |   79.62 |                                                                                       
  CList.vue                                                          |   53.33 |        0 |   33.33 |   53.33 | 22-30                                                                                 
  CListItem.vue                                                      |   85.71 |      100 |       0 |   85.71 | 21                                                                                    
  CPopover.vue                                                       |   97.56 |    83.33 |      90 |    97.5 | 104                                                                                   
  CPopper.vue                                                        |   96.77 |       75 |     100 |   96.77 | 61                                                                                    
  CScoreCard.vue                                                     |   96.42 |      100 |    87.5 |   96.42 | 124                                                                                   
  CScoreCards.vue                                                    |   54.02 |    54.16 |   54.83 |   54.02 | 92-95,101,106,124-187,193,256-286,331-338                                             
  CSparkline.vue                                                     |   81.08 |       50 |      50 |    90.9 | 63-67,76                                                                              
  CText.vue                                                          |     100 |      100 |     100 |     100 |                                                                                       
 vue-components/directives                                           |   58.33 |        0 |   33.33 |      70 |                                                                                       
  click-outside.directive.js                                         |   58.33 |        0 |   33.33 |      70 | 3-5,25                                                                                
 vue-components/plugins                                              |       0 |      100 |       0 |       0 |                                                                                       
  logger.js                                                          |       0 |      100 |       0 |       0 | 9-17                                                                                  
---------------------------------------------------------------------|---------|----------|---------|---------|---------------------------------------------------------------------------------------

--- end ---
$ /usr/bin/npm test
--- stdout ---

> test
> npm run test:types && grunt test && npm run test:jest && npm run test:doc


> test:types
> tsc --noEmit && tsc --noEmit -p cypress/tsconfig.json

Running "eslint:all" (eslint) task

Running "banana:docs" (banana) task
>> The "se" translation has 4 translations with trailing whitespace:
>> * growthexperiments-homepage-email-text-noemail
>> * growthexperiments-homepage-startediting-dialog-difficulty-header
>> * growthexperiments-homepage-impact-unactivated-subheader-text
>> * growthexperiments-homepage-suggestededits-select-other-topic-mode-cta
>> The "se" translation has 1 translation with trailing whitespace:
>> * growthexperiments-mentor-dashboard-mentor-tools-away-dialog-away-for
>> 10 message directories checked.

Running "stylelint:all" (stylelint) task

modules/ext.growthExperiments.Homepage.styles/Homepage.less
  112:74  ✖  Needless disable for "declaration-no-important"  --report-needless-disables

modules/ext.growthExperiments.Homepage.styles/SuggestedEditsModule.less
  216:30  ✖  Needless disable for "declaration-no-important"  --report-needless-disables

modules/ext.growthExperiments.HomepageDiscovery/HomepageDiscovery.less
  13:29  ✖  Needless disable for "declaration-no-important"  --report-needless-disables

modules/ext.growthExperiments.MentorDashboard/components/PersonalizedPraise/PersonalizedPraiseSettings.vue
  94:13  ✖  Cannot parse property value "0 @spacing-150 @spacing-100" for property "padding"  declaration-property-value-no-unknown

modules/ui-components/MultiPaneDialog.less
  88:27  ✖  Needless disable for "declaration-no-important"  --report-needless-disables

documentation/frontend/components/MultiPane.vue
  156:15  ✖  Cannot parse property value "all 500ms @animation-timing-function-base" for property "transition"  declaration-property-value-no-unknown
  160:14  ✖  Cannot parse property value "translateX( @size-full )" for property "transform"                    declaration-property-value-no-unknown
  165:14  ✖  Cannot parse property value "translateX( calc( -1 * @size-full ) )" for property "transform"       declaration-property-value-no-unknown
  169:14  ✖  Cannot parse property value "translateX( @size-full )" for property "transform"                    declaration-property-value-no-unknown
  173:14  ✖  Cannot parse property value "translateX( calc( -1 * @size-full ) )" for property "transform"       declaration-property-value-no-unknown

✖ 10 problems (10 errors, 0 warnings)


⚠ 10 warnings

Warning: Task "stylelint:all" failed. Use --force to continue.

Aborted due to warnings.

--- end ---
Traceback (most recent call last):
  File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 325, in npm_test
    self.check_call(["npm", "test"])
  File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/shell2.py", line 59, in check_call
    res.check_returncode()
  File "/usr/lib/python3.11/subprocess.py", line 502, in check_returncode
    raise CalledProcessError(self.returncode, self.args, self.stdout,
subprocess.CalledProcessError: Command '['/usr/bin/npm', 'test']' returned non-zero exit status 3.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 1964, in main
    libup.run(args.repo, args.output, args.branch)
  File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 1902, in run
    self.npm_upgrade(plan)
  File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 1252, in npm_upgrade
    self.npm_test()
  File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 331, in npm_test
    self.check_call(["npm", "test"])
  File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/shell2.py", line 59, in check_call
    res.check_returncode()
  File "/usr/lib/python3.11/subprocess.py", line 502, in check_returncode
    raise CalledProcessError(self.returncode, self.args, self.stdout,
subprocess.CalledProcessError: Command '['/usr/bin/npm', 'test']' returned non-zero exit status 3.
Source code is licensed under the AGPL.