node-package-tester

tool for testing npm packages.

Usage no npm install needed!

<script type="module">
  import nodePackageTester from 'https://cdn.skypack.dev/node-package-tester';
</script>

README

node-package-tester

tool for testing npm packages.

Version Bundle size Downloads

CodeFactor SonarCloud Codacy Total alerts Language grade Scrutinizer

Dependencies Security Build Status Coverage Status

Commit activity FOSSA License

Table of Contents

Requirements

Platform Status

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:

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.