Security News
Supply Chain Attack Detected in Solana's web3.js Library
A supply chain attack has been detected in versions 1.95.6 and 1.95.7 of the popular @solana/web3.js library.
github-badge-action
Advanced tools
Create a badge using GitHub Actions inputs & outputs, and save it into a file
This module generates a SVG badge using GitHub Actions inputs and outputs. The badge is generated using the NPM package gradient-badge and echoed as a GitHub Action output, and saved into a file if a path
is given. This is the core of the GitHub Action Badge action.
With npm
:
npm install github-badge-action
With yarn
:
yarn add github-badge-action
const { createBadgeFromInputs } = require('github-badge-action');
createBadgeFromInputs();
Inputs are read from action's inputs using core.input
, fixed and passed directly to gradient-badge
.
The input names are taken from createBadgeFromInputs
's inputMap
argument, which has this deafults:
const defaultInputMap = {
label: 'label',
labelColor: 'label-color',
status: 'status',
gradient: 'color',
style: 'style',
icon: 'icon',
iconWidth: 'icon-width',
scale: 'scale',
path: 'path',
};
You can import it and modify just some of the options names:
const {
createBadgeFromInputs,
defaultInputMap
} = require('github-badge-action');
createBadgeFromInputs({
inputMap: {
...defaultInputMap,
gradient: 'gradient',
},
});
Once the inputs are read, some fixes are applied. The default ones are:
const defaultInputFixes = {
// Ensure string
status: (status) => `${status}`,
// Ensure null if empty
icon: (icon) => icon?.length ? icon : null,
// Color gradient as Array
gradient: (gradient) => gradient
.split(',')
// Clean spaces
.map((color) => color.trim(' ')),
};
You can also change the fixes applied to the inputs, or add more using inputFixes
option:
const {
createBadgeFromInputs,
defaultInputFixes
} = require('github-badge-action');
createBadgeFromInputs({
inputFixes: {
...defaultInputFixes,
// Color gradient as Array, split with a pipe '|' instead of a comma ','
gradient: ({ gradient }) => gradient
.split('|')
// Clean spaces
.map((color) => color.trim(' ')),
},
});
label
Required The left label of the badge, usually static.
label-color
Required Hex or named color for the label. Default: 555
status
Required The right status as the badge, usually based on results.
color
Required An array (comma separated) with hex or named colors of the badge value background. More than one creates gradient background. Default: blue
.
style
Required Badge style: flat or classic. Default: classic
icon
Use icon.
icon-width
Set this if icon is not square. Default: 13
scale
Set badge scale. Default: 1
path
The file path to store the badge image file. Only output to badge
action output if not defined.
badge
Once the badge is generated, the SVG contents are written to an action output (by default). The name of the output can be modified using outputName
option:
createBadgeFromInputs({
outputName: 'badge-svg-custom'
});
If the option is null
or empty, output will not be written. The default option name is badge
.
FAQs
Create a badge using GitHub Actions inputs & outputs, and save it into a file
The npm package github-badge-action receives a total of 16 weekly downloads. As such, github-badge-action popularity was classified as not popular.
We found that github-badge-action 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
A supply chain attack has been detected in versions 1.95.6 and 1.95.7 of the popular @solana/web3.js library.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.