{"id":16292464,"url":"https://github.com/exogen/badge-matrix","last_synced_at":"2025-07-01T09:34:37.986Z","repository":{"id":48000925,"uuid":"47418355","full_name":"exogen/badge-matrix","owner":"exogen","description":"More advanced badges for projects using Travis or Sauce Labs","archived":false,"fork":false,"pushed_at":"2024-04-29T05:11:32.000Z","size":378,"stargazers_count":79,"open_issues_count":17,"forks_count":27,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-06-30T22:30:28.684Z","etag":null,"topics":["badges","sauce-labs","shields","travis","travis-ci"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/exogen.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"exogen","buy_me_a_coffee":"mosswood"}},"created_at":"2015-12-04T17:15:10.000Z","updated_at":"2024-12-13T05:47:19.000Z","dependencies_parsed_at":"2025-05-09T16:31:52.949Z","dependency_job_id":null,"html_url":"https://github.com/exogen/badge-matrix","commit_stats":null,"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/exogen/badge-matrix","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exogen%2Fbadge-matrix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exogen%2Fbadge-matrix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exogen%2Fbadge-matrix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exogen%2Fbadge-matrix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/exogen","download_url":"https://codeload.github.com/exogen/badge-matrix/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exogen%2Fbadge-matrix/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262936519,"owners_count":23387396,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["badges","sauce-labs","shields","travis","travis-ci"],"created_at":"2024-10-10T20:06:47.236Z","updated_at":"2025-07-01T09:34:37.941Z","avatar_url":"https://github.com/exogen.png","language":"JavaScript","funding_links":["https://github.com/sponsors/exogen","https://buymeacoffee.com/mosswood","https://www.buymeacoffee.com/mosswood"],"categories":[],"sub_categories":[],"readme":"# badge-matrix\n\nMore advanced badges for your projects using Travis or Sauce Labs.\n\n[See it in action over at the `script-atomic-onload` project.](https://github.com/exogen/script-atomic-onload)\n\n## Support\n\nDid this project bring you joy? Want to support updates? Check out\n[my GitHub Sponsors page](https://github.com/sponsors/exogen).\n\nAlternatively…\n\n\u003ca href=\"https://www.buymeacoffee.com/mosswood\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png\" alt=\"Buy Me A Coffee\" style=\"height: 60px !important;width: 217px !important;\"\u003e\u003c/a\u003e\n\n\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n## Contents\n\n- [Badges](#badges)\n- [Web Service](#web-service)\n  - [Endpoints](#endpoints)\n    - [`/browsers`](#browsers)\n    - [`/sauce/:user`](#sauceuser)\n    - [`/size/:source/:path`](#sizesourcepath)\n    - [`/travis/:user/:repo`](#travisuserrepo)\n    - [`/travis/:user/:repo/sauce/:sauceUser`](#travisuserreposaucesauceuser)\n- [Deployment](#deployment)\n  - [Heroku](#heroku)\n  - [Anywhere else](#anywhere-else)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n## Badges\n\n**File size for any file on GitHub or npm**\n\n[![Builder package.json size](https://badges.herokuapp.com/size/github/FormidableLabs/builder/master/package.json)](https://github.com/FormidableLabs/builder)\n\n[![Victory size](https://badges.herokuapp.com/size/npm/victory/dist/victory.min.js?gzip=true)](https://www.npmjs.com/package/victory)\n\n**Slice your Travis build matrix by environment**\n\n![TEST_LOADER=jquery](https://badges.herokuapp.com/travis/exogen/script-atomic-onload?branch=master\u0026env=TEST_LOADER=little-loader\u0026label=TEST_LOADER=little-loader)\n\n![TEST_LOADER=little-loader](https://badges.herokuapp.com/travis/exogen/script-atomic-onload?branch=master\u0026env=TEST_LOADER=jquery\u0026label=TEST_LOADER=jquery)\n\n**Browser support matrix from Sauce Labs**\n\n[![Browser Status](https://badges.herokuapp.com/sauce/wml-little-loader)](https://saucelabs.com/u/wml-little-loader)\n\nBeautiful *and* customizable!\n\n* `?labels=none`\n\n  [![Browser Status](https://badges.herokuapp.com/sauce/wml-little-loader?labels=none)](https://saucelabs.com/u/wml-little-loader)\n* `?logos=none`\n\n  [![Browser Status](https://badges.herokuapp.com/sauce/wml-little-loader?logos=none)](https://saucelabs.com/u/wml-little-loader)\n* `?logos=none\u0026labels=longName`\n\n  [![Browser Status](https://badges.herokuapp.com/sauce/wml-little-loader?logos=none\u0026labels=longName)](https://saucelabs.com/u/wml-little-loader)\n\nUsing something other than Sauce Labs? Just construct a URL with results from\nyour browser tests.\n\n* `browsers?firefox=20,26\u0026iexplore=!8,-9,10`\n\n  ![Browser Status](https://badges.herokuapp.com/browsers?firefox=20,26\u0026iexplore=!8,-9,10)\n\n## Web Service\n\nDeployed at: `https://badges.herokuapp.com/`\n\nYou may also run your own instance using this package. See the **Deployment** section.\n\n### Endpoints\n\n#### `/browsers`\n\nRender browser matrix badge based on support specified in the query\nparameters, for cases where your testing is done with a service other than\nSauce Labs (otherwise use the `/sauce` endpoint), or you don’t have CI and\njust want to show your intended support.\n\n**Query parameters**\n\n* `android`,\n  `firefox`,\n  `googlechrome`,\n  `iexplore`,\n  `ipad`,\n  `iphone`,\n  `microsoftedge`,\n  `opera`,\n  `safari`\n\n  A comma-separated list of version numbers that were tested for the given\n  browser, e.g. `firefox=20,26`.\n\n  Prefix a version number to indicate status:\n\n  * **`+`** or no prefix: Passed.\n  * **`-`**: Failed.\n  * **`!`**: Error.\n* `logos`,\n  `labels`,\n  `versionDivider`,\n  `style`\n\n  Same as the `/sauce/:user` endpoint below.\n\n#### `/sauce/:user`\n\nRender browser support matrix badge for the Sauce Labs account at `:user`.\n\n**Query parameters**\n\n* `build`\n\n  Build number, it should match the `build` string of one or more jobs. By\n  default, try to find the most recent build. The build can be from any CI\n  service, not just Travis.\n\n  Sauce Labs’ API doesn’t allow filtering by build, so finding the jobs for a\n  build can be a bit of a hassle:\n\n  * If the requested build is not in the first 500 results returned by the\n    API, then you should specify `from` and `to` to limit the query window\n    to the time span of the build.\n  * If no `from` is given, then stop fetching more jobs from the API when a\n    different build number is encountered.\n\n  Jobs with a `null` value for `build` are never included.\n* `name`\n\n  Name filter, it should match a whitespace separated substring in the `name`\n  of one or more jobs. Only jobs matching the filter will be included in the\n  result.\n* `tag`\n\n  Tag filter, it should match a string in the `tags` array of one or more\n  jobs. Only jobs matching the filter will be included in the result.\n* `from`\n\n  Start time (Unix epoch) of the window in which to find jobs. Passed along\n  to the Sauce Labs API.\n* `to`\n\n  End time (Unix epoch) of the window in which to find jobs. Passed along to\n  the Sauce Labs API.\n* `skip`\n\n  Number of initial jobs to skip. Passed along to the Sauce Labs API.\n* `source`\n\n  Data source from which to render results, defaults to `svg`.\n\n  * **api**: Fetch results from the Sauce Labs API. This allows you to specify\n    any of the above query parameters for filtering jobs.\n  * **svg**: Fetch Sauce Labs’ own browser matrix SVG widget and transform it\n    into our slimmer, beautified version. If you aren’t using any of the\n    options above, and just want the same results as their own widget would\n    render, use this. If you try specifying any of the options above, the\n    server will automatically change `source` to `api`. This is probably much\n    faster than talking to the API, but it’s a bit more fragile since their\n    SVG output could change.\n* `logos`\n\n  How to render browser logos, defaults to **inside**.\n\n  * **inside** or **true**: Show logos in the label part of the badge.\n  * **none** or **false**: Don’t show logos.\n* `labels`\n\n  How to render browser labels, defaults to **shortName**.\n\n  * **shortName** or **true**: Short names, e.g. \"Chrome\", \"FF\", \"IE\".\n  * **name**: Medium names, e.g. \"Chrome\", \"Firefox\", \"Internet Explorer\".\n  * **longName**: Long names, e.g. \"Google Chrome\", \"Mozilla Firefox\",\n    \"Microsoft Internet Explorer\".\n  * **sauceName**: Browser identifiers used by Sauce Labs, e.g.\n    \"googlechrome\", \"firefox\", \"iexplore\".\n  * **none** or **false**: Don’t show labels.\n* `versionDivider`\n\n  How to render the divider between browser version numbers, defaults to\n  **none**.\n\n  * **none** or **false**: Don’t show a divider.\n  * **line** or **true**: Show a subtle beveled line between version numbers.\n* `style`\n\n  Badge style, defaults to **flat**. Styles match\n  [shields.io](http://shields.io/).\n\n  * **flat**: Round and smooth.\n  * **flat-square**: Square and flat.\n\n#### `/size/:source/:path`\n\nRender a file size badge for any file on GitHub or npm.\n\n* `:source` can be `github` or `npm`.\n* `:path` can be any valid `raw.githubusercontent.com` or `unpkg.com` path\n  (when `:source` is `github` or `npm`, respectively).\n\n**Query parameters**\n\n* `gzip`\n\n  Whether to show the gzip-compressed size, defaults to **false**.\n\n  * **true**: Show compressed size.\n  * **false**: Show uncompressed size.\n* `label`\n\n  Custom badge label, by default it will be \"size\" or \"size (gzip)\".\n* `color`\n\n  Color name or value to pass along to [shields.io](http://shields.io/),\n  defaults to **brightgreen**. Note that the default may change to **blue** in\n  the future, as is somewhat conventional for purely informational,\n  non-qualitative badges like this one.\n* `style`\n\n  Style to pass along to [shields.io](http://shields.io/).\n\n#### `/travis/:user/:repo`\n\nRender build status badge for the Travis project at `:user/:repo`, counting\nonly build jobs that match the given `env` filter.\n\nThe default endpoint used to communicate with the Travis API is determined by\nthe server’s `TRAVIS_ENDPOINT` environment variable. You can force the public\n`api.travis-ci.com` or `api.travis-ci.org` endpoints by beginning the URL with\n`/travis.com` or `/travis.org`, respectively.\n\n**Query parameters**\n\n* `branch`\n\n  Git branch, defaults to **master**.\n* `env`\n\n  Environment filter, it should match a `VAR=value` line in the `env`\n  section of your build matrix. All jobs in the build matching the filter\n  will be aggregated into one final status, similar to how Travis determines\n  an overall build status. If no filter is given, all jobs in the build are\n  included (even if they are Allowed Failures).\n* `label`\n\n  Text label to render on the left side of the badge, defaults to the repo\n  name.\n* `style`\n\n  Style to pass along to [shields.io](http://shields.io/).\n\n#### `/travis/:user/:repo/sauce/:sauceUser`\n\nRender browser support matrix badge for the Travis project at `:user/:repo`,\ngetting Sauce Labs results from `:sauceUser` (defaults to `:user`).\n\nYou can also use the `/sauce/:user` endpoint, but this way ensures that we\nonly consider Sauce Labs jobs that match up with the latest Travis build\nnumber for the given `branch`, and also makes the correct jobs easier to find\nsince Travis provides the time span of the build.\n\nThe default endpoint used to communicate with the Travis API is determined by\nthe server’s `TRAVIS_ENDPOINT` environment variable. You can force the public\n`api.travis-ci.com` or `api.travis-ci.org` endpoints by beginning the URL with\n`/travis.com` or `/travis.org`, respectively.\n\n**Query parameters**\n\n* `branch`\n\n  Git branch of the Travis build, defaults to **master**.\n* `name`,\n  `tag`,\n  `logos`,\n  `labels`,\n  `versionDivider`,\n  `style`\n\n  Same as the `/sauce/:user` endpoint above.\n\n## Deployment\n\nIf you want to run your own instance of `badge-matrix`, clone this repo.\n\n### Heroku\n\n1. Create a Heroku app.\n2. `npm run add-font` will copy `Verdana.ttf` from wherever it is on your system.\n3. `npm run deploy` will build the sources and deploy to Heroku.\n\n### Anywhere else\n\n1. `npm run build` will build the sources.\n2. `npm run add-font` will copy `Verdana.ttf` from wherever it is on your system.\n3. `npm start` will start the server.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexogen%2Fbadge-matrix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexogen%2Fbadge-matrix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexogen%2Fbadge-matrix/lists"}