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.6.1 to 0.6.2

2

lib/analyzer.js

@@ -74,3 +74,3 @@ const {walk} = require("estree-walker");

}
if (exported.leftMost.parentAssign) {
if (exported.leftMost.parentAssign && !exported.name) {
exported.leftMost.parentAssign.childAssign = exported.leftMost;

@@ -77,0 +77,0 @@ }

function createExportWriter(context) {
context.defaultExports = [];
context.namedExports = new Map;

@@ -9,3 +10,6 @@ return {write};

}
const defaultExports = [];
// passing module around
if (context.moduleNodes.some(n => !n.exported && !n.nestedExports && !n.declared)) {
return writeModuleWrapper();
}
for (const node of context.moduleNodes.concat(context.exportsNodes)) {

@@ -16,3 +20,3 @@ const name = node.exported && node.exported.name ||

if (!name) {
defaultExports.push(node);
context.defaultExports.push(node);
continue;

@@ -27,6 +31,7 @@ }

}
// single module.exports = ...
if (
defaultExports.length === 1 && (
defaultExports[0].exported && defaultExports[0].exported.statement ||
defaultExports[0].declared
context.defaultExports.length === 1 && (
context.defaultExports[0].exported && context.defaultExports[0].exported.statement ||
context.defaultExports[0].declared
) && !context.namedExports.size

@@ -36,13 +41,11 @@ ) {

}
if (defaultExports.length) {
if (context.moduleNodes.every(n => n.exported || n.nestedExports)) {
return writeNestedModule();
}
// hoist
return writeHoistExport();
// export default
if (context.defaultExports.length) {
return writeDefaultExport();
}
// export named
return Promise.resolve(context.isExportPreferDefault())
.then(preferDefault => {
if (preferDefault) {
return writeHoistExport();
return writeDefaultExport();
}

@@ -53,3 +56,3 @@ return writeNamedExport();

function writeHoistExport() {
function writeModuleWrapper() {
if (

@@ -80,10 +83,17 @@ context.moduleNodes.length &&

}
context.s.appendLeft(
context.topLevel.get().end,
`\nexport default ${context.moduleNodes.length ? "_module_.exports" : "_exports_"};`
);
if (context.moduleNodes.length) {
context.s.appendLeft(
context.topLevel.get().end,
"\nexport default _module_.exports;"
);
} else {
context.s.appendLeft(
context.topLevel.get().end,
"\nexport {_exports_ as default};"
);
}
}
function writeModuleExport() {
const node = context.moduleNodes[0];
const node = context.defaultExports[0];
if (node.exported && node.exported.object) {

@@ -118,3 +128,3 @@ return Promise.resolve(

node.declared.end,
`;\nexport default ${node.declared.id.name};`
`;\nexport {${node.declared.id.name} as default};`
);

@@ -310,3 +320,3 @@ } else {

function writeNestedModule() {
function writeDefaultExport() {
const nodes = context.moduleNodes.concat(context.exportsNodes);

@@ -335,6 +345,6 @@ let init = 0;

for (const node of nodes) {
if (node.exported && node.exported.statement) {
writeNestedModuleDeclare(node, assignment === 1 ? "const" : "let");
} else if (!node.parentAssign) {
writeNestedModuleNode(node);
if (node.exported && node.exported.statement && !node.exported.name) {
writeDefaultExportDeclare(node, assignment === 1 ? "const" : "let");
} else {
writeDefaultExportNode(node);
}

@@ -351,8 +361,6 @@ }

topIndex,
`${kind} _module_exports_${defaultValue};\nexport default _module_exports_;\n`
`${kind} _module_exports_${defaultValue};\nexport {_module_exports_ as default};\n`
);
for (const node of nodes) {
if (!node.parentAssign) {
writeNestedModuleNode(node);
}
writeDefaultExportNode(node);
}

@@ -362,3 +370,3 @@ }

function writeNestedModuleDeclare(node, kind) {
function writeDefaultExportDeclare(node, kind) {
const target = node.childAssign || node;

@@ -371,6 +379,9 @@ context.s.overwrite(

);
context.s.appendLeft(node.exported.statement.end, "\nexport default _module_exports_;");
context.s.appendLeft(node.exported.statement.end, "\nexport {_module_exports_ as default};");
}
function writeNestedModuleNode(node) {
function writeDefaultExportNode(node) {
if (node.parentAssign && node.parentAssign.childAssign) {
return; // ignore module.exports = exports = ...
}
let start, end;

@@ -377,0 +388,0 @@ if (node.childAssign) {

{
"name": "cjs-es",
"version": "0.6.1",
"version": "0.6.2",
"description": "Transform CommonJS module into ES module.",

@@ -5,0 +5,0 @@ "keywords": [

@@ -317,2 +317,9 @@ cjs-es

* 0.6.2 (Sep 19, 2018)
- Enhance: try to export live-binding when exporting defaults.
- Fix: the logic of module wrapper.
- Fix: mixed exports.
- Fix: nested module assigned with named exports.
* 0.6.1 (Sep 19, 2018)

@@ -319,0 +326,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