5-day current streak·20-day longest streak
Looking forward to spending much more time on open source in 2026! Please consider sponsoring me to help me achieve this goal! --- Fun fact: x % 2 !== 0…
Looking forward to spending much more time on open source in 2026! Please consider sponsoring me to help me achieve this goal!
---
Fun fact: x % 2 !== 0 is wrong sometimes. You might expect x to be an integer, but sometimes it isn't due to JavaScript's floating point bug.
But also:
ts
console.log(NaN % 2 !== 0); // => true
console.log('abc' % 2 !== 0); // => true
---
Hi, I'm Jon! I'm a full-time open source software developer and single dad.
Several years ago, just before my 40th birthday, I switched careers from sales, marketing and consulting to learn how to program, with the goal of making the world a better place through code. Whether that means giving people access to information, the tools and technology to level the playing field with big corporations, or empowering people in impoverished regions to participate in the world economy.
Since I started programming, 6 of my projects have trended to number one on GitHub, and I've created hundreds of other open source projects as part of my learning process and in an effort to reach my goals. Today tens of millions of projects depend on my code. Open source software takes a lot of time to create and maintain. Please help me to achieve my goals of improving the world through code, help me create better developer experiences, or just say "thank you" by sponsoring me on GitHub. Any and all contributions are greatly appreciated.
Help me spend more time contributing
If I could afford it, I would spend 100% of my time on open source. That's not a reality yet, but with your help we can make it happen!
_Each contribution I receive increases the depth and time I can spend on maintaining my open source projects, contributing to other projects, or creating new ones._ Please consider sponsoring me.
<!-- ### Sponsors
The following companies, organizations, and individuals are not only helping me spend more time doing what I love (open source collaboration!), but they are supporting the ongoing maintenance and development of software used millions of projects. Become a Sponsor to add your logo to this README, or any of my other projects
Gold Sponsors
| [](https://jaake.tech/) |
|:---:|
| https://jaake.tech/ |
[Please contact me](mailto:[email protected]) to add your logo to this page, or any of my other projects.
-->
---
You can find me here:
-
gray-matter ★ PINNED
Smarter YAML front matter parser, used by metalsmith, Gatsby, Netlify, Assemble, mapbox-gl, phenomic, vuejs vitepress, TinaCMS, Shopify Polaris, Ant Design, Astro, hashicorp, garden, slidev, saber, sourcegraph, and many others. Simple to use, and battle tested. Parses YAML by default but can also parse JSON Front Matter, Coffee Front Matter, TOML Front Matter, and has support for custom parsers. Please follow gray-matter's author: https://github.com/jonschlinkert
JavaScript ★ 4.5k 1y agoExplain → -
remarkable ★ PINNED
Markdown parser, done right. Commonmark support, extensions, syntax plugins, high speed - all in one. Gulp and metalsmith plugins available. Used by Facebook, Docusaurus and many others! Use https://github.com/breakdance/breakdance for HTML-to-markdown conversion. Use https://github.com/jonschlinkert/markdown-toc to generate a table of contents.
JavaScript ★ 5.8k 2y agoExplain → -
maintainers-guide-to-staying-positive ★ PINNED
Don't let the trolls get you down! Use this as a reference to avoid open-source burnout and keep doing what you love: writing code! Contributions and any kind of improvements are very welcome!
★ 679 4y agoExplain → -
markdown-toc
API and CLI for generating a markdown TOC (table of contents) for a README or any markdown files. Uses Remarkable to parse markdown. Used by NASA/openmct, Prisma, Joi, Mocha, Sass, Prettier, Orbit DB, FormatJS, Raneto, hapijs/code, webpack-flow, docusaurus, release-it, ts-loader, json-server, reactfire, bunyan, husky, react-easy-state, react-snap, chakra-ui, carbon, alfresco, repolinter, Assemble, Verb, and thousands of other projects.
JavaScript ★ 1.8k 1y agoExplain → -
gulp-htmlmin
Minify HTML
HTML ★ 725 6y agoExplain → -
sublime-markdown-extended
Top 100 Sublime Text plugin! Markdown syntax highlighter for Sublime Text, with extended support for GFM fenced code blocks, with language-specific syntax highlighting. YAML Front Matter. Works with ST2/ST3. Goes great with Assemble.
★ 662 6y agoExplain → -
sublime-monokai-extended
Extends Monokai from Soda with additional syntax highlighting for Markdown, LESS, HTML, Handlebars and more.
★ 518 4y agoExplain → -
kind-of
Get the native JavaScript type of a value, fast. Used by superstruct, micromatch and many others!
JavaScript ★ 355 2y agoExplain → -
clone-deep
Recursively (deep) clone JavaScript native types, like Object, Array, RegExp, Date as well as primitives. Used by superstruct, merge-deep, and many others!
JavaScript ★ 316 2y agoExplain → -
get-value
Use property paths (`a.b.c`) get a nested value from an object.
TypeScript ★ 305 10d agoExplain → -
is-number
JavaScript/Node.js utility. Returns `true` if the value is a number or string number. Useful for checking regex match results, user input, parsed strings, etc.
JavaScript ★ 284 3y agoExplain → -
set-value
Set nested properties on an object using dot-notation.
JavaScript ★ 277 3y agoExplain → -
word-wrap
Wrap words to a specified length.
JavaScript ★ 207 2y agoExplain → -
randomatic
Easily generate random strings like passwords, with simple options for specifying a length and for using patterns of numeric, alpha-numeric, alphabetical, special or custom characters. (the original "generate-password")
JavaScript ★ 183 2y agoExplain → -
data-store
Easily get, set and persist config data. Fast. Supports dot-notation in keys. No dependencies.
JavaScript ★ 160 4y agoExplain → -
is-plain-object
Returns true if the given value is an object created by the Object constructor.
HTML ★ 158 2y agoExplain → -
guide-to-staying-productive
If you're looking for ways to stay motivated and focused, while still having fun, this guide is for you! Contributions and any kind of improvements are very welcome!
★ 147 8y agoExplain → -
pretty
Sensible presets and some tweaks for beautifying HTML with js-beautify according to my preferences.
JavaScript ★ 138 5y agoExplain → -
parse-github-url
Parse a Github URL into an object. Supports a wide variety of GitHub URL formats.
JavaScript ★ 129 2mo agoExplain → -
idiomatic-contributing
A brief guide to being an effective open source contributor.
★ 122 2y agoExplain → -
strip-comments
Strip block comments or line comments from JavaScript code.
JavaScript ★ 121 2y agoExplain → -
normalize-path
Normalize file path slashes to be unix-like forward slashes. Used by chokidar, anymatch, and many others!
JavaScript ★ 112 3y agoExplain → -
merge-deep
Recursively merge values in a JavaScript object.
JavaScript ★ 111 3y agoExplain → -
time-stamp
Get a formatted timestamp. Used in gulp, assemble, generate, and many others.
JavaScript ★ 110 5y agoExplain → -
isobject
Is the value an object, and not an array or null?
JavaScript ★ 107 2y agoExplain → -
gists
Methods for working with the GitHub Gist API. Node.js/JavaScript
JavaScript ★ 100 6y agoExplain → -
copy
Copy files using glob patterns. Sync, async, promise or streams. (node.js utility)
JavaScript ★ 93 4y agoExplain → -
git-branch
Get the current branch for a local git repository
JavaScript ★ 92 4y agoExplain → -
dashify
Convert a string to a dash-separated string (kebab case). Works with camelcase, pascalcase, space-separated, etc.
JavaScript ★ 91 4y agoExplain → -
vertical-rhythm
Put some typographical vertical rhythm in your CSS. LESS, Stylus and SCSS/SASS versions included.
CSS ★ 89 12y agoExplain → -
window-size
Reliable way to to get the height and width of the terminal/console in a node.js environment.
JavaScript ★ 85 1y agoExplain → -
write
Write data to the file system, creating any intermediate directories if they don't already exist. Used by flat-cache and many others!
JavaScript ★ 82 6y agoExplain → -
dry
Dry is a new template engine and language, and is a superset of Shopify's Liquid, with first-class support for advanced inheritance features, and more. From the creators of Enquirer, Assemble, Remarkable, and Micromatch.
JavaScript ★ 80 3mo agoExplain → -
mixin-deep
Deeply mix the properties of objects into the first object, while also mixing-in child objects.
JavaScript ★ 80 2y agoExplain → -
template-helpers
Generic JavaScript helpers that can be used with any template engine. Handlebars, Lo-Dash, Underscore, or any engine that supports helper functions.
JavaScript ★ 79 7y agoExplain → -
omit-deep
Recursively omit specified keys from an object.
JavaScript ★ 79 4y agoExplain → -
assign-deep
Deeply assign the enumerable properties of source objects to a destination object.
JavaScript ★ 78 4y agoExplain → -
object.omit
Return a copy of an object without the given keys.
JavaScript ★ 77 5y agoExplain → -
array-sort
Fast and powerful array sorting. Sort an array of objects by one or more properties. Any number of nested properties or custom comparison functions may be used.
JavaScript ★ 76 6y agoExplain → -
grunt-prettify
Grunt plugin for beautifying HTML. Lots of options so that you can format/beautify the generated HTML the way you want it.
JavaScript ★ 76 3y agoExplain → -
omit-empty
Recursively omit empty properties from an object. Omits empty objects, arrays, strings, and optionally zero. Similar results to what you would expect with `compact` for arrays.
JavaScript ★ 73 6y agoExplain → -
eval-estree-expression
Safely evaluate JavaScript (estree) expressions, sync and async.
JavaScript ★ 68 14d agoExplain → -
parse-gitignore
Parse a gitignore file into an array of patterns. Comments and empty lines are stripped.
JavaScript ★ 67 3y agoExplain → -
parse-comments
Parse JavaScript code comments. Works with block and line comments, and should work with CSS, LESS, SASS, or any language with the same comment formats.
JavaScript ★ 66 3y agoExplain → -
parse-git-config
Parse `.git/config` into a JavaScript object. sync or async.
JavaScript ★ 63 7y agoExplain → -
grunt-refactor
Grunt tasks for re-factoring code.
JavaScript ★ 62 9y agoExplain → -
split-string
Split a string on a given character or characters, with support for escaping.
JavaScript ★ 61 4y agoExplain → -
utils
Fast, generic JavaScript/node.js utility functions.
JavaScript ★ 61 3y agoExplain → -
fill-range
Fill in a range of numbers or letters, positive or negative, optionally passing an increment or multiplier to use.
JavaScript ★ 60 1y agoExplain → -
to-regex
Generate a regex from a string or array of strings.
JavaScript ★ 60 5y agoExplain → -
github-base
Simple, opinionated node.js interface for creating basic apps with the GitHub API.
JavaScript ★ 59 7y agoExplain → -
templates
System for creating and managing view collections, rendering, engines, routes and more. See the "dev" branch for most recent updates.
JavaScript ★ 59 5y agoExplain → -
arr-flatten
Recursively flatten an array or arrays. This is the fastest implementation of array flatten.
JavaScript ★ 59 4y agoExplain → -
array-unique
Return an array free of duplicate values. Very fast implementation.
JavaScript ★ 59 5y agoExplain → -
cache-base
Basic object store with methods like get/set/extend/omit
JavaScript ★ 57 4y agoExplain → -
sublime-swig
Swig template syntax highlighting for Sublime Text.
★ 57 12y agoExplain → -
pretty-time
Easily format the time from node.js `process.hrtime`. Works with timescales ranging from weeks to nanoseconds.
JavaScript ★ 53 7y agoExplain → -
gulp-prettify
Prettify HTML.
HTML ★ 52 10y agoExplain → -
align-text
Align the text in a string.
JavaScript ★ 51 6y agoExplain → -
exponential-moving-average
Calculate an exponential moving average from an array of numbers.
JavaScript ★ 50 6y agoExplain → -
whence
Add context awareness to your apps and frameworks by safely evaluating user-defined conditional expressions. Useful for evaluating expressions in config files, prompts, key bindings, completions, templates, and many other user cases.
JavaScript ★ 50 1y agoExplain → -
extract-comments
Extract JavaScript code comments from a string or glob of files.
JavaScript ★ 50 7y agoExplain → -
repeat-string
Repeat the given string n times. Fastest implementation for repeating a string (2x faster than the native method)
JavaScript ★ 50 4y agoExplain → -
is-windows ▣
Returns true if the platform is Windows (and Cygwin or MSYS/MinGW for unit tests)
JavaScript ★ 48 7y agoExplain → -
delete-empty
Recursively delete all empty folders in a directory and child directories.
JavaScript ★ 46 3y agoExplain → -
cross-capture
Capture screenshots programmatically. Cross-platform, with support for MacOS (Darwin), Windows, and Linux.
TypeScript ★ 46 11mo agoExplain → -
arr-diff
Returns an array with only the unique values from all given arrays using strict equality for comparisons.
JavaScript ★ 45 4y agoExplain → -
pad-left
Left pad a string with zeros or a specified string. Fastest implementation.
JavaScript ★ 44 4y agoExplain → -
unixify
Convert a windows file path to a unix-style file path.
JavaScript ★ 44 5y agoExplain → -
handlebars-delimiters
Custom delimiters, for Handlebars templates.
JavaScript ★ 42 6y agoExplain → -
regex-cache
Memoize the results of a call to the RegExp constructor, avoiding repetitious runtime compilation of the same string and options, resulting in dramatic speed improvements.
JavaScript ★ 40 8y agoExplain → -
is-git-url
Regex to validate that a URL is a git URL.
JavaScript ★ 38 9y agoExplain → -
pascalcase
Convert a string to pascal case (upper camel case). Used by more than 8.7 million projects on GitHub! Please follow this library's author: https://github.com/jonschlinkert
JavaScript ★ 37 4y agoExplain → -
is-primitive
Is the typeof value a javascript primitive?
JavaScript ★ 37 5y agoExplain → -
for-in
Iterate over the enumerable properties of an object, and return an object with properties that evaluate to true from the callback. Exit early by returning `false`.
JavaScript ★ 36 9y agoExplain → -
unset-value
Delete nested properties from an object using dot notation.
JavaScript ★ 35 4y agoExplain → -
fs-utils
Generalized file and path utils for Node.js projects.
JavaScript ★ 35 6y agoExplain → -
array-last
Return the last element in an array. Faster than `.slice`
JavaScript ★ 33 4y agoExplain → -
relative
Easily calculate the relative path from file A to file B in Node.js project. Will calculate correctly from a file to a directory, file to file, directory to file, and directory to directory.
JavaScript ★ 33 3y agoExplain → -
extend-shallow
Extend object A with the properties of object B. node.js/javascript util.
JavaScript ★ 33 4y agoExplain → -
parse-filepath
Parse a filepath and return an object of path parts. Falls back on native node.js `path.parse` if it exists
JavaScript ★ 31 8y agoExplain → -
shallow-clone
Make a shallow clone of an object, array or primitive.
JavaScript ★ 31 9mo agoExplain → -
longest
Get the length of the longest item in an array.
JavaScript ★ 30 8y agoExplain → -
global-prefix
Get the npm global path prefix. Same code used internally by npm.
JavaScript ★ 29 1y agoExplain → -
justified
Wrap, align and justify the words in a string.
JavaScript ★ 29 8y agoExplain → -
markdown-utils
Convert plain text into snippets of markdown.
JavaScript ★ 29 8y agoExplain → -
glob-object
Filter an object using glob patterns and dot notation.
JavaScript ★ 27 6y agoExplain → -
is-directory
Extends `stats.isDirectory()`, returns `true` if a filepath is a directory.
JavaScript ★ 27 9y agoExplain → -
expand-object
Expand a string into a JavaScript object using a simple notation.
JavaScript ★ 26 6y agoExplain → -
read-yaml
Very thin wrapper around js-yaml for directly reading in YAML files.
JavaScript ★ 26 6y agoExplain → -
matched
Glob matching with support for multiple patterns and negation. Use `~` in cwd to find files in user home, or `@` for global npm modules.
JavaScript ★ 26 5y agoExplain → -
repos
Pull down a list of GitHub repos for the given user or org, and save to a local JSON file.
JavaScript ★ 25 7y agoExplain → -
tabstops
Empower your text editor or prompt with full-featured code snippets! JavaScript library and API for parsing, compiling, and rendering code snippets, with complete support for VS Code-style tabstops. Supports variables, placeholders, transforms, unlimited nesting, and all of the "snippet" features offered by popular text editors like VSCode, Atom, TextMate and Sublime Text.
JavaScript ★ 25 6y agoExplain → -
defaults-deep
Like `extend` but recursively copies only the missing properties/values to the target object.
JavaScript ★ 25 6y agoExplain → -
log-utils
Basic logging utils: colors, symbols and timestamp.
JavaScript ★ 24 7y agoExplain → -
arr-union
Returns an array of unique values using strict equality for comparisons, maintaining the same order as the provided arrays.
JavaScript ★ 24 5y agoExplain → -
expand-tilde
Bash-like tilde expansion for node.js. Expands a leading tilde in a file path to the user home directory, or `~+` to the cwd.
JavaScript ★ 24 4y agoExplain → -
union-value
Set an array of unique values as the property of an object. Supports setting deeply nested properties using using object-paths/dot notation. Node.js/JavaScript util.
JavaScript ★ 24 4y agoExplain → -
liquid-to-handlebars
Convert liquid templates to handlebars templates!
HTML ★ 23 6y agoExplain → -
git-repo-name
Get the repository name from the git remote origin URL
JavaScript ★ 23 2y agoExplain → -
has-values
Returns true if any values exist, false if empty. Works for booleans, functions, numbers, strings, nulls, objects and arrays.
JavaScript ★ 23 5y agoExplain → -
center-align
Center-align the text in a string.
JavaScript ★ 23 9y agoExplain → -
for-own
Iterate over the own enumerable properties of an object, and return an object with properties that evaluate to true from the callback. Exit early by returning `false`.
JavaScript ★ 23 9y agoExplain → -
parse-author
Parse a person, author, contributor or maintainer string into an object with name, email and url properties following NPM conventions. Useful for the `authors` property in package.json or for parsing an AUTHORS file into an array of person objects.
JavaScript ★ 23 9y agoExplain → -
pretty-remarkable
Plugin for prettifying markdown with https://github.com/jonschlinkert/remarkable using custom renderer rules.
JavaScript ★ 22 8y agoExplain → -
section-matter
Like front-matter, but allows multiple sections in a single document.
JavaScript ★ 22 8y agoExplain → -
add-filename-increment
When copying or moving files, it's common for operating systems to automatically add an increment or 'copy' to duplicate file names. This does that for Node.js applications, with automatic platform detection and support for Linux, MacOs, and Windows conventions.
JavaScript ★ 22 6y agoExplain → -
object-visit
Call the given method on each value in the given object.
JavaScript ★ 21 3y agoExplain → -
git-user-name
Get the name of the current user from git config, at the project or global scope, depending on what git uses in the current context.
JavaScript ★ 21 2y agoExplain → -
gfm-code-blocks
Extract gfm (GitHub Flavored Markdown) fenced code blocks from a string.
JavaScript ★ 21 9y agoExplain → -
get-repository-url
Get the GitHub repository URL from a NPM package name.
JavaScript ★ 21 8y agoExplain → -
array-slice
Lo-dash's array-clice method. Slices `array` from the `start` index up to, but not including, the `end` index.
JavaScript ★ 21 8y agoExplain → -
ansi-gray
The color gray, in ansi.
JavaScript ★ 21 11y agoExplain → -
romanize
Convert arabic numbers to roman numerals (useful for books, outlines, documentation, slide decks, etc)
JavaScript ★ 21 9y agoExplain → -
expand-value
Expand deeply nested values from an object, with support for advanced features
TypeScript ★ 20 10d agoExplain → -
intl-segmenter
A high-performance wrapper around Intl.Segmenter for efficient text segmentation. This class resolves memory handling issues seen with large strings and "maximum call stack exceeded" exceptions that occur when strings exceed 40-50k characters. Enhances performance by 50-500x. Only ~70 loc (with comments) and no dependencies.
JavaScript ★ 20 1y agoExplain → -
readme-generator
Generate a readme from a template and package.json data. If you need something more comprehensive, I recommend using Verb.
JavaScript ★ 20 8y agoExplain → -
collection-visit
Visit a method over the items in an object, or map visit over the objects in an array. This is an alternative approach to using extend or merge, useful when events are emitted on a method like get or set.
JavaScript ★ 20 5y agoExplain → -
hyper-monokai-extended
Enhanced monokai theme, for Hyper.
JavaScript ★ 19 7y agoExplain → -
ansi-wrap
Create ansi colors by passing open and close codes.
JavaScript ★ 19 2y agoExplain → -
repeat-element
Create an array by repeating the given string n times.
JavaScript ★ 19 5y agoExplain → -
html-tag
Generate HTML tags from an object.
JavaScript ★ 19 8y agoExplain → -
commit-whisperer
Use "cw" in the CLI. No instructions necessary, just hit <enter>. Can also be used as a library. Commit Whisperer is an AI genius for generating meaningful git commit messages from repository state and user instructions.
JavaScript ★ 18 1y agoExplain → -
gh-stars
API and CLI for getting the stars for one or more GitHub users or organizations.
JavaScript ★ 18 8y agoExplain → -
engine
Alternative to Lo-Dash template with support for helpers.
JavaScript ★ 18 6y agoExplain → -
detect-case
Detects the casing of the input string (camelcase, lowercase, snakecase, kebabcase, snakecase, uppercase etc).
TypeScript ★ 18 1y agoExplain → -
uniqueid
Generate a unique sequential ID. Optionally pass a prefix, suffix, or multiplier.
JavaScript ★ 18 2y agoExplain → -
lang-map
Get the language associated with a file extension or the extensions associated with a language using the data from GitHub's Linguist and language-map.
JavaScript ★ 17 4y agoExplain → -
alphabet
Currently the English alphabet, upper and lowercase, but open to PRs for other languages. (This was originally published to teach someone how NPM works.)
JavaScript ★ 17 3y agoExplain → -
map-visit
Map `visit` over an array of objects.
JavaScript ★ 17 4y agoExplain → -
git-username
Extract the username from a git remote origin URL.
JavaScript ★ 17 8y agoExplain → -
object.defaults
Like `extend` but only copies missing properties/values to the target object.
JavaScript ★ 17 9y agoExplain → -
diacritics-map
Map of more than 1,200 diacritics and ligatures to english alphabet equivalents.
JavaScript ★ 16 5y agoExplain → -
common-words
Updated list of the 100 most common words in the English language. Useful for excluding these words from arrays.
JavaScript ★ 16 12y agoExplain → -
to-clipboard
Copy to the clipboard.
JavaScript ★ 16 9y agoExplain → -
array-each
Loop over each item in an array and call the given function on every element.
JavaScript ★ 15 9y agoExplain → -
arr-map
Faster, node.js focused alternative to JavaScript's native array map.
JavaScript ★ 15 9y agoExplain → -
assemble-gist-blog
Use Assemble to create a blog from GitHub Gists! Consider this an example of how to get started with Assemble.
JavaScript ★ 15 12y agoExplain → -
line-number
Get the line number for each regex match found in a string.
JavaScript ★ 15 7y agoExplain → -
object-copy
Copy static properties, prototype properties, and descriptors from one object to another
JavaScript ★ 15 5y agoExplain → -
resolve-schema-values
Resolve values based on a JSON schema. Supports conditionals and composition. Useful for configuration, preferences, LLM chat completions, etc.
TypeScript ★ 14 1y agoExplain → -
is-dotfile
Return true if the file is (or the file path has) a dotfile.
JavaScript ★ 14 9y agoExplain → -
tokenize-comment
Uses snapdragon to tokenize a single JavaScript block comment into an object, with description, tags, and code example sections that can be passed to any other comment parsers for further parsing.
JavaScript ★ 14 3y agoExplain → -
git-config-path
Resolve the path to the user's global .gitconfig.
JavaScript ★ 14 7y agoExplain → -
detect-terminal
Detect the terminal program currently being used, with support for iTerm, Terminal.app, Hyper, iTerm2, ConEmu, Cmde,r Alacritty, Xterm, Terminator, Termux, Kitty, and others. Detection is based on environment variables and process-level indicators to identify the terminal in use.
TypeScript ★ 13 1mo agoExplain → -
git-user-email
Get the current user's git email address.
JavaScript ★ 13 2y agoExplain → -
option-cache
Get and set options easily, for node.js projects.
JavaScript ★ 13 6y agoExplain → -
cwd
Get the current working directory relative to the calling module.
JavaScript ★ 13 10y agoExplain → -
is-valid-path
Returns true if a windows file path does not contain any invalid characters.
JavaScript ★ 12 3y agoExplain → -
iterm-monokai
Customized monokai theme for iterm. There are others, this one is based on https://github.com/jonschlinkert/sublime-monokai-extended
★ 12 5mo agoExplain → -
generator-base
Generator for creating Yeoman generators that are capable of remembering certain user answers, resulting in a better user experience. Run `yo base` and create your own generator, with the basic necessities including docs.
JavaScript ★ 12 12y agoExplain → -
open-file-manager
Cross-platform utility to open a file or directory in the system's default file manager (Finder, Explorer, Nautilus, etc.)
JavaScript ★ 11 1y agoExplain → -
expand-json-schema
Light weight JSON Schema $ref resolver. Expands a JSON Schema by resolving `$ref` references from a mapping of definitions. Does not handle remote references. Has comprehensive unit tests and no dependencies.
TypeScript ★ 11 1y agoExplain → -
static-extend
Adds a static `extend` method to a class, to simplify inheritance. Extends the static properties, prototype properties, and descriptors from a `Parent` constructor onto `Child` constructors.
JavaScript ★ 11 7y agoExplain → -
open-finder-dialog
Open a finder dialog window (finder prompt) programmatically.
JavaScript ★ 11 1y agoExplain → -
get-file
CLI and API to get a single file from Github repository.
JavaScript ★ 11 9y agoExplain → -
is-true
Returns `true` if the value of an object's property is strictly true, or it's inverse is false.
JavaScript ★ 11 10y agoExplain → -
module-root
Get the resolved path to the root of a package installed in node_modules
JavaScript ★ 11 2y agoExplain → -
make-iterator
Convert an argument into a valid iterator. Based on the `.makeIterator()` implementation in mout https://github.com/mout/mout.
JavaScript ★ 11 8y agoExplain → -
pretty-regex
Print regular expressions with syntax highlighting in the terminal. Useful for debugging, visually inspecting and understanding complex regex patterns.
TypeScript ★ 10 4mo agoExplain → -
load-pkg
Load the package.json in the base of the user's current project.
JavaScript ★ 10 3y agoExplain → -
strip-filename-increment
Operating systems commonly add a trailing increment, or the word 'copy', or something similar to duplicate files. This strips those increments. Tested on Windows, MacOS, and Linux.
JavaScript ★ 10 6y agoExplain → -
compgen
Node.js API for the bash(1) 'compgen' built-in, which lists all available bash commands, aliases, keywords, functions...
JavaScript ★ 9 8y agoExplain → -
array-intersection
Return an array with the unique values present in _all_ given arrays using strict equality for comparisons.
JavaScript ★ 9 11y agoExplain → -
arr-pluck
Get the value of a specified property from all elements in a collection.
JavaScript ★ 9 11y agoExplain → -
deep-bind
Bind a context to all functions in an object, including deeply nested functions.
JavaScript ★ 9 7y agoExplain → -
add-banner
Add a banner to a string. Banners are just Lo-Dash/underscore templates, if a custom one isn't defined a default will be used.
JavaScript ★ 8 7y agoExplain → -
html-elements
Array of all standard HTML and HTML5 elements.
JavaScript ★ 8 8y agoExplain → -
jonschlinkert
No description.
★ 8 5mo agoExplain → -
open-windows-file-dialog
Programmatically open a file dialog window (explorer) for picking files. Only works on Windows. Also see: open-finder-dialog, open-linux-file-dialog, and open-file-manager-dialog for other platforms.
TypeScript ★ 8 1y agoExplain → -
strip-bom-string
Strip a byte order mark (BOM) from a string.
JavaScript ★ 8 9y agoExplain → -
reserved
Reserved words that may not be used as variables, functions, methods, or object identifiers, since ECMAScript specifies special behavior for them.
JavaScript ★ 8 12y agoExplain → -
ansi-red
The color red, in ansi.
JavaScript ★ 8 7y agoExplain → -
ansi-cyan
The color cyan, in ansi.
JavaScript ★ 8 7y agoExplain → -
model-exchange-grammar-protocol
The Model Context Grammar Protocol defines a simple, extensible, and non-deterministic grammar for specifying valid message types and their arrangements in exchanges with language models. This protocol enables precise, unambiguous specification of interactions including multimodal content, tool calls, and flexible message sequencing.
★ 7 1y agoExplain → -
orgs
Get publicly available information about an organization, or for all organizations for one or more users, from the GitHub API.
JavaScript ★ 7 7y agoExplain → -
self-closing-tags
HTML void elements are not the only self-closing tags. This includes common SVG self-closing elements as well.
JavaScript ★ 7 8y agoExplain → -
omit-value
Omit properties from an object or deeply nested property of an object using object path notation.
JavaScript ★ 7 11y agoExplain → -
github-trees
Get a tree from a GitHub repository.
JavaScript ★ 6 8y agoExplain → -
is-invalid-path
Returns true if a windows file path has invalid characters.
JavaScript ★ 6 3y agoExplain → -
engine-handlebars
Handlebars engine, consolidate.js style but with enhancements. This works with Assemble, express.js, engine-cache or any application that follows consolidate.js conventions.
JavaScript ★ 6 5y agoExplain → -
open-linux-file-dialog
Open a file dialog window programmatically to allow the user to select one or more files. Only works on Linux. No dependencies. Supports zenity (GNOME), kdialog (KDE), yad (Yet Another Dialog), qarma (Qt-based), matedialog (MATE), rofi (window switcher with file browser mode), fzf (terminal fuzzy finder), dmenu (dynamic menu).
TypeScript ★ 5 1y agoExplain → -
odd
Get the odd numbered items from an array. This package was created as a learning experience as I'm learning how to program.
JavaScript ★ 5 11y agoExplain → -
collapse-object
Collapse an object into a string using the syntax from expand-object. Useful for setting command line args or with test fixtures.
JavaScript ★ 5 11y agoExplain → -
openzl
Node.js support for OpenZL, an open source data compression framework from Meta that offers lossless compression for structured data, designed to provide the performance of format-specific compressors with the ease of maintaining a single executable binary.
TypeScript ★ 5 8mo agoExplain → -
map-types
Map single letter abbreviations to javascript native types. Useful as a shorthand for pseudo-argument destructuring when debugging.
JavaScript ★ 5 11y agoExplain → -
examples
Application examples for Template, and other node.js setups.
JavaScript ★ 5 11y agoExplain → -
ai ⑂
Build AI-powered applications with React, Svelte, Vue, and Solid
TypeScript ★ 5 2y agoExplain → -
filebase
WIP NOT READY FOR USE! Git-backed file storage and versioning, with i18n support
JavaScript ★ 5 10y agoExplain → -
reflinks
Generate reference links for a glob of markdown files, allowing you to more easily create references from one file to another.
JavaScript ★ 5 8y agoExplain → -
template-error
Make lo-dash/underscore template errors easy to understand and fix.
JavaScript ★ 5 6y agoExplain → -
expand-pkg
Parse string values in package.json into objects.
JavaScript ★ 4 6y agoExplain → -
namify
Make a NPM package name safe to be used as a JavaScript variable name. Works well as a mixin in Yeoman generators.
JavaScript ★ 4 12y agoExplain → -
media-size
Get the width and height of a video or image.
TypeScript ★ 3 1mo agoExplain → -
replace-nth
Replace only specific occurrences of a string. e.g. if the string exists 10 times, you can replace, say, the 3rd and 8th occurrences only, etc. Returns a new string with nth specific matches of a pattern replaced by a replacement. The pattern can be a string or a RegExp, and the replacement can be a string or a function to be called for each match.
JavaScript ★ 3 11y agoExplain → -
json-schema-ref-resolver ⑂
JSON schema reference resolver
★ 3 1y agoExplain → -
open-file-manager-dialog
Cross-platform library for opening a file manager dialog window programmatically on MacOS, Windows, or Linux.
JavaScript ★ 3 1y agoExplain → -
video-size
Get the width and height of a video.
TypeScript ★ 1 1mo agoExplain → -
eta ⑂
Bug fix for eta
TypeScript ★ 1 6mo agoExplain → -
.github
My default community health files
★ 1 4y agoExplain →
No repos match these filters.