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: about 1 year ago
Linked from 3 awesome lists


Awesome Micro npm Packages / Articles

One-line node modules 142 almost 4 years ago
Module best practices 1,543 almost 7 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-sorted 23 12 months ago A small module to check if an Array is sorted
array-first 11 almost 4 years ago Get the first element or first n elements of an array
array-last 35 about 3 years ago Return the last element in an array
arr-flatten 60 about 3 years ago Recursively flatten an array or arrays
dedupe 24 9 months ago Remove duplicates from an array
array-range 25 about 3 years ago Creates a new array with given range
arr-diff 46 about 3 years ago Returns an array with only the unique values from the first array, by excluding all values from additional arrays using strict equality for comparisons
filled-array 43 over 2 years ago Returns an array filled with the specified input
map-array 4 over 4 years ago Map object keys and values into an array
in-array 16 almost 9 years ago Return true if any of passed values exists in array - faster than using indexOf
unordered-array-remove 118 about 3 years ago Efficiently remove an element from an unordered array without doing a splice
array-swap 7 about 3 years ago Swap position of two items in an array
mirrarray 5 about 3 years ago Creates a keymirror object from an array of valid keys
group-array 61 over 1 year ago Group array of objects into lists
array.chunk 11 about 3 years ago Split array/TypedArray to chunks of given size
fast-cartesian 67 about 2 months ago Fast cartesian product

Awesome Micro npm Packages / Modules / String

decamelize 238 about 2 years ago Convert a camelized string into a lowercased one with a custom separator: unicornRainbow → unicorn_rainbow
pad-left 44 about 3 years ago Left pad a string with zeros or a specified string
to-camel-case 35 over 8 years ago Convert a string to a camel case
to-capital-case 11 over 6 years ago Convert a string to a capital case
to-constant-case 4 almost 9 years ago Convert a string to a constant case
to-dot-case 5 almost 4 years ago Convert a string to a dot case
to-no-case 16 about 8 years ago Remove an existing case from a string
to-pascal-case 3 almost 9 years ago Convert a string to a pascal case
to-sentence-case 6 almost 9 years ago Convert a string to a sentence case
to-snake-case 26 over 6 years ago Convert a string to a snake case
to-space-case 6 almost 9 years ago Convert a string to a space case
to-title-case 18 almost 9 years ago Convert a string to a title case
node-slug 1,073 almost 6 years ago slugifies even utf-8 chars
rtrim 0 about 4 years ago Strip whitespace - or other characters - from the end of a string
slice.js 34 almost 7 years ago Javascript library to enhance String.substring / Array.slice with python slice style
strip-ansi 402 over 1 year ago Strip ANSI escape codes
striptags 494 over 2 years ago An implementation of PHP's strip_tags in Node.js
parse-next-json-value 1 about 5 years ago Parse next JSON value from string allowing extraneous characters after value
pluralize 2 almost 4 years ago A very tiny library to pluralize words

Awesome Micro npm Packages / Modules / Date & Time

pretty-ms 1,125 2 months ago Convert milliseconds to a human readable string: 1337000000 → 15d 11h 23m 20s
hirestime 17 about 1 month ago A wrapper around the built-in high resolution timer which simplifies the calculation of timestamps
periods 1 almost 10 years ago Defined time-periods constants for Javascript, in milliseconds
fecha 2,065 about 2 years ago Javascript Date formatting and parsing
akamai-time-reference 3 about 6 years ago Get reference time using Akamai's time reference service
timeago.js 5,334 6 months ago A tiny(~1.7kb) library used to format date with statement
count-days-in-month 1 over 8 years ago Get the number of days in a given month
time-stamp 111 about 4 years ago Get a formatted timestamp
twas 250 almost 2 years ago Generate a relative time string (Example: "3 seconds ago")

Awesome Micro npm Packages / Modules / Object

map-obj 204 over 1 year ago Map object keys and values into a new object
filter-obj 102 8 months ago Filter object keys and values into a new object
object-values 26 over 1 year ago Get the values of an object
object-pairs 2 over 9 years ago Turn an object into list of [key, value] pairs for mapping, iterating or other purposes
zipmap 4 about 1 year ago Returns a map with the keys mapped to the corresponding vals. zipmap also accepts a single value of objects or pairs
just-pluck 11 almost 9 years ago Pluck without the madness
deep-equal 781 12 months ago Node's assert.deepEqual() algorithm as a standalone module
deep-assign 247 almost 4 years ago Recursive Object.assign()
set-value 272 almost 2 years ago Create nested values and any intermediaries dot notation ( ) paths
get-value 247 over 1 year ago Use property paths (a.b.c) to get a nested value from an object
has-value 26 almost 7 years ago Returns true if a value exists, false if empty. Works with deeply nested values using dot notation ( ) paths
has-key-deep 1 over 5 years ago Deep-search objects for keys. Keys can be searched by providing an array of keys, or using a dot-notiation
flatkeys 3 over 11 years ago Flatten object key hierarchies into a list of strings using a custom separator
flatten-obj 21 over 7 years ago Converts an object literal with deeply nested nodes to a simple key/value object
is-empty-object 11 over 6 years ago Check if an object is empty
stringify-object 309 about 1 month ago Stringify an object/array like JSON.stringify just without all the double-quotes
sorted-object 35 about 4 years ago Returns a copy of an object with its keys sorted
static-props 4 over 5 years ago Defines static object attributes using
missing-deep-keys 0 almost 5 years ago Returns an array of keys from first object that are missing in second
has-own-property 3 over 3 years ago Check if an object has a local property
merge-objects 2 over 9 years ago Deep-merge two objects. Arrays that are values of the same object key get concatenated
deep-object-diff 1,073 11 months ago Deep diff two JavaScript Objects while preserving the data structure. Including nested structures of Arrays and Objects

Awesome Micro npm Packages / Modules / Function

compose-function 56 about 5 years ago Compose a new function from smaller functions
curry 312 over 5 years ago A curry function without anything too clever
once 222 over 1 year ago Run a function exactly one time
deep-bind 9 over 5 years ago Bind a context to all functions in an object, including deeply nested functions
identity-function Always return the input argument
mem 1,091 5 months ago An optimization technique used to speed up consecutive function calls by caching the result of calls with identical input
throttle-debounce 1,033 7 months ago Throttle/debounce your functions
compose-tiny 46 about 2 years ago A very tiny and fast compose function

Awesome Micro npm Packages / Modules / Math

is-even 223 almost 7 years ago A good way to tell if a number is even or not (avoids type issues). Uses and under the hood
is-number 262 over 2 years ago Returns if the value is a number
is-odd 333 over 5 years ago A good way to tell if a number is odd or not (avoids type issues). Uses under the hood
easy-math.js 7 over 4 years ago A tiny easy math library including addition, multiplication, subtraction, and division
my-prime 2 over 2 years ago A good way to tell if a number is prime or not
fun-gcd 1 over 4 years ago A tiny math library to get gcd of two numbers using Euclidean algorithm

Awesome Micro npm Packages / Modules / Stream

through2 1,902 about 2 years ago Tiny wrapper around Node streams2 Transform to avoid explicit subclassing noise
through2-filter 35 9 months ago A through2 to create an Array.prototype.filter analog for streams
through2-map 70 9 months ago A through2 to create an Array.prototype.map analog for streams
stream-spigot 15 almost 8 years ago A readable stream generator, useful for testing or converting simple functions into Readable streams
concat-stream 574 over 3 years ago writable stream that concatenates strings or data and calls a callback with the result
JSONStream 1,918 over 6 years ago streaming JSON.parse and stringify
through2-map-promise 3 about 7 years ago A small promise-based wrapper for through2
pump 908 4 months ago pipe streams together and close all of them if one of them closes
split 347 over 5 years ago Break up a stream and reassemble it so that each line is a chunk
is-stream 111 3 months ago Check if something is a Node.js stream
syncthrough 100 about 2 months ago Transform your data as it pass by, synchronously

Awesome Micro npm Packages / Modules / Promise

pify 1,505 over 2 years ago Promisify a callback-style function
promise-all-props 9 over 1 year ago Like but for object properties
sleep-promise 86 about 1 month ago Resolves a promise after a specified delay
is-promise 281 over 1 year ago Test whether an object looks like a promises-a+ promise

Awesome Micro npm Packages / Modules / Data Structure

quetie 112 3 months ago Just the cutest and tiniest queue/deque implementation!

Awesome Micro npm Packages / Modules / File System

rimraf 5,683 6 months ago A deep deletion module for node (like rm -rf)
mkdirp Recursively mkdir, like mkdir -p
du 29 almost 2 years ago A simple JavaScript implementation of du -sb
file-size 232 almost 5 years ago Lightweight filesize to human-readable / proportions w/o dependencies
tmp 741 6 months ago Temporary file and directory creator for node.js
fs-promise 170 over 7 years ago Node fs methods as Promise/A+ (optional fs-extra, graceful-fs)
read-git-user 3 6 months ago Reads the username and email from and returns it as json object

Awesome Micro npm Packages / Modules / Browser

delegate 184 about 2 years ago Lightweight event delegation
insert-css Insert a string of css into the head
dom-element-value 6 about 8 years ago DOM element value getter/setter
image-promise 147 7 months ago Load one or more s in a Promise
get-media-size 12 over 5 years ago Get the original size of any / / / tags or canvas context
document-ready 59 over 2 years ago Document ready listener for modern browsers
copee 147 about 2 months ago Copy text from browser to clipboard...natively!

Awesome Micro npm Packages / Modules / Semver

semver 5,133 about 1 month ago The semantic version parser used by npm
semver-max 3 over 9 years ago Find maximum (or minimum) version according to semver
semver-first-satisfied 2 almost 9 years ago Find minimum in an array of version that satisfies a semver range

Awesome Micro npm Packages / Modules / CLI

abbrev 164 4 months ago Calculate the set of unique abbreviations for a given set of strings
glob 8,529 5 months ago Glob functionality for node.js
username 142 about 1 year ago Get the username of the current user
minimist Parse argument options
png-to-ico 167 9 months ago Convert png to windows ico format
help-version 5 over 8 years ago Easily handle --help and --version arguments in your CLI application

Awesome Micro npm Packages / Modules / Module management

pkg-conf 120 about 1 year ago Get namespaced config from the closest package.json
normalize-pkg 18 almost 5 years ago Normalize values in package.json to improve compatibility, programmatic readability and usefulness with third party libs

Awesome Micro npm Packages / Modules / Generators

is-generator 15 about 1 year ago Check whether a given value is a generator function

Awesome Micro npm Packages / Modules / Other

uuid 14,681 about 1 month ago Generate RFC-compliant UUIDs in JavaScript
node-mime 2,193 7 months ago Comprehensive MIME type mapping API based on mime-db module
not-defined 5 8 months ago Checks if foo is not defined, i.e. undefined, null, an empty string, array or object
is-fqdn 21 about 2 years ago Check if a string represent a fully qualified domain name
shurley 6 3 months ago Parses URLs from user input (with potential typos in protocols, bad copy+paste, etc.) and returns a proper URL
mime-type-check 5 over 4 years ago Get the MIME type of a file by its extension
nanoid 24,781 about 1 month ago A tiny (130 bytes), secure, URL-friendly, unique string ID generator for JavaScript

Awesome Micro npm Packages / Modules / Tools

npm-deprecated-check 27 about 2 months ago Check for deprecated packages and recommend alternative packages
awesome-nodejs 58,892 about 1 month ago A curated list of delightful Node.js packages and resources
awesome-npm 4,513 3 months ago Awesome 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: