check whitelist and blacklist for valid transformer names
This commit is contained in:
@@ -4,6 +4,14 @@ var path = require("path");
|
||||
var util = require("./util");
|
||||
var _ = require("lodash");
|
||||
|
||||
var ensureTransformerNames = function (type, keys) {
|
||||
_.each(keys, function (key) {
|
||||
if (!transform.transformers[key]) {
|
||||
throw new ReferenceError("unknown transformer " + key + " specified in " + type);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
var transform = module.exports = function (code, opts) {
|
||||
opts = opts || {};
|
||||
code = (code || "") + "";
|
||||
@@ -16,6 +24,9 @@ var transform = module.exports = function (code, opts) {
|
||||
format: {}
|
||||
});
|
||||
|
||||
ensureTransformerNames("blacklist", opts.blacklist);
|
||||
ensureTransformerNames("whitelist", opts.whitelist);
|
||||
|
||||
return util.parse(opts.filename, code, function (tree) {
|
||||
return transform._run(code, tree, opts);
|
||||
});
|
||||
@@ -92,6 +103,7 @@ transform.test = function (actual, expect, opts) {
|
||||
};
|
||||
|
||||
transform.transformers = {
|
||||
modules: require("./transformers/modules"),
|
||||
computedPropertyNames: require("./transformers/computed-property-names"),
|
||||
propertyNameShorthand: require("./transformers/property-name-shorthand"),
|
||||
constants: require("./transformers/constants"),
|
||||
@@ -105,7 +117,6 @@ transform.transformers = {
|
||||
destructuring: require("./transformers/destructuring"),
|
||||
generators: require("./transformers/generators"),
|
||||
blockBinding: require("./transformers/block-binding"),
|
||||
modules: require("./transformers/modules"),
|
||||
restParameters: require("./transformers/rest-parameters"),
|
||||
forOf: require("./transformers/for-of"),
|
||||
unicodeRegex: require("./transformers/unicode-regex")
|
||||
|
||||
Reference in New Issue
Block a user