Watch A Directory And Run Mocha JS With ES Modules When Files Change

May 2022

This is how I'm running Mochajs in watch mode with ES Modules:

mocha --watch --parallel

Adding --parallel is based off this comment to a GitHub issue about --watch not working by itself with ES Modules.

If you try to run mocha --watch without --parallel it produces errors like:

Error [ERR_REQUIRE_ESM]: require() of ES Module 
/file/path/file.mjs not supported.
Instead change the require of /file/path/file.mjs 
to a dynamic import() which is available in all 
CommonJS modules.

(I think I've done the dynamic import stuff before in other projects, but haven't tried it with Mocha yet)

end of line