Security News
GitHub Removes Malicious Pull Requests Targeting Open Source Repositories
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
@invisible/basic-tests
Advanced tools
Basic tests for your project: requiring each file and testing environment variables
Basic tests for your project: requiring each file and testing environment variables
yarn add --dev @invisible/basic-tests
This module exposes two methods checkRequireAllFiles
and checkEnvFromSample
.
checkRequireAllFiles()
will attempt to require every file in your project, aside from those that are ignored by your .gitignore
or are in your test
directory. If it encounters any that throw an error on require, or are simply invalid javascript, this function will throw. If it encounters multiple such errors, it will throw one error at the end with all un-requirable files listed.This test is useful because it ensures that you don't have any obvious errors in your files. It should also encourage you to not have any side effects on requiring files.
checkEnvFromSample()
checks that all env vars in env.sample
are actually set in your environment. This is useful so that you won't try to run your package when it is missing a required environment variable.Note: both of these methods are synchronous.
To use these methods, create a test file and call these functions
// test/index.js
'use strict'
const {
checkEnvFromSample,
checkRequireAllFiles,
} = require('@invisible/basic-tests')
describe('env', () => {
it('env.sample should exist, and all env vars should be set', checkEnvFromSample)
})
describe('dependencies', () => {
it('should be able to require all files', checkRequireAllFiles)
})
$ mocha test
․․
2 passing (20ms)
For convenience, we also expose these two methods for the CLI as check-env-from-sample
and check-require-all-files
so you can call them from your CI as part of your checks before deploying, or you can add them to the lifecycle script itself so that even after deploy you can get immediate feedback (and your server won't start).
For example:
// package.json:
{
"prestart": "check-env-from-sample && check-require-all-files",
"start": "node index.js"
...
}
Note: check-env-from-sample
requires dotenv
before checking.
FAQs
Basic tests for your project: requiring each file and testing environment variables
The npm package @invisible/basic-tests receives a total of 0 weekly downloads. As such, @invisible/basic-tests popularity was classified as not popular.
We found that @invisible/basic-tests 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
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.