ElemeFE / ElemeFE/obsolete-webpack-plugin
False positive on Opera
- Dominant language
- JavaScript
- Stars
- 186
- Forks
- 13
- PR merge metrics
- No merged PRs in 30d
Description
## Environment
- Plugin Version: v0.5.6
- Webpack Version: v4.43.0
- OS Version: v10.15.6
- Node Version: v10.16.0
- NPM Version: v6.13.7
- Browser Version: v60.0.3255.95
Browserlist:
```
"browserslist": [
"Chrome > 60",
"Safari >= 10.1",
"iOS >= 10.3",
"Firefox >= 60",
"Edge >= 15",
"Opera > 61"
]
```
## Current Behavior
HTML Template is not served.
## Expected Behavior
HTML Template appears since Opera v60.0.3255.95 is < v61
## Detailed Description
Placing a console log here on line 944 in `obsoleteweb/dist/obsolete.js`:
```javascript
return some(normalizedTargetBrowsersOfTheSameName, function (targetBrowser) {
return some(currentBrowsers, function (currentBrowser) {
console.log(currentBrowser, targetBrowser)
return currentBrowser.name === targetBrowser.name && compareVersion(currentBrowser.primaryVersion, targetBrowser.primaryVersion) !== compareVersion.LT;
});
});
```
returns
```
Browser {name: "chrome", version: "73.0.3683.103", primaryVersion: "73"}
Browser {name: "chrome", version: "61", primaryVersion: "61"}
```
The user agent is `"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36 OPR/60.0.3255.95"`. I believe the UA parser/authenticator sees that Chrome 73 satisfies the browserslist requirements and returns true before it is able to see that it does not pass the Opera requirements.
Contributor guide
Assessment
This issue has not been assessed yet.