Badgen Service
 
 
 
Go to file
dependabot[bot] cbcf00b064 Bump semver from 5.6.0 to 6.0.0 (#273)
Bumps [semver](https://github.com/npm/node-semver) from 5.6.0 to 6.0.0.
<details>
<summary>Changelog</summary>

*Sourced from [semver's changelog](https://github.com/npm/node-semver/blob/master/CHANGELOG.md).*

> # changes log
> 
> ## 6.0
> 
> * Fix `intersects` logic.
> 
>     This is technically a bug fix, but since it is also a change to behavior
>     that may require users updating their code, it is marked as a major
>     version increment.
> 
> ## 5.7
> 
> * Add `minVersion` method
> 
> ## 5.6
> 
> * Move boolean `loose` param to an options object, with
>   backwards-compatibility protection.
> * Add ability to opt out of special prerelease version handling with
>   the `includePrerelease` option flag.
> 
> ## 5.5
> 
> * Add version coercion capabilities
> 
> ## 5.4
> 
> * Add intersection checking
> 
> ## 5.3
> 
> * Add `minSatisfying` method
> 
> ## 5.2
> 
> * Add `prerelease(v)` that returns prerelease components
> 
> ## 5.1
> 
> * Add Backus-Naur for ranges
> * Remove excessively cute inspection methods
> 
> ## 5.0
> 
> * Remove AMD/Browserified build artifacts
> * Fix ltr and gtr when using the `*` range
> * Fix for range `*` with a prerelease identifier
</details>
<details>
<summary>Commits</summary>

- [`5fb517b`](5fb517b290) 6.0.0
- [`3e1d016`](3e1d0161b2) changelog for v6
- [`673e820`](673e820718) fix: Improve performance of isSatisfiable function
- [`9b8e961`](9b8e961c0c) fix: Fix non-satisfiable ranges so they no longer intersect with anything
- [`8473d65`](8473d6534e) fix: Fix Range intersects algorithm
- [`8055dda`](8055dda0ae) 5.7.0
- [`604e73d`](604e73dea1) auto-publishing scripts
- [`bed01e2`](bed01e2316) remove the nomin comments, since we don't minify any more anyway
- [`9cb68f1`](9cb68f1db7) document parse method
- [`38d42ca`](38d42ca87a) 5.7 changelog
- Additional commits viewable in [compare view](https://github.com/npm/node-semver/compare/v5.6.0...v6.0.0)
</details>
<br />

[![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=semver&package-manager=npm_and_yarn&previous-version=5.6.0&new-version=6.0.0)](https://dependabot.com/compatibility-score.html?dependency-name=semver&package-manager=npm_and_yarn&previous-version=5.6.0&new-version=6.0.0)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot ignore this [patch|minor|major] version` will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)

Finally, you can contact us by mentioning @dependabot.

</details>
2019-03-28 14:46:26 +08:00
.github Activating Open Collective (#235) 2019-02-09 21:46:07 +08:00
components web: move doc pages to next.js 2018-11-07 17:49:45 +08:00
libs Update icon examples url 2019-03-25 22:42:14 +08:00
pages web: move doc pages to next.js 2018-11-07 17:49:45 +08:00
static web: move doc pages to next.js 2018-11-07 17:49:45 +08:00
test test: start some tests #42 2018-08-03 21:54:26 +08:00
.codeclimate.yml chore: add .codeclimate.yml 2018-08-13 16:58:11 +08:00
.gitignore web: init web pages with next.js 2018-09-07 10:48:48 +08:00
.travis.yml chore: add .travis.yml 2018-07-23 00:27:26 +08:00
LICENSE.md chore: add license and improve readme (#89) 2018-08-08 10:48:25 +08:00
README.md Activating Open Collective (#235) 2019-02-09 21:46:07 +08:00
next.config.js web: move doc pages to next.js 2018-11-07 17:49:45 +08:00
now.json force using now v1 2019-01-02 21:15:18 +08:00
package-lock.json Bump semver from 5.6.0 to 6.0.0 (#273) 2019-03-28 14:46:26 +08:00
package.json Bump semver from 5.6.0 to 6.0.0 (#273) 2019-03-28 14:46:26 +08:00
service.js web: move doc pages to next.js 2018-11-07 17:49:45 +08:00

README.md

Badgen Service

Home of badgen.net, fast badge generating service.

The Badgen Story

That's a service, that's a library, hooorey! - @tunnckoCore

Finally something to replace http://shields.io - @EGOIST

Epic work on Badgen! Porting the @dependabot badges over to it now. - @greybaker

The badgen library was born as an exploration of "is it possible to generate badge SVG markup directly with JavaScript (without using pdfkit/canvas/puppeteer to measure text length)?". The result is better than I expected, Verdana (the de-facto font for badges) text width can be calculated precisely with a prebuilt char-width-table, even no need to worry about kerning 🤯

Then, logically, Badgen Service was born. I had a good time with shields.io, but as time goes by Shields gets slower, leaves more and more broken badges in READMEs. Badgen is trying to be a fast alternative with simplicity and flexibility. Its codebase is simple (2K LoCs vs Shields' 22K LoCs), well structured and fun to develop - it is pretty easy to add badge(s) for new service(s).

In the beginning, I was considering both Now and Google Cloud Functions. Then Zeit announced Now CDN on the same day as badgen.now.sh (the PoC of Badgen Service)'s reveal, what a fate! Cloudflare powered Now CDN is a perfect choice for such service, caching and scalability in simplicity. Badgen is the fastest possible badge generating service out there. It's fast, it's reliable, it's globally distributed and cached, thanks to Now.

At the time of badgen.now.sh's reveal, it had only four live badges as demonstrations. Since then, thanks to awesome people's help, Badgen keeps getting better at a fast pace. Welcome to join us, let's build the best badge service in the universe 🔥

Anatomy

  • Written in latest, vanilla JavaScript => no build process
  • Using badgen library to generate svg on the fly => fast & stateless
  • Hosted on Now, serving behind Now CDN => faster & reliable
  • Cache less than 4 minutes => fresh & hot
  • Three endpoints in one server
  • Two badge types
    • static badge - URL defined badge (subject, status, color)
    • live badge - show live status from 3rd party services
  • Builtin Icons

Developing

Contributors StandardJS Dependencies Maintainability Code Quality LGTM Alerts

We are using StandardJS style, make sure you have ESLint/Standard plugin on your editor and have autofix enabled.

Add live badge

If a service you wish to have is still missing here, we welcome new contributions. Basically, you need to add a file in libs/live-fns/[name-of-service].js and that's it. Take crates as an example:

To ensure that your addition is working correctly start the development server with npm run dev.

YOU MAY NOT NEED TO MAKE PULL REQUEST

You can create arbitrary live badge with RunKit's online IDE, or any https endpoint. Checkout docs: /runkit or /https.

Add icon

You can contribute icons to badgen-icons. Please make sure new icon is optimized using svgomg.

Deploy to Now

Badgen is stateless (does not rely on DB service). Deploy your own instance to Now with one single command:

now amio/badgen-service -e GH_TOKEN='' -e TRACKING_GA='' -e SENTRY_URI=''

Tracking Policy

Badgen use Google Analytics on doc pages (home, /docs/packagephobia, etc.), log request time to 3rd party service for live badges, like:

2018-08-09T04:16:30.947Z  #npm dt/chalk: 160.519ms
2018-08-09T04:16:31.195Z  #npm dependents/chalk: 365.045ms
2018-08-09T04:16:51.252Z  #david dep/olstenlarck/eslint-config-esmc: 445.893ms

And that's all. No tracking of end users.

About

Made with ❤️ by Amio, built with from badgen.

Contributors

This project exists thanks to all the people who contribute.

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]