Comparing version 0.0.8 to 0.0.9
@@ -0,0 +0,0 @@ { |
@@ -0,0 +0,0 @@ const { parseModule } = require('esprima') |
{ | ||
"name": "cjstoes", | ||
"version": "0.0.8", | ||
"version": "0.0.9", | ||
"description": "", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -0,0 +0,0 @@ # CommonJS to ES6 module |
const estraverse = require('estraverse') | ||
let nameIndex = 10000 | ||
exports.transform = function(tree) { | ||
let nameIndex = 10000 | ||
let exportsNames = [] | ||
@@ -30,3 +30,3 @@ | ||
let nameArr = Object.entries(getAllProperties(tree, name)) | ||
let nameArr = Object.entries(getAllProperties(tree, name, nameIndex)) | ||
if (nameArr.length) { | ||
@@ -134,3 +134,3 @@ return { | ||
const getAllProperties = (tree, name) => { | ||
const getAllProperties = (tree, name, nameIndex) => { | ||
let r = {} | ||
@@ -145,4 +145,4 @@ estraverse.replace(tree, { | ||
let newName, | ||
propertyName = node.property.name || node.property.value | ||
propertyName = validateStr(node.property.name || node.property.value) | ||
if (r[propertyName]) { | ||
@@ -163,1 +163,8 @@ newName = r[propertyName] | ||
} | ||
const validateStr = str => { | ||
str.trim() | ||
str = str.replace(/`$/, '$prime') | ||
str = str.replace(/^null$/, '$$null') | ||
return str | ||
} |
@@ -13,2 +13,9 @@ const { parseModule } = require('esprima') | ||
}) | ||
it('require with keyword', () => { | ||
const input = parseModule(`var a = require('a');a["b\`"]();`), | ||
output = parseModule(`import {b$prime as b$prime10000} from 'a';b$prime10000();`) | ||
transform(input) | ||
expect(input).to.deep.equal(output) | ||
}) | ||
it('require not use', () => { | ||
@@ -15,0 +22,0 @@ const input = parseModule(`var a = require('a');b()`), |
Sorry, the diff of this file is not supported yet
40038
239