Mocha test runner with integrated webpack precompiler
180
stars
267
commits
TypeScript
primary language
Apr 8, 2025
updated
This project is a fork of mocha-webpack. We have created this fork since there is no visible activity from original author for a long time.
mocha test runner with integrated webpack precompiler
mochapack is basically a wrapper around the following command...
$ webpack test.js output.js && mocha output.js
... but in a much more powerful & optimized way.

mochapack ...
Benefits over plain mocha
--watch)Unlike mocha, mochapack analyzes your dependency graph and run only those test files that were affected by this file change.
You'll get continuous feedback whenever you make changes as all tests that are related in any way to this change will be tested again. Isn't that awesome?
If any build errors happens, they will be shown like below

mochapack works with
4.x.x - 5.x.x5.x.x - 9.x.xInstall mochapack via npm install
$ npm install webpack mocha mochapack --save-dev
and use it via npm scripts in your package.json
Further installation and configuration instructions can be found in the installation chapter.
run a single test
mochapack simple.test.js
run all tests by glob
mochapack "test/**/*.js"
Note: You may noticed the quotes around the glob pattern. That's unfortunately necessary as most terminals will resolve globs automatically.
run all tests in directory "test" matching the file pattern *.test.js (add --recursive to include subdirectories)
mochapack --glob "*.test.js" test
Watch mode? just add --watch
mochapack --watch test
This project uses nari package manager to have reproducible builds without resorting to lockfiles, it uses lockTime field in package.json instead.
To install nari execute:
npm i -g nari
And then nari to install the project.
To run project scripts use nari script_name, for example nari test to run unit tests.
This source code is licensed under the MIT license.
Copyright © 2016-2017 Jan-André Zinser
Copyright © 2018 SysGears (Cyprus) Limited.
(top 30 of 35)
TypeScript
96.0%
JavaScript
3.9%
Mocha test runner with integrated webpack precompiler
180
stars
267
commits
TypeScript
primary language
Apr 8, 2025
updated
This project is a fork of mocha-webpack. We have created this fork since there is no visible activity from original author for a long time.
mocha test runner with integrated webpack precompiler
mochapack is basically a wrapper around the following command...
$ webpack test.js output.js && mocha output.js
... but in a much more powerful & optimized way.

mochapack ...
Benefits over plain mocha
--watch)Unlike mocha, mochapack analyzes your dependency graph and run only those test files that were affected by this file change.
You'll get continuous feedback whenever you make changes as all tests that are related in any way to this change will be tested again. Isn't that awesome?
If any build errors happens, they will be shown like below

mochapack works with
4.x.x - 5.x.x5.x.x - 9.x.xInstall mochapack via npm install
$ npm install webpack mocha mochapack --save-dev
and use it via npm scripts in your package.json
Further installation and configuration instructions can be found in the installation chapter.
run a single test
mochapack simple.test.js
run all tests by glob
mochapack "test/**/*.js"
Note: You may noticed the quotes around the glob pattern. That's unfortunately necessary as most terminals will resolve globs automatically.
run all tests in directory "test" matching the file pattern *.test.js (add --recursive to include subdirectories)
mochapack --glob "*.test.js" test
Watch mode? just add --watch
mochapack --watch test
This project uses nari package manager to have reproducible builds without resorting to lockfiles, it uses lockTime field in package.json instead.
To install nari execute:
npm i -g nari
And then nari to install the project.
To run project scripts use nari script_name, for example nari test to run unit tests.
This source code is licensed under the MIT license.
Copyright © 2016-2017 Jan-André Zinser
Copyright © 2018 SysGears (Cyprus) Limited.
(top 30 of 35)
TypeScript
96.0%
JavaScript
3.9%