diff options
author | Zolmeister <zolikahan@gmail.com> | 2015-01-16 14:26:03 +0300 |
---|---|---|
committer | Zolmeister <zolikahan@gmail.com> | 2015-01-16 14:26:03 +0300 |
commit | 15dc51b720825bb1a10e2d26343187e132de80ce (patch) | |
tree | f318a4e95d492876e9f95313f5524c48bdb7ab7e | |
parent | 79aac24c118799f39300ac18d8fc71c83eb6a527 (diff) |
ignore invalid variable names during injection of global params
-rw-r--r-- | lib/getImportGlobalsSrc.js | 9 | ||||
-rw-r--r-- | test/getImportGlobalsSrc.test.js | 6 |
2 files changed, 12 insertions, 3 deletions
diff --git a/lib/getImportGlobalsSrc.js b/lib/getImportGlobalsSrc.js index 10dfe87..3c29c56 100644 --- a/lib/getImportGlobalsSrc.js +++ b/lib/getImportGlobalsSrc.js @@ -26,10 +26,15 @@ function getImportGlobalsSrc(ignore) { continue; } value = globalObj[key]; - src += "var " + key + " = global." + key + "; "; + + // key may be an invalid variable name (e.g. 'a-b') + try { + eval("var " + key + ";"); + src += "var " + key + " = global." + key + "; "; + } catch(e) {} } return src; } -module.exports = getImportGlobalsSrc;
\ No newline at end of file +module.exports = getImportGlobalsSrc; diff --git a/test/getImportGlobalsSrc.test.js b/test/getImportGlobalsSrc.test.js index 7e2043b..ab9e946 100644 --- a/test/getImportGlobalsSrc.test.js +++ b/test/getImportGlobalsSrc.test.js @@ -17,11 +17,15 @@ describe("getImportGlobalsSrc", function () { global.exports = exports;
global.require = require;
+ // Also make sure it ignores invalid variable names
+ global['a-b'] = true;
+
src = getImportGlobalsSrc();
delete global.module;
delete global.exports;
delete global.require;
+ delete global['a-b'];
expectedGlobals = Object.keys(global);
@@ -63,4 +67,4 @@ describe("getImportGlobalsSrc", function () { expect(actualGlobals).to.eql(expectedGlobals);
expect(actualGlobals.length).to.be.above(1);
});
-});
\ No newline at end of file +});
|