Thin .mts loader and test runner
npm install @nlib/tsm
node --import=@nlib/tsm path/to/your/script.mts
@nlib/tsm exports register.mjs which registers loader.mjs. loader.mjs is a loader to customize the default module resolution. It exports the load function that loads modules with esbuild.
Node.js added the stable node:test in v20. We can run tests with node --test. It searches for test files when a directory is specified as arguments. But it doesn't search for *.mts (even with the --experimental-loader option). So, you must pass the files one by one to run it.
The tsm-test will search for the test files for you and pass them to node --test.
npx tsm-test src