babel-plugin-transform-rename-import
Advanced tools
Comparing version 2.0.0 to 2.1.0
@@ -18,2 +18,9 @@ 'use strict'; | ||
function getReplacements(state) { | ||
if (state.opts instanceof Array) { | ||
return state.opts; | ||
} | ||
return [state.opts]; | ||
} | ||
function visitor(_ref) { | ||
@@ -28,20 +35,24 @@ var t = _ref.types; | ||
ImportDeclaration: function ImportDeclaration(path, state) { | ||
var _state$opts = state.opts; | ||
var original = _state$opts.original; | ||
var replacement = _state$opts.replacement; | ||
var replacements = getReplacements(state); | ||
replacements.forEach(function (_ref2) { | ||
var original = _ref2.original, | ||
replacement = _ref2.replacement; | ||
var value = path.node.source.value; | ||
if (isModule(value, original)) { | ||
path.node.source = source(value, original, replacement); | ||
} | ||
var value = path.node.source.value; | ||
if (isModule(value, original)) { | ||
path.node.source = source(value, original, replacement); | ||
} | ||
}); | ||
}, | ||
CallExpression: function CallExpression(path, state) { | ||
var _state$opts2 = state.opts; | ||
var original = _state$opts2.original; | ||
var replacement = _state$opts2.replacement; | ||
var replacements = getReplacements(state); | ||
replacements.forEach(function (_ref3) { | ||
var original = _ref3.original, | ||
replacement = _ref3.replacement; | ||
var node = path.node; | ||
if (node.callee.name === 'require' && node.arguments && node.arguments.length === 1 && t.isStringLiteral(node.arguments[0]) && isModule(node.arguments[0].value, original)) { | ||
path.node.arguments = [source(node.arguments[0].value, original, replacement)]; | ||
} | ||
var node = path.node; | ||
if (node.callee.name === 'require' && node.arguments && node.arguments.length === 1 && t.isStringLiteral(node.arguments[0]) && isModule(node.arguments[0].value, original)) { | ||
path.node.arguments = [source(node.arguments[0].value, original, replacement)]; | ||
} | ||
}); | ||
} | ||
@@ -48,0 +59,0 @@ } |
{ | ||
"name": "babel-plugin-transform-rename-import", | ||
"version": "2.0.0", | ||
"version": "2.1.0", | ||
"description": "Replace import sources", | ||
@@ -25,3 +25,3 @@ "main": "lib/index", | ||
"devDependencies": { | ||
"assert-simple-tap": "^1.0.2", | ||
"assert-simple-tap": "^2.0.1", | ||
"babel-cli": "^6.4.0", | ||
@@ -32,6 +32,6 @@ "babel-core": "^6.4.5", | ||
"babel-traverse": "^6.7.3", | ||
"eslint": "^3.3.0", | ||
"eslint-config-airbnb-base": "^5.0.2", | ||
"eslint-plugin-import": "^1.13.0", | ||
"npm-run-all": "^2.3.0", | ||
"eslint": "^4.0.0", | ||
"eslint-config-airbnb-base": "^11.2.0", | ||
"eslint-plugin-import": "^2.3.0", | ||
"npm-run-all": "^4.0.2", | ||
"readme-assert": "^5.0.0" | ||
@@ -38,0 +38,0 @@ }, |
@@ -22,2 +22,22 @@ # babel-plugin-transform-rename-import [![Build Status][travis-image]][travis-url] [![npm][npm-image]][npm-url] | ||
or multiple replacements: | ||
```js | ||
{ | ||
"plugins": [ | ||
["transform-rename-import", [ | ||
{ original: 'replace-me', replacement: 'replaced' }, | ||
{ original: 'replace-me2', replacement: 'replaced2' } | ||
] | ||
]] | ||
} | ||
``` | ||
RegExp: | ||
```js | ||
{ | ||
"plugins": [["transform-rename-import", { original: '^(.+?)\\.less$', replacement: '$1.css' }]] | ||
} | ||
``` | ||
## Programatic Usage | ||
@@ -46,2 +66,5 @@ | ||
//=> "require('bar/thingy');" | ||
replace("require('foo/thingy.less')", '^(.+?)\\.less$', '$1.css') | ||
//=> "require('foo/thingy.css');" | ||
``` | ||
@@ -48,0 +71,0 @@ |
5716
51
73