Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
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.
envaridator
Advanced tools
Readme
Docs | Contributing | Wiki
Envaridator
is a small environment variable management and validation library. It provides
--help
flag is passed)Using yarn
:
yarn add envaridator
or npm
:
npm i --save envaridator
Note: the below example uses toi to validate the variable, but you can use any function that converts the variable to the desired type, or throws an error if the conversion fails.
Importing:
import { Envaridator } from 'envaridator';
let envaridator = new Envaridator();
import * as toi from '@toi/toi';
import * as toix from '@toi/toix';
const oldDBURL = envaridator.register(
'DB_URL',
toi.optional().and(toix.str.url({ protocol: 'postgres' })),
'The SQL database url. Must be a PostgreSQL database. Deprecated, use DATABASE_URL',
);
const newDBURL = envaridator.register(
'DATABASE_URL',
toi.optional().and(toix.str.url({ protocol: 'postgres' })),
'The SQL database url. Must be a PostgreSQL database.',
);
envaridator.registerPostValidation('Either DB_URL or DATABASE_URL needs to defined.', () => {
// if neither DB_URL or DATABASE_URL is defined, throw an error
if (!(oldDBURL.value || newDBURL.value)) {
throw new Error();
}
});
if (process.env['HELP']) {
console.log(envaridator.describeAll());
process.exit(0);
}
try {
envaridator.validate();
} catch (err) {
console.error(err.message);
process.exit(1);
}
// After this point, we can use the variables
const dbURL = newDBURL.value || oldDBURL.value;
let db = createDatabase({ url: dbURL });
If one or more registered environment variables fail the validation, envaridator
will return a
status report:
The following environment variables are invalid:
DATABASE_URL - Invalid protocol: mysql
You can also add post validation rules (by using envaridator.registerPostValidation
) which you can
use to add constraints across all variables. For example, you can use this feature to check
migration of an environment variable.
Why separate registration from use?
envaridator.describeAll
Envaridator is MIT licensed.
FAQs
Environment variable validator for TypeScript
The npm package envaridator receives a total of 5 weekly downloads. As such, envaridator popularity was classified as not popular.
We found that envaridator demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 8 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
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.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.