Comparing version 0.4.6 to 0.4.7
@@ -109,2 +109,3 @@ function createExportWriter(context) { | ||
} else { | ||
// module.exports = ... | ||
context.s.overwrite( | ||
@@ -115,2 +116,21 @@ node.exported.leftMost.start, | ||
); | ||
if ( | ||
node.exported.value.type === "FunctionExpression" || | ||
node.exported.value.type === "ClassExpression" | ||
) { | ||
// convert declaration into expression | ||
if (node.exported.value.id) { | ||
context.s.appendLeft(node.exported.value.start, "("); | ||
context.s.overwrite(node.exported.value.end, node.exported.statement.end, ");"); | ||
} else { | ||
context.s.remove(node.exported.value.end, node.exported.statement.end); | ||
} | ||
} else { | ||
context.s.overwrite(node.exported.value.end, node.exported.statement.end, ";"); | ||
} | ||
if (node.exported.isIife && context.code[node.exported.value.start] !== "(") { | ||
// wrap iife expression | ||
context.s.appendRight(node.exported.value.callee.start, "("); | ||
context.s.appendLeft(node.exported.value.callee.end, ")"); | ||
} | ||
} | ||
@@ -117,0 +137,0 @@ } |
@@ -63,16 +63,8 @@ const {attachScopes} = require("rollup-pluginutils"); | ||
} | ||
let isModule = false; | ||
let isNamed = false; | ||
if (node.left.object.name === "module" && node.left.property.name === "exports") { | ||
// module.exports = ... | ||
return { | ||
left: node.left, | ||
leftMost: node.left.object, | ||
key: node.left.property, | ||
value: node.right, | ||
object: node.right.type === "ObjectExpression" && node.right.properties.length ? | ||
getObjectInfo(node.right) : null | ||
}; | ||
} | ||
let leftMost; | ||
if ( | ||
isModule = true; | ||
} else if ( | ||
node.left.object.type === "MemberExpression" && | ||
@@ -83,6 +75,7 @@ node.left.object.object.name === "module" && | ||
// module.exports.foo = ... | ||
leftMost = node.left.object.object; | ||
isModule = true; | ||
isNamed = true; | ||
} else if (node.left.object.name === "exports") { | ||
// exports.foo = ... | ||
leftMost = node.left.object; | ||
isNamed = true; | ||
} else { | ||
@@ -92,8 +85,11 @@ return; | ||
return { | ||
name: node.left.property.name, | ||
name: isNamed && node.left.property.name, | ||
left: node.left, | ||
leftMost, | ||
leftMost: isModule && isNamed ? node.left.object.object : node.left.object, | ||
key: node.left.property, | ||
value: node.right, | ||
required: node.right.type === "CallExpression" && getRequireInfo(node.right) | ||
object: !isNamed && node.right.type === "ObjectExpression" && node.right.properties.length ? | ||
getObjectInfo(node.right) : null, | ||
required: node.right.type === "CallExpression" && getRequireInfo(node.right), | ||
isIife: node.right.type === "CallExpression" && node.right.callee.type === "FunctionExpression" | ||
}; | ||
@@ -100,0 +96,0 @@ } |
{ | ||
"name": "cjs-es", | ||
"version": "0.4.6", | ||
"version": "0.4.7", | ||
"description": "Transform CommonJS module into ES module.", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
@@ -238,2 +238,7 @@ cjs-es | ||
* 0.4.7 (May 15, 2018) | ||
- Fix: default function/class should be converted into an expression. | ||
- Fix: exporting default IIFE causes syntax error. | ||
* 0.4.6 (May 13, 2018) | ||
@@ -240,0 +245,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
37820
924
318