Socket
Socket
Sign inDemoInstall

cjs-es

Package Overview
Dependencies
Maintainers
1
Versions
31
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cjs-es - npm Package Compare versions

Comparing version 0.4.6 to 0.4.7

20

lib/export-writer.js

@@ -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 @@ }

30

lib/util.js

@@ -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 @@

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc