awesome-micro-npm-packages
Micro npm packages
A curated collection of small, reusable Node.js modules.
A curated list of small, focused npm packages.
5k stars
196 watching
462 forks
last commit: 11 months 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 | over 6 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 | 10 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 | almost 3 years ago | Return the last element in an array |
arr-flatten | 60 | almost 3 years ago | Recursively flatten an array or arrays |
dedupe | 24 | 7 months ago | Remove duplicates from an array |
array-range | 25 | almost 3 years ago | Creates a new array with given range |
arr-diff | 46 | almost 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 | over 8 years ago | Return true if any of passed values exists in array - faster than using indexOf |
unordered-array-remove | 118 | almost 3 years ago | Efficiently remove an element from an unordered array without doing a splice |
array-swap | 7 | almost 3 years ago | Swap position of two items in an array |
mirrarray | 5 | almost 3 years ago | Creates a keymirror object from an array of valid keys |
group-array | 61 | about 1 year ago | Group array of objects into lists |
array.chunk | 11 | almost 3 years ago | Split array/TypedArray to chunks of given size |
fast-cartesian | 67 | 6 days 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 | almost 3 years ago | Left pad a string with zeros or a specified string |
to-camel-case | 35 | about 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 | 17 | 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 | about 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 | over 5 years ago | slugifies even utf-8 chars |
rtrim | 0 | almost 4 years ago | Strip whitespace - or other characters - from the end of a string |
slice.js | 34 | over 6 years ago | Javascript library to enhance String.substring / Array.slice with python slice style |
strip-ansi | 398 | over 1 year ago | Strip ANSI escape codes |
striptags | 494 | about 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 | over 3 years ago | A very tiny library to pluralize words |
Awesome Micro npm Packages / Modules / Date & Time | |||
pretty-ms | 1,077 | 6 days ago | Convert milliseconds to a human readable string: 1337000000 → 15d 11h 23m 20s |
hirestime | 17 | 5 months 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,063 | almost 2 years ago | Javascript Date formatting and parsing |
akamai-time-reference | 3 | almost 6 years ago | Get reference time using Akamai's time reference service |
timeago.js | 5,325 | 4 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 | almost 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 | about 1 year ago | Map object keys and values into a new object |
filter-obj | 100 | 6 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 | 11 months 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 | 778 | 10 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 | over 6 years ago | Returns true if a value exists, false if empty. Works with deeply nested values using dot notation ( ) paths |
has-key-deep | 1 | about 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 | over 1 year 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 | about 9 years ago | Deep-merge two objects. Arrays that are values of the same object key get concatenated |
deep-object-diff | 1,063 | 9 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 | about 5 years ago | A curry function without anything too clever |
once | 222 | about 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,089 | 3 months ago | An optimization technique used to speed up consecutive function calls by caching the result of calls with identical input |
throttle-debounce | 1,030 | 5 months ago | Throttle/debounce your functions |
compose-tiny | 46 | almost 2 years ago | A very tiny and fast compose function |
Awesome Micro npm Packages / Modules / Math | |||
is-even | 219 | over 6 years ago | A good way to tell if a number is even or not (avoids type issues). Uses and under the hood |
is-number | 260 | about 2 years ago | Returns if the value is a number |
is-odd | 326 | 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 | about 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 | almost 2 years ago | Tiny wrapper around Node streams2 Transform to avoid explicit subclassing noise |
through2-filter | 35 | 7 months ago | A through2 to create an Array.prototype.filter analog for streams |
through2-map | 70 | 7 months ago | A through2 to create an Array.prototype.map analog for streams |
stream-spigot | 15 | over 7 years ago | A readable stream generator, useful for testing or converting simple functions into Readable streams |
concat-stream | 573 | over 3 years ago | writable stream that concatenates strings or data and calls a callback with the result |
JSONStream | 1,917 | about 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 | 2 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 | 24 days ago | Check if something is a Node.js stream |
syncthrough | 99 | about 1 month ago | Transform your data as it pass by, synchronously |
Awesome Micro npm Packages / Modules / Promise | |||
pify | 1,507 | about 2 years ago | Promisify a callback-style function |
promise-all-props | 9 | about 1 year ago | Like but for object properties |
sleep-promise | 86 | 8 days ago | Resolves a promise after a specified delay |
is-promise | 282 | over 1 year ago | Test whether an object looks like a promises-a+ promise |
Awesome Micro npm Packages / Modules / Data Structure | |||
quetie | 112 | about 1 month ago | Just the cutest and tiniest queue/deque implementation! |
Awesome Micro npm Packages / Modules / File System | |||
rimraf | 5,661 | 4 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 | 233 | almost 5 years ago | Lightweight filesize to human-readable / proportions w/o dependencies |
tmp | 740 | 4 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 | 4 months ago | Reads the username and email from and returns it as json object |
Awesome Micro npm Packages / Modules / Browser | |||
delegate | 183 | almost 2 years ago | Lightweight event delegation |
insert-css | Insert a string of css into the head | ||
dom-element-value | 6 | almost 8 years ago | DOM element value getter/setter |
image-promise | 147 | 5 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 | 146 | 18 days ago | Copy text from browser to clipboard...natively! |
Awesome Micro npm Packages / Modules / Semver | |||
semver | 5,100 | about 2 months 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 | about 2 months ago | Calculate the set of unique abbreviations for a given set of strings |
glob | 8,516 | 3 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 | 164 | 7 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 | over 4 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 | 12 months ago | Check whether a given value is a generator function |
Awesome Micro npm Packages / Modules / Other | |||
uuid | 14,630 | 8 days ago | Generate RFC-compliant UUIDs in JavaScript |
node-mime | 2,182 | 5 months ago | Comprehensive MIME type mapping API based on mime-db module |
not-defined | 5 | 6 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 | about 1 month ago | Parses URLs from user input (with potential typos in protocols, bad copy+paste, etc.) and returns a proper URL |
mime-type-check | 5 | about 4 years ago | Get the MIME type of a file by its extension |
nanoid | 24,655 | 24 days ago | A tiny (130 bytes), secure, URL-friendly, unique string ID generator for JavaScript |
Awesome Micro npm Packages / Modules / Tools | |||
npm-deprecated-check | 26 | 4 days ago | Check for deprecated packages and recommend alternative packages |
Awesome Micro npm Packages / Related lists | |||
awesome-nodejs | 58,629 | about 3 hours ago | A curated list of delightful Node.js packages and resources |
awesome-npm | 4,500 | 30 days 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 |
More related projects:
- sindresorhus/p-event
- chalk/strip-ansi-stream
- sindresorhus/package-up
- ianfabs/nanoid
- camacho/markdown-magic-dependency-table
- soundicly/jnanoid-enhanced
- puyuan/py-nanoid
- sindresorhus/p-settle
- sindresorhus/p-throttle
- sindresorhus/p-debounce
- sindresorhus/p-props
- sindresorhus/p-filter
- sindresorhus/p-times