Registry /
testing / proto-coverage-reporter
Install & Compatibility
Where this runs
No compatibility data collected yet for this library.
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
protoCoverageInterceptor
✓ import { protoCoverageInterceptor } from 'proto-coverage-reporter'
✗ const protoCoverageInterceptor = require('proto-coverage-reporter')
ESM-only since v0.0.10. CommonJS require() will return undefined for named exports unless using default interop.
ProtoCoverageReporter
✓ import { ProtoCoverageReporter } from 'proto-coverage-reporter'
For TypeScript types, import the reporter class for custom configuration. Not typically needed in JS.
default
✓ import ProtoCoverageReporter from 'proto-coverage-reporter'
✗ const ProtoCoverageReporter = require('proto-coverage-reporter').default
Default export is the reporter class. In Jest config, use array format ['proto-coverage-reporter', options].
Shows Jest config setup and gRPC client with interceptor for coverage tracking.
// Jest config (jest.config.js)
module.exports = {
reporters: [
'default',
['proto-coverage-reporter', {
coverageFrom: [
{
packageName: 'tutorial.HelloService',
serviceProtoPath: './proto/tutorial/hello.proto'
}
]
}]
]
};
// In test file (import interceptor)
import { protoCoverageInterceptor } from 'proto-coverage-reporter';
import { credentials } from '@grpc/grpc-js';
import { HelloServiceClient } from './gen/proto/hello_grpc_pb';
const client = new HelloServiceClient(
'localhost:3000',
credentials.createInsecure(),
{ interceptors: [protoCoverageInterceptor] }
);
Errors
Common errors & fixes
TypeError: protoCoverageInterceptor is not a function
Importing using require() which doesn't handle named exports from ESM packages.
fixUse import { protoCoverageInterceptor } from 'proto-coverage-reporter' instead of require(). Error: Cannot find module 'ka_nabellinc/grpc_spec/extension.proto'
Missing or not properly referenced the extension proto file in your .proto imports.
fixEnsure the extension.proto is available (e.g., via npm package @ka-nabellinc/grpc-spec) and import path is correct.
Jest reporter validation error: coverageFrom is not defined
Missing coverageFrom options in Jest reporter configuration.
fixAdd coverageFrom array with packageName and serviceProtoPath as shown in quickstart.
Audit
Dependencies
jestrequiredJest custom reporter must be used within a Jest test runner
@grpc/grpc-jsoptionalgRPC client interceptor uses @grpc/grpc-js interceptors
protobufjsrequiredUsed internally for protobuf parsing and reflection