gotwarlost / istanbul

Yet another JS code coverage tool that computes statement, line, function and branch coverage with module loader hooks to transparently add coverage when running tests. Supports all JS coverage use cases including unit tests, server side functional tests and browser tests. Built for scale.
Other
8.7k stars 786 forks source link

Fails when running `istanbul report` #954

Open MaxisTekfield opened 1 year ago

MaxisTekfield commented 1 year ago

When running npx istanbul report --dir coverage --include input/**/coverage-final.json lcov, it fails. Could someone help me please.

E:\xxx>npx istanbul report --dir coverage --include input/**/coverage-final.json lcov
E:\xxx\node_modules\istanbul\lib\util\file-writer.js:66
    this.queue = async.queue(this.processFile.bind(this), 20);
                       ^

TypeError: async.queue is not a function
    at new AsyncFileWriter (E:\xxx\node_modules\istanbul\lib\util\file-writer.js:66:24)
    at new FileWriter (E:\xxx\node_modules\istanbul\lib\util\file-writer.js:134:51)
    at LcovOnlyReport.writeReport (E:\xxx\node_modules\istanbul\lib\report\lcovonly.js:91:42)
    at LcovReport.writeReport (E:\xxx\node_modules\istanbul\lib\report\lcov.js:54:19)
    at E:\xxx\node_modules\istanbul\lib\reporter.js:93:20
    at Array.forEach (<anonymous>)
    at Reporter.write (E:\xxx\node_modules\istanbul\lib\reporter.js:87:30)
    at E:\xxx\node_modules\istanbul\lib\command\report.js:113:22
    at E:\xxx\node_modules\istanbul\lib\util\file-matcher.js:39:20
    at f (E:\xxx\node_modules\once\once.js:25:25)
E:\xxx>npm list
xxx@1.9.115
| E:\xxx
| xxx
`-- istanbul@0.4.5
  | Yet another JS code coverage tool that computes statement, line, function and branch coverage with module loader hooks to transparently add coverage when running tests. Supports all JS coverage use cases including unit tests, server side functional tests and browser tests. Built for scale
  | git://github.com/gotwarlost/istanbul.git
  | https://github.com/gotwarlost/istanbul#readme
  +-- abbrev@1.0.9
  |   Like ruby's abbrev module, but in js
  |   git+ssh://git@github.com/isaacs/abbrev-js.git
  |   https://github.com/isaacs/abbrev-js#readme
  +-- dayjs@1.10.4
  |   2KB immutable date time library alternative to Moment.js with the same modern API
  |   git+https://github.com/iamkun/dayjs.git
  |   https://day.js.org
  +-- escodegen@1.8.1
  | | ECMAScript code generator
  | | git+ssh://git@github.com/estools/escodegen.git
  | | http://github.com/estools/escodegen
  | +-- esprima@2.7.3 deduped
  | |   ECMAScript parsing infrastructure for multipurpose analysis
  | |   git+https://github.com/jquery/esprima.git
  | |   http://esprima.org
  | +-- estraverse@1.9.3
  | |   ECMAScript JS AST traversal functions
  | |   git+ssh://git@github.com/estools/estraverse.git
  | |   https://github.com/estools/estraverse
  | +-- esutils@2.0.3
  | |   utility box for ECMAScript language tools
  | |   git+ssh://git@github.com/estools/esutils.git
  | |   https://github.com/estools/esutils
  | +-- optionator@0.8.3
  | | | option parsing and help generation
  | | | git://github.com/gkz/optionator.git
  | | | https://github.com/gkz/optionator
  | | +-- deep-is@0.1.4
  | | |   node's assert.deepEqual algorithm except for NaN being equal to NaN
  | | |   git+ssh://git@github.com/thlorenz/deep-is.git
  | | |   https://github.com/thlorenz/deep-is#readme
  | | +-- fast-levenshtein@2.0.6
  | | |   Efficient implementation of Levenshtein algorithm  with locale-specific collator support.
  | | |   git+https://github.com/hiddentao/fast-levenshtein.git
  | | |   https://github.com/hiddentao/fast-levenshtein#readme
  | | +-- levn@0.3.0
  | | | | Light ECMAScript (JavaScript) Value Notation - human written, concise, typed, flexible
  | | | | git://github.com/gkz/levn.git
  | | | | https://github.com/gkz/levn
  | | | +-- prelude-ls@1.1.2 deduped
  | | | |   prelude.ls is a functionally oriented utility library. It is powerful and flexible. Almost all of its functions are curried. It is written in, and is the recommended base library for, LiveScript.
  | | | |   git://github.com/gkz/prelude-ls.git
  | | | |   http://preludels.com
  | | | `-- type-check@0.3.2 deduped
  | | |     type-check allows you to check the types of JavaScript values at runtime with a Haskell like type syntax.
  | | |     git://github.com/gkz/type-check.git
  | | |     https://github.com/gkz/type-check
  | | +-- prelude-ls@1.1.2
  | | |   prelude.ls is a functionally oriented utility library. It is powerful and flexible. Almost all of its functions are curried. It is written in, and is the recommended base library for, LiveScript.
  | | |   git://github.com/gkz/prelude-ls.git
  | | |   http://preludels.com
  | | +-- type-check@0.3.2
  | | | | type-check allows you to check the types of JavaScript values at runtime with a Haskell like type syntax.
  | | | | git://github.com/gkz/type-check.git
  | | | | https://github.com/gkz/type-check
  | | | `-- prelude-ls@1.1.2 deduped
  | | |     prelude.ls is a functionally oriented utility library. It is powerful and flexible. Almost all of its functions are curried. It is written in, and is the recommended base library for, LiveScript.
  | | |     git://github.com/gkz/prelude-ls.git
  | | |     http://preludels.com
  | | `-- word-wrap@1.2.3
  | |     Wrap words to a specified length.
  | |     git+https://github.com/jonschlinkert/word-wrap.git
  | |     https://github.com/jonschlinkert/word-wrap
  | `-- source-map@0.2.0
  |   | Generates and consumes source maps
  |   | git+ssh://git@github.com/mozilla/source-map.git
  |   | https://github.com/mozilla/source-map
  |   `-- amdefine@1.0.1
  |       Provide AMD's define() API for declaring modules in the AMD format
  |       git+https://github.com/jrburke/amdefine.git
  |       http://github.com/jrburke/amdefine
  +-- esprima@2.7.3
  |   ECMAScript parsing infrastructure for multipurpose analysis
  |   git+https://github.com/jquery/esprima.git
  |   http://esprima.org
  +-- glob@5.0.15
  | | a little globber
  | | git://github.com/isaacs/node-glob.git
  | | https://github.com/isaacs/node-glob#readme
  | +-- inflight@1.0.6
  | | | Add callbacks to requests in flight to avoid async duplication
  | | | git+https://github.com/npm/inflight.git
  | | | https://github.com/isaacs/inflight
  | | +-- once@1.4.0 deduped
  | | |   Run a function exactly one time
  | | |   git://github.com/isaacs/once.git
  | | |   https://github.com/isaacs/once#readme
  | | `-- wrappy@1.0.2 deduped
  | |     Callback wrapping utility
  | |     git+https://github.com/npm/wrappy.git
  | |     https://github.com/npm/wrappy
  | +-- inherits@2.0.4
  | |   Browser-friendly inheritance fully compatible with standard node.js inherits()
  | |   git://github.com/isaacs/inherits.git
  | |   https://github.com/isaacs/inherits#readme
  | +-- minimatch@3.1.2
  | | | a glob matcher in javascript
  | | | git://github.com/isaacs/minimatch.git
  | | | https://github.com/isaacs/minimatch#readme
  | | `-- brace-expansion@1.1.11
  | |   | Brace expansion as known from sh/bash
  | |   | git://github.com/juliangruber/brace-expansion.git
  | |   | https://github.com/juliangruber/brace-expansion
  | |   +-- balanced-match@1.0.2
  | |   |   Match balanced character pairs, like "{" and "}"
  | |   |   git://github.com/juliangruber/balanced-match.git
  | |   |   https://github.com/juliangruber/balanced-match
  | |   `-- concat-map@0.0.1
  | |       concatenative mapdashery
  | |       git://github.com/substack/node-concat-map.git
  | |       https://github.com/substack/node-concat-map#readme
  | +-- once@1.4.0 deduped
  | |   Run a function exactly one time
  | |   git://github.com/isaacs/once.git
  | |   https://github.com/isaacs/once#readme
  | `-- path-is-absolute@1.0.1
  |     Node.js 0.12 path.isAbsolute() ponyfill
  |     git+https://github.com/sindresorhus/path-is-absolute.git
  |     https://github.com/sindresorhus/path-is-absolute#readme
  +-- handlebars@4.7.7
  | | Handlebars provides the power necessary to let you build semantic templates effectively with no frustration
  | | git+https://github.com/wycats/handlebars.js.git
  | | http://www.handlebarsjs.com/
  | +-- minimist@1.2.8
  | |   parse argument options
  | |   git://github.com/minimistjs/minimist.git
  | |   https://github.com/minimistjs/minimist
  | +-- neo-async@2.6.2
  | |   Neo-Async is a drop-in replacement for Async, it almost fully covers its functionality and runs faster
  | |   git+ssh://git@github.com/suguru03/neo-async.git
  | |   https://github.com/suguru03/neo-async
  | +-- source-map@0.6.1
  | |   Generates and consumes source maps
  | |   git+ssh://git@github.com/mozilla/source-map.git
  | |   https://github.com/mozilla/source-map
  | +-- uglify-js@3.17.4
  | |   JavaScript parser, mangler/compressor and beautifier toolkit
  | |   git+https://github.com/mishoo/UglifyJS.git
  | |   https://github.com/mishoo/UglifyJS#readme
  | `-- wordwrap@1.0.0 deduped
  |     Wrap those words. Show them at what columns to start and stop.
  |     git://github.com/substack/node-wordwrap.git
  |     https://github.com/substack/node-wordwrap#readme
  +-- js-yaml@3.14.1
  | | YAML 1.2 parser and serializer
  | | git+https://github.com/nodeca/js-yaml.git
  | | https://github.com/nodeca/js-yaml
  | +-- argparse@1.0.10
  | | | Very powerful CLI arguments parser. Native port of argparse - python's options parsing library
  | | | git+https://github.com/nodeca/argparse.git
  | | | https://github.com/nodeca/argparse#readme
  | | `-- sprintf-js@1.0.3
  | |     JavaScript sprintf implementation
  | |     git+https://github.com/alexei/sprintf.js.git
  | |     https://github.com/alexei/sprintf.js#readme
  | `-- esprima@4.0.1
  |     ECMAScript parsing infrastructure for multipurpose analysis
  |     git+https://github.com/jquery/esprima.git
  |     http://esprima.org
  +-- mkdirp@0.5.6
  | | Recursively mkdir, like `mkdir -p`
  | | git+https://github.com/substack/node-mkdirp.git
  | | https://github.com/substack/node-mkdirp#readme
  | `-- minimist@1.2.8 deduped
  |     parse argument options
  |     git://github.com/minimistjs/minimist.git
  |     https://github.com/minimistjs/minimist
  +-- nopt@3.0.6
  | | Option parsing for Node, supporting types, shorthands, etc. Used by npm.
  | | git+https://github.com/npm/nopt.git
  | | https://github.com/npm/nopt#readme
  | `-- abbrev@1.0.9 deduped
  |     Like ruby's abbrev module, but in js
  |     git+ssh://git@github.com/isaacs/abbrev-js.git
  |     https://github.com/isaacs/abbrev-js#readme
  +-- once@1.4.0
  | | Run a function exactly one time
  | | git://github.com/isaacs/once.git
  | | https://github.com/isaacs/once#readme
  | `-- wrappy@1.0.2
  |     Callback wrapping utility
  |     git+https://github.com/npm/wrappy.git
  |     https://github.com/npm/wrappy
  +-- resolve@1.1.7
  |   resolve like require.resolve() on behalf of files asynchronously and synchronously
  |   git://github.com/substack/node-resolve.git
  |   https://github.com/substack/node-resolve#readme
  +-- supports-color@3.2.3
  | | Detect whether a terminal supports color
  | | git+https://github.com/chalk/supports-color.git
  | | https://github.com/chalk/supports-color#readme
  | `-- has-flag@1.0.0
  |     Check if argv has a specific flag
  |     git+https://github.com/sindresorhus/has-flag.git
  |     https://github.com/sindresorhus/has-flag#readme
  +-- which@1.3.1
  | | Like which(1) unix command. Find the first instance of an executable in the PATH.
  | | git://github.com/isaacs/node-which.git
  | | https://github.com/isaacs/node-which#readme
  | `-- isexe@2.0.0
  |     Minimal module to check if a file is executable.
  |     git+https://github.com/isaacs/isexe.git
  |     https://github.com/isaacs/isexe#readme
  `-- wordwrap@1.0.0
      Wrap those words. Show them at what columns to start and stop.
      git://github.com/substack/node-wordwrap.git
      https://github.com/substack/node-wordwrap#readme
MaxisTekfield commented 1 year ago

After I reinstall async@1.5.2, the problem's gone. Maybe there are some incompatibles between async@1.10.4 and istanbul@0.4.5