awesome-micro-npm-packages

Micro npm packages

A curated collection of small, reusable Node.js modules.

A curated list of small, focused npm packages.

GitHub

5k stars
196 watching
461 forks
last commit: almost 3 years ago
Linked from 3 awesome lists


Awesome Micro npm Packages / Articles

One-line node modules142over 5 years ago
Module best practices1,543over 8 years ago
Evaluating Packages Part 1 - Turn to community
Evaluating Packages Part 2 - Review repository
Small modules: it’s not quite that simple
In Defense of Hyper Modular JavaScript
Tiny npm package: Guidelines to create a Node.js module following the small package philosophy
The cost of small modules

Awesome Micro npm Packages / Modules / Array

is-sorted23over 2 years agoA small module to check if an Array is sorted
array-first11over 5 years agoGet the first element or first n elements of an array
array-last35almost 5 years agoReturn the last element in an array
arr-flatten60over 4 years agoRecursively flatten an array or arrays
dedupe24over 2 years agoRemove duplicates from an array
array-range25over 4 years agoCreates a new array with given range
arr-diff46over 4 years agoReturns an array with only the unique values from the first array, by excluding all values from additional arrays using strict equality for comparisons
filled-array43about 4 years agoReturns an array filled with the specified input
map-array4over 6 years agoMap object keys and values into an array
in-array16over 10 years agoReturn true if any of passed values exists in array - faster than using indexOf
unordered-array-remove118over 4 years agoEfficiently remove an element from an unordered array without doing a splice
array-swap7over 4 years agoSwap position of two items in an array
mirrarray5over 4 years agoCreates a keymirror object from an array of valid keys
group-array61almost 3 years agoGroup array of objects into lists
array.chunk11over 4 years agoSplit array/TypedArray to chunks of given size
fast-cartesian67almost 2 years agoFast cartesian product

Awesome Micro npm Packages / Modules / String

decamelize238almost 4 years agoConvert a camelized string into a lowercased one with a custom separator: unicornRainbow → unicorn_rainbow
pad-left44over 4 years agoLeft pad a string with zeros or a specified string
to-camel-case35about 10 years agoConvert a string to a camel case
to-capital-case11about 8 years agoConvert a string to a capital case
to-constant-case4over 10 years agoConvert a string to a constant case
to-dot-case5over 5 years agoConvert a string to a dot case
to-no-case16almost 10 years agoRemove an existing case from a string
to-pascal-case3over 10 years agoConvert a string to a pascal case
to-sentence-case6over 10 years agoConvert a string to a sentence case
to-snake-case26about 8 years agoConvert a string to a snake case
to-space-case6over 10 years agoConvert a string to a space case
to-title-case18over 10 years agoConvert a string to a title case
node-slug1,073over 7 years agoslugifies even utf-8 chars
rtrim0almost 6 years agoStrip whitespace - or other characters - from the end of a string
slice.js34over 8 years agoJavascript library to enhance String.substring / Array.slice with python slice style
strip-ansi402over 3 years agoStrip ANSI escape codes
striptags494almost 4 years agoAn implementation of PHP's strip_tags in Node.js
parse-next-json-value1almost 7 years agoParse next JSON value from string allowing extraneous characters after value
pluralize2over 5 years agoA very tiny library to pluralize words

Awesome Micro npm Packages / Modules / Date & Time

pretty-ms1,125almost 2 years agoConvert milliseconds to a human readable string: 1337000000 → 15d 11h 23m 20s
hirestime17almost 2 years agoA wrapper around the built-in high resolution timer which simplifies the calculation of timestamps
periods1over 11 years agoDefined time-periods constants for Javascript, in milliseconds
fecha2,065over 3 years agoJavascript Date formatting and parsing
akamai-time-reference3over 7 years agoGet reference time using Akamai's time reference service
timeago.js5,334about 2 years agoA tiny(~1.7kb) library used to format date with statement
count-days-in-month1about 10 years agoGet the number of days in a given month
time-stamp111almost 6 years agoGet a formatted timestamp
twas250over 3 years agoGenerate a relative time string (Example: "3 seconds ago")

Awesome Micro npm Packages / Modules / Object

map-obj204almost 3 years agoMap object keys and values into a new object
filter-obj102over 2 years agoFilter object keys and values into a new object
object-values26over 3 years agoGet the values of an object
object-pairs2over 11 years agoTurn an object into list of [key, value] pairs for mapping, iterating or other purposes
zipmap4almost 3 years agoReturns a map with the keys mapped to the corresponding vals. zipmap also accepts a single value of objects or pairs
just-pluck11over 10 years agoPluck without the madness
deep-equal781over 2 years agoNode's assert.deepEqual() algorithm as a standalone module
deep-assign247over 5 years agoRecursive Object.assign()
set-value272over 3 years agoCreate nested values and any intermediaries dot notation ( ) paths
get-value247about 3 years agoUse property paths (a.b.c) to get a nested value from an object
has-value26over 8 years agoReturns true if a value exists, false if empty. Works with deeply nested values using dot notation ( ) paths
has-key-deep1almost 7 years agoDeep-search objects for keys. Keys can be searched by providing an array of keys, or using a dot-notiation
flatkeys3about 13 years agoFlatten object key hierarchies into a list of strings using a custom separator
flatten-obj21about 9 years agoConverts an object literal with deeply nested nodes to a simple key/value object
is-empty-object11over 8 years agoCheck if an object is empty
stringify-object309almost 2 years agoStringify an object/array like JSON.stringify just without all the double-quotes
sorted-object35almost 6 years agoReturns a copy of an object with its keys sorted
static-props4over 7 years agoDefines static object attributes using
missing-deep-keys0over 6 years agoReturns an array of keys from first object that are missing in second
has-own-property3about 5 years agoCheck if an object has a local property
merge-objects2about 11 years agoDeep-merge two objects. Arrays that are values of the same object key get concatenated
deep-object-diff1,073over 2 years agoDeep diff two JavaScript Objects while preserving the data structure. Including nested structures of Arrays and Objects

Awesome Micro npm Packages / Modules / Function

compose-function56almost 7 years agoCompose a new function from smaller functions
curry312almost 7 years agoA curry function without anything too clever
once222almost 3 years agoRun a function exactly one time
deep-bind9about 7 years agoBind a context to all functions in an object, including deeply nested functions
identity-functionAlways return the input argument
mem1,091about 2 years agoAn optimization technique used to speed up consecutive function calls by caching the result of calls with identical input
throttle-debounce1,033over 2 years agoThrottle/debounce your functions
compose-tiny46almost 4 years agoA very tiny and fast compose function

Awesome Micro npm Packages / Modules / Math

is-even223over 8 years agoA good way to tell if a number is even or not (avoids type issues). Uses and under the hood
is-number262about 4 years agoReturns if the value is a number
is-odd333over 7 years agoA good way to tell if a number is odd or not (avoids type issues). Uses under the hood
easy-math.js7about 6 years agoA tiny easy math library including addition, multiplication, subtraction, and division
my-prime2over 4 years agoA good way to tell if a number is prime or not
fun-gcd1almost 6 years agoA tiny math library to get gcd of two numbers using Euclidean algorithm

Awesome Micro npm Packages / Modules / Stream

through21,902almost 4 years agoTiny wrapper around Node streams2 Transform to avoid explicit subclassing noise
through2-filter35over 2 years agoA through2 to create an Array.prototype.filter analog for streams
through2-map70over 2 years agoA through2 to create an Array.prototype.map analog for streams
stream-spigot15over 9 years agoA readable stream generator, useful for testing or converting simple functions into Readable streams
concat-stream574over 5 years agowritable stream that concatenates strings or data and calls a callback with the result
JSONStream1,918almost 8 years agostreaming JSON.parse and stringify
through2-map-promise3almost 9 years agoA small promise-based wrapper for through2
pump908about 2 years agopipe streams together and close all of them if one of them closes
split347about 7 years agoBreak up a stream and reassemble it so that each line is a chunk
is-stream111almost 2 years agoCheck if something is a Node.js stream
syncthrough100almost 2 years agoTransform your data as it pass by, synchronously

Awesome Micro npm Packages / Modules / Promise

pify1,505about 4 years agoPromisify a callback-style function
promise-all-props9almost 3 years agoLike but for object properties
sleep-promise86almost 2 years agoResolves a promise after a specified delay
is-promise281over 3 years agoTest whether an object looks like a promises-a+ promise

Awesome Micro npm Packages / Modules / Data Structure

quetie112almost 2 years agoJust the cutest and tiniest queue/deque implementation!

Awesome Micro npm Packages / Modules / File System

rimraf5,683about 2 years agoA deep deletion module for node (like rm -rf)
mkdirpRecursively mkdir, like mkdir -p
du29over 3 years agoA simple JavaScript implementation of du -sb
file-size232over 6 years agoLightweight filesize to human-readable / proportions w/o dependencies
tmp741about 2 years agoTemporary file and directory creator for node.js
fs-promise170over 9 years agoNode fs methods as Promise/A+ (optional fs-extra, graceful-fs)
read-git-user3about 2 years agoReads the username and email from and returns it as json object

Awesome Micro npm Packages / Modules / Browser

delegate184almost 4 years agoLightweight event delegation
insert-cssInsert a string of css into the head
dom-element-value6over 9 years agoDOM element value getter/setter
image-promise147over 2 years agoLoad one or more s in a Promise
get-media-size12about 7 years agoGet the original size of any / / / tags or canvas context
document-ready59over 4 years agoDocument ready listener for modern browsers
copee147almost 2 years agoCopy text from browser to clipboard...natively!

Awesome Micro npm Packages / Modules / Semver

semver5,133almost 2 years agoThe semantic version parser used by npm
semver-max3about 11 years agoFind maximum (or minimum) version according to semver
semver-first-satisfied2over 10 years agoFind minimum in an array of version that satisfies a semver range

Awesome Micro npm Packages / Modules / CLI

abbrev164almost 2 years agoCalculate the set of unique abbreviations for a given set of strings
glob8,529about 2 years agoGlob functionality for node.js
username142almost 3 years agoGet the username of the current user
minimistParse argument options
png-to-ico167over 2 years agoConvert png to windows ico format
help-version5over 10 years agoEasily handle --help and --version arguments in your CLI application

Awesome Micro npm Packages / Modules / Module management

pkg-conf120almost 3 years agoGet namespaced config from the closest package.json
normalize-pkg18over 6 years agoNormalize values in package.json to improve compatibility, programmatic readability and usefulness with third party libs

Awesome Micro npm Packages / Modules / Generators

is-generator15almost 3 years agoCheck whether a given value is a generator function

Awesome Micro npm Packages / Modules / Other

uuid14,681almost 2 years agoGenerate RFC-compliant UUIDs in JavaScript
node-mime2,193about 2 years agoComprehensive MIME type mapping API based on mime-db module
not-defined5over 2 years agoChecks if foo is not defined, i.e. undefined, null, an empty string, array or object
is-fqdn21almost 4 years agoCheck if a string represent a fully qualified domain name
shurley6almost 2 years agoParses URLs from user input (with potential typos in protocols, bad copy+paste, etc.) and returns a proper URL
mime-type-check5almost 6 years agoGet the MIME type of a file by its extension
nanoid24,781almost 2 years agoA tiny (130 bytes), secure, URL-friendly, unique string ID generator for JavaScript

Awesome Micro npm Packages / Modules / Tools

npm-deprecated-check27almost 2 years agoCheck for deprecated packages and recommend alternative packages
awesome-nodejs58,892almost 2 years agoA curated list of delightful Node.js packages and resources
awesome-npm4,513almost 2 years agoAwesome npm resources and tips

Awesome Micro npm Packages / Small modules rockstars to follow

Sindre Sorhus
James Halliday
Eugene Sharygin
Isaac Z. Schlueter
Jon Schlinkert
Dominic Tarr
Rod Vagg
Max Ogden
Brian Woodward

Backlinks from these awesome lists:

More related projects: