Security News
pnpm 10.0.0 Blocks Lifecycle Scripts by Default
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
@backstage/config-loader
Advanced tools
Config loading functionality used by Backstage backend, and CLI
@backstage/config-loader is a package designed to load and manage configuration files for Backstage applications. It supports various configuration formats and allows for merging and validating configurations, making it easier to manage complex setups.
Loading Configuration Files
This feature allows you to load configuration files from specified paths. The `loadConfig` function reads the configuration files and merges them into a single configuration object.
const { loadConfig } = require('@backstage/config-loader');
async function load() {
const config = await loadConfig({
configRoot: './config',
configPaths: ['./app-config.yaml'],
});
console.log(config.get());
}
load();
Merging Configurations
This feature allows you to merge multiple configuration files. The `loadConfig` function can take multiple paths, and it will merge the configurations in the order they are provided.
const { loadConfig } = require('@backstage/config-loader');
async function load() {
const config = await loadConfig({
configRoot: './config',
configPaths: ['./app-config.yaml', './app-config.local.yaml'],
});
console.log(config.get());
}
load();
Validating Configurations
This feature allows you to validate and read specific configuration values. The `ConfigReader` class provides methods to read and validate configuration values.
const { loadConfig } = require('@backstage/config-loader');
const { ConfigReader } = require('@backstage/config');
async function load() {
const config = await loadConfig({
configRoot: './config',
configPaths: ['./app-config.yaml'],
});
const configReader = new ConfigReader(config.get());
const value = configReader.getString('app.title');
console.log(value);
}
load();
The 'config' package is a popular Node.js configuration management solution. It allows for hierarchical configurations for different deployment environments. Compared to @backstage/config-loader, 'config' is more general-purpose and not specifically tailored for Backstage applications.
The 'dotenv' package loads environment variables from a .env file into process.env. While it is simpler and more focused on environment variables, it lacks the advanced merging and validation features of @backstage/config-loader.
The 'convict' package provides a way to define a schema for your configuration files, validate them, and load them. It offers similar validation capabilities as @backstage/config-loader but is more focused on schema definition and validation.
This package provides config loading functionality used by the backend, and CLI.
Do not install this package directly, it is an internal package used by @backstage/cli, and @backstage/backend-common. Depend on either of those instead.
FAQs
Config loading functionality used by Backstage backend, and CLI
The npm package @backstage/config-loader receives a total of 67,096 weekly downloads. As such, @backstage/config-loader popularity was classified as popular.
We found that @backstage/config-loader demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 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.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
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.