![require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages](https://cdn.sanity.io/images/cgdhsj6q/production/be8ab80c8efa5907bc341c6fefe9aa20d239d890-1600x1097.png?w=400&fit=max&auto=format)
Security News
require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
The definitive collection of badges for rendering
import { renderBadges } from 'badges'
// Listing of badges to output
const list = [
// Custom Badges
['badge', { image: 'image', alt: 'alt' }],
['badge', { image: 'image', alt: 'alt', url: 'url', title: 'title' }],
[
'shields',
{
left: 'left',
right: 'right',
alt: 'alt',
url: 'url',
title: 'title',
},
],
[
'shields',
{
left: 'left',
right: 'right',
color: 'red',
alt: 'alt',
url: 'url',
title: 'title',
},
],
'---',
// Development Badges
'npmversion',
'npmdownloads',
'daviddm',
'daviddmdev',
'nodeico',
'---',
// Testing Badges
'saucelabsbm',
'saucelabs',
'travisci',
'codeship',
'coveralls',
'codeclimate',
'bithound',
'waffle',
'---',
// Funding Badges
'sixtydevstips',
'patreon',
'opencollective',
'gratipay',
'flattr',
'paypal',
'bitcoin',
'wishlist',
'---',
// Social Badges
'slackinscript',
'slackin',
'gabeacon',
'googleplusone',
'redditsubmit',
'hackernewssubmit',
'facebooklike',
'facebookfollow',
'twittertweet',
'twitterfollow',
'githubfollow',
'githubstar',
'quorafollow',
]
// Configuration for the badges
const config = {
npmPackageName: 'badges',
saucelabsUsername: 'bevry',
saucelabsAuthToken: '123',
codeshipProjectUUID: '123',
codeshipProjectID: '123',
githubSlug: 'bevry/badges',
nodeicoQueryString: { downloads: true, compact: true, height: 2 },
sixtydevstipsID: 'd2dcf439c9759e88f3ccec1cef394c10',
patreonUsername: 'bevry',
opencollectiveUsername: 'bevry',
gratipayUsername: 'bevry',
flattrUsername: 'balupton',
paypalURL: 'https://paypal.me/bevry',
paypalButtonID: 'QB8GQPZAH84N6', // another option instead of paypalURL
paypalUsername: 'bevry', // another option instead of paypalURL
bitcoinURL: 'https://bevry.me/bitcoin',
wishlistURL: 'https://bevry.me/wishlist',
slackinURL: 'https://slack.bevry.me',
gaTrackingID: 'UA-XXXXX-XX',
homepage: 'https://bevry.me',
facebookApplicationID: '123123',
facebookUsername: 'balupton',
twitterUsername: 'bevryme',
githubUsername: 'balupton',
quoraUsername: 'Benjamin-Lupton',
quoraRealname: 'Benjamin Arthur Lupton', // optional, will extract from username
}
// Options for rendering the badges
const options = {
// Filter Category
// When set to a string, will only render badges from the list that of the specified category
// Values can be 'development', 'testing', 'funding', or 'social'
// E.g. to render only funding badges, set to 'funding'
filterCategory: false,
// Filter Scripts
// When true, do not render any badges from the list that are scripts
filterScripts: false,
}
// Render the badges to a string
const result = renderBadges(list, config, options)
// Output the result
console.log(result)
If you want to render badges inside your own project's readme files, check out the meta builder projectz which uses this package for badge rendering.
npm install --save badges
import * as pkg from ('badges')
const pkg = require('badges')
import * as pkg from 'https://unpkg.com/badges@^4.40.0/edition-deno/index.ts'
<script type="module">
import * as pkg from '//cdn.skypack.dev/badges@^4.40.0'
</script>
<script type="module">
import * as pkg from '//unpkg.com/badges@^4.40.0'
</script>
<script type="module">
import * as pkg from '//dev.jspm.io/badges@4.40.0'
</script>
This package is published with the following editions:
badges/source/index.ts
is TypeScript source code with Import for modulesbadges/edition-browsers/index.js
is TypeScript compiled against ES2022 for web browsers with Import for modulesbadges
aliases badges/edition-es2022/index.js
badges/edition-es2022/index.js
is TypeScript compiled against ES2022 for Node.js 10 || 12 || 14 || 16 || 18 || 20 || 21 with Require for modulesbadges/edition-es2022-esm/index.js
is TypeScript compiled against ES2022 for Node.js 12 || 14 || 16 || 18 || 20 || 21 with Import for modulesbadges/edition-types/index.d.ts
is TypeScript compiled Types with Import for modulesbadges/edition-deno/index.ts
is TypeScript source code made to be compatible with DenoDiscover the release history by heading on over to the HISTORY.md
file.
If you there is a badge that you believe will be common enough for others to benefit from, send in a pull request. Each pull request should:
source/badges.js
badgeScript = true
- see other badges for an examplesource/test.js
README.md
keyword
field of package.json
These changes can be done in multiple commits or the same, it doesn't matter, as we will squash the commits on merge. We will also the changelog entry, so you don't need to do.
Discover how to contribute via the CONTRIBUTING.md
file.
Unless stated otherwise all works are:
and licensed under:
v4.40.0 2023 December 29
FAQs
The definitive collection of badges for rendering
The npm package badges receives a total of 1,059 weekly downloads. As such, badges popularity was classified as popular.
We found that badges demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.