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
461 forks
last commit: almost 2 years ago
Linked from 3 awesome lists
Awesome Micro npm Packages / Articles | |||
| One-line node modules | 142 | almost 5 years ago | |
| Module best practices | 1,543 | over 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 | almost 2 years 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 | almost 4 years ago | Return the last element in an array |
| arr-flatten | 60 | almost 4 years ago | Recursively flatten an array or arrays |
| dedupe | 24 | over 1 year ago | Remove duplicates from an array |
| array-range | 25 | almost 4 years ago | Creates a new array with given range |
| arr-diff | 46 | almost 4 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 3 years ago | Returns an array filled with the specified input |
| map-array | 4 | over 5 years ago | Map object keys and values into an array |
| in-array | 16 | over 9 years ago | Return true if any of passed values exists in array - faster than using indexOf |
| unordered-array-remove | 118 | almost 4 years ago | Efficiently remove an element from an unordered array without doing a splice |
| array-swap | 7 | almost 4 years ago | Swap position of two items in an array |
| mirrarray | 5 | almost 4 years ago | Creates a keymirror object from an array of valid keys |
| group-array | 61 | about 2 years ago | Group array of objects into lists |
| array.chunk | 11 | almost 4 years ago | Split array/TypedArray to chunks of given size |
| fast-cartesian | 67 | 11 months ago | Fast cartesian product |
Awesome Micro npm Packages / Modules / String | |||
| decamelize | 238 | almost 3 years ago | Convert a camelized string into a lowercased one with a custom separator: unicornRainbow → unicorn_rainbow |
| pad-left | 44 | almost 4 years ago | Left pad a string with zeros or a specified string |
| to-camel-case | 35 | about 9 years ago | Convert a string to a camel case |
| to-capital-case | 11 | about 7 years ago | Convert a string to a capital case |
| to-constant-case | 4 | almost 10 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 | about 9 years ago | Remove an existing case from a string |
| to-pascal-case | 3 | almost 10 years ago | Convert a string to a pascal case |
| to-sentence-case | 6 | almost 10 years ago | Convert a string to a sentence case |
| to-snake-case | 26 | about 7 years ago | Convert a string to a snake case |
| to-space-case | 6 | almost 10 years ago | Convert a string to a space case |
| to-title-case | 18 | almost 10 years ago | Convert a string to a title case |
| node-slug | 1,073 | over 6 years ago | slugifies even utf-8 chars |
| rtrim | 0 | almost 5 years ago | Strip whitespace - or other characters - from the end of a string |
| slice.js | 34 | over 7 years ago | Javascript library to enhance String.substring / Array.slice with python slice style |
| strip-ansi | 402 | over 2 years ago | Strip ANSI escape codes |
| striptags | 494 | about 3 years ago | An implementation of PHP's strip_tags in Node.js |
| parse-next-json-value | 1 | almost 6 years ago | Parse next JSON value from string allowing extraneous characters after value |
| pluralize | 2 | over 4 years ago | A very tiny library to pluralize words |
Awesome Micro npm Packages / Modules / Date & Time | |||
| pretty-ms | 1,125 | 12 months ago | Convert milliseconds to a human readable string: 1337000000 → 15d 11h 23m 20s |
| hirestime | 17 | 11 months ago | A wrapper around the built-in high resolution timer which simplifies the calculation of timestamps |
| periods | 1 | almost 11 years ago | Defined time-periods constants for Javascript, in milliseconds |
| fecha | 2,065 | almost 3 years ago | Javascript Date formatting and parsing |
| akamai-time-reference | 3 | almost 7 years ago | Get reference time using Akamai's time reference service |
| timeago.js | 5,334 | over 1 year ago | A tiny(~1.7kb) library used to format date with statement |
| count-days-in-month | 1 | over 9 years ago | Get the number of days in a given month |
| time-stamp | 111 | almost 5 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 | about 2 years ago | Map object keys and values into a new object |
| filter-obj | 102 | over 1 year ago | Filter object keys and values into a new object |
| object-values | 26 | over 2 years ago | Get the values of an object |
| object-pairs | 2 | over 10 years ago | Turn an object into list of [key, value] pairs for mapping, iterating or other purposes |
| zipmap | 4 | almost 2 years 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 10 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 | almost 5 years ago | Recursive Object.assign() |
| set-value | 272 | over 2 years ago | Create nested values and any intermediaries dot notation ( ) paths |
| get-value | 247 | about 2 years ago | Use property paths (a.b.c) to get a nested value from an object |
| has-value | 26 | over 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 | about 6 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 12 years ago | Flatten object key hierarchies into a list of strings using a custom separator |
| flatten-obj | 21 | over 8 years ago | Converts an object literal with deeply nested nodes to a simple key/value object |
| is-empty-object | 11 | over 7 years ago | Check if an object is empty |
| stringify-object | 309 | 11 months ago | Stringify an object/array like JSON.stringify just without all the double-quotes |
| sorted-object | 35 | almost 5 years ago | Returns a copy of an object with its keys sorted |
| static-props | 4 | over 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 | over 4 years ago | Check if an object has a local property |
| merge-objects | 2 | about 10 years ago | Deep-merge two objects. Arrays that are values of the same object key get concatenated |
| deep-object-diff | 1,073 | over 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 | almost 6 years ago | Compose a new function from smaller functions |
| curry | 312 | about 6 years ago | A curry function without anything too clever |
| once | 222 | about 2 years ago | Run a function exactly one time |
| deep-bind | 9 | over 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 | about 1 year ago | An optimization technique used to speed up consecutive function calls by caching the result of calls with identical input |
| throttle-debounce | 1,033 | over 1 year ago | Throttle/debounce your functions |
| compose-tiny | 46 | almost 3 years ago | A very tiny and fast compose function |
Awesome Micro npm Packages / Modules / Math | |||
| is-even | 223 | over 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 | about 3 years ago | Returns if the value is a number |
| is-odd | 333 | over 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 | about 5 years ago | A tiny easy math library including addition, multiplication, subtraction, and division |
| my-prime | 2 | over 3 years ago | A good way to tell if a number is prime or not |
| fun-gcd | 1 | about 5 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 3 years ago | Tiny wrapper around Node streams2 Transform to avoid explicit subclassing noise |
| through2-filter | 35 | over 1 year ago | A through2 to create an Array.prototype.filter analog for streams |
| through2-map | 70 | over 1 year ago | A through2 to create an Array.prototype.map analog for streams |
| stream-spigot | 15 | over 8 years ago | A readable stream generator, useful for testing or converting simple functions into Readable streams |
| concat-stream | 574 | over 4 years ago | writable stream that concatenates strings or data and calls a callback with the result |
| JSONStream | 1,918 | about 7 years ago | streaming JSON.parse and stringify |
| through2-map-promise | 3 | about 8 years ago | A small promise-based wrapper for through2 |
| pump | 908 | about 1 year ago | pipe streams together and close all of them if one of them closes |
| split | 347 | over 6 years ago | Break up a stream and reassemble it so that each line is a chunk |
| is-stream | 111 | about 1 year ago | Check if something is a Node.js stream |
| syncthrough | 100 | 11 months ago | Transform your data as it pass by, synchronously |
Awesome Micro npm Packages / Modules / Promise | |||
| pify | 1,505 | about 3 years ago | Promisify a callback-style function |
| promise-all-props | 9 | about 2 years ago | Like but for object properties |
| sleep-promise | 86 | 11 months ago | Resolves a promise after a specified delay |
| is-promise | 281 | over 2 years ago | Test whether an object looks like a promises-a+ promise |
Awesome Micro npm Packages / Modules / Data Structure | |||
| quetie | 112 | about 1 year ago | Just the cutest and tiniest queue/deque implementation! |
Awesome Micro npm Packages / Modules / File System | |||
| rimraf | 5,683 | about 1 year 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 | almost 6 years ago | Lightweight filesize to human-readable / proportions w/o dependencies |
| tmp | 741 | over 1 year ago | Temporary file and directory creator for node.js |
| fs-promise | 170 | over 8 years ago | Node fs methods as Promise/A+ (optional fs-extra, graceful-fs) |
| read-git-user | 3 | about 1 year ago | Reads the username and email from and returns it as json object |
Awesome Micro npm Packages / Modules / Browser | |||
| delegate | 184 | almost 3 years ago | Lightweight event delegation |
| insert-css | Insert a string of css into the head | ||
| dom-element-value | 6 | almost 9 years ago | DOM element value getter/setter |
| image-promise | 147 | over 1 year ago | Load one or more s in a Promise |
| get-media-size | 12 | over 6 years ago | Get the original size of any / / / tags or canvas context |
| document-ready | 59 | over 3 years ago | Document ready listener for modern browsers |
| copee | 147 | 11 months ago | Copy text from browser to clipboard...natively! |
Awesome Micro npm Packages / Modules / Semver | |||
| semver | 5,133 | 11 months ago | The semantic version parser used by npm |
| semver-max | 3 | over 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 | about 1 year ago | Calculate the set of unique abbreviations for a given set of strings |
| glob | 8,529 | about 1 year ago | Glob functionality for node.js |
| username | 142 | almost 2 years ago | Get the username of the current user |
| minimist | Parse argument options | ||
| png-to-ico | 167 | over 1 year ago | Convert png to windows ico format |
| help-version | 5 | over 9 years ago | Easily handle --help and --version arguments in your CLI application |
Awesome Micro npm Packages / Modules / Module management | |||
| pkg-conf | 120 | almost 2 years ago | Get namespaced config from the closest package.json |
| normalize-pkg | 18 | over 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 | almost 2 years ago | Check whether a given value is a generator function |
Awesome Micro npm Packages / Modules / Other | |||
| uuid | 14,681 | 11 months ago | Generate RFC-compliant UUIDs in JavaScript |
| node-mime | 2,193 | over 1 year ago | Comprehensive MIME type mapping API based on mime-db module |
| not-defined | 5 | over 1 year ago | Checks if foo is not defined, i.e. undefined, null, an empty string, array or object |
| is-fqdn | 21 | almost 3 years ago | Check if a string represent a fully qualified domain name |
| shurley | 6 | about 1 year 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 5 years ago | Get the MIME type of a file by its extension |
| nanoid | 24,781 | 11 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 | 11 months ago | Check for deprecated packages and recommend alternative packages |
Awesome Micro npm Packages / Related lists | |||
| awesome-nodejs | 58,892 | 11 months ago | A curated list of delightful Node.js packages and resources |
| awesome-npm | 4,513 | about 1 year 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 | |||