Skip to content

Commit bd3ce17

Browse files
committed
Releasing 2.1.1
1 parent ea5c1a1 commit bd3ce17

File tree

6 files changed

+48
-25
lines changed

6 files changed

+48
-25
lines changed

build/amdclean.js

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*! amdclean - v2.1.0 - 2014-06-06
1+
/*! amdclean - v2.1.1 - 2014-06-06
22
* http://gregfranko.com/amdclean
33
* Copyright (c) 2014 Greg Franko */
44

@@ -593,7 +593,7 @@ convertToFunctionExpression = function convertToFunctionExpression(obj) {
593593
} else {
594594
currentName = dependencyNames[iterator].name;
595595
}
596-
if (currentName !== '{}' && defaultValues.dependencyBlacklist[currentName] !== 'remove') {
596+
if (currentName !== '{}' && (!hasExportsParam || defaultValues.dependencyBlacklist[currentName] !== 'remove')) {
597597
deps.push({
598598
'type': 'Identifier',
599599
'name': currentName,
@@ -640,7 +640,11 @@ convertToFunctionExpression = function convertToFunctionExpression(obj) {
640640
callbackFuncParamsLength = callbackFuncParams.length;
641641
// If the module dependencies passed into the current module are greater than the used callback function parameters, do not pass the dependencies
642642
if (dependencyNameLength && dependencyNameLength > callbackFuncParamsLength) {
643-
dependencyNames.splice(dependencyNameLength - (callbackFuncParamsLength || 1), callbackFuncParamsLength || 1);
643+
if (dependencyNameLength - callbackFuncParamsLength < 2) {
644+
dependencyNames.splice(dependencyNameLength - (callbackFuncParamsLength || 1), callbackFuncParamsLength || 1);
645+
} else {
646+
dependencyNames.splice(callbackFuncParamsLength || 1, dependencyNameLength - (callbackFuncParamsLength || 1));
647+
}
644648
}
645649
// If it is a CommonJS module and there is an exports assignment, make sure to return the exports object
646650
if (isCommonJS && hasExportsAssignment) {
@@ -827,22 +831,25 @@ convertDefinesAndRequires = function convertDefinesAndRequires(node, parent) {
827831
if (isDefine || isRequire) {
828832
args = Array.prototype.slice.call(node.expression['arguments'], 0);
829833
dependencies = function () {
830-
var deps = isRequire ? args[0] : args[args.length - 2], depNames = [];
834+
var deps = isRequire ? args[0] : args[args.length - 2], depNames = [], hasExportsParam;
831835
if (_.isPlainObject(deps)) {
832836
deps = deps.elements || [];
833837
} else {
834838
deps = [];
835839
}
840+
hasExportsParam = _.where(deps, { 'value': 'exports' }).length;
836841
if (_.isArray(deps) && deps.length) {
837842
_.each(deps, function (currentDependency) {
838843
if (dependencyBlacklist[currentDependency.value] !== 'remove') {
839844
if (dependencyBlacklist[currentDependency.value]) {
840-
if (dependencyBlacklist[currentDependency.value] !== 'remove') {
841-
depNames.push('{}');
842-
}
845+
depNames.push('{}');
843846
} else {
844847
depNames.push(currentDependency.value);
845848
}
849+
} else {
850+
if (!hasExportsParam) {
851+
depNames.push('{}');
852+
}
846853
}
847854
});
848855
}

build/amdclean.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "amdclean",
3-
"version": "2.1.0",
3+
"version": "2.1.1",
44
"description": "A build tool that converts AMD code to standard JavaScript",
55
"main": "./src/amdclean",
66
"repository": {

src/amdclean.js

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*! amdclean - v2.1.0 - 2014-06-06
1+
/*! amdclean - v2.1.1 - 2014-06-06
22
* http://gregfranko.com/amdclean
33
* Copyright (c) 2014 Greg Franko */
44

@@ -593,7 +593,7 @@ convertToFunctionExpression = function convertToFunctionExpression(obj) {
593593
} else {
594594
currentName = dependencyNames[iterator].name;
595595
}
596-
if (currentName !== '{}' && defaultValues.dependencyBlacklist[currentName] !== 'remove') {
596+
if (currentName !== '{}' && (!hasExportsParam || defaultValues.dependencyBlacklist[currentName] !== 'remove')) {
597597
deps.push({
598598
'type': 'Identifier',
599599
'name': currentName,
@@ -640,7 +640,11 @@ convertToFunctionExpression = function convertToFunctionExpression(obj) {
640640
callbackFuncParamsLength = callbackFuncParams.length;
641641
// If the module dependencies passed into the current module are greater than the used callback function parameters, do not pass the dependencies
642642
if (dependencyNameLength && dependencyNameLength > callbackFuncParamsLength) {
643-
dependencyNames.splice(dependencyNameLength - (callbackFuncParamsLength || 1), callbackFuncParamsLength || 1);
643+
if (dependencyNameLength - callbackFuncParamsLength < 2) {
644+
dependencyNames.splice(dependencyNameLength - (callbackFuncParamsLength || 1), callbackFuncParamsLength || 1);
645+
} else {
646+
dependencyNames.splice(callbackFuncParamsLength || 1, dependencyNameLength - (callbackFuncParamsLength || 1));
647+
}
644648
}
645649
// If it is a CommonJS module and there is an exports assignment, make sure to return the exports object
646650
if (isCommonJS && hasExportsAssignment) {
@@ -827,22 +831,25 @@ convertDefinesAndRequires = function convertDefinesAndRequires(node, parent) {
827831
if (isDefine || isRequire) {
828832
args = Array.prototype.slice.call(node.expression['arguments'], 0);
829833
dependencies = function () {
830-
var deps = isRequire ? args[0] : args[args.length - 2], depNames = [];
834+
var deps = isRequire ? args[0] : args[args.length - 2], depNames = [], hasExportsParam;
831835
if (_.isPlainObject(deps)) {
832836
deps = deps.elements || [];
833837
} else {
834838
deps = [];
835839
}
840+
hasExportsParam = _.where(deps, { 'value': 'exports' }).length;
836841
if (_.isArray(deps) && deps.length) {
837842
_.each(deps, function (currentDependency) {
838843
if (dependencyBlacklist[currentDependency.value] !== 'remove') {
839844
if (dependencyBlacklist[currentDependency.value]) {
840-
if (dependencyBlacklist[currentDependency.value] !== 'remove') {
841-
depNames.push('{}');
842-
}
845+
depNames.push('{}');
843846
} else {
844847
depNames.push(currentDependency.value);
845848
}
849+
} else {
850+
if (!hasExportsParam) {
851+
depNames.push('{}');
852+
}
846853
}
847854
});
848855
}

src/modules/convertDefinesAndRequires.js

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -90,29 +90,34 @@ define([
9090

9191
dependencies = (function() {
9292
var deps = isRequire ? args[0] : args[args.length - 2],
93-
depNames = [];
93+
depNames = [],
94+
hasExportsParam;
9495

9596
if(_.isPlainObject(deps)) {
9697
deps = deps.elements || [];
9798
} else {
9899
deps = [];
99100
}
100101

102+
hasExportsParam = _.where(deps, {
103+
'value': 'exports'
104+
}).length;
105+
101106
if(_.isArray(deps) && deps.length) {
102107

103108
_.each(deps, function(currentDependency) {
104109

105110
if(dependencyBlacklist[currentDependency.value] !== 'remove') {
106111

107112
if(dependencyBlacklist[currentDependency.value]) {
108-
109-
if(dependencyBlacklist[currentDependency.value] !== 'remove') {
110-
depNames.push('{}');
111-
}
112-
113+
depNames.push('{}');
113114
} else {
114115
depNames.push(currentDependency.value);
115116
}
117+
} else {
118+
if(!hasExportsParam) {
119+
depNames.push('{}');
120+
}
116121
}
117122
});
118123
}

src/modules/convertToFunctionExpression.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ define([
234234
} else {
235235
currentName = dependencyNames[iterator].name;
236236
}
237-
if(currentName !== '{}' && defaultValues.dependencyBlacklist[currentName] !== 'remove') {
237+
if(currentName !== '{}' && (!hasExportsParam || defaultValues.dependencyBlacklist[currentName] !== 'remove')) {
238238
deps.push({
239239
'type': 'Identifier',
240240
'name': currentName,
@@ -299,7 +299,11 @@ define([
299299

300300
// If the module dependencies passed into the current module are greater than the used callback function parameters, do not pass the dependencies
301301
if(dependencyNameLength && dependencyNameLength > callbackFuncParamsLength) {
302-
dependencyNames.splice((dependencyNameLength - (callbackFuncParamsLength || 1)), callbackFuncParamsLength || 1);
302+
if(dependencyNameLength - callbackFuncParamsLength < 2) {
303+
dependencyNames.splice((dependencyNameLength - (callbackFuncParamsLength || 1)), callbackFuncParamsLength || 1);
304+
} else {
305+
dependencyNames.splice(callbackFuncParamsLength || 1, dependencyNameLength - (callbackFuncParamsLength || 1));
306+
}
303307
}
304308

305309
// If it is a CommonJS module and there is an exports assignment, make sure to return the exports object

0 commit comments

Comments
 (0)