--require hooks at the same timeChildProcess, forwarding the current process.env context† The ESM Loader API is still experimental and will change in the future.
$ npm install --save-dev loadr
Before
$ node --require dotenv/config \
--experimental-loader ts-node/esm \
--experimental-loader ./tests/loader.mjs \
server/index.mjs
After
$ loadr -- node server/index.mjs
// loadr.mjs
export const loaders = [
'ts-node/esm',
'./tests/loader.mjs',
]
export const registers = [
'dotenv/config',
]
# Run `npm test` using the `loadr.mjs` configuration file
$ loadr -- npm test
# Run `npm test` using custom `loadr.custom.js` file
$ loadr -c loadr.custom.js -- npm test
# Run `node server.mjs` w/o system bell
$ loadr -q -- node server.mjs
The loadr binary expects the following usage:
$ loadr [options] -- <command>
Important: The
--is required! It separates yourcommandfrom yourloadrarguments.
Please run loadr --help for additional information.
Unless specified via the -c or --config CLI arguments, loadr looks for a loadr.mjs configuration file in the current working directory – aka process.cwd().
Type: string[]
A list of files and/or modules to be added as an --experimental-loader hook.
Important: Any relative file paths will be resolved from the current working directory.
// loadr.mjs
export const loaders = [
"ts-node/esm", // third-party module
"./tests/loader.mjs", // local file
];
Type: string[]
A list of files and/or modules to be added as a --require hook. Please note that ESM files cannot be loaded via a require() statement.
Important: Any relative file paths will be resolved from the current working directory.
// loadr.mjs
export const requires = [
"esm", // third-party module
"dotenv/register", // third-party module
"./tests/setup.js", // local file
];
Type: Boolean
Default: false
By default, loadr invokes the system bell when your command process terminates with a non-zero exit code.
Note: If defined, the
-qor--quietCLI argument takes precedence over the configuation file.
// loader.mjs
export const quiet = true;
MIT © Luke Edwards