πŸš€ Big News:Socket Has Acquired Secure Annex.Learn More β†’
Socket
Book a DemoSign in
Socket

babel-plugin-tsconfig-paths-module-resolver

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

babel-plugin-tsconfig-paths-module-resolver

A babel plugin that combines babel-plugin-module-resolver and tsconfig-paths to resolve tsconfig paths

latest
Source
npmnpm
Version
1.0.4
Version published
Weekly downloads
27K
0.33%
Maintainers
1
Weekly downloads
Β 
Created
Source

babel-plugin-tsconfig-paths-module-resolver

npm Github Actions codecov semantic-release

Combines babel-plugin-module-resolver and tsconfig-paths to make a babel plugin that resolves tsconfig paths.

Use tsconfig-paths in any bundler that supports a custom babel config.

This library is a re-export of babel-plugin-module-resolver pre-configured with tsconfig paths support via the package tsconfig-paths.

It aims to be stable by relying on these already widely-used packages to power the heavy logic:

dependencyweekly downloads
babel-plugin-module-resolverbabel plugin module resolver weekly downloads
tsconfig-pathstsconfig-paths weekly downloads

These dependencies are automatically updated via renovate bot and semantic release.

How is this different from babel-plugin-tsconfig-paths?

Installation

npm install --save-dev babel-plugin-tsconfig-paths-module-resolver

or

yarn add --dev babel-plugin-tsconfig-paths-module-resolver

Specify the plugin in your .babelrc (or equivalent configuration file).

{
  "presets": [
    // ...
    "@babel/preset-typescript",
    // ...
  ],
  "plugins": [
    // add this to your babel config file in `plugins`
    // πŸ‘‡πŸ‘‡πŸ‘‡
    "tsconfig-paths-module-resolver"
    // πŸ‘†πŸ‘†πŸ‘†
    // ...
  ]
}

That's it! Paths from your tsconfig.json should now work!

Advanced usage

babel-plugin-tsconfig-paths-module-resolver accepts the same options as babel-plugin-module-resolver.

You can supply those extra options in your babel configuration file like so:

{
  "presets": [
    // ...
    "@babel/preset-typescript",
    // ...
  ],
  "plugins": [
    // ...
    [
      "tsconfig-paths-module-resolver",
      // add extra options here
      // πŸ‘‡πŸ‘‡πŸ‘‡
      {
        // see here:
        // https://github.com/tleunen/babel-plugin-module-resolver/blob/master/DOCS.md
      }
      // πŸ‘†πŸ‘†πŸ‘†
    ]
  ]
};

resolvePath and createResolvePath

babel-plugin-module-resolver includes a configuration option to allow you to programmatically resolve your imports.

This plugin provides a resolvePath implementation powered by tsconfig-paths. If you'd like to implement your own resolvePath implementation while still utilizing this plugin's default implementation, you can separately import createResolvePath that returns a resolvePath implementation.

const createResolvePath = require('babel-plugin-tsconfig-paths-module-resolver/create-resolve-path');
const defaultResolvePath = createResolvePath();

/**
 * @param sourceFile {string} the input source path
 * @param currentFile {string} the absolute path of the current file
 * @param opts {any} the options as passed to the Babel config
 * @return {string}
 */
function customResolvePath(sourceFile, currentFile, opts) {
  // ...
  const result = defaultResolvePath(sourceFile, currentFile, opts);
  // ...

  return result;
}

// .babelrc.js
module.exports = {
  presets: [
    // ...
    '@babel/preset-typescript',
    // ...
  ],
  plugins: [
    // ...
    [
      'tsconfig-paths-module-resolver',
      {
        // πŸ‘‡πŸ‘‡πŸ‘‡
        resolvePath: customResolvePath,
        // πŸ‘†πŸ‘†πŸ‘†
      },
    ],
  ],
};

Keywords

tsconfig

FAQs

Package last updated on 23 Jan 2023

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