gluegun

A delightful toolkit for building TypeScript-powered command-line apps.

MIT License

Downloads
154.7K
Stars
2.9K
Committers
67

Bot releases are hidden (Show)

gluegun - v2.1.0

Published by infinitered-circleci almost 6 years ago

2.1.0 (2019-01-11)

Features

  • config: Adds loadConfig function to toolbox.config object (#433) [skip ci] (b9e43c3)
  • meta: Adds default plugin source path to toolbox.meta (#432) [skip ci] (4dbd484)
  • types: Strengthens GluegunToolbox type guarantee (#444) (789783f)
gluegun - v2.0.7

Published by infinitered-circleci almost 6 years ago

2.0.7 (2019-01-02)

Bug Fixes

gluegun - v2.0.5

Published by infinitered-circleci almost 6 years ago

2.0.5 (2018-12-29)

Bug Fixes

  • perf: Lazy requires to improve performance (#437) (06004c8)
  • perf: Removes ramda (#436) [skip ci] (79695bd)
  • template: fixes #430 -- remove yarn.lock from .gitignore (#434) [skip ci] (42f25b8)
  • template: Remove lock files from doc gitignore (#435) [skip ci] (1bd4f74)
gluegun - v2.0.4

Published by infinitered-circleci almost 6 years ago

2.0.4 (2018-12-27)

Bug Fixes

  • types: parameters.options is no longer optional (fixes #378) (#428) (2d05f6a)
gluegun - v2.0.3

Published by infinitered-circleci almost 6 years ago

2.0.3 (2018-12-23)

Bug Fixes

  • build: Removes direct access files from repo, adds to build pipeline instead (#426) (fb1670e)
  • windows: Adds types to extensible toolbox and fixes build and test on Windows (#419) (bccda38)
gluegun - v2.0.2

Published by infinitered-circleci almost 6 years ago

2.0.2 (2018-12-23)

Bug Fixes

  • cli: Adds shortcut to speed up --version in gluegun CLI (#423) (6cf41a8)
  • help: Fix command name printing (#395) (010346a)
  • template: Add documentation for ts-node and declaration files (#420) (e2fdfe8)
gluegun - v2.0.1

Published by infinitered-circleci almost 6 years ago

2.0.1 (2018-12-20)

Bug Fixes

  • cli: Typescript improvement to CLI commands (#414) (bded7b4)
  • deps: Upgraded most dependencies (fs-jetpack and enquirer were not able to be updated)
gluegun - Version 2.0.0

Published by jamonholmgren almost 6 years ago

Version 2.0.0

⭐️ Version 2.0.0 is now released! ⭐️

Read the blog post to learn more:

https://shift.infinite.red/announcing-gluegun-2-0-a-delightful-way-to-build-command-line-apps-in-node-936f9ab9916d

gluegun - Version 2.0.0-beta.11

Published by jamonholmgren over 6 years ago

This version fixes an issue where commands & parameters with the same name would get collapsed accidentally. It also bumps all dependencies. It should be backwards-compatible.

gluegun - Beta 8

Published by jamonholmgren over 6 years ago

So, that gluegun/toolbox thing that was introduced in Beta 7?

Yeah, that didn't last long.

You now import directly from Gluegun (again) (examples in TypeScript):

import { print, prompt, filesystem } from 'gluegun/toolbox'

// change to

import { print, prompt, filesystem } from 'gluegun'

You can also import specific ones, now:

import { print } from 'gluegun/print'

Other changes

☝️ Adds direct access to tools from Gluegun #379 by @jamonholmgren
🤡 Converts from Ava to Jest tests #377 by @jamonholmgren
🥌 Removes gluegun/toolbox, refactors core extension loading #376 by @jamonholmgren
docs(help): Fix help override example #375 by @cmckni3
🎛 Switches ToolboxParameters to GluegunParameters #373 by @jamonholmgren

gluegun - Version 2.0.0-beta.7

Published by jamonholmgren over 6 years ago

Beta 7

This new Beta version contains a lot of changes!

Changes

The primary change is that you will now need to access core extension tools from gluegun/toolbox instead of gluegun directly. build is still at gluegun and the types are available from either endpoint.

import { print, prompt, filesystem } from 'gluegun'

// change to

import { print, prompt, filesystem } from 'gluegun/toolbox'

We've also added a new function to filesystem called homedir. This comes from os.homedir and returns the home directory path for the host OS.

The Builder will now accept options in any order. Prior to this release, you had to make sure you configured your runtime in the proper order. Now, it doesn't matter. One exception is brand, which should either come right after build like this: build().brand('mycli') or be passed into build like this: build('mycli').

There is a new Builder method called exclude. You can use this to exclude unneeded core extensions from being added to the GluegunToolbox, which will improve startup time.

Speaking of GluegunToolbox, GluegunRunContext is now renamed to GluegunToolbox. The old name will continue to work for the foreseeable future as an alias.

You can now use export default instead of module.exports = for commands and extensions if you are using TypeScript. If you are using JavaScript, you need to continue to use module.exports = .

2.0.0 Release

We're getting close to releasing 2.0.0. No new changes are planned at this point. Please file issues with bugs!

Pull requests

  • 𐏐 Add pluralize types to string - #368 by @jamonholmgren
  • 🤦‍♂️ Adds some missed exports - #366 by @jamonholmgren
  • 📃 Adds tutorial, architecture guide - #365 by @jamonholmgren
  • 🏡 Adds toolbox.filesystem.homedir() - #364 by @jamonholmgren
  • 🐛 Fixes dashed commands (like --help) - #360 by @jamonholmgren
  • 👷 Refactors Builder to accept options in any order - #358 by @jamonholmgren
  • ⚡️ Improves Startup Performance, Adds 'gluegun/toolbox' for on-demand loading - #357 by @jamonholmgren
  • ⚡️ Adds getting started guide, other docs tweaks - #354 by @jamonholmgren
  • fix doc typo 📝 - #356 by @GantMan
  • 🛠 Renames RunContext to Toolbox - #353 by @jamonholmgren
  • 🦅 Improvements to command path resolver - #352 by @jamonholmgren
  • 😖 Capitalize the README.md so docsify finds it - #351 by @jamonholmgren
  • ☝️ Upgraded dependencies - #349 by @jamonholmgren
  • Adding description for default version command - #346 by @andyfleming
  • Adds home page for docs - #345 by @jamonholmgren
  • 🎽 Typing Improvements to many Gluegun internals and public API - #341 by @jamonholmgren
  • 🧛‍♀️ Adds support for export default (if using TypeScript) - #343 by @jamonholmgren
  • Adds an optional context types to the Command - #339 by @orta
gluegun -

Published by jamonholmgren over 6 years ago

This release has been unpublished due to errors.

gluegun - Version v2.0.0-beta.4

Published by GantMan over 6 years ago

  • Merge branch 'master' of github.com:infinitered/gluegun 2778bb4
  • Fixes issue where .plugins() wouldn't load directories 1dc9476
  • Merge branch 'master' of github.com:infinitered/gluegun 2ec44d8
  • fix snapshots a11ef39
  • fixed up row calculator 9ee8858
  • update snapshot 5b98ec6
  • remove mistake line of code 680dd52
  • Merge branch 'master' of github.com:infinitered/gluegun 22fb20a
  • Removes jsdoc type info, adds more internal type information 832c1f0
gluegun - Version v2.0.0-beta.3

Published by GantMan almost 7 years ago

  • Updates types to properly support Solidarity 082053b
  • Updates enquirer to latest version 4896222
  • Merge pull request #324 from infinitered/update/re-export f1a60be
  • Simplifies exports in print and string tools c0a439b
  • Merge pull request #323 from infinitered/update/unused-packages 5b727d7
  • Merge pull request #322 from infinitered/update/issue-316 07b0663
  • Removes a few unused packages, updates a few packages adf1a01
  • Adds package files to prettierignore Also adds a rule to suppress a warning during tslint 15a4ff1
  • Merge pull request #321 from infinitered/refactor/issue-317 a2865d7
  • Cleans up types in findCommand per issue #317 f3d5a57
  • imports core commands rather than require cd942a5
  • Replaces old requires with imports where possible 15c4258
  • Merge pull request #318 from infinitered/refactor/remove-scripts bdf6506
  • Removes unnecessary scripts folder and string-docs folder 4326562
  • v2.0.0-beta.2 0e368e2
  • Adjusts build script 8569299
  • Add .DS_Store to gitignore 9127389
  • yarn build creates types from TS 20128f7
gluegun - Version 2.0.0-beta.2

Published by jamonholmgren almost 7 years ago

  • Hot on the heels of beta 1 is beta 2, which includes TypeScript .d.ts files in the shipped NPM package.
gluegun - Version 2.0.0-beta.1

Published by jamonholmgren almost 7 years ago

🎉 Beta Release! 🎉

This beta release introduces the following features, updates, refactors, and improvements:

  • Code base is now converted to TypeScript
  • Gluegun is now distributed as a bundle via Rollup
  • New defaultCommand, help, and version options for CLI runtime builder
  • Switches from minimist to yargs-parser
  • Replaces toml with cosmiconfig (breaking change for the few that might have used TOML in the past)
  • Fixed a few bugs
  • Refactored the folder structure somewhat
  • Adds some documentation

Pull Requests

  • #307 by @jamonholmgren - 🏗 TypeScript, Rollup, and Friends! 🔨
  • #305 by @jamonholmgren - Adds context-aware feedback to default command
  • #304 by @GantMan - provide default command by default
  • #303 by @jamonholmgren - Adds new meta extension, adds commandInfo & version to it
  • #302 by @jamonholmgren - Added .defaultCommand and .command to CLI builder
  • #301 by @jamonholmgren - Added integration tests and snapshots
  • #300 by @GantMan - Fixes failed template copy from new
  • #298 by @jamonholmgren - Adds default version and help commands
  • #299 by @jamonholmgren - removed leftover minimist crumbs
  • #297 by @jamonholmgren - Remove previous listeners to avoid stacking up multiple. Fixes #295
  • #294 by @jamonholmgren - Reworks parameters again, fixes issue #288
  • #296 by @skellock - ✨ Adds more config file variants enhancement
  • #293 by @jamonholmgren - Replaces toml with cosmiconfig
  • #292 by @jamonholmgren - Added a plugin tutorial
  • #291 by @jamonholmgren - Properly resolve plugin commands
gluegun - Version 2.0.0-alpha.17

Published by jamonholmgren almost 7 years ago

New Features

  • Added new Inflection support by @ryanlntn #289

No other changes in this release. The next release will be 2.0.0-beta.1 as we move closer to release. 🎉

gluegun - Version 2.0.0-alpha.16

Published by jamonholmgren almost 7 years ago

Bugfixes

  • #286 🚑 Changes property spread into Object.assign by @skellock
gluegun - Version 2.0.0-alpha.15

Published by jamonholmgren almost 7 years ago

New Features

  • Added a nice markdown table format - #284 by GantMan

Maintenance and minor tweaks

  • Added prettier, husky, lint-staged - #283 by jamonholmgren
  • Add closing quote to runtime docs - #279 by imranolas
  • Fix typos - #278, #275, #274 by fvonhoven
  • 🔨 Reads files sync in patching.exists - #272 by skellock
  • Improves the testing experience - #270 by skellock
gluegun -

Published by skellock almost 7 years ago

Features

  • exists() is now available on patching to check if a file contains text or a RegExp - #265, #266, #267 by @ekryski

Fixes

  • exposes spin() on the printing named import - #269, #208 by @ekryski

Support

  • documentation updates - #264 by @sartaj