Socket
Socket
Sign inDemoInstall

convert-root-import

Package Overview
Dependencies
33
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    convert-root-import

Convert paths used in babel-plugin-root-import to relative ones


Version published
Weekly downloads
2
increased by100%
Maintainers
1
Install size
2.52 MB
Created
Weekly downloads
 

Readme

Source

convert-root-import

Convert paths used with babel-plugin-root-import into relative paths

If a file presides in client/foo has an import declaration import '~/client/bar' it will be converted to import '../bar'.

The root will be set to the current directory the command is executed from, meaning you normally would execute it from the root of your project.

Usage

convert-root-import -o some-file.js

See convert-root-import --help for more information.

As this tool currently works on single files at a time, you would drive it using find or similar if you want to change hundreds of files:

# change JSX files
find src/client -name '*.jsx' -exec convert-root-import -o {} \;

Installation

npm install -g convert-root-import

Caveats

This is a simple tool that doesn't build an AST, and only works line-wise. As such, it does not handle multi-line import such as

import {
    Foo,
    Bar,
    Baz
} from '~/sub/module';

Contribute?

PRs are welcome :-) This tool was hacked together in a few hours, and does the job in the 95% case for me. Possible improvements:

  • handle multi-line imports
  • traversing directories and multi-file handling (would make find superflous)
  • building ASTs to handle complex cases?

FAQs

Last updated on 01 Dec 2017

Did you know?

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc