Ensure preset-env doesn't clobber browserslist defaults (#8391)
This commit is contained in:
parent
8ee24fdfc0
commit
5fdcd29ef9
@ -15,6 +15,8 @@ import browserModulesData from "../data/built-in-modules.json";
|
||||
import { TargetNames } from "./options";
|
||||
import type { Targets } from "./types";
|
||||
|
||||
const browserslistDefaults = browserslist.defaults;
|
||||
|
||||
const validateTargetNames = (validTargets, targets) => {
|
||||
for (const target in targets) {
|
||||
if (!TargetNames[target]) {
|
||||
@ -178,6 +180,9 @@ const getTargets = (targets: Object = {}, options: Object = {}): Targets => {
|
||||
const browsers = browserslist(browsersquery, { path: options.configPath });
|
||||
const queryBrowsers = getLowestVersions(browsers);
|
||||
targets = mergeBrowsers(queryBrowsers, targets);
|
||||
|
||||
// Reset browserslist defaults
|
||||
browserslist.defaults = browserslistDefaults;
|
||||
}
|
||||
|
||||
// Parse remaining targets
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
import browserslist from "browserslist";
|
||||
import getTargets from "../lib/targets-parser";
|
||||
|
||||
describe("getTargets", () => {
|
||||
@ -19,6 +20,16 @@ describe("getTargets", () => {
|
||||
});
|
||||
});
|
||||
|
||||
it("does not clobber browserslists defaults", () => {
|
||||
const browserslistDefaults = browserslist.defaults;
|
||||
|
||||
getTargets({
|
||||
browsers: "chrome 56, ie 11, firefox 51, safari 9",
|
||||
});
|
||||
|
||||
expect(browserslist.defaults).toEqual(browserslistDefaults);
|
||||
});
|
||||
|
||||
describe("validation", () => {
|
||||
it("throws on invalid target name", () => {
|
||||
const invalidTargetName = () => {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user