Skip to content

Get aliases for your lerna packages for the other tools

Notifications You must be signed in to change notification settings

Andarist/lerna-alias

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lerna-alias

Simple package for getting alias object for packages managed by lerna, so other tools (such as webpack, rollup, jest and possibly more) can consume your packages directly from the source files, instead of the built and prepared distribution files.

It just eases development and setting up scripts depending on other lerna packages.

API

lernaAliases({
  // from which directory lerna monorepo should be searched for
  directory: string = process.cwd(),
  // optional array of `mainFields` that should be used to resolv package's entry point
  // similar to the https://webpack.js.org/configuration/resolve/#resolve-mainfields
  // using this takes precedence over default `sourceDirectory` option
  mainFields?: string[],
  // which directory should be considered as containing source files of a package
  // if specified as false it will use package's root and rely on a tool's (i.e. webpack) resolving algorithm
  sourceDirectory: string | false = 'src'
}): Aliases

Types

Aliases

type Aliases = {
  // value is a local directory path to the package
  // resolved using `sourceDirectory` and `mainFields` options
  [packageName: string]: string,
}

Usage

with webpack

const { webpack: lernaAliases } = require('lerna-alias')

module.exports = {
  // ...
  resolve: {
    // ...
    alias: lernaAliases(),
  },
}

with Rollup

const { rollup: lernaAliases } = require('lerna-alias')
const lernaAliases = require('lerna-alias')

module.exports = {
  // ...
  plugins: [
    // ...
    alias(lernaAliases()),
  ],
}

with Jest

const { jest: lernaAliases } = require('lerna-alias')

module.exports = {
  // ...
  moduleNameMapper: lernaAliases(),
}

using mainFields option

const { jest: lernaAliases } = require('lerna-alias')

module.exports = {
  // ...
  moduleNameMapper: lernaAliases({ mainFields: ['main'] }),
}

About

Get aliases for your lerna packages for the other tools

Resources

Stars

Watchers

Forks

Packages

No packages published