node-package-tester
v1.3.6
Published
tool for testing npm packages
Downloads
628
Maintainers
Readme
node-package-tester
tool for testing npm packages.
🇺🇦 Help Ukraine
I woke up on my 26th birthday at 5 am from the blows of russian missiles. They attacked the city of Kyiv, where I live, as well as the cities in which my family and friends live. Now my country is a war zone.
We fight for democratic values, for freedom, for our future! I am stopping any support of my packages by the time until all russians leave my country on trucks or in boxes.
💛💙 Help Ukraine! We need your support! There are dozen ways to help us, just do it!
Table of Contents
Requirements
To use library you need to have node and npm installed in your machine:
- node
>=10
- npm
>=6
Package is continuously tested on darwin, linux and win32 platforms. All active and maintenance LTS node releases are supported.
Installation
To install the library run the following command
npm i --save-dev node-package-tester
Usage
Usage:
npt.js pack --config=<config>
npt.js test --config=<config>
npt.js -h | --help
Options:
-h --help shows help
-c --config=<config> config path
Example;
npt.js test -c .package-tester.json
Configuration
Config sample
{
"dir": "tmp/package-tests",
"copyDefaultFiles": true,
"copy": [
[ "tests/files/.default-config.json", "files/.default-config.json" ]
]
}
Config attribute description:
| Option | Required | Type | Description | Default |
|----|---|---|------------------------------------|------------------------------------|
| dir
| yes | string
| Path to target directory (will be created automatically) | |
| copyDefaultFiles
| no | boolean
| Copy default files. See tests/init.js and .mocharc.json | false
|
| copy
| no | array
| Files to copy into packed tests | []
|
| modules
| no | array
| Modules to copy into packed tests | []
|
| supportedNodeVersion
| no | string
| Supported NodeJS versions | '>=12 <=16'
|
| legacyNodeVersion
| no | string
| Legacy NodeJS versions | '>=10 <12'
|
| legacyMochaVersion
| no | string
| Mocha version, to run on legacyNodeVersion
| ^6.0.0'
|
Modules
List devDependencies, which need to be excluded from bundle and loaded with cjs.
Use simple list:
"modules": [ "cls-hooked", "code-chronicle", "eslint" ]
Or specify version for legacy nodeJS:
"modules": [ "cls-hooked", { "name": "eslint", "legacy": "^7.0.0" } ]
CI/CD
Some common examples of ci/cd integration can be found in examples folder.
For example, test npm package across darwin, linux, win32 platforms:
- Appveyour: Test all active and maintenance LTS node releases using the next appveyor.yml
- GitHub Actions: Test active and maintenance LTS node releases using the next workflows.yml
Contribute
Make the changes to the code and tests. Then commit to your branch. Be sure to follow the commit message conventions. Read Contributing Guidelines for details.