This repository has been archived by the owner on May 11, 2018. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 158
Adds browsers
property to use browserslist's queries
#19
Merged
Merged
Changes from 3 commits
Commits
Show all changes
12 commits
Select commit
Hold shift + click to select a range
73d242a
Use browserslist to parse browsers from query.
yavorsky 5c659f9
Update README.
yavorsky 4f80969
Use int values.
yavorsky dd908e0
Allow `isPluginRequired` use browserslist queries.
yavorsky b21e564
Fix conflicts during different versions merging.
yavorsky 1152f62
Add tests for browserslist queries.
yavorsky 4a6fbef
Early return for getTargets.
yavorsky 0bff667
Update README: Describe `browsers` option.
yavorsky c22ba0e
fix doc [skip ci]
hzoo fc09346
Move to dependencies [skip ci]
hzoo 56f2209
Remove unused const.
yavorsky 99a63ef
Use doublequotes for strings.
yavorsky File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,6 +5,7 @@ | |
// "es5-property-mutators", | ||
|
||
import pluginList from "../data/plugins.json"; | ||
import browserslist from "browserslist"; | ||
|
||
export const plugins = [ | ||
"es3-member-expression-literals", | ||
|
@@ -62,7 +63,16 @@ export const isPluginRequired = (supportedEnvironments, plugin) => { | |
}; | ||
|
||
const getTargets = targetOpts => { | ||
return targetOpts || {}; | ||
const mergedOpts = targetOpts || {}; | ||
const browserOpts = targetOpts['browsers']; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do we want to do any validation here? (like in loose/modules we verify if boolean etc) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Oh I see it's ignored right below |
||
if (typeof browserOpts === 'string' || Array.isArray(browserOpts)) { | ||
delete mergedOpts.browsers; | ||
browserslist(browserOpts).forEach(browser => { | ||
const [browserName, browserVer] = browser.split(' '); | ||
if (!mergedOpts[browserName]) mergedOpts[browserName] = parseInt(browserVer); | ||
}); | ||
} | ||
return mergedOpts; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You could also do an early return here const browserOpts = targetOpts.browsers;
if (isBrowsersQueryValid(browserOpts)) {
const queryBrowsers = getLowestVersions(browserslist(browserOpts));
return mergeBrowsers(queryBrowsers, targetOpts);
}
return targetOps; |
||
}; | ||
|
||
// TODO: Allow specifying plugins as either shortened or full name | ||
|
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will have to be a dependency if we are using it in
src
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Although it would be better if it was used as a devDependency