NASA Planetary Mission

    lerna-alias
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/lerna-alias package

    3.0.2 • Public • Published

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

    Install

    npm i lerna-alias

    DownloadsWeekly Downloads

    2,793

    Version

    3.0.2

    License

    MIT

    Unpacked Size

    4.78 kB

    Total Files

    3

    Last publish

    Collaborators

    • andarist