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; return parts;
} }
warn(msg) {
console.warn(this._buildMessage(msg));
}
error(msg: string, Constructor = Error) { error(msg: string, Constructor = Error) {
throw new Constructor(this._buildMessage(msg)); throw new Constructor(this._buildMessage(msg));
} }

View File

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

View File

@ -13,6 +13,10 @@ export default class TransformerPass {
this.handlers = transformer.handlers; this.handlers = transformer.handlers;
this.file = file; this.file = file;
this.key = transformer.key; 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 { canTransform(): boolean {

View File

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

View File

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