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" + ] + } +} |