{"id":18626,"library":"one-double-zero-core","title":"One Double Zero Core","description":"A code coverage API for JavaScript aiming at relevance, accuracy, simplicity, flexibility and speed (v1.0.2). It leverages V8's built-in coverage for fast, accurate results without instrumenting code. The API is designed to be minimal and composable, catering to both programmatic use and integration with test runners. Ships TypeScript types. Released under ISC license. Known for being lighter and faster than c8 or Istanbul, but with a different API paradigm.","status":"active","version":"1.0.2","language":"javascript","source_language":"en","source_url":null,"tags":["javascript","coverage","istanbul","tdd","test","testing","v8","typescript"],"install":[{"cmd":"npm install one-double-zero-core","lang":"bash","label":"npm"},{"cmd":"yarn add one-double-zero-core","lang":"bash","label":"yarn"},{"cmd":"pnpm add one-double-zero-core","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Module provides a default export, not named exports.","wrong":"import { oneDoubleZeroCore } from 'one-double-zero-core'","symbol":"default","correct":"import oneDoubleZeroCore from 'one-double-zero-core'"},{"note":"Coverage is a named export; do not use default import for it.","wrong":"import Coverage from 'one-double-zero-core'","symbol":"Coverage","correct":"import { Coverage } from 'one-double-zero-core'"},{"note":"Instrumenter is a named export.","wrong":"import Instrumenter from 'one-double-zero-core'","symbol":"Instrumenter","correct":"import { Instrumenter } from 'one-double-zero-core'"},{"note":"CJS users must require the default export; destructing works but only for named exports which are also available.","wrong":"const { oneDoubleZeroCore } = require('one-double-zero-core')","symbol":"commonjs require","correct":"const oneDoubleZeroCore = require('one-double-zero-core')"}],"quickstart":{"code":"import coverage from 'one-double-zero-core';\n\nconst { Coverage } = await coverage.load({\n  // Paths to cover, e.g., 'src/**/*.js'\n  include: ['src/**/*.js'],\n  // Exclude patterns\n  exclude: ['node_modules']\n});\n\n// After your tests run, gather coverage data\nconst result = await Coverage.takeSnapshot();\nconsole.log('Coverage percentage:', result.summary.coveredLines / result.summary.totalLines * 100);","lang":"typescript","description":"Shows basic usage: initialize coverage with include/exclude patterns, then take snapshot after tests."},"warnings":[{"fix":"Use explicit Coverage and Instrumenter classes; refer to docs for programmatic usage.","message":"API differs from c8/istanbul; no automatic instrumenter.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Always await coverage.load() at the start of your test setup.","message":"Must call coverage.load() before tests; otherwise snapshot returns empty.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Set exclude: [] to include node_modules (not recommended).","message":"Excludes 'node_modules' by default; override if needed.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Ensure you use import coverage from 'one-double-zero-core' with ESM and appropriate tsconfig (esModuleInterop: true).","cause":"Using default import incorrectly in TypeScript or Babel when module is CJS?","error":"TypeError: (0 , _oneDoubleZeroCore.default) is not a function"},{"fix":"Check that coverage.load() was awaited and options are correct.","cause":"Forgetting to provide output path or calling snapshot before load.","error":"Error: ENOENT: no such file or directory, open 'path/to/coverage.json'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}