
Security News
The Hidden Blast Radius of the Axios Compromise
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.
Percent control done right
Percent is a npm module which gives you nice options to control percentages.
It's like semver for percentages.
$ npm install percent
Calculate percentage
const percent = require('percent');
console.log(percent.calc(5, 20, 0)); // => 25
Validate percentage
const percent = require('percent');
if (percent.valid(5)) { // => true
console.log('5 is a valid percent value');
}
Compare percentages
const percent = require('percent');
if (percent.lt('5%', 6)) { // => true
console.log('a is smaller than b');
}
const percent = require('percent');
.calc()Usage: percent.calc(value, total, decimal, [sign])
Example: percent.calc(5, 20, 0)
Calculates percentage from the given number (value) and total number
(total) with specified number of decimals (decimal).
sign may be boolean which turns percent sign (%) addition. Returns percent
value with percent sign if sign is true (it's false by default). If
sign is string, it will be used as value suffix.
.reUsage: percent.re
Returns supreme percent regexp.
.valid()Usage: percent.valid(value)
Example: percent.valid('5%')
Checks if value is valid percent value. It is valid if it's a number,
number-like string (e.g. '10', not 10), or string with number and percent
sign. Spaces are allowed in strings.
.sign()Usage: percent.sign(value)
Example: percent.sign(5)
Adds percent sign to value.
.unsign()Usage: percent.unsign(value)
Example: percent.unsign('5%')
Removes percent sign(s) from value.
.clean()Usage: percent.clean(value)
Example: percent.clean(' 5 % ')
Removes percent sign(s) and spaces from value.
.convert()Usage: percent.convert(value, [negative])
Example: percent.convert(' 5 % ')
Converts percent-like string to number. Returns negative number if negative
is true.
.lt()Usage: percent.lt(l, t)
Example: percent.lt('5%', 6)
Checks is the first argument smaller than second.
.gt()Usage: percent.gt(g, t)
Example: percent.gt('6%', 5)
Checks is the first argument greater than second.
.eq()Usage: percent.eq(e, q)
Example: percent.eq('5%', 5)
Checks are the arguments logically equal.
.neq()Usage: percent.neq(ne, q)
Example: percent.neq('6%', 5)
Checks are the arguments logically unequal.
.satisfies()Usage: percent.satisfies(value, min, max)
Example: percent.satisfies(5.5, 5, 6)
Checks does the value satisfy the given range. It will exchange min and max
values if min is bigger than max.
MIT © Zlatan Vasović
FAQs
Percent control done right
The npm package percent receives a total of 477 weekly downloads. As such, percent popularity was classified as not popular.
We found that percent 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
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.

Research
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.