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


Awesome Micro npm Packages / Articles

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

Awesome Micro npm Packages / Modules / String

decamelize 238 over 2 years ago Convert a camelized string into a lowercased one with a custom separator: unicornRainbow → unicorn_rainbow
pad-left 44 over 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 almost 7 years ago Convert a string to a capital case
to-constant-case 4 over 9 years ago Convert a string to a constant case
to-dot-case 5 over 4 years ago Convert a string to a dot case
to-no-case 16 over 8 years ago Remove an existing case from a string
to-pascal-case 3 over 9 years ago Convert a string to a pascal case
to-sentence-case 6 over 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 over 9 years ago Convert a string to a space case
to-title-case 18 over 9 years ago Convert a string to a title case
node-slug 1,073 about 6 years ago slugifies even utf-8 chars
rtrim 0 over 4 years ago Strip whitespace - or other characters - from the end of a string
slice.js 34 about 7 years ago Javascript library to enhance String.substring / Array.slice with python slice style
strip-ansi 402 about 2 years 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 over 5 years ago Parse next JSON value from string allowing extraneous characters after value
pluralize 2 about 4 years ago A very tiny library to pluralize words

Awesome Micro npm Packages / Modules / Date & Time

pretty-ms 1,125 7 months ago Convert milliseconds to a human readable string: 1337000000 → 15d 11h 23m 20s
hirestime 17 6 months ago A wrapper around the built-in high resolution timer which simplifies the calculation of timestamps
periods 1 over 10 years ago Defined time-periods constants for Javascript, in milliseconds
fecha 2,065 over 2 years ago Javascript Date formatting and parsing
akamai-time-reference 3 over 6 years ago Get reference time using Akamai's time reference service
timeago.js 5,334 10 months ago A tiny(~1.7kb) library used to format date with statement
count-days-in-month 1 almost 9 years ago Get the number of days in a given month
time-stamp 111 over 4 years ago Get a formatted timestamp
twas 250 over 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 about 1 year ago Filter object keys and values into a new object
object-values 26 almost 2 years ago Get the values of an object
object-pairs 2 about 10 years ago Turn an object into list of [key, value] pairs for mapping, iterating or other purposes
zipmap 4 over 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 over 9 years ago Pluck without the madness
deep-equal 781 over 1 year ago Node's assert.deepEqual() algorithm as a standalone module
deep-assign 247 over 4 years ago Recursive Object.assign()
set-value 272 over 2 years ago Create nested values and any intermediaries dot notation ( ) paths
get-value 247 almost 2 years ago Use property paths (a.b.c) to get a nested value from an object
has-value 26 about 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 almost 12 years ago Flatten object key hierarchies into a list of strings using a custom separator
flatten-obj 21 almost 8 years ago Converts an object literal with deeply nested nodes to a simple key/value object
is-empty-object 11 about 7 years ago Check if an object is empty
stringify-object 309 6 months ago Stringify an object/array like JSON.stringify just without all the double-quotes
sorted-object 35 over 4 years ago Returns a copy of an object with its keys sorted
static-props 4 about 6 years ago Defines static object attributes using
missing-deep-keys 0 over 5 years ago Returns an array of keys from first object that are missing in second
has-own-property 3 almost 4 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 about 1 year 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 over 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 almost 6 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 10 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 11 months ago Throttle/debounce your functions
compose-tiny 46 over 2 years ago A very tiny and fast compose function

Awesome Micro npm Packages / Modules / Math

is-even 223 about 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 about 6 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 almost 5 years ago A tiny easy math library including addition, multiplication, subtraction, and division
my-prime 2 about 3 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 over 2 years ago Tiny wrapper around Node streams2 Transform to avoid explicit subclassing noise
through2-filter 35 about 1 year ago A through2 to create an Array.prototype.filter analog for streams
through2-map 70 about 1 year ago A through2 to create an Array.prototype.map analog for streams
stream-spigot 15 about 8 years ago A readable stream generator, useful for testing or converting simple functions into Readable streams
concat-stream 574 almost 4 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 over 7 years ago A small promise-based wrapper for through2
pump 908 9 months ago pipe streams together and close all of them if one of them closes
split 347 almost 6 years ago Break up a stream and reassemble it so that each line is a chunk
is-stream 111 7 months ago Check if something is a Node.js stream
syncthrough 100 6 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 5 months ago Resolves a promise after a specified delay
is-promise 281 about 2 years ago Test whether an object looks like a promises-a+ promise

Awesome Micro npm Packages / Modules / Data Structure

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

Awesome Micro npm Packages / Modules / File System

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

Awesome Micro npm Packages / Modules / Browser

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

Awesome Micro npm Packages / Modules / Semver

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

Awesome Micro npm Packages / Modules / CLI

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

Awesome Micro npm Packages / Modules / Module management

pkg-conf 120 over 1 year ago Get namespaced config from the closest package.json
normalize-pkg 18 about 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 over 1 year ago Check whether a given value is a generator function

Awesome Micro npm Packages / Modules / Other

uuid 14,681 6 months ago Generate RFC-compliant UUIDs in JavaScript
node-mime 2,193 11 months ago Comprehensive MIME type mapping API based on mime-db module
not-defined 5 about 1 year ago Checks if foo is not defined, i.e. undefined, null, an empty string, array or object
is-fqdn 21 over 2 years ago Check if a string represent a fully qualified domain name
shurley 6 8 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 6 months ago A tiny (130 bytes), secure, URL-friendly, unique string ID generator for JavaScript

Awesome Micro npm Packages / Modules / Tools

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