add scary experimental warning for people who use obscure transformers that are still WIP

This commit is contained in:
Sebastian McKenzie 2015-06-05 11:55:09 +01:00
parent a102692103
commit ec46eaf224
5 changed files with 14 additions and 3 deletions

View File

@ -16,6 +16,10 @@ export default class Logger {
return parts;
}
warn(msg) {
console.warn(this._buildMessage(msg));
}
error(msg: string, Constructor = Error) {
throw new Constructor(this._buildMessage(msg));
}

View File

@ -47,7 +47,8 @@
},
"experimental": {
"deprecated": "use `--stage 0`/`{ stage: 0 }` instead"
"description": "allow use of experimental transformers",
"default": false
},
"highlightCode": {

View File

@ -13,6 +13,10 @@ export default class TransformerPass {
this.handlers = transformer.handlers;
this.file = file;
this.key = transformer.key;
if (this.canTransform() && transformer.metadata.experimental && !file.opts.experimental) {
file.log.warn(`THE TRANSFORMER ${this.key} HAS BEEN MARKED AS EXPERIMENTAL. USE AT YOUR OWN RISK. THIS WILL HIGHLY LIKELY BREAK YOUR CODE SO USE WITH **EXTREME** CAUTION`);
}
}
canTransform(): boolean {

View File

@ -2,7 +2,8 @@ import * as t from "../../../types";
export var metadata = {
optional: true,
group: "builtin-prepass"
group: "builtin-prepass",
experimental: true
};
export function AssignmentExpression() {

View File

@ -19,7 +19,8 @@ function toStatements(node) {
export var metadata = {
optional: true,
group: "builtin-pre"
group: "builtin-pre",
experimental: true
};
export function ReferencedIdentifier(node, parent, scope) {