microsoft / microsoft/vscode-edge-devtools

AnalyzerError: Missing or incompatible dependencies and hint breaking change

Open
#1,385 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug tracked
Dominant language
TypeScript
Stars
828
Forks
359
Avg merge
20h 32m
Merged PRs (30d)
10

Description

Environment (please complete the following information):

  • OS : Win 10
  • Extension version (e.g., 1.2.3): 2.1.1

Describe the bug:

Unable to sgtart webhint. Ensuare you are using the latest version of the hint package.
Source: Microsoft Edge Tools for VS Code

Repro steps:

In VSCode Output

**** is a replace string / user account name.

Found hint at c:\Users\****\AppData\Roaming\Code - Insiders\User\globalStorage\ms-edgedevtools.vscode-edge-devtools\node_modules\hint\dist\src\lib\index.js

AnalyzerError: Missing or incompatible dependencies
    at validateResources (c:\Users\****AppData\Roaming\Code - Insiders\User\globalStorage\ms-edgedevtools.vscode-edge-devtools\node_modules\hint\dist\src\lib\analyzer.js:22:15)
    at Object.create [as createAnalyzer] (c:\Users\****\AppData\Roaming\Code - Insiders\User\globalStorage\ms-edgedevtools.vscode-edge-devtools\node_modules\hint\dist\src\lib\analyzer.js:67:9)
    at t.Analyzer.initWebhint (c:\Users\*****\.vscode\extensions\ms-edgedevtools.vscode-edge-devtools-2.1.1\node_modules\vscode-webhint\dist\src\server.js:1:3433)
    at async t.Analyzer.initWebhint (c:\Users\****\.vscode\extensions\ms-edgedevtools.vscode-edge-devtools-2.1.1\node_modules\vscode-webhint\dist\src\server.js:1:3484)
    at async t.Analyzer.validateTextDocument (c:\Users\****\.vscode\extensions\ms-edgedevtools.vscode-edge-devtools-2.1.1\node_modules\vscode-webhint\dist\src\server.js:1:3955)
    at async c:\Users\****\.vscode\extensions\ms-edgedevtools.vscode-edge-devtools-2.1.1\node_modules\vscode-webhint\dist\src\server.js:1:146537 {
  status: 'ResourceError',
  resources: {
    connector: [class LocalConnector] { schema: [Object] },
    formatters: [],
    hints: [
      [Function], [Function], [Function],
      [Function], [Function], [Function],
      [Function], [Function], [Function],
      [Function], [Function], [Function],
      [Function], [Function], [Function],
      [Function], [Function], [Function],
      [Function], [Function], [Function],
      [Function], [Function], [Function],
      [Function], [Function], [Function],
      [Function], [Function], [Function],
      [Function], [Function], [Function],
      [Function], [Function], [Function],
      [Function], [Function], [Function],
      [Function]
    ],
    incompatible: [],
    missing: [ 'hint-no-broken-links', 'hint-typescript-config/no-comment' ],
    parsers: [
      [class ManifestParser extends Parser],
      [class BabelConfigParser extends Parser],
      [class CSSParser extends Parser],
      [class HTMLParser extends Parser],
      [class JavascriptParser extends Parser],
      [class JSXParser extends Parser],
      [class CSSParser extends Parser],
      [class CSSParser extends Parser],
      [class TypeScriptParser extends Parser],
      [class TypeScriptConfigParser extends Parser],
      [class WebpackConfigParser extends Parser],
      [class JavascriptParser extends Parser]
    ]
  }
}

Expected behavior:

For webhint as bundled in MS Edge Tools to work without error and without notification

Additional context:

Have webhint installed separately as a NPM global/dev package and ran npm audit fix and got this


Will install hint@2.0.0, which is a breaking change
node_modules/package-json/node_modules/got
  package-json  <=6.5.0
  Depends on vulnerable versions of got
  node_modules/package-json
    latest-version  0.2.0 - 5.1.0
    Depends on vulnerable versions of package-json
    node_modules/latest-version
      update-notifier  0.2.0 - 5.1.0
      Depends on vulnerable versions of latest-version
      node_modules/update-notifier
        hint  >=3.0.0-beta.0
        Depends on vulnerable versions of @hint/configuration-development
        Depends on vulnerable versions of @hint/configuration-web-recommended
        Depends on vulnerable versions of update-notifier
        node_modules/hint
          @hint/configuration-accessibility  *
          Depends on vulnerable versions of @hint/connector-puppeteer
          Depends on vulnerable versions of @hint/formatter-html
          Depends on vulnerable versions of @hint/formatter-summary
          Depends on vulnerable versions of @hint/hint-axe
          Depends on vulnerable versions of hint
          node_modules/@hint/configuration-accessibility
            @hint/configuration-development  *
            Depends on vulnerable versions of @hint/configuration-accessibility
            Depends on vulnerable versions of @hint/configuration-progressive-web-apps
            Depends on vulnerable versions of @hint/connector-local
            Depends on vulnerable versions of @hint/formatter-html
            Depends on vulnerable versions of @hint/formatter-json
            Depends on vulnerable versions of @hint/formatter-summary
            Depends on vulnerable versions of @hint/hint-babel-config
            Depends on vulnerable versions of @hint/hint-button-type
            Depends on vulnerable versions of @hint/hint-compat-api
            Depends on vulnerable versions of @hint/hint-create-element-svg
            Depends on vulnerable versions of @hint/hint-css-prefix-order
            Depends on vulnerable versions of @hint/hint-disown-opener
            Depends on vulnerable versions of @hint/hint-highest-available-document-mode
            Depends on vulnerable versions of @hint/hint-leading-dot-classlist
            Depends on vulnerable versions of @hint/hint-meta-charset-utf-8
            Depends on vulnerable versions of @hint/hint-meta-viewport
            Depends on vulnerable versions of @hint/hint-no-bom
            Depends on vulnerable versions of @hint/hint-no-inline-styles
            Depends on vulnerable versions of @hint/hint-no-protocol-relative-urls
            Depends on vulnerable versions of @hint/hint-scoped-svg-styles
            Depends on vulnerable versions of @hint/hint-sri
            Depends on vulnerable versions of @hint/hint-typescript-config
            Depends on vulnerable versions of @hint/hint-webpack-config
            Depends on vulnerable versions of @hint/parser-babel-config
            Depends on vulnerable versions of @hint/parser-css
            Depends on vulnerable versions of @hint/parser-html
            Depends on vulnerable versions of @hint/parser-javascript
            Depends on vulnerable versions of @hint/parser-jsx
            Depends on vulnerable versions of @hint/parser-less
            Depends on vulnerable versions of @hint/parser-sass
            Depends on vulnerable versions of @hint/parser-typescript
            Depends on vulnerable versions of @hint/parser-typescript-config
            Depends on vulnerable versions of @hint/parser-webpack-config
            Depends on vulnerable versions of hint
            node_modules/@hint/configuration-development
            @hint/configuration-web-recommended  *
            Depends on vulnerable versions of @hint/configuration-accessibility
            Depends on vulnerable versions of @hint/connector-jsdom
            Depends on vulnerable versions of @hint/connector-local
            Depends on vulnerable versions of @hint/connector-puppeteer
            Depends on vulnerable versions of @hint/formatter-html
            Depends on vulnerable versions of @hint/formatter-json
            Depends on vulnerable versions of @hint/formatter-stylish
            Depends on vulnerable versions of @hint/formatter-summary
            Depends on vulnerable versions of @hint/hint-button-type
            Depends on vulnerable versions of @hint/hint-compat-api
            Depends on vulnerable versions of @hint/hint-content-type
            Depends on vulnerable versions of @hint/hint-create-element-svg
            Depends on vulnerable versions of @hint/hint-css-prefix-order
            Depends on vulnerable versions of @hint/hint-disown-opener
            Depends on vulnerable versions of @hint/hint-highest-available-document-mode
            Depends on vulnerable versions of @hint/hint-html-checker
            Depends on vulnerable versions of @hint/hint-http-cache
            Depends on vulnerable versions of @hint/hint-http-compression
            Depends on vulnerable versions of @hint/hint-image-optimization-cloudinary
            Depends on vulnerable versions of @hint/hint-leading-dot-classlist
            Depends on vulnerable versions of @hint/hint-meta-charset-utf-8
            Depends on vulnerable versions of @hint/hint-meta-viewport
            Depends on vulnerable versions of @hint/hint-no-bom
            Depends on vulnerable versions of @hint/hint-no-disallowed-headers
            Depends on vulnerable versions of @hint/hint-no-friendly-error-pages
            Depends on vulnerable versions of @hint/hint-no-html-only-headers
            Depends on vulnerable versions of @hint/hint-no-http-redirects
            Depends on vulnerable versions of @hint/hint-no-inline-styles
            Depends on vulnerable versions of @hint/hint-no-protocol-relative-urls
            Depends on vulnerable versions of @hint/hint-no-vulnerable-javascript-libraries
            Depends on vulnerable versions of @hint/hint-scoped-svg-styles
            Depends on vulnerable versions of @hint/hint-sri
            Depends on vulnerable versions of @hint/hint-ssllabs
            Depends on vulnerable versions of @hint/hint-strict-transport-security
            Depends on vulnerable versions of @hint/hint-stylesheet-limits
            Depends on vulnerable versions of @hint/hint-validate-set-cookie-header
            Depends on vulnerable versions of @hint/hint-x-content-type-options
            Depends on vulnerable versions of @hint/parser-css
            Depends on vulnerable versions of @hint/parser-html
            Depends on vulnerable versions of @hint/parser-javascript
            Depends on vulnerable versions of hint
            node_modules/@hint/configuration-web-recommended
          @hint/configuration-progressive-web-apps  *
          Depends on vulnerable versions of @hint/connector-jsdom
          Depends on vulnerable versions of @hint/connector-puppeteer
          Depends on vulnerable versions of @hint/formatter-html
          Depends on vulnerable versions of @hint/formatter-summary
          Depends on vulnerable versions of @hint/hint-apple-touch-icons
          Depends on vulnerable versions of @hint/hint-manifest-app-name
          Depends on vulnerable versions of @hint/hint-manifest-exists
          Depends on vulnerable versions of @hint/hint-manifest-file-extension
          Depends on vulnerable versions of @hint/hint-manifest-is-valid
          Depends on vulnerable versions of @hint/parser-manifest
          Depends on vulnerable versions of hint
          node_modules/@hint/configuration-progressive-web-apps
          @hint/connector-jsdom  *
          Depends on vulnerable versions of @hint/utils-connector-tools
          Depends on vulnerable versions of hint
          node_modules/@hint/connector-jsdom
          @hint/connector-local  *
          Depends on vulnerable versions of hint
          node_modules/@hint/connector-local
          @hint/connector-puppeteer  *
          Depends on vulnerable versions of @hint/utils-connector-tools
          Depends on vulnerable versions of hint
          node_modules/@hint/connector-puppeteer
          @hint/formatter-html  *
          Depends on vulnerable versions of hint
          node_modules/@hint/formatter-html
          @hint/formatter-json  *
          Depends on vulnerable versions of hint
          node_modules/@hint/formatter-json
          @hint/formatter-stylish  *
          Depends on vulnerable versions of hint
          node_modules/@hint/formatter-stylish
          @hint/formatter-summary  *
          Depends on vulnerable versions of hint
          node_modules/@hint/formatter-summary
          @hint/hint-apple-touch-icons  *
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-apple-touch-icons
          @hint/hint-axe  *
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-axe
          @hint/hint-babel-config  *
          Depends on vulnerable versions of @hint/parser-babel-config
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-babel-config
          @hint/hint-button-type  *
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-button-type
          @hint/hint-compat-api  *
          Depends on vulnerable versions of @hint/parser-css
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-compat-api
          @hint/hint-content-type  *
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-content-type
          @hint/hint-create-element-svg  *
          Depends on vulnerable versions of @hint/parser-javascript
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-create-element-svg
          @hint/hint-css-prefix-order  *
          Depends on vulnerable versions of @hint/parser-css
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-css-prefix-order
          @hint/hint-disown-opener  *
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-disown-opener
          @hint/hint-highest-available-document-mode  *
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-highest-available-document-mode
          @hint/hint-html-checker  *
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-html-checker
          @hint/hint-http-cache  *
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-http-cache
          @hint/hint-http-compression  *
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-http-compression
          @hint/hint-image-optimization-cloudinary  *
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-image-optimization-cloudinary
          @hint/hint-leading-dot-classlist  *
          Depends on vulnerable versions of @hint/parser-javascript
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-leading-dot-classlist
          @hint/hint-manifest-app-name  *
          Depends on vulnerable versions of @hint/parser-manifest
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-manifest-app-name
          @hint/hint-manifest-exists  *
          Depends on vulnerable versions of @hint/parser-manifest
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-manifest-exists
          @hint/hint-manifest-file-extension  *
          Depends on vulnerable versions of @hint/parser-manifest
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-manifest-file-extension
          @hint/hint-manifest-is-valid  *
          Depends on vulnerable versions of @hint/parser-manifest
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-manifest-is-valid
          @hint/hint-meta-charset-utf-8  *
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-meta-charset-utf-8
          @hint/hint-meta-viewport  *
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-meta-viewport
          @hint/hint-no-bom  *
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-no-bom
          @hint/hint-no-disallowed-headers  *
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-no-disallowed-headers
          @hint/hint-no-friendly-error-pages  *
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-no-friendly-error-pages
          @hint/hint-no-html-only-headers  *
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-no-html-only-headers
          @hint/hint-no-http-redirects  *
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-no-http-redirects
          @hint/hint-no-inline-styles  *
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-no-inline-styles
          @hint/hint-no-protocol-relative-urls  *
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-no-protocol-relative-urls
          @hint/hint-no-vulnerable-javascript-libraries  *
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-no-vulnerable-javascript-libraries
          @hint/hint-scoped-svg-styles  *
          Depends on vulnerable versions of @hint/parser-css
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-scoped-svg-styles
          @hint/hint-sri  *
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-sri
          @hint/hint-ssllabs  *
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-ssllabs
          @hint/hint-strict-transport-security  *
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-strict-transport-security
          @hint/hint-stylesheet-limits  *
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-stylesheet-limits
          @hint/hint-typescript-config  *
          Depends on vulnerable versions of @hint/parser-typescript-config
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-typescript-config
          @hint/hint-validate-set-cookie-header  *
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-validate-set-cookie-header
          @hint/hint-webpack-config  *
          Depends on vulnerable versions of @hint/parser-babel-config
          Depends on vulnerable versions of @hint/parser-typescript-config
          Depends on vulnerable versions of @hint/parser-webpack-config
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-webpack-config
          @hint/hint-x-content-type-options  *
          Depends on vulnerable versions of hint
          node_modules/@hint/hint-x-content-type-options
          @hint/parser-babel-config  *
          Depends on vulnerable versions of hint
          node_modules/@hint/parser-babel-config
          @hint/parser-css  *
          Depends on vulnerable versions of hint
          node_modules/@hint/parser-css
          @hint/parser-html  *
          Depends on vulnerable versions of hint
          node_modules/@hint/parser-html
          @hint/parser-javascript  *
          Depends on vulnerable versions of hint
          node_modules/@hint/parser-javascript
          @hint/parser-jsx  *
          Depends on vulnerable versions of @hint/parser-javascript
          Depends on vulnerable versions of hint
          node_modules/@hint/parser-jsx
          @hint/parser-less  *
          Depends on vulnerable versions of hint
          node_modules/@hint/parser-less
          @hint/parser-manifest  *
          Depends on vulnerable versions of hint
          node_modules/@hint/parser-manifest
          @hint/parser-sass  *
          Depends on vulnerable versions of hint
          node_modules/@hint/parser-sass
          @hint/parser-typescript  *
          Depends on vulnerable versions of @hint/parser-javascript
          Depends on vulnerable versions of hint
          node_modules/@hint/parser-typescript
          @hint/parser-typescript-config  *
          Depends on vulnerable versions of hint
          node_modules/@hint/parser-typescript-config
          @hint/parser-webpack-config  *
          Depends on vulnerable versions of hint
          node_modules/@hint/parser-webpack-config
          @hint/utils-connector-tools  *
          Depends on vulnerable versions of hint
          node_modules/@hint/utils-connector-tools

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with validateResources in node_modules/hint/dist/src/lib/analyzer.js and the initWebhint entry points in node_modules/vscode-webhint/dist/src/server.js. Reproduce the bundled webhint startup failure on Windows with extension version 2.1.1, then verify that the missing dependencies no longer produce AnalyzerError or an error notification.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js, typescript
Domain
devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.