diff --git a/src/babel/transformation/file/plugin-manager.js b/src/babel/transformation/file/plugin-manager.js index 21258797ac..b82a3c29cf 100644 --- a/src/babel/transformation/file/plugin-manager.js +++ b/src/babel/transformation/file/plugin-manager.js @@ -57,6 +57,9 @@ export default class PluginManager { if (!plugin.buildPass || plugin.constructor.name !== "Transformer") { throw new TypeError(messages.get("pluginNotTransformer", name)); } + + // register as a plugin + plugin.metadata.plugin = true; } add(name) { diff --git a/src/babel/transformation/transformer-pipeline.js b/src/babel/transformation/transformer-pipeline.js index 7d6afc0a4a..5a4c704b49 100644 --- a/src/babel/transformation/transformer-pipeline.js +++ b/src/babel/transformation/transformer-pipeline.js @@ -47,6 +47,8 @@ export default class TransformerPipeline { } canTransform(transformer, fileOpts) { + if (transformer.metadata.plugin) return true; + for (var filter of (this.filters: Array)) { var result = filter(transformer, fileOpts); if (result != null) return result;