diff options
Diffstat (limited to 'node_modules/collect-v8-coverage')
| -rw-r--r-- | node_modules/collect-v8-coverage/CHANGELOG.md | 11 | ||||
| -rw-r--r-- | node_modules/collect-v8-coverage/LICENSE | 22 | ||||
| -rw-r--r-- | node_modules/collect-v8-coverage/README.md | 15 | ||||
| -rw-r--r-- | node_modules/collect-v8-coverage/index.d.ts | 7 | ||||
| -rw-r--r-- | node_modules/collect-v8-coverage/index.js | 37 | ||||
| -rw-r--r-- | node_modules/collect-v8-coverage/package.json | 54 | 
6 files changed, 146 insertions, 0 deletions
diff --git a/node_modules/collect-v8-coverage/CHANGELOG.md b/node_modules/collect-v8-coverage/CHANGELOG.md new file mode 100644 index 0000000..4c53705 --- /dev/null +++ b/node_modules/collect-v8-coverage/CHANGELOG.md @@ -0,0 +1,11 @@ +## [1.0.1](https://github.com/SimenB/collect-v8-coverage/compare/v1.0.0...v1.0.1) (2020-04-02) + +### Bug Fixes + +- link to repo from package.json ([cf54d65](https://github.com/SimenB/collect-v8-coverage/commit/cf54d659f23afd411cd0ff752e69fa97d2ab1707)) + +# 1.0.0 (2019-12-16) + +### Features + +- initial commit ([57e2041](https://github.com/SimenB/collect-v8-coverage/commit/57e20413f385d7730c5684b1852c14777583807e)) diff --git a/node_modules/collect-v8-coverage/LICENSE b/node_modules/collect-v8-coverage/LICENSE new file mode 100644 index 0000000..eee1101 --- /dev/null +++ b/node_modules/collect-v8-coverage/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2019 Simen Bekkhus + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/collect-v8-coverage/README.md b/node_modules/collect-v8-coverage/README.md new file mode 100644 index 0000000..c5240d6 --- /dev/null +++ b/node_modules/collect-v8-coverage/README.md @@ -0,0 +1,15 @@ +# collect-v8-coverage + +Use this module to start and stop the V8 inspector manually and collect precise coverage. + +```js +const {CoverageInstrumenter} = require('collect-v8-coverage'); + +const instrumenter = new CoverageInstrumenter(); + +await instrumenter.startInstrumenting(); + +// require some modules, run some code + +const coverage = await instrumenter.stopInstrumenting(); +``` diff --git a/node_modules/collect-v8-coverage/index.d.ts b/node_modules/collect-v8-coverage/index.d.ts new file mode 100644 index 0000000..7340420 --- /dev/null +++ b/node_modules/collect-v8-coverage/index.d.ts @@ -0,0 +1,7 @@ +/// <reference types="node" /> +import { Profiler } from 'inspector'; +export declare type V8Coverage = ReadonlyArray<Profiler.ScriptCoverage>; +export declare class CoverageInstrumenter { +  startInstrumenting(): Promise<void>; +  stopInstrumenting(): Promise<V8Coverage>; +} diff --git a/node_modules/collect-v8-coverage/index.js b/node_modules/collect-v8-coverage/index.js new file mode 100644 index 0000000..8c4a779 --- /dev/null +++ b/node_modules/collect-v8-coverage/index.js @@ -0,0 +1,37 @@ +'use strict'; + +const { Session } = require('inspector'); +const { promisify } = require('util'); + +class CoverageInstrumenter { +  constructor() { +    this.session = new Session(); + +    this.postSession = promisify(this.session.post.bind(this.session)); +  } + +  async startInstrumenting() { +    this.session.connect(); + +    await this.postSession('Profiler.enable'); + +    await this.postSession('Profiler.startPreciseCoverage', { +      callCount: true, +      detailed: true, +    }); +  } + +  async stopInstrumenting() { +    const {result} = await this.postSession( +      'Profiler.takePreciseCoverage', +    ); + +    await this.postSession('Profiler.stopPreciseCoverage'); + +    await this.postSession('Profiler.disable'); + +    return result; +  } +} + +module.exports.CoverageInstrumenter = CoverageInstrumenter; diff --git a/node_modules/collect-v8-coverage/package.json b/node_modules/collect-v8-coverage/package.json new file mode 100644 index 0000000..442a8f6 --- /dev/null +++ b/node_modules/collect-v8-coverage/package.json @@ -0,0 +1,54 @@ +{ +  "name": "collect-v8-coverage", +  "version": "1.0.1", +  "main": "index.js", +  "types": "index.d.ts", +  "repository": "SimenB/collect-v8-coverage", +  "files": [ +    "CHANGELOG.md", +    "index.js", +    "index.d.ts" +  ], +  "license": "MIT", +  "devDependencies": { +    "@commitlint/cli": "^8.2.0", +    "@commitlint/config-conventional": "^8.2.0", +    "@semantic-release/changelog": "^3.0.6", +    "@semantic-release/git": "^7.0.18", +    "husky": "^3.0.9", +    "lint-staged": "^9.4.2", +    "prettier": "^1.19.1", +    "semantic-release": "^15.13.31" +  }, +  "prettier": { +    "singleQuote": true, +    "trailingComma": "all" +  }, +  "lint-staged": { +    "*.{js,ts,md,json}": [ +      "prettier --write", +      "git add" +    ] +  }, +  "commitlint": { +    "extends": [ +      "@commitlint/config-conventional" +    ] +  }, +  "husky": { +    "hooks": { +      "commit-msg": "commitlint -e $HUSKY_GIT_PARAMS", +      "pre-commit": "lint-staged" +    } +  }, +  "release": { +    "plugins": [ +      "@semantic-release/commit-analyzer", +      "@semantic-release/release-notes-generator", +      "@semantic-release/changelog", +      "@semantic-release/npm", +      "@semantic-release/git", +      "@semantic-release/github" +    ] +  } +}  | 
