Product
Socket Now Supports uv.lock Files
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
codacy-coverage
Advanced tools
Credits to David for creating this! Codacy support for Node.js. Get coverage reporting and code analysis for Node.js from Codacy.
##Installation:
Add the latest version of codacy-coverage
to your package.json:
npm install codacy-coverage --save
If you're using mocha, add mocha-lcov-reporter
to your package.json:
npm install mocha-lcov-reporter --save
##Usage:
This script ( bin/codacy-coverage.js
) can take standard input from any tool that emits the lcov data format (including mocha's LCov reporter) and send it to Codacy to report your code coverage there.
Once your app is instrumented for coverage, and building, you need to pipe the lcov output to ./node_modules/.bin/codacy-coverage
.
You'll need to provide the Report token from Codacy via an environment variable:
Note: You should keep your API token well protected, as it grants owner permissions to your projects.
Enterprise
To send coverage in the enterprise version you should specify your Codacy installation URL:
codacy-coverage -e <YOUR-URL>:16006
NODE_ENV=test YOURPACKAGE_COVERAGE=1 ./node_modules/.bin/mocha \
--require blanket \
--reporter mocha-lcov-reporter | ./node_modules/.bin/codacy-coverage
Instrumenting your app for coverage is probably harder than it needs to be (read here), but that's also a necessary step.
In mocha, if you've got your code instrumented for coverage, the command for a travis build would look something like this:
YOURPACKAGE_COVERAGE=1 ./node_modules/.bin/mocha test -R mocha-lcov-reporter | ./node_modules/.bin/codacy-coverage
With Mocha:
istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/.bin/codacy-coverage && rm -rf ./coverage
With Jasmine:
istanbul cover jasmine-node --captureExceptions spec/ && cat ./coverage/lcov.info | ./node_modules/.bin/codacy-coverage && rm -rf ./coverage
Client-side JS code coverage using PhantomJS, Mocha and Blanket:
data-cover
html-attribute./node_modules/.bin/poncho -R lcov test/test.html | ./node_modules/.bin/codacy-coverage
The paths in your coverage file should be relative, if you are having problems with absolute paths, you can run our plugin with -p .
to strip the current path from the paths in your coverage file:
cat ./coverage/lcov.info | node_modules/.bin/codacy-coverage -p .
To send coverage in the enterprise version you should specify your Codacy installation URL followed by the port 16006 using the -e option, example:
cat ./coverage/lcov.info | node_modules/.bin/codacy-coverage -e <YOUR-URL>:16006
Codacy is an Automated Code Review Tool that monitors your technical debt, helps you improve your code quality, teaches best practices to your developers, and helps you save time in Code Reviews.
Codacy also helps keep track of Code Coverage, Code Duplication, and Code Complexity.
Codacy supports PHP, Python, Ruby, Java, JavaScript, and Scala, among others.
Codacy is free for Open Source projects.
FAQs
Code Coverage reporter for Codacy.com
The npm package codacy-coverage receives a total of 2,289 weekly downloads. As such, codacy-coverage popularity was classified as popular.
We found that codacy-coverage demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.
Security News
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.