Product
Introducing SSO
Streamline your login process and enhance security by enabling Single Sign-On (SSO) on the Socket platform, now available for all customers on the Enterprise plan, supporting 20+ identity providers.
@istanbuljs/load-nyc-config
Advanced tools
Package description
The @istanbuljs/load-nyc-config package is designed to load the configuration for nyc, a popular code coverage tool used in JavaScript projects. It helps in parsing and assembling the configuration from various sources such as package.json, .nycrc, .nycrc.json, and nyc.config.js files. This package simplifies the process of managing and utilizing nyc configurations, making it easier to integrate code coverage into your testing workflow.
Loading configuration from a file
This feature allows you to load the nyc configuration asynchronously from the default or specified configuration files within a project directory. It searches for configuration in common file formats and merges them according to precedence.
const loadNycConfig = require('@istanbuljs/load-nyc-config');
async function getConfig() {
const config = await loadNycConfig({cwd: '/path/to/project'});
console.log(config);
}
getConfig();
Merging custom options with file-based configuration
This demonstrates how to merge custom configuration options with those loaded from configuration files. It's useful for programmatically adjusting the nyc configuration in scripts or tools.
const loadNycConfig = require('@istanbuljs/load-nyc-config');
async function getConfigWithOverrides() {
const options = {reporter: ['lcov', 'text']};
const config = await loadNycConfig({cwd: '/path/to/project'}, options);
console.log(config);
}
getConfigWithOverrides();
While nyc itself is primarily a command-line tool for capturing code coverage, it inherently deals with loading and applying configuration for its operation. Compared to @istanbuljs/load-nyc-config, nyc offers a broader set of functionalities including instrumentation, reporting, and configuration management as part of its core features.
The 'config' package is used for managing configurations across Node.js applications. It doesn't specifically target nyc configurations but provides a general-purpose solution for loading and merging configurations from various sources. Unlike @istanbuljs/load-nyc-config, it's not tailored to code coverage tools but can be adapted for various configuration needs.
Changelog
Readme
The utility function which NYC uses to load configuration. This can be used by outside programs to calculate the configuration. Command-line arguments are not considered by this function.
const {loadNycConfig} = require('@istanbuljs/load-nyc-config');
(async () {
console.log(await loadNycConfig());
})();
Type: string
Default: cwd
from parent nyc process or process.cwd()
Type: string
Default: undefined
Name of the file containing nyc configuration.
This can be a relative or absolute path.
Relative paths can exist at options.cwd
or any parent directory.
If an nycrc is specified but cannot be found an exception is thrown.
If no nycrc option is provided the default priority of config files are:
Configuration is first loaded from package.json
if found, this serves as the package
defaults. These options can be overridden by an nycrc if found. Arrays are not merged,
so if package.json
sets "require": ["@babel/register"]
and .nycrc
sets "require": ["esm"]
the effective require setting will only include "esm"
.
const {isLoading} = require('@istanbuljs/load-nyc-config');
console.log(isLoading());
In some cases source transformation hooks can get installed before the configuration is loaded. This allows hooks to ignore source loads that occur during configuration load.
@istanbuljs/load-nyc-config
for enterpriseAvailable as part of the Tidelift Subscription.
The maintainers of @istanbuljs/load-nyc-config
and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. Learn more.
FAQs
Utility function to load nyc configuration
The npm package @istanbuljs/load-nyc-config receives a total of 17,577,271 weekly downloads. As such, @istanbuljs/load-nyc-config popularity was classified as popular.
We found that @istanbuljs/load-nyc-config demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 4 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
Streamline your login process and enhance security by enabling Single Sign-On (SSO) on the Socket platform, now available for all customers on the Enterprise plan, supporting 20+ identity providers.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.