🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Sign inDemoInstall
Socket

loadr

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

loadr

Quickly attach multiple ESM Loaders and/or --require hooks together

0.1.1
latest
Source
npm
Version published
Weekly downloads
299
-22.34%
Maintainers
1
Weekly downloads
 
Created
Source
loadr
version downloads install size
Quickly attach multiple ESM Loaders and/or Require Hooks together
but without the repetitive `--experimental-loader` and/or `--require` Node flags

Features

The ESM Loader API is still experimental and will change in the future.

Install

$ npm install --save-dev loadr

Example

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',
]

Usage

# 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

CLI

The loadr binary expects the following usage:

$ loadr [options] -- <command>

Important: The -- is required! It separates your command from your loadr arguments.

Please run loadr --help for additional information.

Configuration

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().

loaders

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
];

requires

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
];

quiet

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 -q or --quiet CLI argument takes precedence over the configuation file.

// loader.mjs
export const quiet = true;

License

MIT © Luke Edwards

Keywords

esm

FAQs

Package last updated on 28 Aug 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts