Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

node-package-tester

pustovitDmytro315MIT1.3.6

tool for testing npm packages

tests, nodejs, npt, testing, version, mocha

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

🇺🇦 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

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.

changelog

1.3.6 (2022-02-28)

Docs

1.3.5 (2022-02-06)

Upgrade

  • Update dependency @babel/core to v7.17.0 (#75) (b69e313), closes #75

1.3.4 (2022-02-05)

Chore

  • fixes some npm audit vulnerabilities (#70) (95d1115), closes #70
  • Lock file maintenance (#53) (53833ae), closes #53
  • lower nyc settings to match true negatives (ea009e3)

Upgrade

  • Update dependency rollup to v2.67.0 (#74) (6ee3fea), closes #74

1.3.3 (2022-01-31)

Fix

  • npt_semver nested dependency in generated package.json (cdfc6c7)

1.3.2 (2022-01-28)

Fix

  • drop fs-extra from conditional-test.js (16d9251)
  • use inline scope for semver package (38e5e5f)

1.3.1 (2022-01-28)

Fix

  • drop redunant console.log (b682ccd)

1.3.0 (2022-01-28)

Chore

  • fixes some npm audit vulnerabilities (#62) (4eac9fe), closes #62
  • increase coverage (a4824b1)
  • Update devDependencies (non-major) (#48) (50cadfe), closes #48
  • Update devDependencies (non-major) (#49) (0d58df2), closes #49

New

  • specify legacy modules versions (ca92495)

Upgrade

  • Update dependency @babel/core to v7.16.12 (#52) (0d1eabd), closes #52
  • Update dependency rollup to v2.66.1 (#69) (7009ace), closes #69

1.2.0 (2022-01-27)

New

  • specify legacy versions from config (8242626)

1.1.29 (2022-01-25)

Chore

  • fixes some npm audit vulnerabilities (#63) (1787ce6), closes #63

Upgrade

  • Update dependency @rollup/plugin-commonjs to v21.0.1 (#64) (f941ab3), closes #64
  • Update dependency @rollup/plugin-node-resolve to v13.1.3 (#66) (a2560a8), closes #66
  • Update dependency rollup to v2.66.0 (#50) (55aae87), closes #50

1.1.28 (2022-01-22)

Docs

1.1.27 (2022-01-22)

Docs

1.1.26 (2022-01-21)

Chore

  • (ci) fix gitleaks version (badd1c1)
  • adds circle-ci conditions (5a40980)
  • adds telegra.ph release notes (aa811a5)
  • adds whitesorce bolt bot (0888eee)
  • calc fossa results in cirrus (b2b48c1)
  • change renovate schedule (b983eab)
  • drop semantic-release preinstalled plugins (69b1950)
  • fixes audit (14597ff)
  • fixes later schedule (a0cfb5c)
  • fixes some npm audit vulnerabilities (9330c38)
  • fixes some npm audit vulnerabilities (f7a14d5)
  • integrate lalaps (dd4f238)
  • Lock file maintenance (29fe760)
  • Lock file maintenance (9892cc5)
  • Lock file maintenance (98e62b3)
  • Lock file maintenance (7af4484)
  • Lock file maintenance (1ffc991)
  • replace appveyor to actions (13aff75)
  • test-security in separete ci job (a4bd846)
  • test-security in separete ci job (9559dbc)
  • update deps badge (0836169)
  • Update devDependencies (non-major) (609151a)
  • Update devDependencies (non-major) (5b1a6c3)
  • upgrade semantic-release to v.19 [security] (0888454)

Docs

1.1.25 (2021-10-05)

Upgrade

  • Update dependency @rollup/plugin-commonjs to v21 (08fcbac)

1.1.24 (2021-09-25)

Chore

  • Lock file maintenance (95d03cf)
  • Lock file maintenance (8c284ed)
  • Lock file maintenance (0e34b05)
  • Lock file maintenance (c49018b)
  • Update dependency eslint-plugin-unicorn to v36 (97e4698)

Upgrade

  • Update dependency @rollup/plugin-node-resolve to v13.0.5 (73def02)
  • Update dependency rollup to v2.57.0 (#47) (5994c31), closes #47

1.1.23 (2021-09-09)

Chore

  • Update devDependencies (non-major) (#39) (3c75cd4), closes #39

Upgrade

  • Update dependency @babel/core to v7.15.5 (9f5024c)

1.1.22 (2021-09-09)

Chore

  • adds a security policy (ed86aba)
  • adds sponsorships (35ed8e0)
  • fixes audit [devDependencies] (d08b1fc)
  • Lock file maintenance (47bfacf)
  • Lock file maintenance (19c2389)
  • Lock file maintenance (2b00aec)
  • Lock file maintenance (dea06c9)
  • Lock file maintenance (e0043d8)
  • Lock file maintenance (#34) (081619d), closes #34
  • Lock file maintenance (#36) (00ecb0f), closes #36
  • Lock file maintenance (#37) (11bf87c), closes #37
  • Update devDependencies (non-major) (51200bf)
  • Update devDependencies (non-major) (33211c3)
  • Update devDependencies (non-major) (#48) (b3f6184), closes #48

Upgrade

  • Update dependency rollup to v2.56.3 (#38) (b14d52b), closes #38

1.1.21 (2021-08-13)

Upgrade

  • Update dependency rollup to v2.56.2 (765058d)

1.1.20 (2021-08-08)

Upgrade

  • Update dependency rollup to v2.56.0 (751df49)

1.1.19 (2021-08-08)

Upgrade

  • Update dependency @babel/core to v7.15.0 (8841b31)

1.1.18 (2021-08-02)

Chore

  • adds gitleaks to circle pipeline (114946e)
  • Update devDependencies (non-major) to v13 (6894ad9)

Upgrade

  • Update dependency @rollup/plugin-commonjs to v20 (e546ad4)

1.1.17 (2021-08-01)

Chore

  • Update devDependencies (non-major) to v13 (7e13f1d)

Upgrade

  • Update dependency rollup to v2.55.1 (#29) (df5880a), closes #29

1.1.16 (2021-07-29)

Upgrade

  • Update dependency @rollup/plugin-multi-entry to v4.1.0 (3622ca9)

1.1.15 (2021-07-29)

Upgrade

  • Update dependency @rollup/plugin-commonjs to v19.0.2 (3919a83)

1.1.14 (2021-07-28)

Upgrade

  • Update dependency @rollup/plugin-node-resolve to v13.0.4 (6f27248)

1.1.13 (2021-07-24)

Upgrade

  • Update dependency @babel/core to v7.14.8 (7f63825)

1.1.12 (2021-07-24)

Chore

  • adds 'typo' PR template (e20404d)
  • adds bump strategy for devDependencies (non-major) (03c9587)
  • adds CODE_OF_CONDUCT (a969a8d)
  • combine mine packages in renovate updates (54c97b8)
  • create auto pr for major dependencies (d2583a6)
  • enhance own updates commit messages (49a2365)
  • fixes renovate config (982abaf)
  • Lock file maintenance (5d305a8)
  • Lock file maintenance (cdf4f11)
  • Lock file maintenance (#24) (39a4200), closes #24
  • not allow to fail on node 16 (22ed683)
  • Update dependency eslint-plugin-regexp to ^0.13.0 (#36) (3a8d3ec), closes #36
  • Update dependency eslint-plugin-sonarjs to ^0.9.0 (81d9681)
  • Update dependency eslint-plugin-unicorn to v34 (#34) (86efbac), closes #34
  • Update dependency husky to v7 (3578711)

Docs

1.1.11 (2021-07-24)

Upgrade

  • Update dependency rollup to v2.53.3 (efc35f8)

1.1.10 (2021-07-19)

Upgrade

  • Update dependency @rollup/plugin-node-resolve to v13.0.2 (004e508)

1.1.9 (2021-07-18)

Upgrade

  • Update dependency @rollup/plugin-commonjs to v19.0.1 (e765429)

1.1.8 (2021-07-18)

Upgrade

  • Update dependency rollup to v2.53.2 (832fc5d)

1.1.7 (2021-07-14)

Chore

  • Update dependency eslint-plugin-sonarjs to ^0.9.0 (8c6929f)

Upgrade

  • Update dependency rollup to v2.53.1 (1422ff6)

1.1.6 (2021-07-05)

Chore

  • Update dependency eslint-plugin-regexp to ^0.13.0 (754142c)
  • Update dependency eslint-plugin-unicorn to v34 (#12) (e97f6d3), closes #12
  • Update dependency husky to v7 (34098c3)

Upgrade

  • Update dependency rollup to v2.52.7 (f0df6d5)

1.1.5 (2021-06-28)

Upgrade

  • Update dependency rollup to v2.52.3 (#11) (9b5da44), closes #11

1.1.4 (2021-06-25)

Chore

  • increase timeout for 'bin/npt.js test' command in tests (d917076)

Upgrade

  • Update dependency rollup to v2.52.1 (#9) (29b6110), closes #9
  • Update dependency rollup to v2.52.2 (#10) (d938098), closes #10

1.1.3 (2021-06-19)

Chore

  • (sonar) Refactor code to not use nested template literals (9e610ac)
  • adds sonarcloud config (c92973d)
  • maintain lock file (7d9b876)
  • Update dependency eslint-plugin-regexp to ^0.12.0 (51ff304)

Upgrade

  • Update dependency @babel/core to v7.14.6 (dd8e78f)

1.1.2 (2021-06-16)

Chore

  • fix json in renovate (8ad7928)
  • fixes cli tests out of build (fixes #7) (87ecd04), closes #7
  • removes unused devDependencies (ddb100a)
  • Update dependency eslint-plugin-regexp to ^0.12.0 (#4) (490f1db), closes #4

Upgrade

  • Update dependency rollup to v2.52.0 (#5) (50db6f2), closes #5

1.1.1 (2021-06-13)

Upgrade

1.1.0 (2021-06-13)

Chore

  • adds stabilityDays to renovate (3b262bc)

New

  • strict match for negate module resolving (65090e6)

1.0.2 (2021-06-12)

Chore

  • fixes npm audit (c3beccd)
  • fixes package-lock (85f410c)
  • integrate fossa (b65e961)
  • integrate node-package-tester (9d53bf3)
  • Update dependency glob-parent to 5.1.2 [SECURITY] (c957512)
  • Update dependency mocha to v9 (93b7a17)

Docs

Fix

  • return .mocharc.bundle.json and add coverage (075de49)

1.0.1 (2021-06-11)

Fix

  • adds copied files to npm (71d63f6)

1.0.0 (2021-06-11)

Chore

  • 'Chore' semanticCommitType for updating devDependencies (4bf79e1)
  • (git) Add logs to gitignore (d4d2077)
  • (refactor) remove unused argument (6f28b59)
  • (test) helper packages for tests (e195b58)
  • (test) working with tmp dir for test factory (cfeafbc)
  • (tests) clearCache on module load is optional (96c2ae5)
  • (tests) moves load to factory (4acb941)
  • additional quotes in glob pattern (f6d15cf)
  • adds appveyor (d560b4e)
  • adds CIRCLE_SKIP_DEPLOY variable (231549d)
  • adds commitlint (38ded63)
  • adds danger to circle-ci (ae48ac3)
  • adds danger to validate pr (7fb7040)
  • adds danger token to circle (82f4156)
  • adds dangerfile to npm ignore (8842c70)
  • adds dummy line to calc coverage (800de67)
  • adds empty line to pr comment (36d8a09)
  • adds jscpd to ignore (8520cea)
  • adds lock file lint (f5a4679)
  • adds pr context (ce163d9)
  • adds target branch to semantic release (c4fb3f1)
  • adds technical dept check (e16a8e2)
  • adds test-results to circle-ci (767c5b3)
  • adds tests for packing process (9b9602d)
  • adds tests for prior node versions (4b00012)
  • adds trusted bots to danger (892f4a1)
  • change extention of test files to .test.js (d84ac03)
  • change tgz label (5e0e512)
  • contributor login in danger message (76349e6)
  • corrected extglob matching (72a2201)
  • corrected pack pattern (273497a)
  • deploy ci as single command (96c2800)
  • deploy in circle-ci (a62a5f2)
  • disable build for coverage check (0b6e984)
  • dont pin devDeps in renovate (5fb0e8d)
  • dont store package-tests artifacts (50ebff1)
  • exit code 0 when skip (f6ee0bf)
  • export default in tests (9d210e6)
  • fill test entry with template (9177859)
  • fixes Breaking increment in semantic-release (d1c4d53)
  • fixes ci (0576a01)
  • Fixes danger-pr in circe-ci (adff8b3)
  • fixes debt typo in travis job (f9fd463)
  • fixes package process (364e26b)
  • fixes prevent require handler (7923f0e)
  • fixes renovate config (05c5bc5)
  • fixes spellcheck in bugreport (7d754b6)
  • ignoring all for npm packaging (409201a)
  • integrate APPVEYOR_BUILD_ID to build tests (16cdd48)
  • inverse logical condition (65dd0ad)
  • Lock file maintenance (3291a21)
  • multi os tests for travis (7c8ce28)
  • not fail package if no tmp exists (5693813)
  • package-tester improvements (d5d868b)
  • prevent package:test from using devdependencies (dc896f3)
  • run pr workflow only for pull requests (03e0b08)
  • set myself as default assignee in pr (0dcd0ce)
  • set YARGS_MIN_NODE_VERSION 10 (9b6bef9)
  • split circle ci jobs (9f75a6b)
  • telegram notifications on release (3a8036a)
  • tests/entry.js module resolving (c840f8b)
  • update .renovaterc to automerge after successfull checks (2e76ceb)
  • update default renovate rules (7e83bc4)
  • Update dependency @rollup/plugin-commonjs to v19 (bf29948)
  • Update dependency @rollup/plugin-node-resolve to v13 (265fd82)
  • Update dependency babel-plugin-module-resolver to v4 (b8eb86f)
  • Update dependency eslint to v7 (0e79e0f)
  • Update dependency eslint-plugin-unicorn to v33 (bfa00ff)
  • Update dependency fs-extra to v10 (a0adecc)
  • Update dependency mocha to v8 (627a45b)
  • Update dependency nyc to v15 (1caf199)
  • Update dependency uuid to v8 (ebae34b)
  • update eslint (6b174b1)
  • update eslint (4aac03c)
  • update eslint-config-incredible (2f39edb)
  • update eslint-config-incredible (58c31d2)
  • Update issue templates (8fdb1af)
  • update lock file (4ffb878)
  • Update pr template (1d4eb34)
  • update semantic release rules (a075dab)
  • update semantic to use commit convention (7e079b2)
  • Update semantic-release monorepo (b7ab2b1)
  • update travis badge (e159104)
  • updates semanticCommitType rule (1a1d119)
  • upgrade circle-ci to 2.1 (fab79a9)
  • use danger for internall pr (d838ede)
  • use incredible eslint config (b03d74a)
  • use native tarball generation (eeefda5)
  • using static test entry (21e5b7d)

Docs

  • add config sample to readme (51e8a37)
  • add keywords (f799548)
  • adds codefactor badge (52a2a14)
  • adds Fossa badge (60a6703)
  • adds node releases roadmap (ba16142)
  • change travis badge to circle-ci (ebabb61)
  • changes size-url (ecc2fc2)
  • fixes spellcheck (bc06d85)
  • move Contributing Guidelines to separate file. (081e4ed)
  • prettify modified_files as markdown list in pr (6397f60)
  • prettify modified_files list in pr (ecce71a)
  • removes ) from badge (b986009)
  • reorder badges (ed6d250)
  • update badges (ffe57a1)
  • update year in license (1aa3c35)

Fix

  • adds missing modules (fc14911)
  • fixes tests on windows (5abc249)
  • fixes typo (4f8ced4)
  • moves @babel/core to dependencies (f41cdef)
  • not json input in npm pack command (63ed322)
  • set babel target node version to 10 (f736568)
  • use basename for tarpath (6e6b262)

New

Update