Browse Source

don't modify configured babel plugins array

browser-support
Mark Wubben 9 years ago
committed by Sindre Sorhus
parent
commit
5b3c27ac9e
  1. 3
      lib/caching-precompiler.js
  2. 11
      test/caching-precompiler.js

3
lib/caching-precompiler.js

@ -109,8 +109,7 @@ CachingPrecompiler.prototype._buildOptions = function (filePath, code) {
ast: false
});
options.plugins = options.plugins || [];
options.plugins.push.apply(options.plugins, this.defaultPlugins);
options.plugins = (options.plugins || []).concat(this.defaultPlugins);
return options;
};

11
test/caching-precompiler.js

@ -148,3 +148,14 @@ test('uses babelConfig for babel options when babelConfig is an object', functio
t.same(options.plugins, [customPlugin, powerAssert, rewrite, transformRuntime]);
t.end();
});
test('does not modify plugins array in babelConfig', function (t) {
var plugins = [];
var precompiler = new CachingPrecompiler(uniqueTempDir(), {
plugins: plugins
});
precompiler.precompileFile(fixture('es2015.js'));
t.same(plugins, []);
t.end();
});

Loading…
Cancel
Save