deprecate old transformer names

This commit is contained in:
Sebastian McKenzie
2015-01-25 15:46:04 +11:00
parent 3fdf492dcf
commit 49c28d449e

View File

@@ -25,7 +25,15 @@ transform.fromAst = function (ast, code, opts) {
transform._ensureTransformerNames = function (type, keys) {
for (var i = 0; i < keys.length; i++) {
var key = keys[i];
if (!transform.transformers[key]) {
var newKey = transform.deprecatedTransformerMap[key];
if (newKey) {
console.error(
"The transformer " + key + " has been renamed to " + newKey +
" in v3.0.0 - backwards compatibilty will be removed 4.0.0"
);
keys[i] = newKey;
} else if (!transform.transformers[key]) {
throw new ReferenceError(
"Unknown transformer " + key + " specified in " + type + " - " +
"transformer key names have been changed in 3.0.0 see " +
@@ -36,6 +44,45 @@ transform._ensureTransformerNames = function (type, keys) {
}
};
transform.deprecatedTransformerMap = {
specNoForInOfAssignment: "validation.noForInOfAssignment",
specSetters: "validation.setters",
specBlockScopedFunctions: "spec.blockScopedFunctions",
malletOperator: "playground.malletOperator",
methodBinding: "playground.methodBinding",
memoizationOperator: "playground.memoizationOperator",
objectGetterMemoization: "playground.objectGetterMemoization",
modules: "es6.modules",
propertyNameShorthand: "es6.properties.shorthand",
arrayComprehension: "es7.comprehensions",
generatorComprehension: "es7.comprehensions",
arrowFunctions: "es6.arrowFunctions",
classes: "es6.classes",
objectSpread: "es7.objectSpread",
exponentiationOperator: "es7.exponentiationOperator",
spread: "es6.spread",
templateLiterals: "es6.templateLiterals",
propertyMethodAssignment: "es6.properties.shorthand",
computedPropertyNames: "es6.properties.computed",
defaultParameters: "es6.parameters.default",
restParameters: "es6.parameters.rest",
destructuring: "es6.destructuring",
forOf: "es6.forOf",
unicodeRegex: "es6.unicodeRegex",
abstractReferences: "es7.abstractReferences",
constants: "es6.constants",
letScoping: "es6.letScoping",
blockScopingTDZ: "es6.blockScopingTDZ",
generators: "regenerator",
protoToAssign: "spec.protoToAssign",
typeofSymbol: "spec.typeofSymbol",
coreAliasing: "selfContained",
undefinedToVoid: "spec.undefinedToVoid",
undeclaredVariableCheck: "validation.undeclaredVariableCheck",
specPropertyLiterals: "minification.propertyLiterals",
specMemberExpressionLiterals: "minification.memberExpressionLiterals",
};
transform.transformers = object();
transform.moduleFormatters = {