An open API service indexing awesome lists of open source software.

awesome-micro-npm-packages

A curated list of small, focused npm packages.
https://github.com/parro-it/awesome-micro-npm-packages

Last synced: about 20 hours ago
JSON representation

  • Modules

    • CLI

      • username - Get the username of the current user.
      • glob - Glob functionality for node.js.
      • png-to-ico - Convert png to windows ico format.
      • help-version - Easily handle --help and --version arguments in your CLI application
      • abbrev - Calculate the set of unique abbreviations for a given set of strings.
    • File System

      • rimraf - A deep deletion module for node (like rm -rf).
      • tmp - Temporary file and directory creator for node.js.
      • du - A simple JavaScript implementation of du -sb.
      • fs-promise - Node fs methods as Promise/A+ (optional fs-extra, graceful-fs).
      • mkdirp - Recursively mkdir, like mkdir -p.
      • file-size - Lightweight filesize to human-readable / proportions w/o dependencies.
      • read-git-user - Reads the username and email from `.gitconfig` :wrench: and returns it as json object.
    • Date & Time

      • fecha - Javascript Date formatting and parsing.
      • twas - Generate a relative time string (Example: "3 seconds ago")
      • timeago.js - A tiny(~1.7kb) library used to format date with `*** time ago` statement.
      • pretty-ms - Convert milliseconds to a human readable string: 1337000000 β†’ 15d 11h 23m 20s.
      • time-stamp - Get a formatted timestamp.
      • count-days-in-month - Get the number of days in a given month.
      • periods - Defined time-periods constants for Javascript, in milliseconds.
      • hirestime - A wrapper around the built-in high resolution timer which simplifies the calculation of timestamps.
      • akamai-time-reference - Get reference time using Akamai's time reference service.
    • Array

      • group-array - Group array of objects into lists.
      • arr-diff - Returns an array with only the unique values from the first array, by excluding all values from additional arrays using strict equality for comparisons.
      • unordered-array-remove - Efficiently remove an element from an unordered array without doing a splice.
      • arr-flatten - Recursively flatten an array or arrays.
      • array-last - Return the last element in an array.
      • in-array - Return true if any of passed values exists in array - faster than using indexOf.
      • array-first - Get the first element or first n elements of an array.
      • array-range - Creates a new array with given range.
      • fast-cartesian - Fast cartesian product.
      • array-swap - Swap position of two items in an array.
      • is-sorted - A small module to check if an Array is sorted.
      • map-array - Map object keys and values into an array.
      • filled-array - Returns an array filled with the specified input
      • dedupe - Remove duplicates from an array.
      • mirrarray - Creates a keymirror object from an array of valid keys.
      • array.chunk - Split array/TypedArray to chunks of given size.
    • Other

      • nanoid - A tiny (130 bytes), secure, URL-friendly, unique string ID generator for JavaScript
      • not-defined - Checks if foo is not defined, i.e. undefined, null, an empty string, array or object.
      • is-fqdn - Check if a string represent a fully qualified domain name.
      • node-mime - Comprehensive MIME type mapping API based on mime-db module.
      • shurley - Parses URLs from user input (with potential typos in protocols, bad copy+paste, etc.) and returns a proper URL.
      • mime-type-check - Get the MIME type of a file by its extension.
      • uuid - Generate RFC-compliant UUIDs in JavaScript.
    • Semver

      • semver - The semantic version parser used by npm.
      • semver-max - Find maximum (or minimum) version according to semver.
      • semver-first-satisfied - Find minimum in an array of version that satisfies a semver range.
    • Promise

      • pify - Promisify a callback-style function.
      • is-promise - Test whether an object looks like a promises-a+ promise.
      • sleep-promise - Resolves a promise after a specified delay.
      • promise-all-props - Like `Promise.all` but for object properties.
    • Stream

      • through2 - Tiny wrapper around Node streams2 Transform to avoid explicit subclassing noise.
      • pump - pipe streams together and close all of them if one of them closes.
      • JSONStream - streaming JSON.parse and stringify
      • syncthrough - Transform your data as it pass by, synchronously.
      • split - Break up a stream and reassemble it so that each line is a chunk.
      • is-stream - Check if something is a Node.js stream.
      • stream-spigot - A readable stream generator, useful for testing or converting simple functions into Readable streams.
      • through2-filter - A through2 to create an Array.prototype.filter analog for streams.
      • through2-map - A through2 to create an Array.prototype.map analog for streams.
      • through2-map-promise - A small promise-based wrapper for through2.
      • concat-stream - writable stream that concatenates strings or data and calls a callback with the result.
    • Browser

      • delegate - Lightweight event delegation.
      • copee - Copy text from browser to clipboard...natively!
      • document-ready - Document ready listener for modern browsers.
      • dom-element-value - DOM element value getter/setter.
      • insert-css - Insert a string of css into the head
      • image-promise - Load one or more `<img>`s in a Promise.
      • get-media-size - Get the original size of any `img`/`video`/`svg`/`canvas` tags or canvas context.
    • Object

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

      • strip-ansi - Strip ANSI escape codes.
      • decamelize - Convert a camelized string into a lowercased one with a custom separator: unicornRainbow β†’ unicorn_rainbow.
      • node-slug - slugifies even utf-8 chars.
      • striptags - An implementation of PHP's strip_tags in Node.js.
      • pad-left - Left pad a string with zeros or a specified string.
      • slice.js - Javascript library to enhance String.substring / Array.slice with python slice style.
      • to-dot-case - Convert a string to a dot case.
      • to-no-case - Remove an existing case from a string.
      • to-title-case - Convert a string to a title case.
      • to-constant-case - Convert a string to a constant case.
      • to-pascal-case - Convert a string to a pascal case.
      • to-capital-case - Convert a string to a capital case.
      • to-camel-case - Convert a string to a camel case.
      • to-sentence-case - Convert a string to a sentence case.
      • to-space-case - Convert a string to a space case.
      • to-snake-case - Convert a string to a snake case.
      • rtrim - Strip whitespace - or other characters - from the end of a string.
      • parse-next-json-value - Parse next JSON value from string allowing extraneous characters after value.
      • pluralize - A very tiny library to pluralize words
      • pluralize - A very tiny library to pluralize words
    • Function

      • throttle-debounce - Throttle/debounce your functions.
      • compose-tiny - A very tiny and fast compose function.
      • curry - A curry function without anything too clever.
      • deep-bind - Bind a context to all functions in an object, including deeply nested functions.
      • once - Run a function exactly one time.
      • compose-function - Compose a new function from smaller functions `f(g(x))`.
      • mem - An optimization technique used to speed up consecutive function calls by caching the result of calls with identical input.
      • identity-function - Always return the input argument.
    • Tools

    • Math

      • is-number - Returns `true` if the value is a number.
      • easy-math.js - A tiny easy math library including addition, multiplication, subtraction, and division.
      • fun-gcd - A tiny math library to get gcd of two numbers using Euclidean algorithm
      • is-even - A good way to tell if a number is even or not (avoids type issues). Uses `is-odd` and `is-number` under the hood.
      • my-prime - A good way to tell if a number is prime or not.
      • is-even - A good way to tell if a number is even or not (avoids type issues). Uses `is-odd` and `is-number` under the hood.
      • is-odd - A good way to tell if a number is odd or not (avoids type issues). Uses `is-number` under the hood.
    • Module management

      • normalize-pkg - Normalize values in package.json to improve compatibility, programmatic readability and usefulness with third party libs.
      • pkg-conf - Get namespaced config from the closest package.json.
    • Generators

      • is-generator - Check whether a given value is a generator function.
    • Data Structure

      • quetie - Just the cutest and tiniest queue/deque implementation!
  • Small modules rockstars to follow

  • Articles

    • Tools

      • awesome-nodejs - A curated list of delightful Node.js packages and resources.
      • awesome-npm - Awesome npm resources and tips.