esm-loader-import-alias
TypeScript icon, indicating that this package has built-in type declarations

1.0.9 • Public • Published

esm-loader-import-alias

Node.js ESModule Loader for rewriting import path aliases.

Warning! Using experimental Node.js features and flags, API will likely change. This may be helpful for development and testing, but should not be used in production.

Usage

Some frameworks will allow aliases in import paths ($lib). This loader helps Node.js handle these aliases:

import { tool } from '$lib/utils.js'

Chainable

This loader can be configured, and chained with other loaders, using node-esm-loader.

npm install --save-dev esm-loader-import-alias node-esm-loader
// .loaderrc.js
import { resolve } from 'node:path'

export default {
  loaders: [
    {
      loader: 'esm-loader-import-alias',
      options: {
        aliases: {
          // SvelteKit $lib import path alias example
          '$lib/': `${resolve('src/lib/')}/`,
        },
      },
    },
  ],
}
// index.js
import Component from '$lib/Component.js'
# node >= 20.7
NODE_OPTIONS="--import node-esm-loader/register" node index.js

# node < 20.7
NODE_OPTIONS="--loader node-esm-loader" node index.js

Options

Aliases

See example above.

Debug
// .loaderrc.js
export default {
  loaders: [
    {
      loader: 'esm-loader-import-alias',
      options: {
        debug: true,
      },
    },
  ],
}

Ordering

In your loader chain:

License

MIT

Package Sidebar

Install

npm i esm-loader-import-alias

Weekly Downloads

178

Version

1.0.9

License

MIT

Unpacked Size

5.77 kB

Total Files

4

Last publish

Collaborators

  • brev