@node-loader/core

2.0.0 • Public • Published

@node-loader/core

A configurable NodeJS loader that combines multiple other loaders into one.

Motivation

NodeJS Loaders are a new feature that allow you to configure the behavior of modules loaded with import or import(). NodeJS currently only allows you to specify a single loader when starting up Node. However, the @node-loader/core project allows you to combine multiple into a single loader through a configuration file.

Installation

npm install --save @node-loader/core

For NodeJS@<16.12, use @node-loader/core@1. For NodeJS@>=16.12, use @node-loader/core@latest.

Usage

Create a file node-loader.config.js in your current working directory:

import * as importMapLoader from "@node-loader/import-maps";
import * as httpLoader from "@node-loader/http";

export default {
  loaders: [importMapLoader, httpLoader],
};

Then run node with the --experimental-loader flag:

node --experimental-loader @node-loader/core file.js

Your code will now run with all loaders specified in the configuration file, merged into a single loader. When multiple loaders specify the same loader hook (such as resolve), they will be called sequentially until one of them returns a non-default value. The order in which they are called is the same order specified in the configuration file.

Configuration

By default, node-loader core looks for a configuration file called node-loader.config.js in the current working directory. To specify the file path to the configuration file, provide the NODE_LOADER_CONFIG environment variable:

NODE_LOADER_CONFIG=/Users/name/some/dir/node-loader.config.js --experimental-loader @node-loader/core file.js

Within the file, only the loaders property is currently respected. In the future, additional configuration options may be defined.

Readme

Keywords

none

Package Sidebar

Install

npm i @node-loader/core

Weekly Downloads

89

Version

2.0.0

License

MIT

Unpacked Size

65.2 kB

Total Files

21

Last publish

Collaborators

  • joeldenning