convert-root-import
Convert paths used in babel-plugin-root-import to relative ones
Last updated 2 years ago by fatso83 .
ISC · Original npm · Tarball · package.json
$ cnpm install convert-root-import 
SYNC missed versions from official npm registry.

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?

Current Tags

  • 1.0.3                                ...           latest (2 years ago)

4 Versions

  • 1.0.3                                ...           2 years ago
  • 1.0.2                                ...           2 years ago
  • 1.0.1                                ...           2 years ago
  • 1.0.0                                ...           2 years ago
Maintainers (1)
Downloads
Today 0
This Week 1
This Month 3
Last Day 0
Last Week 1
Last Month 3
Dependencies (4)
Dev Dependencies (0)
None
Dependents (0)
None

Copyright 2014 - 2017 © taobao.org |