Seamless JavaScript code coverage library for both browser and Node.js environments
—
Quality
Pending
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Pending
The risk profile of this skill
Blanket.js configuration system for controlling coverage behavior, file filtering, and output options.
Central configuration method for getting and setting all Blanket.js options.
/**
* Get or set configuration options
* @param key - Option key (string) or options object
* @param value - Option value (when key is string)
* @returns Option value (when used as getter), undefined (when used as setter)
*/
function options(key, value);Usage Examples:
// Set single option
blanket.options("filter", "src/");
// Set multiple options
blanket.options({
filter: "src/",
antifilter: "test/",
debug: true
});
// Get option value
const currentFilter = blanket.options("filter");/**
* Get the coverage variable name
* @returns Coverage variable name ("window._$blanket" in browser, "_$jscoverage" in Node.js, or custom)
*/
function getCovVar();
/**
* Extend blanket object with additional properties/methods
* @param obj - Object with properties to add to blanket
*/
function extend(obj);
/**
* Return control of the blanket variable to previous owner
* @returns Previous blanket instance or current instance
*/
function noConflict();filter - Pattern to match files for instrumentation
string | string[] | RegExp | Function"src"// String pattern (substring match)
blanket.options("filter", "src/");
// Array of patterns
blanket.options("filter", ["src/", "lib/"]);
// Regular expression
blanket.options("filter", /^src\//);
// Function
blanket.options("filter", function(filename) {
return filename.indexOf("src/") >= 0;
});antifilter - Pattern to exclude files from instrumentation
string | string[] | RegExp | Functionundefinedreporter - Coverage report output handler
string | Function// Path to custom reporter
blanket.options("reporter", "./custom-reporter.js");
// Custom reporter function
blanket.options("reporter", function(coverageData) {
console.log("Coverage:", coverageData);
});reporter_options - Options passed to reporters
objectshortnames (boolean): Use short filenames in reportsrelativepath (boolean): Use relative paths from current directorybasepath (string): Base path to remove from filenamesadapter - Test framework adapter
string"mocha-blanket", "jasmine-blanket", "qunit-blanket"testReadyCallback - Callback when tests are ready to run
Functionloader - Custom file loaders for different file types
string | string[]// Single loader
blanket.options("loader", "./node-loaders/coffee-script");
// Multiple loaders
blanket.options("loader", [
"./node-loaders/coffee-script",
"./node-loaders/cjsx"
]);timeout - File loading timeout in milliseconds
number180ignoreScriptError - Continue on script instrumentation errors
booleanfalseautoStart - Automatically start test runner
booleanfalsebranchTracking - Enable branch coverage tracking
booleanfalsedebug - Enable debug logging
booleanfalseengineOnly - Instrumentation engine only mode
booleanfalsecommonJS - CommonJS module support
booleanfalseexistingRequireJS - Use existing RequireJS instance
booleanfalseignoreCors - Ignore CORS errors when loading files
booleanfalsesourceURL - Add sourceURL comments to instrumented code
booleanfalseinstrumentCache - Cache instrumented files in sessionStorage
booleanfalsecustomVariable - Custom coverage variable name
stringundefinedmodulePattern - Pattern for module grouping in reports
RegExpecmaVersion - ECMAScript version for parsing
number5Blanket.js can also be configured via package.json:
{
"config": {
"blanket": {
"pattern": "src/",
"data-cover-flags": {
"debug": false,
"branchTracking": true
},
"data-cover-reporter-options": {
"shortnames": true
}
}
}
}Configuration keys in package.json:
pattern or data-cover-only → filter optiondata-cover-never → antifilter optionloader or data-cover-loader → loader optiondata-cover-timeout → timeout optiondata-cover-customVariable → customVariable optiondata-cover-ecmaVersion → ecmaVersion optiondata-cover-flags → various boolean flagsdata-cover-reporter-options → reporter_options object