Giter Site home page Giter Site logo

browserslist / browsersl.ist Goto Github PK

View Code? Open in Web Editor NEW
303.0 8.0 33.0 10.75 MB

This website uses Browserslist and Can I Use to display the compatible browsers for a browsers query.

Home Page: https://browsersl.ist

License: MIT License

JavaScript 51.44% CSS 21.31% HTML 26.64% Dockerfile 0.61%
browserslist caniuse css

browsersl.ist's Introduction

Browserslist Website

Browserslist logo by Anton Popov

This website uses Browserslist and Can I Use to display the compatible browsers for a browsers query.

browsersl.ist

HTTP API

You can use the site API in your own applications.

https://browsersl.ist/api/browsers?q=defaults&region=alt-as

Response example

// https://browsersl.ist/api/browsers?q=>defaults+and+supports+es6-module&region=alt-as

{
  "config": ">0.3%",
  "lint": [
    {
      "id": "countryWasIgnored",
      "message": "Less than 80% coverage in `China`, `Nigeria`, `Tanzania`, `Ghana`, and `Uganda` regions"
    }
  ],
  "region": "alt-as",
  "coverage": 88.44,
  "versions": {
    "browserslist": "4.21.3",
    "caniuse": "1.0.30001381"
  },
  "updated": 1675156330646,
  "browsers": [
    {
      "id": "chrome",
      "name": "Chrome",
      "coverage": 17.06,
      "versions": {
        "102": 0.72,
        "103": 16.32
      }
    }
    ...
  ]
}

Errors

If you send a request with an error, you will receive error message with the status 400.

// https://browsersl.ist/api/browsers?q=>0%&region=XX

{
  "message": "Unknown region name `XX`."
}

Development

We recommend installing Prettier and EditorConfig plugins to your text editor.

To run a local copy for development:

  1. Install Node.js 22 and pnpm 9.

  2. Install dependencies:

    pnpm install
  3. Run local server with client-side watcher.

    pnpm start

To run local server in production mode:

pnpm ssdeploy run

browsersl.ist's People

Contributors

ai avatar alex996 avatar ariarzer avatar awkaiser avatar bpscott avatar dependabot-preview[bot] avatar dependabot[bot] avatar gcmznt avatar greenkeeper[bot] avatar greenkeeperio-bot avatar igorlukanin avatar jonrohan avatar lildeadprince avatar sashachabin avatar sergeyvinogorov avatar tatarianbarbarian avatar tats-u avatar timer avatar xhmikosr avatar yago avatar yash-singh1 avatar ypcrumble avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

browsersl.ist's Issues

Add a warning about outdated data

Currently the data on the website is outdated. I understand the project is undergoing a major change including fundraising.
I would like to suggest displaying a note at the top of the page that the information provided is currently outdated, maybe also mentioning npx browserslist.
If you want I can send in an PR for that.

Ability to add `in my stats`

The browserslist-ga tool can render a JSON file of percentage of browsers viewing a site according to GA. If we could upload that file and then reference in my stats in the search bar we could share specific stats to those less terminal-friendly.

Also this is a great tool, thanks!

Use default query on empty input

You should place default browsers query to the input placeholder and use it on empty input. It will be very useful because most of Autoprefixer uses default browsers.

Remove list dots

Every browsers in result list has <ul> list item dot. But we don’t need — anyway we have logo.

UI will be cleaner without them (less is more ;) )

An in-range update of caniuse-db is breaking the build 🚨

☝️ Greenkeeper’s updated Terms of Service will come into effect on April 6th, 2018.

Version 1.0.30000811 of caniuse-db was just published.

Branch Build failing 🚨
Dependency caniuse-db
Current Version 1.0.30000810
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

caniuse-db is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details
  • Tidelift An error occured Details

Commits

The new version differs by 7 commits.

  • e1f506b 1.0.30000811
  • 56b4562 data update
  • 2e613de Merge pull request #4096 from mkurz/ieVersionFix
  • 2f98962 Bug has been fixed in Edge
  • ef2ab61 Merge pull request #4092 from gregwhitworth/patch-1
  • 4347377 Switch Edge back to y for variable font support
  • ab0f757 Remove es6-module-nomodule.json

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Update caniusedb periodically

Currently, data is provided by caniuse-db 1.0.30000885. Suggestion to update the caniusedb more regularly, automatically and periodically if possible. Use TravisCI?

Client-side only?

Could this be moved to the client side so it can be easily cached, used offline, used instantly, and hosted on GitHub Pages?

Very incorrect coverage displayed next to individual browser versions

A lot of the coverage % displayed next to individual browser versions is very incorrect.

Example:

Firefox 69 displays 0.16% coverage:

https://browsersl.ist/?q=firefox+69

Screen Shot 2019-12-05 at 6 39 29 pm

You can see the correct coverage displayed at the bottom; 2.25%. This can be confirmed using the Browserslist CLI:

npx browserslist --coverage "firefox 69"

Result:

These browsers account for 2.55% of all users globally

I discovered this bug because I was extremely confused why the > 0.5% query was displaying Firefox 69 labeled with 0.16% coverage:

https://browsersl.ist/?q=%3E+0.5%25

Screen Shot 2019-12-05 at 6 44 34 pm

Doesn’t support multiline lists

My browserslist looks like this:

last 2 Chrome versions
last 2 Opera versions
last 2 Firefox versions
Safari > 10

When I paste it into an input, a browser replaces all the \n with spaces and I have an error:

BrowserslistError: Unknown Browser Query `Last 2 Chrome Versions Last 2 Opera Versions Last 2 Firefox Versions Safari > 10`

Display errors

Right now if query contains error (for example unknown query), website doesn’t show anything.

Suggestion: change browserlist package version from caret (^) to tilde (~)

I initially noticed on the homepage that it is using browserlist 1.4.0, but somehow didn't notice the caret sign and submitted an issue.

Now I'm wondering isn't better to use the tilde sign, so that once browserlist has a minor update, it's also required to rebuild/update the site? Browserlist changelog tells they are following semver and if browser stats are updated there will be a minor change.

Entering "> 0.25%" shows browsers with less than 0.25%

Either this is a bug, or more likely, it's just something about how the list is generated isn't explained.

If I enter "> 0.25%" it generates a list of browsers, some of which have less than 0.25% usage share.

For example, Chrome 29 appears on the list, which only has 0.16% usage share, as well as a few others.

screen shot 2018-10-16 at 7 07 00 pm

Converting it into an npm package/lib?

Hi @jonrohan & folks,

I was about to ask if there is a plan to have an published version of this website as a service to update project READMEs generated from browserslist config inside package.json files? If so, I can help/would be volunteer for integrating that which would be great. wdyt? 🤔

For example: if a project has a configuration like the following in package.json file or .browserslistrc file:

"browserslist": [
    "> 1%",
    "last 2 versions",
    "ie 11"

The thing can be converted into something like the following as an output automatically from the what browserl.ist provides:

browsers: [{
   'ie11': {
       icon: '<PATH-FOR-THE-ICON-FILE>'
       ...
   },
   ...
}]

or something like this. Then this output can be put inside the readme as a markdown output like that:

IE 11 Chrome Firefox

Hope the desc. is enough to describe what I wanna tell in detail.

Cheers.

Regional stats broken

When I enter "> 1%", I see Chrome 72 is at about 15%, which seems about right.

When I enter "> 1% in US", Chrome 72 is only at 1.04%. That doesn't seem right. According to caniuse, it should be 7.36%.

When I enter "> 1% in CN", Chrome 72 is again at 1.04%. In fact, the stats for every browser are the same no matter which country is entered.

It seems something is awry with the regional stats.

An in-range update of eslint is breaking the build 🚨

Version 4.13.0 of eslint was just published.

Branch Build failing 🚨
Dependency eslint
Current Version 4.12.1
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

eslint is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details
  • dependency-ci An error occured Details

Release Notes v4.13.0
  • 256481b Update: update handling of destructuring in camelcase (fixes #8511) (#9468) (Erin)
  • d067ae1 Docs: Don’t use undocumented array-style configuration for max-len (#9690) (Jed Fox)
  • 1ad3091 Chore: fix test-suite to work with node master (#9688) (Myles Borins)
  • cdb1488 Docs: Adds an example with try/catch. (#9672) (Jaap Taal)
Commits

The new version differs by 6 commits.

  • 29c3610 4.13.0
  • ac331bc Build: changelog update for 4.13.0
  • 256481b Update: update handling of destructuring in camelcase (fixes #8511) (#9468)
  • d067ae1 Docs: Don’t use undocumented array-style configuration for max-len (#9690)
  • 1ad3091 Chore: fix test-suite to work with node master (#9688)
  • cdb1488 Docs: Adds an example with try/catch. (#9672)

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of eslint is breaking the build 🚨

☝️ Greenkeeper’s updated Terms of Service will come into effect on April 6th, 2018.

Version 4.18.2 of eslint was just published.

Branch Build failing 🚨
Dependency eslint
Current Version 4.18.1
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

eslint is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details
  • Tidelift An error occured Details

Release Notes v4.18.2
  • 6b71fd0 Fix: [email protected], because 4.0.3 needs "ajv": "^6.0.1" (#10022) (Mathieu Seiler)
  • 3c697de Chore: fix incorrect comment about linter.verify return value (#10030) (Teddy Katz)
  • 9df8653 Chore: refactor parser-loading out of linter.verify (#10028) (Teddy Katz)
  • f6901d0 Fix: remove catastrophic backtracking vulnerability (fixes #10002) (#10019) (Jamie Davis)
  • e4f52ce Chore: Simplify dataflow in linter.verify (#10020) (Teddy Katz)
  • 33177cd Chore: make library files non-executable (#10021) (Teddy Katz)
  • 558ccba Chore: refactor directive comment processing (#10007) (Teddy Katz)
  • 18e15d9 Chore: avoid useless catch clauses that just rethrow errors (#10010) (Teddy Katz)
  • a1c3759 Chore: refactor populating configs with defaults in linter (#10006) (Teddy Katz)
  • aea07dc Fix: Make max-len ignoreStrings ignore JSXText (fixes #9954) (#9985) (Rachael Sim)
Commits

The new version differs by 12 commits.

  • 22ff6f3 4.18.2
  • 817b84b Build: changelog update for 4.18.2
  • 6b71fd0 Fix: [email protected], because 4.0.3 needs "ajv": "^6.0.1" (#10022)
  • 3c697de Chore: fix incorrect comment about linter.verify return value (#10030)
  • 9df8653 Chore: refactor parser-loading out of linter.verify (#10028)
  • f6901d0 Fix: remove catastrophic backtracking vulnerability (fixes #10002) (#10019)
  • e4f52ce Chore: Simplify dataflow in linter.verify (#10020)
  • 33177cd Chore: make library files non-executable (#10021)
  • 558ccba Chore: refactor directive comment processing (#10007)
  • 18e15d9 Chore: avoid useless catch clauses that just rethrow errors (#10010)
  • a1c3759 Chore: refactor populating configs with defaults in linter (#10006)
  • aea07dc Fix: Make max-len ignoreStrings ignore JSXText (fixes #9954) (#9985)

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Deploy with latest caniuse-db version?

I like this website, thank you for providing it!

The version of caniuse-db currently in use is 1.0.30001019, released Jan 5, 2020. Since that date Edge Blink has been released and various versions of Firefox and Chrome. As a result the versions shown here are outdated: https://browserl.ist. We just run into this as we advertise something like last 2 Edge versions. However as we've updated caniuse to some newer version, that doesn't mean Edge 17 and 18, but Edge 81 and 83.

An in-range update of caniuse-db is breaking the build 🚨

Version 1.0.30000781 of caniuse-db was just published.

Branch Build failing 🚨
Dependency caniuse-db
Current Version 1.0.30000780
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

caniuse-db is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details
  • dependency-ci An error occured Details

Commits

The new version differs by 4 commits.

  • 06e458e 1.0.30000781
  • 2d2dfad data update
  • 274fd2b Merge pull request #3903 from dstorey/patch-36
  • b07e8a0 Edge supports all the Form features

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Show Country-Specific Individual Browser Usage

It‘s a bit confusing that when a country-specific query is made, the overall coverage at the bottom correctly shows the coverage in that country, but the individual browser usage percentages are always global.

e.g. >0.1% in AT shows browsers with an individual usage percentage of less than 0.1% because it‘s more in AT:
https://browserl.ist/?q=%3E0.1%25+in+AT

Firefox for Android 63 0.09%
Samsung Internet 6.2 0.01%
Samsung Internet 4 0.03%
Chrome 57 0.03%
Edge 15 0.03%
Firefox 61 0.07%
Firefox 60 0.08%
Opera 56 0%
Opera 55 0.06%

Since the website already recognizes when a country-specific query is made, and shows that in the overall sum, this could also automatically be done for individual browser usage percentages. Or alternatively something similar to caniuse.com could be used: show global numbers + numbers from a country the user can select.

An in-range update of eslint is breaking the build 🚨

Version 4.16.0 of eslint was just published.

Branch Build failing 🚨
Dependency eslint
Current Version 4.15.0
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

eslint is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details
  • dependency-ci An error occured Details

Release Notes v4.16.0
  • e26a25f Update: allow continue instead of if wrap in guard-for-in (fixes #7567) (#9796) (Michael Ficarra)
  • af043eb Update: Add NewExpression support to comma-style (#9591) (Frazer McLean)
  • 4f898c7 Build: Fix JSDoc syntax errors (#9813) (Matija Marohnić)
  • 13bcf3c Fix: Removing curly quotes in no-eq-null report message (#9852) (Kevin Partington)
  • b96fb31 Docs: configuration hierarchy for CLIEngine options (fixes #9526) (#9855) (PiIsFour)
  • 8ccbdda Docs: Clarify that -c configs merge with .eslintrc.* (fixes #9535) (#9847) (Kevin Partington)
  • 978574f Docs: Fix examples for no-useless-escape (#9853) (Toru Kobayashi)
  • cd5681d Chore: Deactivate consistent-docs-url in internal rules folder (#9815) (Kevin Partington)
  • 2e87ddd Docs: Sync messageId examples' style with other examples (#9816) (Kevin Partington)
  • 1d61930 Update: use doctrine range information in valid-jsdoc (#9831) (Teddy Katz)
  • 133336e Update: fix indent behavior on template literal arguments (fixes #9061) (#9820) (Teddy Katz)
  • ea1b15d Fix: avoid crashing on malformed configuration comments (fixes #9373) (#9819) (Teddy Katz)
  • add1e70 Update: fix indent bug on comments in ternary expressions (fixes #9729) (#9818) (Teddy Katz)
  • 6a5cd32 Fix: prefer-destructuring error with computed properties (fixes #9784) (#9817) (Teddy Katz)
  • 601f851 Docs: Minor modification to code comments for clarity (#9821) (rgovind92)
  • b9da067 Docs: fix misleading info about RuleTester column numbers (#9830) (Teddy Katz)
  • 2cf4522 Update: Rename and deprecate object-property-newline option (#9570) (Jonathan Pool)
  • acde640 Docs: Add ES 2018 to Configuring ESLint (#9829) (Kai Cataldo)
  • ccfce15 Docs: Minor tweaks to working with rules page (#9824) (Kevin Partington)
  • 54b329a Docs: fix substitution of {{ name }} (#9822) (Andres Kalle)
Commits

The new version differs by 22 commits.

  • 33ca1ea 4.16.0
  • 1a9ddee Build: changelog update for 4.16.0
  • e26a25f Update: allow continue instead of if wrap in guard-for-in (fixes #7567) (#9796)
  • af043eb Update: Add NewExpression support to comma-style (#9591)
  • 4f898c7 Build: Fix JSDoc syntax errors (#9813)
  • 13bcf3c Fix: Removing curly quotes in no-eq-null report message (#9852)
  • b96fb31 Docs: configuration hierarchy for CLIEngine options (fixes #9526) (#9855)
  • 8ccbdda Docs: Clarify that -c configs merge with .eslintrc.* (fixes #9535) (#9847)
  • 978574f Docs: Fix examples for no-useless-escape (#9853)
  • cd5681d Chore: Deactivate consistent-docs-url in internal rules folder (#9815)
  • 2e87ddd Docs: Sync messageId examples' style with other examples (#9816)
  • 1d61930 Update: use doctrine range information in valid-jsdoc (#9831)
  • 133336e Update: fix indent behavior on template literal arguments (fixes #9061) (#9820)
  • ea1b15d Fix: avoid crashing on malformed configuration comments (fixes #9373) (#9819)
  • add1e70 Update: fix indent bug on comments in ternary expressions (fixes #9729) (#9818)

There are 22 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

"Show not supported browsers" feature?

I can see how my 87% coverage is split among different browsers. But is there a way to see which browsers belong to the rest 13%? I can manually negate the initial query (and btw, the query and its negation add up to 97.6%, not 100% as one would expect), but is there a more straightforward way (like a Show unsupported browsers button next to the current Show browsers button)?

https version?

SSL certificates are handled automatically by heroku if it's a paid plan, otherwise it looks like you can set up Let's Encrypt or you could put it behind CloudFlare.

Site will no longer work after August 7th, 2020.

While exploring now locally, I received the following deprecation warnings:

Error! As of June 19th 2020, the creation of new ZEIT Now 1.0 Deployments is prohibited. Existing Deployments will continue to be available until August 7th 2020.
Learn More: https://vercel.link/v1-shutdown-announcement

When following that link, it goes into more detail:

7th of August 2020: All ZEIT Now 1.0 deployments will be deleted.

I assume this means the website will be down entirely without intervention.

How to keep this tool always up to date?

I follow Browserslist’s Twitter account, where they post about new features that are available in the latest versions as they’re released. It would be useful if these new features could be immediately tested on browsersl.ist. Would that be possible?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.