Skip to content

Commit 3f2c888

Browse files
committed
No longer check for unique module names - requirejs should handle this
1 parent c1d29b4 commit 3f2c888

File tree

2 files changed

+12
-35
lines changed

2 files changed

+12
-35
lines changed

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": "0.2.5",
3+
"version": "0.2.6",
44
"description": "A build tool that converts AMD code to standard JavaScript",
55
"main": "./src/amdclean",
66
"repository": {

src/amdclean.js

Lines changed: 11 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*! amdclean - v0.2.5 - 2013-10-15
1+
/*! amdclean - v0.2.6 - 2013-10-15
22
* http://gregfranko.com/amdclean
33
* Copyright (c) 2013 Greg Franko; Licensed MIT*/
44

@@ -12,8 +12,9 @@
1212
} else {
1313
factory.env = 'web';
1414
}
15-
define([], function() {
16-
return factory();
15+
factory.amd = true;
16+
define(['esprima', 'estraverse', 'escodegen', 'underscore'], function(esprima, estraverse, escodegen, underscore) {
17+
return factory({ 'esprima': esprima, 'estraverse': estraverse, 'escodegen': escodegen, 'underscore': underscore });
1718
});
1819
} else if (typeof exports !== 'undefined') {
1920
factory.env = 'node';
@@ -22,23 +23,21 @@
2223
factory.env = 'web';
2324
root.amdclean = factory();
2425
}
25-
}(this, function cleanamd() {
26+
}(this, function cleanamd(amdDependencies) {
2627
// Environment - either node or web
2728
var codeEnv = cleanamd.env,
2829
// Third-Party Dependencies
29-
esprima = codeEnv === 'node' ? require('esprima'): window.esprima,
30-
estraverse = codeEnv === 'node' ? require('estraverse'): window.estraverse,
31-
escodegen = codeEnv === 'node' ? require('escodegen'): window.escodegen,
32-
_ = codeEnv === 'node' ? require('lodash'): window._,
30+
esprima = cleanamd.amd ? amdDependencies.esprima : codeEnv === 'node' ? require('esprima') : window.esprima,
31+
estraverse = cleanamd.amd ? amdDependencies.estraverse : codeEnv === 'node' ? require('estraverse'): window.estraverse,
32+
escodegen = cleanamd.amd ? amdDependencies.escodegen.generate ? amdDependencies.escodegen : codeEnv === 'node' ? require('escodegen') : window.escodegen : require('escodegen'),
33+
_ = cleanamd.amd ? amdDependencies.underscore : codeEnv === 'node' ? require('lodash'): window._,
3334
fs = codeEnv === 'node' ? require('fs'): {}, // End Third-Party Dependencies
3435
// The Public API object
3536
publicAPI = {
3637
// Current project version number
37-
VERSION: '0.2.5',
38+
VERSION: '0.2.6',
3839
// Environment - either node or web
3940
env: codeEnv,
40-
// Object that keeps track of module ids/names that are used
41-
moduleNamesStore: {},
4241
// All of the error messages presented to users
4342
errorMsgs: {
4443
// A module is defined more than one time
@@ -208,27 +207,6 @@
208207
return name;
209208
}
210209
},
211-
// hasUniqueModelName
212-
// ------------------
213-
// Returns if the current module id/name has already been used
214-
hasUniqueModuleName: function(node) {
215-
var moduleName;
216-
if( node.expression['arguments'] &&
217-
Array.isArray(node.expression['arguments']) &&
218-
_.isPlainObject(node.expression['arguments'][0]) &&
219-
node.expression['arguments'][0].value ) {
220-
moduleName = node.expression['arguments'][0].value;
221-
if(_.isString(moduleName) && moduleName.length > 0 && !publicAPI.moduleNamesStore[moduleName]) {
222-
publicAPI.moduleNamesStore[moduleName] = true;
223-
return true;
224-
}
225-
else {
226-
throw new Error(publicAPI.errorMsgs.uniqueModuleName.error(moduleName) + publicAPI.errorMsgs.uniqueModuleName.fix + publicAPI.errorMsgs.uniqueModuleName.exiting);
227-
}
228-
} else {
229-
return true;
230-
}
231-
},
232210
// convertCommonJSDeclaration
233211
// --------------------------
234212
// Replaces the CommonJS variable declaration with a variable the same name as the argument
@@ -502,7 +480,7 @@
502480
isDefine = publicAPI.isDefine(node),
503481
isRequire = publicAPI.isRequire(node),
504482
startLineNumber;
505-
if(((isDefine && publicAPI.hasUniqueModuleName(node)) || isRequire)) {
483+
if(isDefine || isRequire) {
506484
startLineNumber = node.expression.loc.start.line;
507485
if((publicAPI.commentLineNumbers[startLineNumber] || publicAPI.commentLineNumbers['' + (parseInt(startLineNumber, 10) - 1)])) {
508486
return node;
@@ -647,7 +625,6 @@
647625
});
648626
}
649627
escodegenOptions = _.isPlainObject(obj.escodegen) ? obj.escodegen : {};
650-
publicAPI.moduleNamesStore = {};
651628
return publicAPI.generateCode(ast, escodegenOptions);
652629
}
653630
};

0 commit comments

Comments
 (0)