From a819a9fc75e86ba2bcdbc61449ea6ab286d2e6d9 Mon Sep 17 00:00:00 2001 From: Dependant Bot Date: Wed, 3 Nov 2021 03:08:21 +0000 Subject: [PATCH] release: 2021-11-03, Version 13.0.2 [skip ci] --- CHANGELOG.md | 7 +++++++ docs/404.html | 6 +++--- docs/assets/img/guides/command-events.gif.html | 4 ++-- docs/assets/img/guides/interactive-choices.gif.html | 4 ++-- docs/assets/img/guides/interactive-conditional.gif.html | 4 ++-- docs/assets/img/guides/interactive-manual.gif.html | 4 ++-- docs/assets/img/guides/interactive-masking.gif.html | 4 ++-- docs/assets/img/guides/interactive-multichoice.gif.html | 4 ++-- docs/assets/img/guides/ui-alerts.gif.html | 4 ++-- docs/assets/img/guides/ui-messages.gif.html | 4 ++-- docs/assets/img/guides/ui-progress.gif.html | 4 ++-- docs/assets/img/guides/ui-prompts.gif.html | 4 ++-- docs/assets/img/guides/ui-spinners.gif.html | 4 ++-- docs/assets/js/{10.ffb14331.js => 10.41e3ea46.js} | 2 +- docs/assets/js/{11.ac3b4ae0.js => 11.758df007.js} | 2 +- docs/assets/js/{12.4b1303db.js => 12.caa79c1e.js} | 2 +- docs/assets/js/{13.9d8a5999.js => 13.d1b90d44.js} | 2 +- docs/assets/js/{14.f62f0eee.js => 14.4f088289.js} | 2 +- docs/assets/js/{15.98982a9a.js => 15.86a70711.js} | 2 +- docs/assets/js/{16.e3783da7.js => 16.8e44c2a9.js} | 2 +- docs/assets/js/{17.7ccc4c9c.js => 17.4d8b8565.js} | 2 +- docs/assets/js/{18.585032fc.js => 18.315d4e4a.js} | 2 +- docs/assets/js/{19.3257c674.js => 19.49008c4e.js} | 2 +- docs/assets/js/{2.89fd03b7.js => 2.60cd9aeb.js} | 2 +- docs/assets/js/{20.03b6e50a.js => 20.74eb5c71.js} | 2 +- docs/assets/js/{21.d16e18e5.js => 21.4255a073.js} | 2 +- docs/assets/js/{22.bcef3656.js => 22.da88578d.js} | 2 +- docs/assets/js/{23.090a3b70.js => 23.4d23d983.js} | 2 +- docs/assets/js/{24.53ddff2e.js => 24.0d77bdf1.js} | 2 +- docs/assets/js/{25.1748412c.js => 25.2a54c757.js} | 2 +- docs/assets/js/{3.e8cab87b.js => 3.64016def.js} | 2 +- docs/assets/js/{4.1f1d2ad4.js => 4.e6782fa0.js} | 2 +- docs/assets/js/{5.2d4d4fcf.js => 5.102de0ec.js} | 2 +- docs/assets/js/{6.088c6dc8.js => 6.9b3ab0c1.js} | 2 +- docs/assets/js/{7.e45df1d8.js => 7.18568fce.js} | 2 +- docs/assets/js/{8.393569ae.js => 8.82503b0e.js} | 2 +- docs/assets/js/{9.4eb7cce9.js => 9.74bc65bb.js} | 2 +- docs/assets/js/app.332dbc59.js | 8 ++++++++ docs/assets/js/app.d7e52331.js | 8 -------- docs/changelog.html | 4 ++-- docs/getting-started.html | 4 ++-- docs/guides/commands.html | 4 ++-- docs/guides/interactive.html | 4 ++-- docs/guides/plugins.html | 4 ++-- docs/guides/ui.html | 4 ++-- docs/index.html | 4 ++-- package.json | 2 +- 47 files changed, 79 insertions(+), 72 deletions(-) rename docs/assets/js/{10.ffb14331.js => 10.41e3ea46.js} (94%) rename docs/assets/js/{11.ac3b4ae0.js => 11.758df007.js} (99%) rename docs/assets/js/{12.4b1303db.js => 12.caa79c1e.js} (99%) rename docs/assets/js/{13.9d8a5999.js => 13.d1b90d44.js} (99%) rename docs/assets/js/{14.f62f0eee.js => 14.4f088289.js} (99%) rename docs/assets/js/{15.98982a9a.js => 15.86a70711.js} (53%) rename docs/assets/js/{16.e3783da7.js => 16.8e44c2a9.js} (54%) rename docs/assets/js/{17.7ccc4c9c.js => 17.4d8b8565.js} (56%) rename docs/assets/js/{18.585032fc.js => 18.315d4e4a.js} (54%) rename docs/assets/js/{19.3257c674.js => 19.49008c4e.js} (54%) rename docs/assets/js/{2.89fd03b7.js => 2.60cd9aeb.js} (87%) rename docs/assets/js/{20.03b6e50a.js => 20.74eb5c71.js} (56%) rename docs/assets/js/{21.d16e18e5.js => 21.4255a073.js} (51%) rename docs/assets/js/{22.bcef3656.js => 22.da88578d.js} (52%) rename docs/assets/js/{23.090a3b70.js => 23.4d23d983.js} (52%) rename docs/assets/js/{24.53ddff2e.js => 24.0d77bdf1.js} (51%) rename docs/assets/js/{25.1748412c.js => 25.2a54c757.js} (52%) rename docs/assets/js/{3.e8cab87b.js => 3.64016def.js} (98%) rename docs/assets/js/{4.1f1d2ad4.js => 4.e6782fa0.js} (98%) rename docs/assets/js/{5.2d4d4fcf.js => 5.102de0ec.js} (62%) rename docs/assets/js/{6.088c6dc8.js => 6.9b3ab0c1.js} (67%) rename docs/assets/js/{7.e45df1d8.js => 7.18568fce.js} (86%) rename docs/assets/js/{8.393569ae.js => 8.82503b0e.js} (85%) rename docs/assets/js/{9.4eb7cce9.js => 9.74bc65bb.js} (90%) create mode 100644 docs/assets/js/app.332dbc59.js delete mode 100644 docs/assets/js/app.d7e52331.js diff --git a/CHANGELOG.md b/CHANGELOG.md index e30fb4b..397a6ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [13.0.2](https://github.com/esatterwhite/node-seeli/compare/v13.0.1...v13.0.2) (2021-11-03) + + +### Bug Fixes + +* **command**: exclude interactive flag from tree if disabled [0d0ee94](https://github.com/esatterwhite/node-seeli/commit/0d0ee94d1cb39170744ad78e223ad54d85ebd4ce) - Eric Satterwhite + ## [13.0.1](https://github.com/esatterwhite/node-seeli/compare/v13.0.0...v13.0.1) (2021-10-31) diff --git a/docs/404.html b/docs/404.html index ceec0df..debfa28 100644 --- a/docs/404.html +++ b/docs/404.html @@ -8,13 +8,13 @@ - + -

404

Looks like we've got some broken links.
+ - + diff --git a/docs/assets/img/guides/command-events.gif.html b/docs/assets/img/guides/command-events.gif.html index 1a198da..7cdfb42 100644 --- a/docs/assets/img/guides/command-events.gif.html +++ b/docs/assets/img/guides/command-events.gif.html @@ -8,7 +8,7 @@ - + @@ -41,6 +41,6 @@
- + diff --git a/docs/assets/img/guides/interactive-choices.gif.html b/docs/assets/img/guides/interactive-choices.gif.html index 1a198da..7cdfb42 100644 --- a/docs/assets/img/guides/interactive-choices.gif.html +++ b/docs/assets/img/guides/interactive-choices.gif.html @@ -8,7 +8,7 @@ - + @@ -41,6 +41,6 @@
- + diff --git a/docs/assets/img/guides/interactive-conditional.gif.html b/docs/assets/img/guides/interactive-conditional.gif.html index 1a198da..7cdfb42 100644 --- a/docs/assets/img/guides/interactive-conditional.gif.html +++ b/docs/assets/img/guides/interactive-conditional.gif.html @@ -8,7 +8,7 @@ - + @@ -41,6 +41,6 @@
- + diff --git a/docs/assets/img/guides/interactive-manual.gif.html b/docs/assets/img/guides/interactive-manual.gif.html index 1a198da..7cdfb42 100644 --- a/docs/assets/img/guides/interactive-manual.gif.html +++ b/docs/assets/img/guides/interactive-manual.gif.html @@ -8,7 +8,7 @@ - + @@ -41,6 +41,6 @@
- + diff --git a/docs/assets/img/guides/interactive-masking.gif.html b/docs/assets/img/guides/interactive-masking.gif.html index 1a198da..7cdfb42 100644 --- a/docs/assets/img/guides/interactive-masking.gif.html +++ b/docs/assets/img/guides/interactive-masking.gif.html @@ -8,7 +8,7 @@ - + @@ -41,6 +41,6 @@
- + diff --git a/docs/assets/img/guides/interactive-multichoice.gif.html b/docs/assets/img/guides/interactive-multichoice.gif.html index 1a198da..7cdfb42 100644 --- a/docs/assets/img/guides/interactive-multichoice.gif.html +++ b/docs/assets/img/guides/interactive-multichoice.gif.html @@ -8,7 +8,7 @@ - + @@ -41,6 +41,6 @@
- + diff --git a/docs/assets/img/guides/ui-alerts.gif.html b/docs/assets/img/guides/ui-alerts.gif.html index 1a198da..7cdfb42 100644 --- a/docs/assets/img/guides/ui-alerts.gif.html +++ b/docs/assets/img/guides/ui-alerts.gif.html @@ -8,7 +8,7 @@ - + @@ -41,6 +41,6 @@
- + diff --git a/docs/assets/img/guides/ui-messages.gif.html b/docs/assets/img/guides/ui-messages.gif.html index 1a198da..7cdfb42 100644 --- a/docs/assets/img/guides/ui-messages.gif.html +++ b/docs/assets/img/guides/ui-messages.gif.html @@ -8,7 +8,7 @@ - + @@ -41,6 +41,6 @@
- + diff --git a/docs/assets/img/guides/ui-progress.gif.html b/docs/assets/img/guides/ui-progress.gif.html index 1a198da..7cdfb42 100644 --- a/docs/assets/img/guides/ui-progress.gif.html +++ b/docs/assets/img/guides/ui-progress.gif.html @@ -8,7 +8,7 @@ - + @@ -41,6 +41,6 @@
- + diff --git a/docs/assets/img/guides/ui-prompts.gif.html b/docs/assets/img/guides/ui-prompts.gif.html index 1a198da..7cdfb42 100644 --- a/docs/assets/img/guides/ui-prompts.gif.html +++ b/docs/assets/img/guides/ui-prompts.gif.html @@ -8,7 +8,7 @@ - + @@ -41,6 +41,6 @@
- + diff --git a/docs/assets/img/guides/ui-spinners.gif.html b/docs/assets/img/guides/ui-spinners.gif.html index 1a198da..7cdfb42 100644 --- a/docs/assets/img/guides/ui-spinners.gif.html +++ b/docs/assets/img/guides/ui-spinners.gif.html @@ -8,7 +8,7 @@ - + @@ -41,6 +41,6 @@
- + diff --git a/docs/assets/js/10.ffb14331.js b/docs/assets/js/10.41e3ea46.js similarity index 94% rename from docs/assets/js/10.ffb14331.js rename to docs/assets/js/10.41e3ea46.js index 90a34b8..29bf610 100644 --- a/docs/assets/js/10.ffb14331.js +++ b/docs/assets/js/10.41e3ea46.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{407:function(t,e,s){"use strict";s.r(e);var o=s(31),n=Object(o.a)({},(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("p",[t._v("Object orientated, event driven , "),s("strong",[t._v("Interactive")]),t._v(" CLI module. Seeli aims to give you the tools to compose\nA command line interface the way you want it, and otherwise, stays out of your way.")]),t._v(" "),s("p",[s("img",{attrs:{src:"https://raw.githubusercontent.com/esatterwhite/node-seeli/master/assets/seeli.gif",alt:"gif",title:"interactive mode"}})]),t._v(" "),s("h3",{attrs:{id:"features"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#features"}},[t._v("#")]),t._v(" Features")]),t._v(" "),s("ul",[s("li",[t._v("Interactive Commands")]),t._v(" "),s("li",[t._v("Sub-Commands")]),t._v(" "),s("li",[t._v("Asnyc Functions")]),t._v(" "),s("li",[t._v("Evented flag hooks")]),t._v(" "),s("li",[t._v("Integrated Progress Indicators")]),t._v(" "),s("li",[t._v("Support for Ad-Hoc input prompting")])])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{409:function(t,e,s){"use strict";s.r(e);var o=s(31),n=Object(o.a)({},(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("p",[t._v("Object orientated, event driven , "),s("strong",[t._v("Interactive")]),t._v(" CLI module. Seeli aims to give you the tools to compose\nA command line interface the way you want it, and otherwise, stays out of your way.")]),t._v(" "),s("p",[s("img",{attrs:{src:"https://raw.githubusercontent.com/esatterwhite/node-seeli/master/assets/seeli.gif",alt:"gif",title:"interactive mode"}})]),t._v(" "),s("h3",{attrs:{id:"features"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#features"}},[t._v("#")]),t._v(" Features")]),t._v(" "),s("ul",[s("li",[t._v("Interactive Commands")]),t._v(" "),s("li",[t._v("Sub-Commands")]),t._v(" "),s("li",[t._v("Asnyc Functions")]),t._v(" "),s("li",[t._v("Evented flag hooks")]),t._v(" "),s("li",[t._v("Integrated Progress Indicators")]),t._v(" "),s("li",[t._v("Support for Ad-Hoc input prompting")])])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/11.ac3b4ae0.js b/docs/assets/js/11.758df007.js similarity index 99% rename from docs/assets/js/11.ac3b4ae0.js rename to docs/assets/js/11.758df007.js index feee9a2..de125cf 100644 --- a/docs/assets/js/11.ac3b4ae0.js +++ b/docs/assets/js/11.758df007.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{408:function(e,t,r){"use strict";r.r(t);var a=r(31),i=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"changelog"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#changelog"}},[e._v("#")]),e._v(" Changelog")]),e._v(" "),r("h2",{attrs:{id:"v12-3-0-2021-03-19"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v12-3-0-2021-03-19"}},[e._v("#")]),e._v(" v12.3.0 (2021-03-19)")]),e._v(" "),r("ul",[r("li",[e._v("chore(release): 12.3.0 [skip ci] "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/04d5f307ad77b7bf6c502b8d37c374cb51addde2",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fix(command): fix interactive prompts for repeating numbers "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c810602368a0a8e6470e1fd7b1b2c339299342cf",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("feat(command): add a command method to convert flags to prompts "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/5817b3438fd00117361175dba13fd63bb86a7e66",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v12-2-0-2021-03-02"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v12-2-0-2021-03-02"}},[e._v("#")]),e._v(" v12.2.0 (2021-03-02)")]),e._v(" "),r("ul",[r("li",[e._v("chore(release): 12.2.0 [skip ci] "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/eebfd076f6fbc5b726591487c6081e926248d84e",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("feat(seeli): add basic support for plugins "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/782a06602f35fbb7fdc2a56f95f030bfd5afa229",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v12-1-4-2021-03-01"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v12-1-4-2021-03-01"}},[e._v("#")]),e._v(" v12.1.4 (2021-03-01)")]),e._v(" "),r("ul",[r("li",[e._v("chore(release): 12.1.4 [skip ci] "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/628e6b11454e6c743bd4200f7bd92bd3bd13fb97",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fix(command): fix resolving of subcommands "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/6df97768466b6339cd9e74a7e450099d4070b19f",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v12-1-3-2021-03-01"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v12-1-3-2021-03-01"}},[e._v("#")]),e._v(" v12.1.3 (2021-03-01)")]),e._v(" "),r("ul",[r("li",[e._v("chore(release): 12.1.3 [skip ci] "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/3840f2f4f659c03940eaa445f6f23c23c99317d9",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fix(help): allow printing for invalid commands "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/1a13e9c8d3242d75bc1815269dca04bee24e92f0",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v12-1-2-2021-02-26"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v12-1-2-2021-02-26"}},[e._v("#")]),e._v(" v12.1.2 (2021-02-26)")]),e._v(" "),r("ul",[r("li",[e._v("chore(release): 12.1.2 [skip ci] "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/f5f287e57338aa2f5ce931abaafaaa80b20ae64d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("doc: include more readme badges "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/b1c823400dba133d9796f2b6af556629ec9b5774",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v12-1-1-2021-02-26"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v12-1-1-2021-02-26"}},[e._v("#")]),e._v(" v12.1.1 (2021-02-26)")]),e._v(" "),r("ul",[r("li",[e._v("chore(release): 12.1.1 [skip ci] "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/e728552e2edd9f867dbdc2ca55ebb1132254bc98",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fix: correct release rules for semantic-release "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/45d322d8e8b0b20a49a861c40d2e98e92e92db48",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v12-1-0-2021-02-16"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v12-1-0-2021-02-16"}},[e._v("#")]),e._v(" v12.1.0 (2021-02-16)")]),e._v(" "),r("ul",[r("li",[e._v("chore(release): 12.1.0 [skip ci] "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/974e95415bf8222244bd5d3f75f6fcfb62e8f174",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("feat(conf): config is loaded from package.json "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/25a1c2bb9b8b039e4263997f90f33e0336fb282b",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("chore(deps): pkg-up@3.1.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/48cc6e62c12b9f4b35556d7d586d87c8910c90a0",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("chore(package): remove package-lock.json "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/dcc05699b2a14edf67de4bb139975c602d73170d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v12-0-0-2021-02-14"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v12-0-0-2021-02-14"}},[e._v("#")]),e._v(" v12.0.0 (2021-02-14)")]),e._v(" "),r("ul",[r("li",[e._v("chore(release): 12.0.0 [skip ci] "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/5a4860adcc737435de0b6a77f69f40db11432b4d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("feat(command): support for sub commands "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/a99346cb011473ac03b62f247cf522295eb36788",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("chore(deps): semantic-release@17.3.9 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/13ece05a42f1ca798668eed88bba94ca2934048f",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("chore(deps): eslint-config-codedependant@2.1.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/e932a2b6bcdfa049cd2b04e26d50b3a848f88e28",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("chore(deps): ora@5.3.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c17d7b04a382bdaa026ecf3b282c94a78b89e451",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("chore(deps): nopt@5.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4b4214b187d0fac86e35068d5978dfc013c06051",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("chore(deps): cliui@7.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/29e1bfd7697cf89a3d2756b07f17cf7e09defff6",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: inquirer@7.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c19a25ac643638dcb4f01f76c672df3e4019f1d2",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v11-0-2-2021-02-13"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v11-0-2-2021-02-13"}},[e._v("#")]),e._v(" v11.0.2 (2021-02-13)")]),e._v(" "),r("ul",[r("li",[e._v("chore(release): 11.0.2 [skip ci] "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/3a207e298d4ab68425b153f41e9cc1c97a492e2f",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("build(deps-dev): bump semantic-release from 17.1.1 to 17.2.3 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/3146de66e4e3a81b8f896d62d55475f452e7c2b3",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v11-0-1-2020-09-13"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v11-0-1-2020-09-13"}},[e._v("#")]),e._v(" v11.0.1 (2020-09-13)")]),e._v(" "),r("ul",[r("li",[e._v("chore(release): 11.0.1 [skip ci] "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/43495cf75a5d5960be4adf338eed317dbba2c8ae",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fix(release): update changelog title to be a header "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/fe6ae68c60b5bdc05992fcfbbc09678d98fe38c1",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Update CHANGELOG.md "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/9d7d0d1500960ed8e38eac01ccdb25fbc63dd42c",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v11-0-0-2020-09-13"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v11-0-0-2020-09-13"}},[e._v("#")]),e._v(" v11.0.0 (2020-09-13)")]),e._v(" "),r("ul",[r("li",[e._v("chore(release): 11.0.0 [skip ci] "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/7c3d7b54114a662a2d8b21109b858f39ac528aed",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("feat!: drop support for node 8 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/cacbc04fff1381bc817edbdb6c8fd64a0e7316bb",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("chore(lint): update code to pass lint "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/06f5db4fd60a8777214146de4cbe03457eb3c7a7",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("wip "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/eb3d7fbfddc5a02c12726a1db2a5b7b09bd486a0",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("chore(dep): eslint-config-codedependant@1.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/15e11d7b871260888a5e686eb12337d1bad6d5b2",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("dep: eslint@7.9.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/e4cb7b4c62a067e4e590fe70996e88592f713961",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v10-0-2-2020-07-18"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v10-0-2-2020-07-18"}},[e._v("#")]),e._v(" v10.0.2 (2020-07-18)")]),e._v(" "),r("ul",[r("li",[e._v("chore(release): 10.0.2 [skip ci] "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/969d7eee599aeee0e84bd0d12c7b2b123daf4b19",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("ci: update workflow with new package token "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c59c93f11cc50dbd2b0a4fca25e219ad136c1b7e",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("ci: integrated semantic release w/ github actions "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/0d013703dd5c2099c02164717ed89b0cdc7d2b56",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fix(test): moving the tap config into package.js "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/b4eb31c36f737434871ddb23ae2dc1bb03630766",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("dep: semantic-release@17.1.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/daf17319bbd61e6269adc17b8de8a16472c9eb50",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v10-0-1-2020-07-03"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v10-0-1-2020-07-03"}},[e._v("#")]),e._v(" v10.0.1 (2020-07-03)")]),e._v(" "),r("ul",[r("li",[e._v("10.0.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/56bea86093eccb84624c3af6812f3d6508327880",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("conf: wrap os calls in try catch. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/83e23121d11d8f8c36f40f206855b0cc4735d089",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("update change log "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/55b9bc29ecb5f9bea03ac8869ed0c56505e85d82",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v10-0-0-2020-06-01"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v10-0-0-2020-06-01"}},[e._v("#")]),e._v(" v10.0.0 (2020-06-01)")]),e._v(" "),r("ul",[r("li",[e._v("10.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/edbe192b3e95ec64a3467ee0a92fa495a51fb313",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("pkg: softens the error handling "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/33071952aa777d37cc8272ef2b0d11f1895fc79c",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v9-0-0-2020-04-14"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v9-0-0-2020-04-14"}},[e._v("#")]),e._v(" v9.0.0 (2020-04-14)")]),e._v(" "),r("ul",[r("li",[e._v("9.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/ce2bbbbcf882962daf1bff182d535422f2677f8e",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("example: include updated demo gif and asset files "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/44b4f4ed143cff0133e00f36feb82ad328d143ba",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("example: include updated demo gif and asset files "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/fcc9246318d6f520bdb8e3f2fc6b321d61993e20",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("test: increase test coverage "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/9cad6de6052dd32ed32107353a80a7f70dcd6fef",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: static run function on command class "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/e6108892c35283eab6da91682cb34592b5165aff",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("script: shell script to generate a change log "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/529dc00a5863dfe0c2e9210e0dd52d9f047c6968",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: various code cleanups "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4ebab9b74ea98ce2ed4ea01f5bb8546af549325e",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("commands: allow commands to be registered by their own name property "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/9fbef1fc4591d83ea76ab99946365f8fc8587ab2",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("domain: removing the domain wrapper. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/7d693831b46827340d9d5949c79f4903a0466d42",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: nopt@4.0.3 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/3940bfcd324e02e4a5122c133a2052e4babb567d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("desp: chalk@4.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/2a56547b8fd7d016a54044a760b58691b2426343",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps[dev]: cli-spinners@2.3.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/748b4f0d7ae63b0b47189797fbe34391358705d7",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps[dev]: check-pkg@2.1.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4b4b2e4945f7ec2df88976658102c2f0dbd79ec9",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: inquirer@7.0.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c7863c45829d541854c3475375fd66f804a01c66",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: mout@1.2.2 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c099f083597e6efcca041c3c650b469b63c2b4f8",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: string-width@4.2.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/5765b4732355c8904408a826dbb2c748ea6f6835",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: stip-ansi@5.2.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/16494dbd40b42df1a107f5539ee1b300d48852f7",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps[dev]: tap@14.10.2 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/e869685bc35e46a627c137f67176a5aa74c02cec",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: ora@4.0.3 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/79907410c96122d69dd09c6551af66c1bb5f169f",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("desp: cliui@6.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/0b76cfeace3821086079065d49bbbe31b55f20c3",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: chalk@3.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/a468f449b4ca5c14395052dd69205597c1e64963",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("create publish file "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/2adcd8c4d8df50183002351c025a1f5fb794f39d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v8-3-0-2019-08-12"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v8-3-0-2019-08-12"}},[e._v("#")]),e._v(" v8.3.0 (2019-08-12)")]),e._v(" "),r("ul",[r("li",[e._v("8.3.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/7c12f07a0c1fdf3d7372c522ae67fe4461c8f665",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("pkg: bump minimum node version to 8 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/9ef7853de5da91f92c9534dbb9fafca53c6c25c4",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v8-2-2-2019-08-12"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v8-2-2-2019-08-12"}},[e._v("#")]),e._v(" v8.2.2 (2019-08-12)")]),e._v(" "),r("ul",[r("li",[e._v("8.2.2 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/548c93d2996f52d43be67ffaaaeaf27f552df238",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("dep: inquirer@6.5.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/f2694bf4317254c2cfb44723abb68a7be0ca4459",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("dep: tap@14.6.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/7898553d7a12b0acab78f0da9cf22087743884d4",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v8-2-1-2019-04-19"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v8-2-1-2019-04-19"}},[e._v("#")]),e._v(" v8.2.1 (2019-04-19)")]),e._v(" "),r("ul",[r("li",[e._v("8.2.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/706ad7d5333d4c32a2dcbe306ae969ac988aac20",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps[dev]: tap@12.6.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/3bf4bd0e15d766604e586b9d9e03c13fad20aeeb",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("cliui@5.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/6d9e0c3fdce97bc092277361a6ebb4270f559c34",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: inquirer@6.3.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/fb70efb6a7c8f220243b2997645dff222d5ca853",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: mout@1.1.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/409e6d755b5ebb4e188397e46327515ebab8fdec",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: strip-ansi@5.2.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/5697d628e2231d78fbd503446f36b3e5138a666c",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: string-width@4.1.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/7f641c8185cc10d3de530e7ccfc1b92b433ad0ab",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: ora@3.4.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/74c07ab566a9437065c8a691d78d013f4d73b438",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: debug@4.1.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/17b8be48a55c3dce002d3dd6fed9d9f242c78899",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: clone@2.1.2 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/d8829246a6d66356f7dfd456bcc929b143a39149",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: chalk@2.4.2 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/d13164d27935b9d9c27fc98866f648ea4d71afc8",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: abbrev@1.1.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8ef884257a31a805f61c008da6c4c85e17469540",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v8-2-0-2018-06-05"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v8-2-0-2018-06-05"}},[e._v("#")]),e._v(" v8.2.0 (2018-06-05)")]),e._v(" "),r("ul",[r("li",[e._v("8.2.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/2fe87cc9546cf880718f55ea6bfe3ccb47b9d1df",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("doc: fix bad flag example "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/86363253bb36c1ad24ba0130ed69d19652a51f63",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: remove jsdoc "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/573e7e9791f331e8ce9279c9c02fbb224e6fd182",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: tap@12.0.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/7e1b5a5b3149997529904ff260eccc5eb559b145",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: inquirer@6.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/74709b1d706c210739899be2cb06afeb0da44c59",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: cliui@4.1.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/15af84822fbe1fdef1ba16389d01766d871829b8",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: chalk@2.4.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/b9342fed0e06c3f4ac83a07aebed9d2819b9052c",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Update README.md "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/48b97b1710842b7fd89e4a85d0bb8e67db3c37d6",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Update README.md "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/961ac6bbddfcc6fc27f3ad9e9342084eab2d8920",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Update README.md "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/430ce98a492da17a09ffee15145971da1f08e453",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v8-1-3-2018-02-11"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v8-1-3-2018-02-11"}},[e._v("#")]),e._v(" v8.1.3 (2018-02-11)")]),e._v(" "),r("ul",[r("li",[e._v("8.1.3 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/35d6dfdc57e304eb21573ffe31db2697abc8f263",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("seeli: unbind the chalk functions "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/f3f40da6cd883861f4442afd3ffb2c475681e1ae",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v8-1-2-2018-02-03"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v8-1-2-2018-02-03"}},[e._v("#")]),e._v(" v8.1.2 (2018-02-03)")]),e._v(" "),r("ul",[r("li",[e._v("8.1.2 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c5edd04fb551ad7587a74a602a43d6689661c7d0",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: add interactive options to flag "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/0d4c2b3502257edb9354256048257797fe70c883",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v8-1-1-2018-02-01"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v8-1-1-2018-02-01"}},[e._v("#")]),e._v(" v8.1.1 (2018-02-01)")]),e._v(" "),r("ul",[r("li",[e._v("8.1.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/dc07079d4755f89dc58a514fdb2fed693c0f9400",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: ora@1.4.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/630a61f8aafaeb679263878b5c0732fd4976d01c",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v8-1-0-2018-01-31"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v8-1-0-2018-01-31"}},[e._v("#")]),e._v(" v8.1.0 (2018-01-31)")]),e._v(" "),r("ul",[r("li",[e._v("8.1.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/1020f85e476a5426dd608958dc32773672571231",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: adds a multi option for list prompts "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/5ffeb6f540e9782c91fbd79b3a47f853f324fcce",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v8-0-1-2018-01-07"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v8-0-1-2018-01-07"}},[e._v("#")]),e._v(" v8.0.1 (2018-01-07)")]),e._v(" "),r("ul",[r("li",[e._v("8.0.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4621cc863c240bb9f1da50e349289217dcc60f02",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: fixes nested flag names in interactive mode "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/eb122cfbd01756fee86c4dd8acca5f54b9ae645a",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Update README.md "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/06b7271bbc03375cd844bb08c8129363969f82cc",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Update README.md "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/ca4e3cb485b8da552b4f5bb5dc441bcd2b6b799b",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v8-0-0-2017-12-31"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v8-0-0-2017-12-31"}},[e._v("#")]),e._v(" v8.0.0 (2017-12-31)")]),e._v(" "),r("ul",[r("li",[e._v("8.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/074eb9895c3ce8bcf897106bcd5601c4f965daab",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("exapmles: ui prompt / confirm example "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/e2073f3f52c9cfd6f7f3e3d89d5bfd9b427192d3",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("pkg: bumps minimum node version to v7 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/6e109fee0b66bc9152d20160a3deffa1d3b9886d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("usage: don't show the interactive flag if the comand isn't interactive "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/97b726431a071910e8acee10e53c20c718cd8cc5",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("examples: more examples "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4ef03cc31f77d61a1a54eafea7c7987c79f2a1f6",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("seeli: add a colorize shortcut function "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/fd61ccf6e16b8938e94d416773dd671f7148cc77",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("doc, examples: more exmples, updated Docs "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/d4dac02272f35e1d31568c094df5c4c0611bc3f2",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("lint: no functional changes "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/e74cb96331aaea89fd12b93ae19b78473b9c1b89",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("test: add hook for constructor event handlers "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/17db092eaa81588530e3b4f63b38077465613d96",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("usage, from: constrain flag descriptions to 80 cols max "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/1a441fa1569b45a7d3d9f987e5780ddd285a8762",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: string-width@2.1.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c69a20cc5276f559d1cadc68d3fd87b267afd3ae",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("test: use rendered fixtrues for output tests "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/0deefb63e9999499254eab6b2393b6ede3ea60c1",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("exmples: clean up the examples dir "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/f7afea359a83562aa9caada64ea7170112d48499",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("8.0.0-0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4cac14d6e388ee81140b5b69beda76f2cc53ee87",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("doc, command: update command example in jsdoc "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/f28314602a602ab99b01f9edc4e330574340e537",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("seeli: only strings returned from "),r("code",[e._v("run")]),e._v(" are written to stdout "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/67af6fd3f31d1a2a0f059afea2c2350ef8f89b93",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("examples: fix up example hello command "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/0b930a466a4922ac15328bb9cd7aa4b668c1b0ff",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("test: use content event to get content instead of monkeypatching console "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/e06787735a7c85bd78e3eb6a2a4b20b031956f26",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: fixes auto even handler bugs "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/589e83e16c6c0bf0964989c72ac2af7874c2a5ab",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("examples: adding some additional commands for the example "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/fa0e1183629d7da1611da2cf6e064f7f39f91407",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("usage, from: generate a new ui instance on each call. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/1c3adba752fab01bfc4125353a1a8e53b4912882",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: prettify nested flags for interactive mode "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4eb0c082fba013a42d796e749fea34a49429868d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("ci: disable node v6 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/34141c68f83ad3886da65b55722c13e2599df8ad",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command, usage: better formatting on help output "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/d732cf6cd77fa7f4335b6ce9875e4ad9ee3f7a53",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: cliui@4.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/90a58ae1ca62ca99e3b9d18f53e407ddecf8aaae",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: emit content in non-interactive mode "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/0c0293dce2ff7e651b02393a7855a5b0dcfc4f53",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: include an instance of ora "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8b41ff6133c2961c8e1ce2703bd46cb0ec5af568",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: ora@1.3.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/3ee172db1996f454b67ff3f4c36338ba7860de44",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: expose a propmt function a debug helper "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/d801af2f493dec681def6d2205fe98aa024e021f",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("replace callbacks and continuations with promises and async await "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/a1dd61af7cd03b4124e14893c3292477667d1cb6",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("8.0.0-0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/bd72638f6c0b115c66094fea5f4d8fe670c1356f",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("doc, command: update command example in jsdoc "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/98c156d1696b7fc5edab90312c54e27fcc1ce451",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("seeli: only strings returned from "),r("code",[e._v("run")]),e._v(" are written to stdout "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/be8d1bbdd274819f61a81c2ab213a3a433264986",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("examples: fix up example hello command "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/faa68a1e967ee5878f2e0f559c36a33ad5e7438a",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("test: use content event to get content instead of monkeypatching console "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8ee6f0e68f0b086711cba4b50c0cb60bfcd027d4",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: fixes auto even handler bugs "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/66e5e33d4d9f6d85d4cb8063cb82fd61d76c4e21",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("examples: adding some additional commands for the example "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/14b9f4310b8e5161f7adfbf5a33a1d23c03e089a",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("usage, from: generate a new ui instance on each call. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4ba39609ae75c89052fa800b392595c620b6a834",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: prettify nested flags for interactive mode "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/ff5e71fc3a0417d3523f72c5890916ba25b687f5",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("ci: disable node v6 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/49204b208a90eb53c1d29480f72dbfe25fc6a2c1",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command, usage: better formatting on help output "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/df07289270407fd10d657cc26e296be58ade9dcb",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: cliui@4.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/3e07ad588c7773b84084d35e8c027017488dfd03",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: emit content in non-interactive mode "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/75a037fcb88e07b86b3fef905c2043d19fc067ad",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: include an instance of ora "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/389b7a677bdde40cb4b16fc0f004bc5fe32a50c2",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: ora@1.3.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/17e92a742cf93f9e346cc4a6931f29eb7e246cdc",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: expose a propmt function a debug helper "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/0314a3f6e4670a00e79d72cdb00df772bf7f0f8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("replace callbacks and continuations with promises and async await "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/9f6ffd8a51c15caea3d19a0055b2b64575ef2612",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v8-0-0-0-2017-12-26"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v8-0-0-0-2017-12-26"}},[e._v("#")]),e._v(" v8.0.0-0 (2017-12-26)")]),e._v(" "),r("ul",[r("li",[e._v("8.0.0-0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/bd72638f6c0b115c66094fea5f4d8fe670c1356f",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("doc, command: update command example in jsdoc "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/98c156d1696b7fc5edab90312c54e27fcc1ce451",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("seeli: only strings returned from "),r("code",[e._v("run")]),e._v(" are written to stdout "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/be8d1bbdd274819f61a81c2ab213a3a433264986",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("examples: fix up example hello command "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/faa68a1e967ee5878f2e0f559c36a33ad5e7438a",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("test: use content event to get content instead of monkeypatching console "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8ee6f0e68f0b086711cba4b50c0cb60bfcd027d4",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: fixes auto even handler bugs "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/66e5e33d4d9f6d85d4cb8063cb82fd61d76c4e21",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("examples: adding some additional commands for the example "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/14b9f4310b8e5161f7adfbf5a33a1d23c03e089a",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("usage, from: generate a new ui instance on each call. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4ba39609ae75c89052fa800b392595c620b6a834",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: prettify nested flags for interactive mode "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/ff5e71fc3a0417d3523f72c5890916ba25b687f5",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("ci: disable node v6 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/49204b208a90eb53c1d29480f72dbfe25fc6a2c1",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command, usage: better formatting on help output "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/df07289270407fd10d657cc26e296be58ade9dcb",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: cliui@4.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/3e07ad588c7773b84084d35e8c027017488dfd03",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: emit content in non-interactive mode "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/75a037fcb88e07b86b3fef905c2043d19fc067ad",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: include an instance of ora "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/389b7a677bdde40cb4b16fc0f004bc5fe32a50c2",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: ora@1.3.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/17e92a742cf93f9e346cc4a6931f29eb7e246cdc",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: expose a propmt function a debug helper "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/0314a3f6e4670a00e79d72cdb00df772bf7f0f8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("replace callbacks and continuations with promises and async await "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/9f6ffd8a51c15caea3d19a0055b2b64575ef2612",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v7-0-0-2017-12-16"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v7-0-0-2017-12-16"}},[e._v("#")]),e._v(" v7.0.0 (2017-12-16)")]),e._v(" "),r("ul",[r("li",[e._v("7.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/69a5234c217b66cddbad1a86b8ac3e69bdc2ed70",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("lint: remove unuse vars "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/cc97450c3e534e88734f3dc8ffd7ab907c7b3ac6",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("doc: update read me with new config options "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/604623e700f1a289c9945feb14241f2ddc5143d9",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: inject an invalid handler on run to catch type errors "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/a72974ca5c8f32d2af5a4e44b1cf68abd91424df",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: pass answers back to interactive questions "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/765c4f256297e3863f0e9b73f62b6c3c0a2e6e7d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: fix interactive validation function "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/fce88c1c34cfbd50b6027ead48a68b763267f920",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("type-of: fixes type resolution for functions "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/7cb3fc8ca01e7ab1e4797c6717e449e70f62c173",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("registry: delete existing commands on reset "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/5a3c38d8337e2501f9cd33b758bd1592f100341d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("usage, command move object helpers to lang "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c9902249ec91e342425f5191f9a6abbf6a4e6976",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("use callbacks for default behavior instead of events "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/29d98ac931c34ce16f8a922b0927a8676049461a",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v6-0-3-2017-12-09"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v6-0-3-2017-12-09"}},[e._v("#")]),e._v(" v6.0.3 (2017-12-09)")]),e._v(" "),r("ul",[r("li",[e._v("6.0.3 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/df91cac5c16b01df77ce8522a445fd57438d3320",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("helpers: add chalk noop fallback "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/957fb8720fb9705e0a874e3ef08495ac4b66ea37",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v6-0-2-2017-11-24"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v6-0-2-2017-11-24"}},[e._v("#")]),e._v(" v6.0.2 (2017-11-24)")]),e._v(" "),r("ul",[r("li",[e._v("6.0.2 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/044f79636b6e0507b8e05204fa39316f30f21c0f",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: set nested flags in interactive mode "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8c23a51ab3c843a501d82052663088da30343c2b",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v6-0-1-2017-11-22"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v6-0-1-2017-11-22"}},[e._v("#")]),e._v(" v6.0.1 (2017-11-22)")]),e._v(" "),r("ul",[r("li",[e._v("6.0.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/9d7c3b0e86e2dbf955b59d9f43976ea7ad7112c0",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("update title gif "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/45abc427c3988320831858c80ec8f314c10a88fa",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("doc: update docs with latest version "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/91f47e5481f4dd3e07ee08daa098fdb7e47d65a0",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("test: remove flaky test "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/1b2030179fe24ac2967b76d9d1fa985d3bd9d583",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("doc: Update Readme and demo gif "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/73e23fbd2277a760a6c8e6b21dca09c11b4e036a",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("object: remove key-for. Not used "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/429248faf2ee08b79f99ba2b09017e8950be0656",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("doc: update readme with nested docs "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8516988517100a85aa79bf7b7848b31b241b21fd",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v6-0-0-2017-11-20"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v6-0-0-2017-11-20"}},[e._v("#")]),e._v(" v6.0.0 (2017-11-20)")]),e._v(" "),r("ul",[r("li",[e._v("6.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/bdc50dac234334bcc6d694f9a00bdac49edabd6d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("[BREAKING] seeli, conf: exitOnError is a config option instead of a prop "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/3979f5f28efc1b7f16a72feec8c856a264446fce",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: argv resolves nested flags "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/dddb5ce8e18a3cdd6d6eed9a6a18f243ad912bdd",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("object: object functions for dealing with nested keys "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/0f47ba6fef548993b36bddd321dc64c9461e89f3",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: inquirer@4.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/1c2121645a663c8c8d31a5074714fd0aaee6c0b8",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: debug@3.1.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8425665462b85c3a39e77ee012c01364efd2a0d4",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("pkg: lock file "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/7572a13acdbff9e82b9c235bedae17db2f3fb15f",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v5-0-0-2017-09-25"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v5-0-0-2017-09-25"}},[e._v("#")]),e._v(" v5.0.0 (2017-09-25)")]),e._v(" "),r("ul",[r("li",[e._v("5.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4d5af69dec549f78cf3e5bc79180b976be155826",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("lib: linting "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/310c4c37aaa3b6446a817a385ca42bcf03532cb4",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: Adds strict option on command instance "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/1c4d01046d2eb5d329b10e9e7debae64be9c055f",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("test: replace moca tests with tap "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/f2a2d3d0d4da17e892d01abc38c9ff1f463893d1",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: replace chalk.stripColors with strip ansi pkg "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/eb5aa4d32e204c29e46e9003a76ac5a2d97b1662",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: tap@10.7.2 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/1d480f7d905e8f2c2e9e9bd8c247863ce9b87af2",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("dep: stip-ansi@4.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/830fde8895da9ac8daf460de543a614f388229ef",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("dep: chalk@2.1.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/2f6a1072c6db9416350830ef72bed8cec6379a1a",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("pkg: remove the bundled deps declaration. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/20543c837942c0f31edb62024c6e492848d36568",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("lib: some general clean ups "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/2025b0e190dbb7091a5a579fdb7acee2ff73e806",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("whitespace and help format fixes "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/d2b8440d3d57e28b0e75b70e07f8bb6c624ae2e2",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v4-0-0-2017-03-19"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v4-0-0-2017-03-19"}},[e._v("#")]),e._v(" v4.0.0 (2017-03-19)")]),e._v(" "),r("ul",[r("li",[e._v("4.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/3f24d4e2125ed2bc4d5023d33996760151dda459",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: update ourdated packages "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8d627b2b87b99c67bc01f055485b09c8d7a58bc3",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: execute each question individually "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/1bfd33a89c6a578761ec2defb5a43849dbeb1056",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: update outdated packages "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/1908aebf692ef1a3cd5796f6bb3990cecddc09ca",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("build: test on node v6 and v7 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/104dcd5a6ef1ac7b503a1ab6e432a627129cda99",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("lib: retabbing "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/0918d658650daae3387d51c2afae137d2b0deafe",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("ignore .save files "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4bf2bf099f97a3d929ac82cb91d1b52f7026ee8d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v3-0-1-2016-10-08"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v3-0-1-2016-10-08"}},[e._v("#")]),e._v(" v3.0.1 (2016-10-08)")]),e._v(" "),r("ul",[r("li",[e._v("3.0.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/16a304b6194873172881e7324bfa2316afe78bc2",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("make sure to pass the data to the interactive run "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/49cab1ddb43ed07d95581529bb40117c1c429c82",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("linting, doc fixes "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/31c2f6f2725ec09361d41b5665f220bb3f5e4b6b",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("remove the util dep from command.js "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/a4e75cf93916ec56868733056be2938a75a069d0",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v3-0-0-2016-09-25"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v3-0-0-2016-09-25"}},[e._v("#")]),e._v(" v3.0.0 (2016-09-25)")]),e._v(" "),r("ul",[r("li",[e._v("3.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/35c4aa2a5062c65bd9dc533417e4356d21af1030",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fixing some module docs "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c3c8109ecf325831a2c6c639161ea23cf6a4959d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fix up the command test file "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/b54e3a0d3744c454ff4f459a212dfeaa76329760",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("remove prime from bundleddependencies "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/1e0129d89230f7ab9371a9cebc792168924d6d87",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fix some module docs in entry point "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/5d04362237120ebdc8f667a2f6c307dbd83bf30a",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("removing references to prime in entrypoint "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8a6efa8733eb13fdee54329d9d7242295a689eb1",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("updating some docs in command module "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c7ac2b4b171769325440c27e907dd5c110019451",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("remove the prim dep "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/445346a7ec5486709fea153665446631d140bddb",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("including a syntax legend in help output "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/ba4198291baee5ae9ca7a47a0a58530e3d5c4540",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("make sure domain is loaded first... "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/05b577cbd6d1d8085078af5dd936a23d954aeadf",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("make sure to add command to domain "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/69d45101936b7a8ddeef18759caf89bffa5b3b4d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("break the domain object into separate module "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/008969eef0cffb5fc0fcf995a6be0d1164613ec5",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("replace string formats with string templates "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c31b104200811dc54f6ad045c050325a1fc7fec9",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("validate and dispatch for interactive "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/9c6b77f2f79c716026cc6a0d8536d62014fd2bb0",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("linting helpers "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/bf27673adbdc53740c4b5379d1c61ad45c20fbf8",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("linting lib/command.js "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/af8f957460503dc37a597ae3bceb98a52a8e0fb5",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("remove the option mixin class "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/2776378e7eb543185b290df5a4ca032df0ebd651",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("include error message in helper command error "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/52bb595f1d1cc823bc128e43d71c6cf1d60fe13e",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("bump node requirment to 6 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/f675807400c0b6ebe33ca8b6ad7786cb8508651e",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("reassign url / path after merge for nopt "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/50722e3faff2e11b56fbd2821979c9106a0b6dd7",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("update some tests for inheritance "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/5625a3e69c18233f766426ca9667291f73b66e27",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fixin up options handeling and simplify loops "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/3f725b326283657d8e4e7cea2c1fcb6a38f0a99b",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("rework the command to use es6 class "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/6d008563798bd5865bd70bf424fe20c5462af7f4",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fixing a missing variable declaration "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/478bc1489cf5169518cce4f1d19a1215ac33bee5",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("linting "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/379f9458061eb740a21acd104e90250a1dddffaa",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v2-3-1-2016-06-29"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v2-3-1-2016-06-29"}},[e._v("#")]),e._v(" v2.3.1 (2016-06-29)")]),e._v(" "),r("ul",[r("li",[e._v("2.3.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8cd15550b39e49ae26841d3ebd6b307977e15e7a",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Use clone package over mout deepclone "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c60fde1a4313b8facd030d63227e0c95a845d101",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fixing formatting error in the README "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8f689e3414c3a42a4775f91722d41d75c2dc48f0",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v2-3-0-2016-06-28"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v2-3-0-2016-06-28"}},[e._v("#")]),e._v(" v2.3.0 (2016-06-28)")]),e._v(" "),r("ul",[r("li",[e._v("2.3.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/16d74ce3a56c0217a14e6c336acfd3cc0bb91a55",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("include the mask flag option in readme "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/be16228deb4feb457b5aa1fd3c6e6ec824bf81e1",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Switch options module back to using merge "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/1bb6ee4ddc0f662552e4ec85a94ada65f8af4eff",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("add a mask and url input flag for interactive mode "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/f9da1d9ef5a18e3974a9d46d2337398d6c937abb",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Add flag option "),r("code",[e._v("mask")]),e._v(" to allow for password field types "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/b41db3ae8f6d7420e4740e5aa7bc1be499b5fb69",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("use deep mixin over shallow to include exiting options "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/f63bf4a628b84fbcd98864bd5c98bc08b857e456",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("bumping inquirer package to 1.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/83ccb8298d439efa80db3f5e9a96da26b7104bfe",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v2-2-1-2016-06-27"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v2-2-1-2016-06-27"}},[e._v("#")]),e._v(" v2.2.1 (2016-06-27)")]),e._v(" "),r("ul",[r("li",[e._v("2.2.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/7f81e7d5b428fecdd715b8eec30038ddd92a304c",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Converting tabs to spaces in README "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/88dff9f832be39609a53a2c962b583cbebcd1778",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("adding tests around alias funcationality "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/173fcb2f91ccdb4da4cc49a72a1f020718d20881",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("include a setting for command props soe we can unset them "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4b65af149de6432d7cc17ec790dff6e494dcc9ac",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("including the debug package "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/73a43838fd4945ba860d2c801945135563a9d8ff",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Fix up the alias functionality "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/baf62f353b1a1f5bb9c04af587f5ee803227c760",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("including additional version in travis build "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/630c54abfe4b1711dd51a5b7bfaf26c6053cbfad",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v2-2-0-2016-06-20"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v2-2-0-2016-06-20"}},[e._v("#")]),e._v(" v2.2.0 (2016-06-20)")]),e._v(" "),r("ul",[r("li",[e._v("2.2.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/0d90c037bddf2c89a027e16c8e17b7e8d4e72e35",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fixing some module docs "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/6ed9f89c75771ee48d57024cae8c37b5ab23076d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Adding some simple tests for top level config functionality "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/d05191205fcc8a6e4259ac9105afc3d01475d33c",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Update Readme with additional config options "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/d1b9a1e205841f7b3da308c2426921a4f21bb388",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Load the help command from a configurable path / module "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8098b73f719a3dff00b8d19f76deaf82972338b5",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("moving the inline help generator to a module function "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/e051d6d126cdfe012f2d133deaa6ff9b06ff3aba",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v2-1-0-2016-06-18"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v2-1-0-2016-06-18"}},[e._v("#")]),e._v(" v2.1.0 (2016-06-18)")]),e._v(" "),r("ul",[r("li",[e._v("2.1.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/61043f3191527e268333c7c3c163c78c98f97933",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("remove a console statement "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/bceac808247fbbbf0d13a3e39ff25afd5561b605",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("include a url flag in the example command "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/7dfc5bc5151ee6e8cad4503f28fc85d13075d189",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Adding better help parsing for url and path "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/00fcee1da68ba80ad55231e256a07dbe352eb82b",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Use mixin instead of merge for options "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/aa18f2057b60178dc5bf2377f932d3c3e0d202cc",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("better type handling. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4abc2b4bf258230b595f2ba79f5b81c4a495fcbc",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v2-0-1-2016-05-18"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v2-0-1-2016-05-18"}},[e._v("#")]),e._v(" v2.0.1 (2016-05-18)")]),e._v(" "),r("ul",[r("li",[e._v("2.0.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4c9ea47c4c77a4472a2fcabf6d442a8f187fb1f2",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("bump version of mout "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/f39e405cbf9840cd1f8b5cb63b387a9eaa8596f4",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Allow for null / empty content "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8c61467cfb209cf73947cf87008e40e2d7967d9c",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v2-0-0-2015-12-28"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v2-0-0-2015-12-28"}},[e._v("#")]),e._v(" v2.0.0 (2015-12-28)")]),e._v(" "),r("ul",[r("li",[e._v("2.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/97961e6c8ff854b50c65542891c03954231ff0b5",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("validate should check all of the flags, not just required "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c135e81dbc32b44211c753318da35164cc0b4db8",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("include the directive command to the inquirere methods "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/60b766732c34831576b9c8291783f19fe55af01a",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v1-0-1-2015-11-21"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v1-0-1-2015-11-21"}},[e._v("#")]),e._v(" v1.0.1 (2015-11-21)")]),e._v(" "),r("ul",[r("li",[e._v("1.0.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/ab68bd168aa3b46cd11ffcff13a76b8dd226c194",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("allow directive to be passed though interactive mode "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/a497df1bd7f203490f37973f7587ef1903d23506",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v1-0-0-2015-11-21"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v1-0-0-2015-11-21"}},[e._v("#")]),e._v(" v1.0.0 (2015-11-21)")]),e._v(" "),r("ul",[r("li",[e._v("1.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/64c66a4d85dbe8d0bde03e307c23d8b2d1218cbb",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fix the stop flag condition logic "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/5012744ae227dadcc93e83cc4cc49fb42914dda6",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fixing contributors block in package "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/bb7c79e31215d749725e7f398b207fa771d5fe6d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-4-3-2015-10-30"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-4-3-2015-10-30"}},[e._v("#")]),e._v(" v0.4.3 (2015-10-30)")]),e._v(" "),r("ul",[r("li",[e._v("0.4.3 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/69c5ac46144f894b7f34aabd72d0f8c5cea1561f",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Fixes #4 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/de841476d4d621500768eb930131999994aaabf0",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-4-2-2015-10-22"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-4-2-2015-10-22"}},[e._v("#")]),e._v(" v0.4.2 (2015-10-22)")]),e._v(" "),r("ul",[r("li",[e._v("0.4.2 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4e94c05b615268e1b8825dcf1d475ac07f4e4872",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("adding dploeger as a contributor "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8a7141c6bf548d5bac922eb9ce651dba164710b0",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Rewrote to use conf.name "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/09f266020272451dea468c2afe717adb70b0be9f",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Replaced whitespace with tab to comply with convention "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c3901c1ba5fd1e30321774fdf8f193365a678929",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Uses script name instead of 'seeli'. Fixes #1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/b336e9bc185a33ebd1fadeda75bf356498f5d820",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("[NOISSUE] Code quality badge "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/27fe92fe0ebe0ac6f0dfce58061be4e3878415c7",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("[NOISSUE] White space fix "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/44d9c62a0af973780cdbb094c24ce9ecfbe2cd99",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("More Linting; "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/2e7d6d0719695efbc290a1394a7bbaa1745e133c",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("linting. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/69c48b3332e25d45c7e45b3be81f8b712343f7e6",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-4-1-2015-07-16"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-4-1-2015-07-16"}},[e._v("#")]),e._v(" v0.4.1 (2015-07-16)")]),e._v(" "),r("ul",[r("li",[e._v("0.4.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/748fbd503bfc0c38b95a2f62225cf6cfd4496ef1",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("make sure command usage uses configured colors "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/6de76acdb7dd69e4a6b9431aa5f012ff34c6f91e",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-4-0-2015-07-16"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-4-0-2015-07-16"}},[e._v("#")]),e._v(" v0.4.0 (2015-07-16)")]),e._v(" "),r("ul",[r("li",[e._v("0.4.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/6e3da7921d66a94b5470773c9d1d8737f1525c0b",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("update the Readme "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/35bfbf2ca6cf2c6e55c0e43c7a14f061c67a0d90",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Add ability to set the color of the help text bits. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/aae3890ba8480af3bf4c239bc31d462b49fc13aa",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("add a space to interactive flag separator. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/3d37cb2040f34d074c5a29342d1020d558fd1e0b",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-3-13-2015-07-15"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-3-13-2015-07-15"}},[e._v("#")]),e._v(" v0.3.13 (2015-07-15)")]),e._v(" "),r("ul",[r("li",[e._v("0.3.13 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/72b02bb649fa1935bcea576c2bc2361f01f59a56",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("updating outdated deps "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/0d6e01ee634048824958fd6c92e54afe8cc34d55",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-3-12-2015-06-23"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-3-12-2015-06-23"}},[e._v("#")]),e._v(" v0.3.12 (2015-06-23)")]),e._v(" "),r("ul",[r("li",[e._v("0.3.12 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/da57bdf2504550d32916fe69eb874ee84e10b4bd",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fixing some README typos "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/42c360ff0d08a8c5a4ad4841e0963c62bd828e66",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-3-11-2015-06-04"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-3-11-2015-06-04"}},[e._v("#")]),e._v(" v0.3.11 (2015-06-04)")]),e._v(" "),r("ul",[r("li",[e._v("0.3.11 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/a707a67bb06e3e25af515fea7efddc4a6c182fa3",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("update the validate flag option to work in non interactive mode. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/7559be5b5c399ebd0f9df3990b1018bdd09c7987",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Honor exitOnError and capture stack trace from exceptions. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c6d60d4e5aeaaa368f22b6f3f40d0d8b9f5c679c",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fixing typo in README example "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/2d087dbf5c39da92e3d5083515a48ac67b03334e",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-3-10-2015-04-12"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-3-10-2015-04-12"}},[e._v("#")]),e._v(" v0.3.10 (2015-04-12)")]),e._v(" "),r("ul",[r("li",[e._v("0.3.10 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4dc4439f2dc1e45b7190247525d3bde8aba1a0a2",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("updating chalk dep. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4b91e27a4b850d82e4e2e3a153989409b09fee3a",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("typos in README "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/3a03c6c39c36babff04b5fb86144ef4d58bc314a",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-3-9-2015-04-11"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-3-9-2015-04-11"}},[e._v("#")]),e._v(" v0.3.9 (2015-04-11)")]),e._v(" "),r("ul",[r("li",[e._v("0.3.9 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/0fd2737cfcec4de1014fe64cabb014a9977c2be5",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("updating documentation to be a bit more accurate. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8c608219eee7b2719daa426a207dc22f464fc99f",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("0.3.8 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/11d60dda4acd3e216a8fdb2a3d54c0dfd681cb0d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-3-8-2014-12-30"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-3-8-2014-12-30"}},[e._v("#")]),e._v(" v0.3.8 (2014-12-30)")]),e._v(" "),r("ul",[r("li",[e._v("0.3.8 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/11d60dda4acd3e216a8fdb2a3d54c0dfd681cb0d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fix filter logic for inquirer. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/fa2fd87771c3888b859b0223daf34a4b17bf72de",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-3-7-2014-12-30"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-3-7-2014-12-30"}},[e._v("#")]),e._v(" v0.3.7 (2014-12-30)")]),e._v(" "),r("ul",[r("li",[e._v("0.3.7 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/b44baecebf141b37af07bcd15e14512d8e92aa3c",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Remove semver from bundled deps. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/ac7522992d09863bd824cd7e53b3693821b20709",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Reset method should clear args as well. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/f6ba6352f87a24f207c996cb440f389a8a5914eb",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-3-6-2014-12-11"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-3-6-2014-12-11"}},[e._v("#")]),e._v(" v0.3.6 (2014-12-11)")]),e._v(" "),r("ul",[r("li",[e._v("0.3.6 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/1590e4c74b2bef29b8f0f51ea37f9cf8485caee2",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("updating dependancies "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/5b304210dfd638daf9b3892148ecac01901ade67",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-3-5-2014-10-06"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-3-5-2014-10-06"}},[e._v("#")]),e._v(" v0.3.5 (2014-10-06)")]),e._v(" "),r("ul",[r("li",[e._v("0.3.5 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c2b777f9edfd7caec560fb91b6a9fdfc223f5ffd",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("test for Directive passing on commands "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/b8fbc0e122003d25689e9134def378e0c39ace58",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("allowing a directive to be passed into the run function for user processing "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/67fb795f1620e8f6b8c78c4106acbad5541c7a57",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-3-4-2014-09-19"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-3-4-2014-09-19"}},[e._v("#")]),e._v(" v0.3.4 (2014-09-19)")]),e._v(" "),r("ul",[r("li",[e._v("0.3.4 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c380a3cf6bd51c1428281a1a56c02c267954e9ba",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("clean up some things in the package.json "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/24340e786ef616e547159bc6cf12214b172f02e1",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("interactive mode doesn't need two colons "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/0f296cf9fdb54887846aee9c9e075602c1f7bff0",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("keep mocha as a dev dep "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/07c53c7ceeb8af7ddc45a538f0b0a670b3aee79d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("updating some more deps "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/1892f7c0150ad60ec2309e2ff05f3fbcd28f4d69",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("updating mocha dep "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/d3d3aedf07f0bd530ace9cac6a318f90a6cd98c0",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-3-3-2014-08-27"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-3-3-2014-08-27"}},[e._v("#")]),e._v(" v0.3.3 (2014-08-27)")]),e._v(" "),r("ul",[r("li",[e._v("0.3.3 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/f3b0f25d5fefb9d9a0f5e2351b0774d0fa362dc3",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("store options in a private variable. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/b5a52a167f44af2ecc3e1575954d6219e89d1eae",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-3-2-2014-08-27"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-3-2-2014-08-27"}},[e._v("#")]),e._v(" v0.3.2 (2014-08-27)")]),e._v(" "),r("ul",[r("li",[e._v("0.3.2 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/d74e1c17e74c685f3cc4b3a959ac6d69a2d2a4e0",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("need a way to set internal values for commands. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/abb4310a24a26215af5368bd823a4689cfa7b305",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fix typo "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/2923a0cabda03046c8e0477ba1892cc0944f01bb",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fix the README "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/ecebe35ecd41bafe41e002d85f77a5da0147a4d1",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-3-1-2014-08-22"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-3-1-2014-08-22"}},[e._v("#")]),e._v(" v0.3.1 (2014-08-22)")]),e._v(" "),r("ul",[r("li",[e._v("0.3.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/f31f68cbdfc2642448578f7e40a3e4491954403e",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-3-0-2014-08-22"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-3-0-2014-08-22"}},[e._v("#")]),e._v(" v0.3.0 (2014-08-22)")]),e._v(" "),r("ul",[r("li",[e._v("0.3.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/e54e0a97e646bda548d2a9beacf2c7b77fbae5f8",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("more property and error documentation "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/e448e26ca0229e10414a923ae32a7d45c2d95a1c",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("internal unregister method "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/2b8b92ac9f06f0da8632055c660a29ede3082421",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("clean up some of the readme "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/a89e53b6716fec58deb44658f32386042517a42c",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("allowing for command aliasing "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/05fda1b147f7a1e58b9011f38f3aeecb1320c2c9",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("unregister won't work. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/3f89558ebe59fc9662dd636772bcba9e0b8f4248",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("some tests around command subclassing "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c06e86bf65b54c71cd13310f26449a4ef378f649",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fixing up some docs "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/590b3dbffc79aad7eec3b1bb7b0ec9fa41015d91",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("white space fixing "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/269e292eecd51d33732150fa9b022089f96142a2",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("starting some tests around the cli harness "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/830ea81feefbe22433b5dfc169c89dd34ec0a107",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("remove a douple console write "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/ca4aee4c97666869f1d48099d154b53dd098a1e6",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("add a required flag to example command "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/61fc9f6ea797ff4e7b56cd9942fa7539114cb39d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Move the required flag validation to a class method "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/e4ae1c2d39f95b63042924f8dd848bf71b518f3a",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("expose list from the top level cli "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/a0bb3879ad3ca5a50212f993eeff6c776eb9a7a1",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("registy methods for unregister and supress process.exit "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/01ff637441f2fcf2c3be7fffdadd712996f0d4e8",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("include deps badge "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/5e32ed26ffba4be4a0ed2b8139b167fef5ba37a6",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fix require path in example "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/9a03a95bea08a4442629e92ca7e568893110e69f",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("build status link "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/ebbf9d080188b1e06b86b2f6b73ff7e0d29b55b5",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("include link to domains in readme "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8d02c52c2e5dccff8d0f18053269c1124e3ec6b9",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("travis file "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/42726753d833f1a390e3e8b0ee418c32014ea849",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-2-2-2014-07-30"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-2-2-2014-07-30"}},[e._v("#")]),e._v(" v0.2.2 (2014-07-30)")]),e._v(" "),r("ul",[r("li",[e._v("0.2.2 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/d0abdd8fbee1851eba6fdc604706a2eee5117577",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("re-fix the image file "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/1b66fe543f9f3ad484b712e364b1ba894654ee20",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-2-1-2014-07-30"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-2-1-2014-07-30"}},[e._v("#")]),e._v(" v0.2.1 (2014-07-30)")]),e._v(" "),r("ul",[r("li",[e._v("0.2.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/fba0a11f142c3af4e427c6103484df52e442eece",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fix image in readyme "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/5af6a25664499985b017ca674b3e9174ddf4a8d2",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("ignore the assets folder from the install "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/b63560effaed73b4d3f5312471782f3b9e66e565",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-2-0-2014-07-30"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-2-0-2014-07-30"}},[e._v("#")]),e._v(" v0.2.0 (2014-07-30)")]),e._v(" "),r("ul",[r("li",[e._v("0.2.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/15168abe8132b170c037a1d625e9be0e3716cd43",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("tighten up the deployment package "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/e3685f5f457a029a9e1c617798b0830cb76f394b",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("adding npmignore file "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/41f4e2c4033a17cb580dceb4bedfee8701a4c34d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("include the non optional deps in package "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/e47cca2e576d75609ca5821ce610c26610222aeb",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Allow for required fields "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/1eeedd746629036b9ee01b1e75461e36e2b68cda",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fix up the exmaple gif "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/953e72f5c07db096653b625f4db7dbcee3c1d5d1",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("adding an example "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/ce6998672393ddd43b8acfd02f1e6047dbac7045",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fix up theflag options docs "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/b677739009dd96037b4ab90c7a2e4bf647836369",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("change blue color to green. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/16ed05e22d2ef04ba8e63a0d59c82904aff87639",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("more docs and a sample image "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8e3ebe10f4c1f9d021cc2209e0514ac1cd1fbb15",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-1-1-2014-07-29"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-1-1-2014-07-29"}},[e._v("#")]),e._v(" v0.1.1 (2014-07-29)")]),e._v(" "),r("ul",[r("li",[e._v("0.1.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/a380d87b018f36b9986b665004a14d9f9b541e7e",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fixing the error output "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/0f6455ef4d12d5b0c7e77fe6b2865287a6768ab7",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("linting "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/516b3cfa4128412de72e3f968b2dfe56d836e4af",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("beefing up output styles "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c6430ca6ec464cd3a42fa6c998a8bd76e4082c16",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{410:function(e,t,r){"use strict";r.r(t);var a=r(31),i=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"changelog"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#changelog"}},[e._v("#")]),e._v(" Changelog")]),e._v(" "),r("h2",{attrs:{id:"v12-3-0-2021-03-19"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v12-3-0-2021-03-19"}},[e._v("#")]),e._v(" v12.3.0 (2021-03-19)")]),e._v(" "),r("ul",[r("li",[e._v("chore(release): 12.3.0 [skip ci] "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/04d5f307ad77b7bf6c502b8d37c374cb51addde2",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fix(command): fix interactive prompts for repeating numbers "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c810602368a0a8e6470e1fd7b1b2c339299342cf",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("feat(command): add a command method to convert flags to prompts "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/5817b3438fd00117361175dba13fd63bb86a7e66",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v12-2-0-2021-03-02"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v12-2-0-2021-03-02"}},[e._v("#")]),e._v(" v12.2.0 (2021-03-02)")]),e._v(" "),r("ul",[r("li",[e._v("chore(release): 12.2.0 [skip ci] "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/eebfd076f6fbc5b726591487c6081e926248d84e",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("feat(seeli): add basic support for plugins "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/782a06602f35fbb7fdc2a56f95f030bfd5afa229",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v12-1-4-2021-03-01"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v12-1-4-2021-03-01"}},[e._v("#")]),e._v(" v12.1.4 (2021-03-01)")]),e._v(" "),r("ul",[r("li",[e._v("chore(release): 12.1.4 [skip ci] "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/628e6b11454e6c743bd4200f7bd92bd3bd13fb97",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fix(command): fix resolving of subcommands "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/6df97768466b6339cd9e74a7e450099d4070b19f",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v12-1-3-2021-03-01"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v12-1-3-2021-03-01"}},[e._v("#")]),e._v(" v12.1.3 (2021-03-01)")]),e._v(" "),r("ul",[r("li",[e._v("chore(release): 12.1.3 [skip ci] "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/3840f2f4f659c03940eaa445f6f23c23c99317d9",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fix(help): allow printing for invalid commands "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/1a13e9c8d3242d75bc1815269dca04bee24e92f0",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v12-1-2-2021-02-26"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v12-1-2-2021-02-26"}},[e._v("#")]),e._v(" v12.1.2 (2021-02-26)")]),e._v(" "),r("ul",[r("li",[e._v("chore(release): 12.1.2 [skip ci] "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/f5f287e57338aa2f5ce931abaafaaa80b20ae64d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("doc: include more readme badges "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/b1c823400dba133d9796f2b6af556629ec9b5774",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v12-1-1-2021-02-26"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v12-1-1-2021-02-26"}},[e._v("#")]),e._v(" v12.1.1 (2021-02-26)")]),e._v(" "),r("ul",[r("li",[e._v("chore(release): 12.1.1 [skip ci] "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/e728552e2edd9f867dbdc2ca55ebb1132254bc98",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fix: correct release rules for semantic-release "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/45d322d8e8b0b20a49a861c40d2e98e92e92db48",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v12-1-0-2021-02-16"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v12-1-0-2021-02-16"}},[e._v("#")]),e._v(" v12.1.0 (2021-02-16)")]),e._v(" "),r("ul",[r("li",[e._v("chore(release): 12.1.0 [skip ci] "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/974e95415bf8222244bd5d3f75f6fcfb62e8f174",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("feat(conf): config is loaded from package.json "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/25a1c2bb9b8b039e4263997f90f33e0336fb282b",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("chore(deps): pkg-up@3.1.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/48cc6e62c12b9f4b35556d7d586d87c8910c90a0",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("chore(package): remove package-lock.json "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/dcc05699b2a14edf67de4bb139975c602d73170d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v12-0-0-2021-02-14"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v12-0-0-2021-02-14"}},[e._v("#")]),e._v(" v12.0.0 (2021-02-14)")]),e._v(" "),r("ul",[r("li",[e._v("chore(release): 12.0.0 [skip ci] "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/5a4860adcc737435de0b6a77f69f40db11432b4d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("feat(command): support for sub commands "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/a99346cb011473ac03b62f247cf522295eb36788",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("chore(deps): semantic-release@17.3.9 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/13ece05a42f1ca798668eed88bba94ca2934048f",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("chore(deps): eslint-config-codedependant@2.1.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/e932a2b6bcdfa049cd2b04e26d50b3a848f88e28",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("chore(deps): ora@5.3.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c17d7b04a382bdaa026ecf3b282c94a78b89e451",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("chore(deps): nopt@5.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4b4214b187d0fac86e35068d5978dfc013c06051",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("chore(deps): cliui@7.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/29e1bfd7697cf89a3d2756b07f17cf7e09defff6",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: inquirer@7.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c19a25ac643638dcb4f01f76c672df3e4019f1d2",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v11-0-2-2021-02-13"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v11-0-2-2021-02-13"}},[e._v("#")]),e._v(" v11.0.2 (2021-02-13)")]),e._v(" "),r("ul",[r("li",[e._v("chore(release): 11.0.2 [skip ci] "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/3a207e298d4ab68425b153f41e9cc1c97a492e2f",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("build(deps-dev): bump semantic-release from 17.1.1 to 17.2.3 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/3146de66e4e3a81b8f896d62d55475f452e7c2b3",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v11-0-1-2020-09-13"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v11-0-1-2020-09-13"}},[e._v("#")]),e._v(" v11.0.1 (2020-09-13)")]),e._v(" "),r("ul",[r("li",[e._v("chore(release): 11.0.1 [skip ci] "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/43495cf75a5d5960be4adf338eed317dbba2c8ae",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fix(release): update changelog title to be a header "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/fe6ae68c60b5bdc05992fcfbbc09678d98fe38c1",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Update CHANGELOG.md "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/9d7d0d1500960ed8e38eac01ccdb25fbc63dd42c",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v11-0-0-2020-09-13"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v11-0-0-2020-09-13"}},[e._v("#")]),e._v(" v11.0.0 (2020-09-13)")]),e._v(" "),r("ul",[r("li",[e._v("chore(release): 11.0.0 [skip ci] "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/7c3d7b54114a662a2d8b21109b858f39ac528aed",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("feat!: drop support for node 8 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/cacbc04fff1381bc817edbdb6c8fd64a0e7316bb",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("chore(lint): update code to pass lint "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/06f5db4fd60a8777214146de4cbe03457eb3c7a7",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("wip "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/eb3d7fbfddc5a02c12726a1db2a5b7b09bd486a0",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("chore(dep): eslint-config-codedependant@1.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/15e11d7b871260888a5e686eb12337d1bad6d5b2",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("dep: eslint@7.9.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/e4cb7b4c62a067e4e590fe70996e88592f713961",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v10-0-2-2020-07-18"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v10-0-2-2020-07-18"}},[e._v("#")]),e._v(" v10.0.2 (2020-07-18)")]),e._v(" "),r("ul",[r("li",[e._v("chore(release): 10.0.2 [skip ci] "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/969d7eee599aeee0e84bd0d12c7b2b123daf4b19",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("ci: update workflow with new package token "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c59c93f11cc50dbd2b0a4fca25e219ad136c1b7e",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("ci: integrated semantic release w/ github actions "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/0d013703dd5c2099c02164717ed89b0cdc7d2b56",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fix(test): moving the tap config into package.js "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/b4eb31c36f737434871ddb23ae2dc1bb03630766",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("dep: semantic-release@17.1.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/daf17319bbd61e6269adc17b8de8a16472c9eb50",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v10-0-1-2020-07-03"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v10-0-1-2020-07-03"}},[e._v("#")]),e._v(" v10.0.1 (2020-07-03)")]),e._v(" "),r("ul",[r("li",[e._v("10.0.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/56bea86093eccb84624c3af6812f3d6508327880",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("conf: wrap os calls in try catch. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/83e23121d11d8f8c36f40f206855b0cc4735d089",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("update change log "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/55b9bc29ecb5f9bea03ac8869ed0c56505e85d82",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v10-0-0-2020-06-01"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v10-0-0-2020-06-01"}},[e._v("#")]),e._v(" v10.0.0 (2020-06-01)")]),e._v(" "),r("ul",[r("li",[e._v("10.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/edbe192b3e95ec64a3467ee0a92fa495a51fb313",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("pkg: softens the error handling "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/33071952aa777d37cc8272ef2b0d11f1895fc79c",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v9-0-0-2020-04-14"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v9-0-0-2020-04-14"}},[e._v("#")]),e._v(" v9.0.0 (2020-04-14)")]),e._v(" "),r("ul",[r("li",[e._v("9.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/ce2bbbbcf882962daf1bff182d535422f2677f8e",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("example: include updated demo gif and asset files "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/44b4f4ed143cff0133e00f36feb82ad328d143ba",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("example: include updated demo gif and asset files "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/fcc9246318d6f520bdb8e3f2fc6b321d61993e20",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("test: increase test coverage "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/9cad6de6052dd32ed32107353a80a7f70dcd6fef",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: static run function on command class "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/e6108892c35283eab6da91682cb34592b5165aff",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("script: shell script to generate a change log "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/529dc00a5863dfe0c2e9210e0dd52d9f047c6968",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: various code cleanups "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4ebab9b74ea98ce2ed4ea01f5bb8546af549325e",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("commands: allow commands to be registered by their own name property "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/9fbef1fc4591d83ea76ab99946365f8fc8587ab2",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("domain: removing the domain wrapper. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/7d693831b46827340d9d5949c79f4903a0466d42",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: nopt@4.0.3 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/3940bfcd324e02e4a5122c133a2052e4babb567d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("desp: chalk@4.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/2a56547b8fd7d016a54044a760b58691b2426343",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps[dev]: cli-spinners@2.3.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/748b4f0d7ae63b0b47189797fbe34391358705d7",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps[dev]: check-pkg@2.1.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4b4b2e4945f7ec2df88976658102c2f0dbd79ec9",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: inquirer@7.0.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c7863c45829d541854c3475375fd66f804a01c66",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: mout@1.2.2 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c099f083597e6efcca041c3c650b469b63c2b4f8",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: string-width@4.2.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/5765b4732355c8904408a826dbb2c748ea6f6835",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: stip-ansi@5.2.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/16494dbd40b42df1a107f5539ee1b300d48852f7",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps[dev]: tap@14.10.2 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/e869685bc35e46a627c137f67176a5aa74c02cec",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: ora@4.0.3 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/79907410c96122d69dd09c6551af66c1bb5f169f",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("desp: cliui@6.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/0b76cfeace3821086079065d49bbbe31b55f20c3",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: chalk@3.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/a468f449b4ca5c14395052dd69205597c1e64963",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("create publish file "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/2adcd8c4d8df50183002351c025a1f5fb794f39d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v8-3-0-2019-08-12"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v8-3-0-2019-08-12"}},[e._v("#")]),e._v(" v8.3.0 (2019-08-12)")]),e._v(" "),r("ul",[r("li",[e._v("8.3.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/7c12f07a0c1fdf3d7372c522ae67fe4461c8f665",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("pkg: bump minimum node version to 8 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/9ef7853de5da91f92c9534dbb9fafca53c6c25c4",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v8-2-2-2019-08-12"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v8-2-2-2019-08-12"}},[e._v("#")]),e._v(" v8.2.2 (2019-08-12)")]),e._v(" "),r("ul",[r("li",[e._v("8.2.2 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/548c93d2996f52d43be67ffaaaeaf27f552df238",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("dep: inquirer@6.5.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/f2694bf4317254c2cfb44723abb68a7be0ca4459",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("dep: tap@14.6.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/7898553d7a12b0acab78f0da9cf22087743884d4",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v8-2-1-2019-04-19"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v8-2-1-2019-04-19"}},[e._v("#")]),e._v(" v8.2.1 (2019-04-19)")]),e._v(" "),r("ul",[r("li",[e._v("8.2.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/706ad7d5333d4c32a2dcbe306ae969ac988aac20",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps[dev]: tap@12.6.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/3bf4bd0e15d766604e586b9d9e03c13fad20aeeb",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("cliui@5.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/6d9e0c3fdce97bc092277361a6ebb4270f559c34",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: inquirer@6.3.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/fb70efb6a7c8f220243b2997645dff222d5ca853",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: mout@1.1.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/409e6d755b5ebb4e188397e46327515ebab8fdec",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: strip-ansi@5.2.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/5697d628e2231d78fbd503446f36b3e5138a666c",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: string-width@4.1.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/7f641c8185cc10d3de530e7ccfc1b92b433ad0ab",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: ora@3.4.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/74c07ab566a9437065c8a691d78d013f4d73b438",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: debug@4.1.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/17b8be48a55c3dce002d3dd6fed9d9f242c78899",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: clone@2.1.2 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/d8829246a6d66356f7dfd456bcc929b143a39149",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: chalk@2.4.2 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/d13164d27935b9d9c27fc98866f648ea4d71afc8",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: abbrev@1.1.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8ef884257a31a805f61c008da6c4c85e17469540",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v8-2-0-2018-06-05"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v8-2-0-2018-06-05"}},[e._v("#")]),e._v(" v8.2.0 (2018-06-05)")]),e._v(" "),r("ul",[r("li",[e._v("8.2.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/2fe87cc9546cf880718f55ea6bfe3ccb47b9d1df",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("doc: fix bad flag example "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/86363253bb36c1ad24ba0130ed69d19652a51f63",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: remove jsdoc "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/573e7e9791f331e8ce9279c9c02fbb224e6fd182",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: tap@12.0.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/7e1b5a5b3149997529904ff260eccc5eb559b145",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: inquirer@6.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/74709b1d706c210739899be2cb06afeb0da44c59",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: cliui@4.1.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/15af84822fbe1fdef1ba16389d01766d871829b8",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: chalk@2.4.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/b9342fed0e06c3f4ac83a07aebed9d2819b9052c",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Update README.md "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/48b97b1710842b7fd89e4a85d0bb8e67db3c37d6",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Update README.md "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/961ac6bbddfcc6fc27f3ad9e9342084eab2d8920",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Update README.md "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/430ce98a492da17a09ffee15145971da1f08e453",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v8-1-3-2018-02-11"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v8-1-3-2018-02-11"}},[e._v("#")]),e._v(" v8.1.3 (2018-02-11)")]),e._v(" "),r("ul",[r("li",[e._v("8.1.3 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/35d6dfdc57e304eb21573ffe31db2697abc8f263",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("seeli: unbind the chalk functions "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/f3f40da6cd883861f4442afd3ffb2c475681e1ae",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v8-1-2-2018-02-03"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v8-1-2-2018-02-03"}},[e._v("#")]),e._v(" v8.1.2 (2018-02-03)")]),e._v(" "),r("ul",[r("li",[e._v("8.1.2 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c5edd04fb551ad7587a74a602a43d6689661c7d0",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: add interactive options to flag "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/0d4c2b3502257edb9354256048257797fe70c883",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v8-1-1-2018-02-01"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v8-1-1-2018-02-01"}},[e._v("#")]),e._v(" v8.1.1 (2018-02-01)")]),e._v(" "),r("ul",[r("li",[e._v("8.1.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/dc07079d4755f89dc58a514fdb2fed693c0f9400",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: ora@1.4.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/630a61f8aafaeb679263878b5c0732fd4976d01c",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v8-1-0-2018-01-31"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v8-1-0-2018-01-31"}},[e._v("#")]),e._v(" v8.1.0 (2018-01-31)")]),e._v(" "),r("ul",[r("li",[e._v("8.1.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/1020f85e476a5426dd608958dc32773672571231",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: adds a multi option for list prompts "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/5ffeb6f540e9782c91fbd79b3a47f853f324fcce",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v8-0-1-2018-01-07"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v8-0-1-2018-01-07"}},[e._v("#")]),e._v(" v8.0.1 (2018-01-07)")]),e._v(" "),r("ul",[r("li",[e._v("8.0.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4621cc863c240bb9f1da50e349289217dcc60f02",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: fixes nested flag names in interactive mode "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/eb122cfbd01756fee86c4dd8acca5f54b9ae645a",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Update README.md "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/06b7271bbc03375cd844bb08c8129363969f82cc",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Update README.md "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/ca4e3cb485b8da552b4f5bb5dc441bcd2b6b799b",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v8-0-0-2017-12-31"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v8-0-0-2017-12-31"}},[e._v("#")]),e._v(" v8.0.0 (2017-12-31)")]),e._v(" "),r("ul",[r("li",[e._v("8.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/074eb9895c3ce8bcf897106bcd5601c4f965daab",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("exapmles: ui prompt / confirm example "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/e2073f3f52c9cfd6f7f3e3d89d5bfd9b427192d3",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("pkg: bumps minimum node version to v7 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/6e109fee0b66bc9152d20160a3deffa1d3b9886d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("usage: don't show the interactive flag if the comand isn't interactive "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/97b726431a071910e8acee10e53c20c718cd8cc5",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("examples: more examples "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4ef03cc31f77d61a1a54eafea7c7987c79f2a1f6",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("seeli: add a colorize shortcut function "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/fd61ccf6e16b8938e94d416773dd671f7148cc77",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("doc, examples: more exmples, updated Docs "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/d4dac02272f35e1d31568c094df5c4c0611bc3f2",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("lint: no functional changes "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/e74cb96331aaea89fd12b93ae19b78473b9c1b89",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("test: add hook for constructor event handlers "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/17db092eaa81588530e3b4f63b38077465613d96",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("usage, from: constrain flag descriptions to 80 cols max "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/1a441fa1569b45a7d3d9f987e5780ddd285a8762",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: string-width@2.1.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c69a20cc5276f559d1cadc68d3fd87b267afd3ae",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("test: use rendered fixtrues for output tests "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/0deefb63e9999499254eab6b2393b6ede3ea60c1",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("exmples: clean up the examples dir "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/f7afea359a83562aa9caada64ea7170112d48499",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("8.0.0-0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4cac14d6e388ee81140b5b69beda76f2cc53ee87",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("doc, command: update command example in jsdoc "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/f28314602a602ab99b01f9edc4e330574340e537",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("seeli: only strings returned from "),r("code",[e._v("run")]),e._v(" are written to stdout "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/67af6fd3f31d1a2a0f059afea2c2350ef8f89b93",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("examples: fix up example hello command "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/0b930a466a4922ac15328bb9cd7aa4b668c1b0ff",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("test: use content event to get content instead of monkeypatching console "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/e06787735a7c85bd78e3eb6a2a4b20b031956f26",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: fixes auto even handler bugs "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/589e83e16c6c0bf0964989c72ac2af7874c2a5ab",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("examples: adding some additional commands for the example "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/fa0e1183629d7da1611da2cf6e064f7f39f91407",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("usage, from: generate a new ui instance on each call. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/1c3adba752fab01bfc4125353a1a8e53b4912882",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: prettify nested flags for interactive mode "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4eb0c082fba013a42d796e749fea34a49429868d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("ci: disable node v6 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/34141c68f83ad3886da65b55722c13e2599df8ad",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command, usage: better formatting on help output "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/d732cf6cd77fa7f4335b6ce9875e4ad9ee3f7a53",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: cliui@4.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/90a58ae1ca62ca99e3b9d18f53e407ddecf8aaae",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: emit content in non-interactive mode "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/0c0293dce2ff7e651b02393a7855a5b0dcfc4f53",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: include an instance of ora "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8b41ff6133c2961c8e1ce2703bd46cb0ec5af568",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: ora@1.3.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/3ee172db1996f454b67ff3f4c36338ba7860de44",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: expose a propmt function a debug helper "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/d801af2f493dec681def6d2205fe98aa024e021f",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("replace callbacks and continuations with promises and async await "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/a1dd61af7cd03b4124e14893c3292477667d1cb6",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("8.0.0-0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/bd72638f6c0b115c66094fea5f4d8fe670c1356f",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("doc, command: update command example in jsdoc "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/98c156d1696b7fc5edab90312c54e27fcc1ce451",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("seeli: only strings returned from "),r("code",[e._v("run")]),e._v(" are written to stdout "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/be8d1bbdd274819f61a81c2ab213a3a433264986",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("examples: fix up example hello command "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/faa68a1e967ee5878f2e0f559c36a33ad5e7438a",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("test: use content event to get content instead of monkeypatching console "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8ee6f0e68f0b086711cba4b50c0cb60bfcd027d4",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: fixes auto even handler bugs "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/66e5e33d4d9f6d85d4cb8063cb82fd61d76c4e21",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("examples: adding some additional commands for the example "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/14b9f4310b8e5161f7adfbf5a33a1d23c03e089a",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("usage, from: generate a new ui instance on each call. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4ba39609ae75c89052fa800b392595c620b6a834",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: prettify nested flags for interactive mode "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/ff5e71fc3a0417d3523f72c5890916ba25b687f5",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("ci: disable node v6 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/49204b208a90eb53c1d29480f72dbfe25fc6a2c1",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command, usage: better formatting on help output "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/df07289270407fd10d657cc26e296be58ade9dcb",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: cliui@4.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/3e07ad588c7773b84084d35e8c027017488dfd03",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: emit content in non-interactive mode "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/75a037fcb88e07b86b3fef905c2043d19fc067ad",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: include an instance of ora "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/389b7a677bdde40cb4b16fc0f004bc5fe32a50c2",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: ora@1.3.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/17e92a742cf93f9e346cc4a6931f29eb7e246cdc",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: expose a propmt function a debug helper "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/0314a3f6e4670a00e79d72cdb00df772bf7f0f8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("replace callbacks and continuations with promises and async await "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/9f6ffd8a51c15caea3d19a0055b2b64575ef2612",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v8-0-0-0-2017-12-26"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v8-0-0-0-2017-12-26"}},[e._v("#")]),e._v(" v8.0.0-0 (2017-12-26)")]),e._v(" "),r("ul",[r("li",[e._v("8.0.0-0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/bd72638f6c0b115c66094fea5f4d8fe670c1356f",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("doc, command: update command example in jsdoc "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/98c156d1696b7fc5edab90312c54e27fcc1ce451",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("seeli: only strings returned from "),r("code",[e._v("run")]),e._v(" are written to stdout "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/be8d1bbdd274819f61a81c2ab213a3a433264986",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("examples: fix up example hello command "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/faa68a1e967ee5878f2e0f559c36a33ad5e7438a",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("test: use content event to get content instead of monkeypatching console "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8ee6f0e68f0b086711cba4b50c0cb60bfcd027d4",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: fixes auto even handler bugs "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/66e5e33d4d9f6d85d4cb8063cb82fd61d76c4e21",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("examples: adding some additional commands for the example "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/14b9f4310b8e5161f7adfbf5a33a1d23c03e089a",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("usage, from: generate a new ui instance on each call. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4ba39609ae75c89052fa800b392595c620b6a834",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: prettify nested flags for interactive mode "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/ff5e71fc3a0417d3523f72c5890916ba25b687f5",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("ci: disable node v6 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/49204b208a90eb53c1d29480f72dbfe25fc6a2c1",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command, usage: better formatting on help output "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/df07289270407fd10d657cc26e296be58ade9dcb",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: cliui@4.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/3e07ad588c7773b84084d35e8c027017488dfd03",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: emit content in non-interactive mode "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/75a037fcb88e07b86b3fef905c2043d19fc067ad",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: include an instance of ora "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/389b7a677bdde40cb4b16fc0f004bc5fe32a50c2",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: ora@1.3.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/17e92a742cf93f9e346cc4a6931f29eb7e246cdc",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: expose a propmt function a debug helper "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/0314a3f6e4670a00e79d72cdb00df772bf7f0f8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("replace callbacks and continuations with promises and async await "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/9f6ffd8a51c15caea3d19a0055b2b64575ef2612",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v7-0-0-2017-12-16"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v7-0-0-2017-12-16"}},[e._v("#")]),e._v(" v7.0.0 (2017-12-16)")]),e._v(" "),r("ul",[r("li",[e._v("7.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/69a5234c217b66cddbad1a86b8ac3e69bdc2ed70",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("lint: remove unuse vars "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/cc97450c3e534e88734f3dc8ffd7ab907c7b3ac6",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("doc: update read me with new config options "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/604623e700f1a289c9945feb14241f2ddc5143d9",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: inject an invalid handler on run to catch type errors "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/a72974ca5c8f32d2af5a4e44b1cf68abd91424df",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: pass answers back to interactive questions "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/765c4f256297e3863f0e9b73f62b6c3c0a2e6e7d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: fix interactive validation function "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/fce88c1c34cfbd50b6027ead48a68b763267f920",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("type-of: fixes type resolution for functions "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/7cb3fc8ca01e7ab1e4797c6717e449e70f62c173",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("registry: delete existing commands on reset "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/5a3c38d8337e2501f9cd33b758bd1592f100341d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("usage, command move object helpers to lang "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c9902249ec91e342425f5191f9a6abbf6a4e6976",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("use callbacks for default behavior instead of events "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/29d98ac931c34ce16f8a922b0927a8676049461a",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v6-0-3-2017-12-09"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v6-0-3-2017-12-09"}},[e._v("#")]),e._v(" v6.0.3 (2017-12-09)")]),e._v(" "),r("ul",[r("li",[e._v("6.0.3 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/df91cac5c16b01df77ce8522a445fd57438d3320",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("helpers: add chalk noop fallback "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/957fb8720fb9705e0a874e3ef08495ac4b66ea37",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v6-0-2-2017-11-24"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v6-0-2-2017-11-24"}},[e._v("#")]),e._v(" v6.0.2 (2017-11-24)")]),e._v(" "),r("ul",[r("li",[e._v("6.0.2 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/044f79636b6e0507b8e05204fa39316f30f21c0f",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: set nested flags in interactive mode "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8c23a51ab3c843a501d82052663088da30343c2b",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v6-0-1-2017-11-22"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v6-0-1-2017-11-22"}},[e._v("#")]),e._v(" v6.0.1 (2017-11-22)")]),e._v(" "),r("ul",[r("li",[e._v("6.0.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/9d7c3b0e86e2dbf955b59d9f43976ea7ad7112c0",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("update title gif "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/45abc427c3988320831858c80ec8f314c10a88fa",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("doc: update docs with latest version "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/91f47e5481f4dd3e07ee08daa098fdb7e47d65a0",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("test: remove flaky test "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/1b2030179fe24ac2967b76d9d1fa985d3bd9d583",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("doc: Update Readme and demo gif "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/73e23fbd2277a760a6c8e6b21dca09c11b4e036a",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("object: remove key-for. Not used "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/429248faf2ee08b79f99ba2b09017e8950be0656",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("doc: update readme with nested docs "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8516988517100a85aa79bf7b7848b31b241b21fd",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v6-0-0-2017-11-20"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v6-0-0-2017-11-20"}},[e._v("#")]),e._v(" v6.0.0 (2017-11-20)")]),e._v(" "),r("ul",[r("li",[e._v("6.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/bdc50dac234334bcc6d694f9a00bdac49edabd6d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("[BREAKING] seeli, conf: exitOnError is a config option instead of a prop "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/3979f5f28efc1b7f16a72feec8c856a264446fce",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: argv resolves nested flags "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/dddb5ce8e18a3cdd6d6eed9a6a18f243ad912bdd",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("object: object functions for dealing with nested keys "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/0f47ba6fef548993b36bddd321dc64c9461e89f3",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: inquirer@4.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/1c2121645a663c8c8d31a5074714fd0aaee6c0b8",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: debug@3.1.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8425665462b85c3a39e77ee012c01364efd2a0d4",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("pkg: lock file "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/7572a13acdbff9e82b9c235bedae17db2f3fb15f",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v5-0-0-2017-09-25"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v5-0-0-2017-09-25"}},[e._v("#")]),e._v(" v5.0.0 (2017-09-25)")]),e._v(" "),r("ul",[r("li",[e._v("5.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4d5af69dec549f78cf3e5bc79180b976be155826",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("lib: linting "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/310c4c37aaa3b6446a817a385ca42bcf03532cb4",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: Adds strict option on command instance "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/1c4d01046d2eb5d329b10e9e7debae64be9c055f",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("test: replace moca tests with tap "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/f2a2d3d0d4da17e892d01abc38c9ff1f463893d1",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: replace chalk.stripColors with strip ansi pkg "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/eb5aa4d32e204c29e46e9003a76ac5a2d97b1662",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: tap@10.7.2 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/1d480f7d905e8f2c2e9e9bd8c247863ce9b87af2",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("dep: stip-ansi@4.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/830fde8895da9ac8daf460de543a614f388229ef",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("dep: chalk@2.1.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/2f6a1072c6db9416350830ef72bed8cec6379a1a",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("pkg: remove the bundled deps declaration. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/20543c837942c0f31edb62024c6e492848d36568",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("lib: some general clean ups "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/2025b0e190dbb7091a5a579fdb7acee2ff73e806",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("whitespace and help format fixes "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/d2b8440d3d57e28b0e75b70e07f8bb6c624ae2e2",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v4-0-0-2017-03-19"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v4-0-0-2017-03-19"}},[e._v("#")]),e._v(" v4.0.0 (2017-03-19)")]),e._v(" "),r("ul",[r("li",[e._v("4.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/3f24d4e2125ed2bc4d5023d33996760151dda459",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: update ourdated packages "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8d627b2b87b99c67bc01f055485b09c8d7a58bc3",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("command: execute each question individually "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/1bfd33a89c6a578761ec2defb5a43849dbeb1056",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("deps: update outdated packages "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/1908aebf692ef1a3cd5796f6bb3990cecddc09ca",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("build: test on node v6 and v7 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/104dcd5a6ef1ac7b503a1ab6e432a627129cda99",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("lib: retabbing "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/0918d658650daae3387d51c2afae137d2b0deafe",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("ignore .save files "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4bf2bf099f97a3d929ac82cb91d1b52f7026ee8d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v3-0-1-2016-10-08"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v3-0-1-2016-10-08"}},[e._v("#")]),e._v(" v3.0.1 (2016-10-08)")]),e._v(" "),r("ul",[r("li",[e._v("3.0.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/16a304b6194873172881e7324bfa2316afe78bc2",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("make sure to pass the data to the interactive run "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/49cab1ddb43ed07d95581529bb40117c1c429c82",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("linting, doc fixes "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/31c2f6f2725ec09361d41b5665f220bb3f5e4b6b",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("remove the util dep from command.js "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/a4e75cf93916ec56868733056be2938a75a069d0",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v3-0-0-2016-09-25"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v3-0-0-2016-09-25"}},[e._v("#")]),e._v(" v3.0.0 (2016-09-25)")]),e._v(" "),r("ul",[r("li",[e._v("3.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/35c4aa2a5062c65bd9dc533417e4356d21af1030",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fixing some module docs "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c3c8109ecf325831a2c6c639161ea23cf6a4959d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fix up the command test file "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/b54e3a0d3744c454ff4f459a212dfeaa76329760",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("remove prime from bundleddependencies "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/1e0129d89230f7ab9371a9cebc792168924d6d87",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fix some module docs in entry point "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/5d04362237120ebdc8f667a2f6c307dbd83bf30a",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("removing references to prime in entrypoint "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8a6efa8733eb13fdee54329d9d7242295a689eb1",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("updating some docs in command module "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c7ac2b4b171769325440c27e907dd5c110019451",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("remove the prim dep "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/445346a7ec5486709fea153665446631d140bddb",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("including a syntax legend in help output "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/ba4198291baee5ae9ca7a47a0a58530e3d5c4540",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("make sure domain is loaded first... "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/05b577cbd6d1d8085078af5dd936a23d954aeadf",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("make sure to add command to domain "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/69d45101936b7a8ddeef18759caf89bffa5b3b4d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("break the domain object into separate module "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/008969eef0cffb5fc0fcf995a6be0d1164613ec5",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("replace string formats with string templates "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c31b104200811dc54f6ad045c050325a1fc7fec9",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("validate and dispatch for interactive "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/9c6b77f2f79c716026cc6a0d8536d62014fd2bb0",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("linting helpers "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/bf27673adbdc53740c4b5379d1c61ad45c20fbf8",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("linting lib/command.js "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/af8f957460503dc37a597ae3bceb98a52a8e0fb5",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("remove the option mixin class "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/2776378e7eb543185b290df5a4ca032df0ebd651",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("include error message in helper command error "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/52bb595f1d1cc823bc128e43d71c6cf1d60fe13e",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("bump node requirment to 6 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/f675807400c0b6ebe33ca8b6ad7786cb8508651e",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("reassign url / path after merge for nopt "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/50722e3faff2e11b56fbd2821979c9106a0b6dd7",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("update some tests for inheritance "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/5625a3e69c18233f766426ca9667291f73b66e27",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fixin up options handeling and simplify loops "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/3f725b326283657d8e4e7cea2c1fcb6a38f0a99b",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("rework the command to use es6 class "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/6d008563798bd5865bd70bf424fe20c5462af7f4",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fixing a missing variable declaration "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/478bc1489cf5169518cce4f1d19a1215ac33bee5",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("linting "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/379f9458061eb740a21acd104e90250a1dddffaa",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v2-3-1-2016-06-29"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v2-3-1-2016-06-29"}},[e._v("#")]),e._v(" v2.3.1 (2016-06-29)")]),e._v(" "),r("ul",[r("li",[e._v("2.3.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8cd15550b39e49ae26841d3ebd6b307977e15e7a",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Use clone package over mout deepclone "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c60fde1a4313b8facd030d63227e0c95a845d101",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fixing formatting error in the README "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8f689e3414c3a42a4775f91722d41d75c2dc48f0",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v2-3-0-2016-06-28"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v2-3-0-2016-06-28"}},[e._v("#")]),e._v(" v2.3.0 (2016-06-28)")]),e._v(" "),r("ul",[r("li",[e._v("2.3.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/16d74ce3a56c0217a14e6c336acfd3cc0bb91a55",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("include the mask flag option in readme "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/be16228deb4feb457b5aa1fd3c6e6ec824bf81e1",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Switch options module back to using merge "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/1bb6ee4ddc0f662552e4ec85a94ada65f8af4eff",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("add a mask and url input flag for interactive mode "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/f9da1d9ef5a18e3974a9d46d2337398d6c937abb",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Add flag option "),r("code",[e._v("mask")]),e._v(" to allow for password field types "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/b41db3ae8f6d7420e4740e5aa7bc1be499b5fb69",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("use deep mixin over shallow to include exiting options "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/f63bf4a628b84fbcd98864bd5c98bc08b857e456",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("bumping inquirer package to 1.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/83ccb8298d439efa80db3f5e9a96da26b7104bfe",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v2-2-1-2016-06-27"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v2-2-1-2016-06-27"}},[e._v("#")]),e._v(" v2.2.1 (2016-06-27)")]),e._v(" "),r("ul",[r("li",[e._v("2.2.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/7f81e7d5b428fecdd715b8eec30038ddd92a304c",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Converting tabs to spaces in README "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/88dff9f832be39609a53a2c962b583cbebcd1778",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("adding tests around alias funcationality "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/173fcb2f91ccdb4da4cc49a72a1f020718d20881",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("include a setting for command props soe we can unset them "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4b65af149de6432d7cc17ec790dff6e494dcc9ac",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("including the debug package "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/73a43838fd4945ba860d2c801945135563a9d8ff",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Fix up the alias functionality "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/baf62f353b1a1f5bb9c04af587f5ee803227c760",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("including additional version in travis build "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/630c54abfe4b1711dd51a5b7bfaf26c6053cbfad",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v2-2-0-2016-06-20"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v2-2-0-2016-06-20"}},[e._v("#")]),e._v(" v2.2.0 (2016-06-20)")]),e._v(" "),r("ul",[r("li",[e._v("2.2.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/0d90c037bddf2c89a027e16c8e17b7e8d4e72e35",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fixing some module docs "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/6ed9f89c75771ee48d57024cae8c37b5ab23076d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Adding some simple tests for top level config functionality "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/d05191205fcc8a6e4259ac9105afc3d01475d33c",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Update Readme with additional config options "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/d1b9a1e205841f7b3da308c2426921a4f21bb388",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Load the help command from a configurable path / module "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8098b73f719a3dff00b8d19f76deaf82972338b5",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("moving the inline help generator to a module function "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/e051d6d126cdfe012f2d133deaa6ff9b06ff3aba",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v2-1-0-2016-06-18"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v2-1-0-2016-06-18"}},[e._v("#")]),e._v(" v2.1.0 (2016-06-18)")]),e._v(" "),r("ul",[r("li",[e._v("2.1.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/61043f3191527e268333c7c3c163c78c98f97933",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("remove a console statement "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/bceac808247fbbbf0d13a3e39ff25afd5561b605",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("include a url flag in the example command "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/7dfc5bc5151ee6e8cad4503f28fc85d13075d189",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Adding better help parsing for url and path "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/00fcee1da68ba80ad55231e256a07dbe352eb82b",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Use mixin instead of merge for options "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/aa18f2057b60178dc5bf2377f932d3c3e0d202cc",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("better type handling. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4abc2b4bf258230b595f2ba79f5b81c4a495fcbc",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v2-0-1-2016-05-18"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v2-0-1-2016-05-18"}},[e._v("#")]),e._v(" v2.0.1 (2016-05-18)")]),e._v(" "),r("ul",[r("li",[e._v("2.0.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4c9ea47c4c77a4472a2fcabf6d442a8f187fb1f2",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("bump version of mout "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/f39e405cbf9840cd1f8b5cb63b387a9eaa8596f4",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Allow for null / empty content "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8c61467cfb209cf73947cf87008e40e2d7967d9c",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v2-0-0-2015-12-28"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v2-0-0-2015-12-28"}},[e._v("#")]),e._v(" v2.0.0 (2015-12-28)")]),e._v(" "),r("ul",[r("li",[e._v("2.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/97961e6c8ff854b50c65542891c03954231ff0b5",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("validate should check all of the flags, not just required "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c135e81dbc32b44211c753318da35164cc0b4db8",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("include the directive command to the inquirere methods "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/60b766732c34831576b9c8291783f19fe55af01a",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v1-0-1-2015-11-21"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v1-0-1-2015-11-21"}},[e._v("#")]),e._v(" v1.0.1 (2015-11-21)")]),e._v(" "),r("ul",[r("li",[e._v("1.0.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/ab68bd168aa3b46cd11ffcff13a76b8dd226c194",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("allow directive to be passed though interactive mode "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/a497df1bd7f203490f37973f7587ef1903d23506",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v1-0-0-2015-11-21"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v1-0-0-2015-11-21"}},[e._v("#")]),e._v(" v1.0.0 (2015-11-21)")]),e._v(" "),r("ul",[r("li",[e._v("1.0.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/64c66a4d85dbe8d0bde03e307c23d8b2d1218cbb",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fix the stop flag condition logic "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/5012744ae227dadcc93e83cc4cc49fb42914dda6",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fixing contributors block in package "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/bb7c79e31215d749725e7f398b207fa771d5fe6d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-4-3-2015-10-30"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-4-3-2015-10-30"}},[e._v("#")]),e._v(" v0.4.3 (2015-10-30)")]),e._v(" "),r("ul",[r("li",[e._v("0.4.3 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/69c5ac46144f894b7f34aabd72d0f8c5cea1561f",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Fixes #4 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/de841476d4d621500768eb930131999994aaabf0",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-4-2-2015-10-22"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-4-2-2015-10-22"}},[e._v("#")]),e._v(" v0.4.2 (2015-10-22)")]),e._v(" "),r("ul",[r("li",[e._v("0.4.2 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4e94c05b615268e1b8825dcf1d475ac07f4e4872",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("adding dploeger as a contributor "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8a7141c6bf548d5bac922eb9ce651dba164710b0",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Rewrote to use conf.name "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/09f266020272451dea468c2afe717adb70b0be9f",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Replaced whitespace with tab to comply with convention "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c3901c1ba5fd1e30321774fdf8f193365a678929",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Uses script name instead of 'seeli'. Fixes #1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/b336e9bc185a33ebd1fadeda75bf356498f5d820",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("[NOISSUE] Code quality badge "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/27fe92fe0ebe0ac6f0dfce58061be4e3878415c7",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("[NOISSUE] White space fix "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/44d9c62a0af973780cdbb094c24ce9ecfbe2cd99",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("More Linting; "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/2e7d6d0719695efbc290a1394a7bbaa1745e133c",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("linting. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/69c48b3332e25d45c7e45b3be81f8b712343f7e6",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-4-1-2015-07-16"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-4-1-2015-07-16"}},[e._v("#")]),e._v(" v0.4.1 (2015-07-16)")]),e._v(" "),r("ul",[r("li",[e._v("0.4.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/748fbd503bfc0c38b95a2f62225cf6cfd4496ef1",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("make sure command usage uses configured colors "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/6de76acdb7dd69e4a6b9431aa5f012ff34c6f91e",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-4-0-2015-07-16"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-4-0-2015-07-16"}},[e._v("#")]),e._v(" v0.4.0 (2015-07-16)")]),e._v(" "),r("ul",[r("li",[e._v("0.4.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/6e3da7921d66a94b5470773c9d1d8737f1525c0b",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("update the Readme "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/35bfbf2ca6cf2c6e55c0e43c7a14f061c67a0d90",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Add ability to set the color of the help text bits. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/aae3890ba8480af3bf4c239bc31d462b49fc13aa",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("add a space to interactive flag separator. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/3d37cb2040f34d074c5a29342d1020d558fd1e0b",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-3-13-2015-07-15"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-3-13-2015-07-15"}},[e._v("#")]),e._v(" v0.3.13 (2015-07-15)")]),e._v(" "),r("ul",[r("li",[e._v("0.3.13 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/72b02bb649fa1935bcea576c2bc2361f01f59a56",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("updating outdated deps "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/0d6e01ee634048824958fd6c92e54afe8cc34d55",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-3-12-2015-06-23"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-3-12-2015-06-23"}},[e._v("#")]),e._v(" v0.3.12 (2015-06-23)")]),e._v(" "),r("ul",[r("li",[e._v("0.3.12 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/da57bdf2504550d32916fe69eb874ee84e10b4bd",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fixing some README typos "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/42c360ff0d08a8c5a4ad4841e0963c62bd828e66",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-3-11-2015-06-04"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-3-11-2015-06-04"}},[e._v("#")]),e._v(" v0.3.11 (2015-06-04)")]),e._v(" "),r("ul",[r("li",[e._v("0.3.11 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/a707a67bb06e3e25af515fea7efddc4a6c182fa3",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("update the validate flag option to work in non interactive mode. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/7559be5b5c399ebd0f9df3990b1018bdd09c7987",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Honor exitOnError and capture stack trace from exceptions. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c6d60d4e5aeaaa368f22b6f3f40d0d8b9f5c679c",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fixing typo in README example "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/2d087dbf5c39da92e3d5083515a48ac67b03334e",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-3-10-2015-04-12"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-3-10-2015-04-12"}},[e._v("#")]),e._v(" v0.3.10 (2015-04-12)")]),e._v(" "),r("ul",[r("li",[e._v("0.3.10 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4dc4439f2dc1e45b7190247525d3bde8aba1a0a2",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("updating chalk dep. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/4b91e27a4b850d82e4e2e3a153989409b09fee3a",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("typos in README "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/3a03c6c39c36babff04b5fb86144ef4d58bc314a",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-3-9-2015-04-11"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-3-9-2015-04-11"}},[e._v("#")]),e._v(" v0.3.9 (2015-04-11)")]),e._v(" "),r("ul",[r("li",[e._v("0.3.9 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/0fd2737cfcec4de1014fe64cabb014a9977c2be5",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("updating documentation to be a bit more accurate. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8c608219eee7b2719daa426a207dc22f464fc99f",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("0.3.8 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/11d60dda4acd3e216a8fdb2a3d54c0dfd681cb0d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-3-8-2014-12-30"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-3-8-2014-12-30"}},[e._v("#")]),e._v(" v0.3.8 (2014-12-30)")]),e._v(" "),r("ul",[r("li",[e._v("0.3.8 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/11d60dda4acd3e216a8fdb2a3d54c0dfd681cb0d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fix filter logic for inquirer. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/fa2fd87771c3888b859b0223daf34a4b17bf72de",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-3-7-2014-12-30"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-3-7-2014-12-30"}},[e._v("#")]),e._v(" v0.3.7 (2014-12-30)")]),e._v(" "),r("ul",[r("li",[e._v("0.3.7 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/b44baecebf141b37af07bcd15e14512d8e92aa3c",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Remove semver from bundled deps. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/ac7522992d09863bd824cd7e53b3693821b20709",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Reset method should clear args as well. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/f6ba6352f87a24f207c996cb440f389a8a5914eb",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-3-6-2014-12-11"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-3-6-2014-12-11"}},[e._v("#")]),e._v(" v0.3.6 (2014-12-11)")]),e._v(" "),r("ul",[r("li",[e._v("0.3.6 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/1590e4c74b2bef29b8f0f51ea37f9cf8485caee2",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("updating dependancies "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/5b304210dfd638daf9b3892148ecac01901ade67",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-3-5-2014-10-06"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-3-5-2014-10-06"}},[e._v("#")]),e._v(" v0.3.5 (2014-10-06)")]),e._v(" "),r("ul",[r("li",[e._v("0.3.5 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c2b777f9edfd7caec560fb91b6a9fdfc223f5ffd",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("test for Directive passing on commands "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/b8fbc0e122003d25689e9134def378e0c39ace58",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("allowing a directive to be passed into the run function for user processing "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/67fb795f1620e8f6b8c78c4106acbad5541c7a57",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-3-4-2014-09-19"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-3-4-2014-09-19"}},[e._v("#")]),e._v(" v0.3.4 (2014-09-19)")]),e._v(" "),r("ul",[r("li",[e._v("0.3.4 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c380a3cf6bd51c1428281a1a56c02c267954e9ba",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("clean up some things in the package.json "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/24340e786ef616e547159bc6cf12214b172f02e1",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("interactive mode doesn't need two colons "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/0f296cf9fdb54887846aee9c9e075602c1f7bff0",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("keep mocha as a dev dep "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/07c53c7ceeb8af7ddc45a538f0b0a670b3aee79d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("updating some more deps "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/1892f7c0150ad60ec2309e2ff05f3fbcd28f4d69",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("updating mocha dep "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/d3d3aedf07f0bd530ace9cac6a318f90a6cd98c0",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-3-3-2014-08-27"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-3-3-2014-08-27"}},[e._v("#")]),e._v(" v0.3.3 (2014-08-27)")]),e._v(" "),r("ul",[r("li",[e._v("0.3.3 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/f3b0f25d5fefb9d9a0f5e2351b0774d0fa362dc3",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("store options in a private variable. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/b5a52a167f44af2ecc3e1575954d6219e89d1eae",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-3-2-2014-08-27"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-3-2-2014-08-27"}},[e._v("#")]),e._v(" v0.3.2 (2014-08-27)")]),e._v(" "),r("ul",[r("li",[e._v("0.3.2 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/d74e1c17e74c685f3cc4b3a959ac6d69a2d2a4e0",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("need a way to set internal values for commands. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/abb4310a24a26215af5368bd823a4689cfa7b305",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fix typo "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/2923a0cabda03046c8e0477ba1892cc0944f01bb",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fix the README "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/ecebe35ecd41bafe41e002d85f77a5da0147a4d1",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-3-1-2014-08-22"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-3-1-2014-08-22"}},[e._v("#")]),e._v(" v0.3.1 (2014-08-22)")]),e._v(" "),r("ul",[r("li",[e._v("0.3.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/f31f68cbdfc2642448578f7e40a3e4491954403e",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-3-0-2014-08-22"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-3-0-2014-08-22"}},[e._v("#")]),e._v(" v0.3.0 (2014-08-22)")]),e._v(" "),r("ul",[r("li",[e._v("0.3.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/e54e0a97e646bda548d2a9beacf2c7b77fbae5f8",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("more property and error documentation "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/e448e26ca0229e10414a923ae32a7d45c2d95a1c",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("internal unregister method "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/2b8b92ac9f06f0da8632055c660a29ede3082421",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("clean up some of the readme "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/a89e53b6716fec58deb44658f32386042517a42c",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("allowing for command aliasing "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/05fda1b147f7a1e58b9011f38f3aeecb1320c2c9",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("unregister won't work. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/3f89558ebe59fc9662dd636772bcba9e0b8f4248",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("some tests around command subclassing "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c06e86bf65b54c71cd13310f26449a4ef378f649",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fixing up some docs "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/590b3dbffc79aad7eec3b1bb7b0ec9fa41015d91",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("white space fixing "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/269e292eecd51d33732150fa9b022089f96142a2",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("starting some tests around the cli harness "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/830ea81feefbe22433b5dfc169c89dd34ec0a107",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("remove a douple console write "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/ca4aee4c97666869f1d48099d154b53dd098a1e6",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("add a required flag to example command "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/61fc9f6ea797ff4e7b56cd9942fa7539114cb39d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Move the required flag validation to a class method "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/e4ae1c2d39f95b63042924f8dd848bf71b518f3a",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("expose list from the top level cli "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/a0bb3879ad3ca5a50212f993eeff6c776eb9a7a1",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("registy methods for unregister and supress process.exit "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/01ff637441f2fcf2c3be7fffdadd712996f0d4e8",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("include deps badge "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/5e32ed26ffba4be4a0ed2b8139b167fef5ba37a6",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fix require path in example "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/9a03a95bea08a4442629e92ca7e568893110e69f",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("build status link "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/ebbf9d080188b1e06b86b2f6b73ff7e0d29b55b5",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("include link to domains in readme "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8d02c52c2e5dccff8d0f18053269c1124e3ec6b9",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("travis file "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/42726753d833f1a390e3e8b0ee418c32014ea849",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-2-2-2014-07-30"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-2-2-2014-07-30"}},[e._v("#")]),e._v(" v0.2.2 (2014-07-30)")]),e._v(" "),r("ul",[r("li",[e._v("0.2.2 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/d0abdd8fbee1851eba6fdc604706a2eee5117577",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("re-fix the image file "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/1b66fe543f9f3ad484b712e364b1ba894654ee20",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-2-1-2014-07-30"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-2-1-2014-07-30"}},[e._v("#")]),e._v(" v0.2.1 (2014-07-30)")]),e._v(" "),r("ul",[r("li",[e._v("0.2.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/fba0a11f142c3af4e427c6103484df52e442eece",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fix image in readyme "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/5af6a25664499985b017ca674b3e9174ddf4a8d2",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("ignore the assets folder from the install "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/b63560effaed73b4d3f5312471782f3b9e66e565",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-2-0-2014-07-30"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-2-0-2014-07-30"}},[e._v("#")]),e._v(" v0.2.0 (2014-07-30)")]),e._v(" "),r("ul",[r("li",[e._v("0.2.0 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/15168abe8132b170c037a1d625e9be0e3716cd43",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("tighten up the deployment package "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/e3685f5f457a029a9e1c617798b0830cb76f394b",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("adding npmignore file "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/41f4e2c4033a17cb580dceb4bedfee8701a4c34d",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("include the non optional deps in package "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/e47cca2e576d75609ca5821ce610c26610222aeb",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Allow for required fields "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/1eeedd746629036b9ee01b1e75461e36e2b68cda",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fix up the exmaple gif "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/953e72f5c07db096653b625f4db7dbcee3c1d5d1",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("adding an example "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/ce6998672393ddd43b8acfd02f1e6047dbac7045",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fix up theflag options docs "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/b677739009dd96037b4ab90c7a2e4bf647836369",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("change blue color to green. "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/16ed05e22d2ef04ba8e63a0d59c82904aff87639",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("more docs and a sample image "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/8e3ebe10f4c1f9d021cc2209e0514ac1cd1fbb15",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"v0-1-1-2014-07-29"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#v0-1-1-2014-07-29"}},[e._v("#")]),e._v(" v0.1.1 (2014-07-29)")]),e._v(" "),r("ul",[r("li",[e._v("0.1.1 "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/a380d87b018f36b9986b665004a14d9f9b541e7e",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("fixing the error output "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/0f6455ef4d12d5b0c7e77fe6b2865287a6768ab7",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("linting "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/516b3cfa4128412de72e3f968b2dfe56d836e4af",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("beefing up output styles "),r("a",{attrs:{href:"https://github.com/esatterwhite/node-seeli/commit/c6430ca6ec464cd3a42fa6c998a8bd76e4082c16",target:"_blank",rel:"noopener noreferrer"}},[e._v("View"),r("OutboundLink")],1)])])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/12.4b1303db.js b/docs/assets/js/12.caa79c1e.js similarity index 99% rename from docs/assets/js/12.4b1303db.js rename to docs/assets/js/12.caa79c1e.js index 268c7dc..c9fd20c 100644 --- a/docs/assets/js/12.4b1303db.js +++ b/docs/assets/js/12.caa79c1e.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{409:function(t,s,a){"use strict";a.r(s);var n=a(31),e=Object(n.a)({},(function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"getting-started"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getting-started"}},[t._v("#")]),t._v(" Getting Started")]),t._v(" "),a("h2",{attrs:{id:"installation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#installation"}},[t._v("#")]),t._v(" Installation")]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[t._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("npm")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("install")]),t._v(" seeli\n")])])]),a("h2",{attrs:{id:"running-seeli"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#running-seeli"}},[t._v("#")]),t._v(" Running Seeli")]),t._v(" "),a("p",[t._v("Seeli has a "),a("code",[t._v("run")]),t._v(" function that reads any arguments and flags from terminal input\nand either executes the appropriate command, or displays help messages.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// cli.js")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" seeli "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\nseeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("div",{staticClass:"language-shell extra-class"},[a("pre",{pre:!0,attrs:{class:"language-shell"}},[a("code",[t._v("$ node ./cli\nUsage: seeli "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("<")]),t._v("command"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(">")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("options"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n\nWhere "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("<")]),t._v("command"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(">")]),t._v(" is the name the "),a("span",{pre:!0,attrs:{class:"token builtin class-name"}},[t._v("command")]),t._v(" to execute\n* "),a("span",{pre:!0,attrs:{class:"token builtin class-name"}},[t._v("help")]),t._v(" - displays information about available commands\n")])])]),a("p",[t._v("A command is an instance of the "),a("code",[t._v("seeli.Command")]),t._v(" class. Its only requirement is\nthat it has a function named "),a("code",[t._v("run")]),t._v(" that returns a promise. What the function does is up to you.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" seeli "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" command "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n run"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("asnyc")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'hello world'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h2",{attrs:{id:"configuring-seeli"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#configuring-seeli"}},[t._v("#")]),t._v(" Configuring Seeli")]),t._v(" "),a("p",[t._v("Seeli has a simple configuration system exposed as a single function")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("seeli.config")]),t._v(": gets or sets configuration values based on inputs")])]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" seeli "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\nseeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("config")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'exitOnError'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// set a value")]),t._v("\nseeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("config")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'exitOnError'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// get a value")]),t._v("\nseeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("config\n")])])]),a("p",[t._v("There are a few global options you can manipulate to change basic behaviors\nof seeli")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("help")]),t._v(": Absolute path to a command to use for the help command. You can use the to use your own help command.")]),t._v(" "),a("li",[a("code",[t._v("exitOnError")]),t._v(": If an error is encountered, seeli will try to forcefully exit")]),t._v(" "),a("li",[a("code",[t._v("exitOnContent")]),t._v(": When a command successfully completes and returns, seeli will try to forcefully exit")]),t._v(" "),a("li",[a("code",[t._v("name")]),t._v(": The name of the exposed command line tool. If not set, the name will default to the name of the file the program is executed from.")]),t._v(" "),a("li",[a("code",[t._v("color")]),t._v(": The primary accent color (default "),a("code",[t._v("green")]),t._v("). The is used by the default")]),t._v(" "),a("li",[a("code",[t._v("plugins")]),t._v(": An array of function or requireable module names that export function")])]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" seeli "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\nseeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("config")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'color'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'red'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nconsole"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("log")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("colorize")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'this is red'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("h4",{attrs:{id:"package-json"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#package-json"}},[t._v("#")]),t._v(" package.json")]),t._v(" "),a("p",[t._v("In an effort to remove boilerplate, it is also possible to define your configuration\nunder a "),a("code",[t._v("seeli")]),t._v(" key in you package.json")]),t._v(" "),a("div",{staticClass:"language-json extra-class"},[a("pre",{pre:!0,attrs:{class:"language-json"}},[a("code",[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"my-command"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v('"version"')]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"0.0.0"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v('"seeli"')]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v('"color"')]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"blue"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v('"plugins"')]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"@mycommand/bar"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"@mycommand/foo"')]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"commands"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#commands"}},[t._v("#")]),t._v(" Commands")]),t._v(" "),a("h3",{attrs:{id:"executing-commands"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#executing-commands"}},[t._v("#")]),t._v(" Executing Commands")]),t._v(" "),a("p",[t._v("There a two ways a command can be executed.")]),t._v(" "),a("ol",[a("li",[t._v("Manually call the "),a("code",[t._v("run")]),t._v(" function")]),t._v(" "),a("li",[t._v("Registered with seeli and invoked via terminal")])]),t._v(" "),a("p",[t._v("You can return anything from the "),a("code",[t._v("run")]),t._v(" function of a command. Seeli will automatically\nprint string output from registered commands to "),a("code",[t._v("stdout")])]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" seeli "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" command "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n run"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("asnyc")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'hello world'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\ncommand"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("then")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("console"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("log"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// hello world")]),t._v("\n")])])]),a("h3",{attrs:{id:"registering-commands"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#registering-commands"}},[t._v("#")]),t._v(" Registering Commands")]),t._v(" "),a("p",[t._v("Interacting with commands programmatically can be good for testing and\ncommand chaining. More often than not you will want to execute commands based\non input from a terminal. To do that, you register commands with seeli\nusing the "),a("code",[t._v("use")]),t._v(" command.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// cli.js")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" seeli "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" hello "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'hello'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" goodbye "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'good bye'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nseeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("use")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'hello'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" hello"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\nseeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("use")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'goodbye'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" goodbye"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nseeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[t._v("$ cli hello\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# hello")]),t._v("\n\n$ cli goodbye\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# good bye")]),t._v("\n")])])]),a("h3",{attrs:{id:"naming-commands"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#naming-commands"}},[t._v("#")]),t._v(" Naming Commands")]),t._v(" "),a("p",[t._v("Commands can be named explicitly when they are registered with "),a("code",[t._v("seeli.use")]),t._v(".\nAlternatively, a comand can specify a "),a("code",[t._v("name")]),t._v(" property and an explicit name\ncan be omitted when registering")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" seeli "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" hello "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'hello'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" goodbye "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'goodbye'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'good bye'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// explicit naming")]),t._v("\nseeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("use")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'hello'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" hello"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// implicit naming")]),t._v("\nseeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("use")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("goodbye"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("h3",{attrs:{id:"aliasing-commands"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#aliasing-commands"}},[t._v("#")]),t._v(" Aliasing Commands")]),t._v(" "),a("p",[t._v("All commands are given a set of short hand alias names based on the name of the command.\nThese shorthands are generated using the "),a("a",{attrs:{href:"https://www.npmjs.com/package/abbrev",target:"_blank",rel:"noopener noreferrer"}},[t._v("abbrev package"),a("OutboundLink")],1),t._v(".\nAdditionally, each command can specify an array of alias names using the "),a("code",[t._v("alias")]),t._v(" option")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" seeli "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" help "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'help'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" alias"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'hlep'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\nseeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("use")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("help"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("p",[t._v("The above command can be invoked with the following names "),a("code",[t._v("h")]),t._v(", "),a("code",[t._v("he")]),t._v(", "),a("code",[t._v("hel")]),t._v(", "),a("code",[t._v("help")]),t._v(", or "),a("code",[t._v("hlep")])]),t._v(" "),a("h2",{attrs:{id:"deployment"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#deployment"}},[t._v("#")]),t._v(" Deployment")]),t._v(" "),a("h3",{attrs:{id:"directory-structure"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#directory-structure"}},[t._v("#")]),t._v(" Directory Structure")]),t._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("├── bin\n│ ├── cli.js\n│ └── commands\n│ ├── index.js\n│ ├── one.js\n│ ├── three.js\n│ └── two.js\n├── index.js\n├── lib\n│ └── index.js\n└── package.json\n")])])]),a("h3",{attrs:{id:"package-json-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#package-json-2"}},[t._v("#")]),t._v(" package.json")]),t._v(" "),a("div",{staticClass:"language-json extra-class"},[a("pre",{pre:!0,attrs:{class:"language-json"}},[a("code",[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v('"bin"')]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v('"mycli"')]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"./bin/cli.js"')]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v('"seeli"')]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"mycli"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v('"color"')]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"blue"')]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h3",{attrs:{id:"entrypoint"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#entrypoint"}},[t._v("#")]),t._v(" Entrypoint")]),t._v(" "),a("p",[t._v("You entry point script will need too register all of your commands and execute seeli.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// bin/cli.js")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" seeli "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" commands "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'./bin/commands'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("for")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" command "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("of")]),t._v(" Object"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("values")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("commands"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("use")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("command"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\nmodule"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" seeli\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("require"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("main "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("===")]),t._v(" module"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("h3",{attrs:{id:"installation-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#installation-2"}},[t._v("#")]),t._v(" Installation")]),t._v(" "),a("p",[t._v("Your command line to can be installed from your project locally with "),a("code",[t._v("npm link")]),t._v(".\nOr it can be installed globally with your package using the "),a("code",[t._v("-g")]),t._v(" flag of npm "),a("code",[t._v("install")]),t._v("\nWith this configuration, it will be available as "),a("code",[t._v("mycli")])]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[t._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("npm")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("link")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token builtin class-name"}},[t._v(".")]),t._v("\n$ mycli\n")])])]),a("p",[t._v("or if published the to the npm registry")]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[t._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("npm")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("install")]),t._v(" my-project -g\n$ mycli\n")])])])])}),[],!1,null,null,null);s.default=e.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{411:function(t,s,a){"use strict";a.r(s);var n=a(31),e=Object(n.a)({},(function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"getting-started"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getting-started"}},[t._v("#")]),t._v(" Getting Started")]),t._v(" "),a("h2",{attrs:{id:"installation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#installation"}},[t._v("#")]),t._v(" Installation")]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[t._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("npm")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("install")]),t._v(" seeli\n")])])]),a("h2",{attrs:{id:"running-seeli"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#running-seeli"}},[t._v("#")]),t._v(" Running Seeli")]),t._v(" "),a("p",[t._v("Seeli has a "),a("code",[t._v("run")]),t._v(" function that reads any arguments and flags from terminal input\nand either executes the appropriate command, or displays help messages.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// cli.js")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" seeli "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\nseeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("div",{staticClass:"language-shell extra-class"},[a("pre",{pre:!0,attrs:{class:"language-shell"}},[a("code",[t._v("$ node ./cli\nUsage: seeli "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("<")]),t._v("command"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(">")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("options"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n\nWhere "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("<")]),t._v("command"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(">")]),t._v(" is the name the "),a("span",{pre:!0,attrs:{class:"token builtin class-name"}},[t._v("command")]),t._v(" to execute\n* "),a("span",{pre:!0,attrs:{class:"token builtin class-name"}},[t._v("help")]),t._v(" - displays information about available commands\n")])])]),a("p",[t._v("A command is an instance of the "),a("code",[t._v("seeli.Command")]),t._v(" class. Its only requirement is\nthat it has a function named "),a("code",[t._v("run")]),t._v(" that returns a promise. What the function does is up to you.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" seeli "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" command "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n run"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("asnyc")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'hello world'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h2",{attrs:{id:"configuring-seeli"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#configuring-seeli"}},[t._v("#")]),t._v(" Configuring Seeli")]),t._v(" "),a("p",[t._v("Seeli has a simple configuration system exposed as a single function")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("seeli.config")]),t._v(": gets or sets configuration values based on inputs")])]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" seeli "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\nseeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("config")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'exitOnError'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// set a value")]),t._v("\nseeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("config")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'exitOnError'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// get a value")]),t._v("\nseeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("config\n")])])]),a("p",[t._v("There are a few global options you can manipulate to change basic behaviors\nof seeli")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("help")]),t._v(": Absolute path to a command to use for the help command. You can use the to use your own help command.")]),t._v(" "),a("li",[a("code",[t._v("exitOnError")]),t._v(": If an error is encountered, seeli will try to forcefully exit")]),t._v(" "),a("li",[a("code",[t._v("exitOnContent")]),t._v(": When a command successfully completes and returns, seeli will try to forcefully exit")]),t._v(" "),a("li",[a("code",[t._v("name")]),t._v(": The name of the exposed command line tool. If not set, the name will default to the name of the file the program is executed from.")]),t._v(" "),a("li",[a("code",[t._v("color")]),t._v(": The primary accent color (default "),a("code",[t._v("green")]),t._v("). The is used by the default")]),t._v(" "),a("li",[a("code",[t._v("plugins")]),t._v(": An array of function or requireable module names that export function")])]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" seeli "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\nseeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("config")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'color'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'red'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nconsole"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("log")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("colorize")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'this is red'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("h4",{attrs:{id:"package-json"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#package-json"}},[t._v("#")]),t._v(" package.json")]),t._v(" "),a("p",[t._v("In an effort to remove boilerplate, it is also possible to define your configuration\nunder a "),a("code",[t._v("seeli")]),t._v(" key in you package.json")]),t._v(" "),a("div",{staticClass:"language-json extra-class"},[a("pre",{pre:!0,attrs:{class:"language-json"}},[a("code",[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"my-command"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v('"version"')]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"0.0.0"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v('"seeli"')]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v('"color"')]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"blue"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v('"plugins"')]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"@mycommand/bar"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"@mycommand/foo"')]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"commands"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#commands"}},[t._v("#")]),t._v(" Commands")]),t._v(" "),a("h3",{attrs:{id:"executing-commands"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#executing-commands"}},[t._v("#")]),t._v(" Executing Commands")]),t._v(" "),a("p",[t._v("There a two ways a command can be executed.")]),t._v(" "),a("ol",[a("li",[t._v("Manually call the "),a("code",[t._v("run")]),t._v(" function")]),t._v(" "),a("li",[t._v("Registered with seeli and invoked via terminal")])]),t._v(" "),a("p",[t._v("You can return anything from the "),a("code",[t._v("run")]),t._v(" function of a command. Seeli will automatically\nprint string output from registered commands to "),a("code",[t._v("stdout")])]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" seeli "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" command "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n run"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("asnyc")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'hello world'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\ncommand"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("then")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("console"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("log"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// hello world")]),t._v("\n")])])]),a("h3",{attrs:{id:"registering-commands"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#registering-commands"}},[t._v("#")]),t._v(" Registering Commands")]),t._v(" "),a("p",[t._v("Interacting with commands programmatically can be good for testing and\ncommand chaining. More often than not you will want to execute commands based\non input from a terminal. To do that, you register commands with seeli\nusing the "),a("code",[t._v("use")]),t._v(" command.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// cli.js")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" seeli "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" hello "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'hello'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" goodbye "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'good bye'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nseeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("use")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'hello'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" hello"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\nseeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("use")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'goodbye'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" goodbye"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nseeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[t._v("$ cli hello\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# hello")]),t._v("\n\n$ cli goodbye\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# good bye")]),t._v("\n")])])]),a("h3",{attrs:{id:"naming-commands"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#naming-commands"}},[t._v("#")]),t._v(" Naming Commands")]),t._v(" "),a("p",[t._v("Commands can be named explicitly when they are registered with "),a("code",[t._v("seeli.use")]),t._v(".\nAlternatively, a comand can specify a "),a("code",[t._v("name")]),t._v(" property and an explicit name\ncan be omitted when registering")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" seeli "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" hello "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'hello'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" goodbye "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'goodbye'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'good bye'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// explicit naming")]),t._v("\nseeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("use")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'hello'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" hello"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// implicit naming")]),t._v("\nseeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("use")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("goodbye"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("h3",{attrs:{id:"aliasing-commands"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#aliasing-commands"}},[t._v("#")]),t._v(" Aliasing Commands")]),t._v(" "),a("p",[t._v("All commands are given a set of short hand alias names based on the name of the command.\nThese shorthands are generated using the "),a("a",{attrs:{href:"https://www.npmjs.com/package/abbrev",target:"_blank",rel:"noopener noreferrer"}},[t._v("abbrev package"),a("OutboundLink")],1),t._v(".\nAdditionally, each command can specify an array of alias names using the "),a("code",[t._v("alias")]),t._v(" option")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" seeli "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" help "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'help'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" alias"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'hlep'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\nseeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("use")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("help"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("p",[t._v("The above command can be invoked with the following names "),a("code",[t._v("h")]),t._v(", "),a("code",[t._v("he")]),t._v(", "),a("code",[t._v("hel")]),t._v(", "),a("code",[t._v("help")]),t._v(", or "),a("code",[t._v("hlep")])]),t._v(" "),a("h2",{attrs:{id:"deployment"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#deployment"}},[t._v("#")]),t._v(" Deployment")]),t._v(" "),a("h3",{attrs:{id:"directory-structure"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#directory-structure"}},[t._v("#")]),t._v(" Directory Structure")]),t._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("├── bin\n│ ├── cli.js\n│ └── commands\n│ ├── index.js\n│ ├── one.js\n│ ├── three.js\n│ └── two.js\n├── index.js\n├── lib\n│ └── index.js\n└── package.json\n")])])]),a("h3",{attrs:{id:"package-json-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#package-json-2"}},[t._v("#")]),t._v(" package.json")]),t._v(" "),a("div",{staticClass:"language-json extra-class"},[a("pre",{pre:!0,attrs:{class:"language-json"}},[a("code",[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v('"bin"')]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v('"mycli"')]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"./bin/cli.js"')]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v('"seeli"')]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"mycli"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v('"color"')]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"blue"')]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h3",{attrs:{id:"entrypoint"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#entrypoint"}},[t._v("#")]),t._v(" Entrypoint")]),t._v(" "),a("p",[t._v("You entry point script will need too register all of your commands and execute seeli.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// bin/cli.js")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" seeli "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" commands "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'./bin/commands'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("for")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" command "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("of")]),t._v(" Object"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("values")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("commands"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("use")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("command"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\nmodule"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" seeli\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("require"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("main "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("===")]),t._v(" module"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("h3",{attrs:{id:"installation-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#installation-2"}},[t._v("#")]),t._v(" Installation")]),t._v(" "),a("p",[t._v("Your command line to can be installed from your project locally with "),a("code",[t._v("npm link")]),t._v(".\nOr it can be installed globally with your package using the "),a("code",[t._v("-g")]),t._v(" flag of npm "),a("code",[t._v("install")]),t._v("\nWith this configuration, it will be available as "),a("code",[t._v("mycli")])]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[t._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("npm")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("link")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token builtin class-name"}},[t._v(".")]),t._v("\n$ mycli\n")])])]),a("p",[t._v("or if published the to the npm registry")]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[t._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("npm")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("install")]),t._v(" my-project -g\n$ mycli\n")])])])])}),[],!1,null,null,null);s.default=e.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/13.9d8a5999.js b/docs/assets/js/13.d1b90d44.js similarity index 99% rename from docs/assets/js/13.9d8a5999.js rename to docs/assets/js/13.d1b90d44.js index 5c1e4f7..f04af28 100644 --- a/docs/assets/js/13.9d8a5999.js +++ b/docs/assets/js/13.d1b90d44.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{410:function(t,s,a){"use strict";a.r(s);var n=a(31),e=Object(n.a)({},(function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"commands"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#commands"}},[t._v("#")]),t._v(" Commands")]),t._v(" "),a("p",[t._v("An instance of the "),a("code",[t._v("command")]),t._v(" class represents a single executable unit.\nThe seeli framework parses user input and executes the appropriate command.\nCommands handle basic validation, formatting help messages, prompting for\nuser input. The vast majority of this functionality is handled through "),a("strong",[t._v("flags")])]),t._v(" "),a("h2",{attrs:{id:"setup"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#setup"}},[t._v("#")]),t._v(" Setup")]),t._v(" "),a("p",[t._v("Creating a new command is as simple as creating a new instance of a seeli\n"),a("code",[t._v("Command")]),t._v(" and passing it configuration options. Many of the options are used\nby the default "),a("code",[t._v("help")]),t._v(" command to render documentation. At the most basic, a\ncommand should have a "),a("code",[t._v("name")]),t._v(", "),a("code",[t._v("description")]),t._v(", and some additional "),a("code",[t._v("usage")]),t._v(" text.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" seeli "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" name "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("config")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'name'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\nmodule"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'simple'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'This is a simple example'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" usage"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token template-string"}},[a("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("${")]),t._v("name"),a("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v(" example [options]")]),a("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("p",[t._v("This a basic skeleton for a command command, but it doesn't have any defined behavior.")]),t._v(" "),a("h2",{attrs:{id:"execution"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#execution"}},[t._v("#")]),t._v(" Execution")]),t._v(" "),a("p",[t._v("To define what a command does, you pass a "),a("code",[t._v("run")]),t._v(" function that is responsible for\nexecuting any and all command specific logic when the command is dispatched.\nAnd javascript type can be returned from a "),a("code",[t._v("run")]),t._v(" function. When a "),a("a",{attrs:{href:"https://mdn.io/string",target:"_blank",rel:"noopener noreferrer"}},[t._v("String"),a("OutboundLink")],1),t._v("\nis returned, it will automatically be passed to "),a("code",[t._v("console.log")]),t._v(". When a return\nvalue of type "),a("code",[t._v("string")]),t._v(" is received, a "),a("code",[t._v("content")]),t._v(" event is emitted with the return value.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("Command"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nmodule"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'simple'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'This is a simple example'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("command"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'hello world'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("div",{staticClass:"language-sh extra-class"},[a("pre",{pre:!0,attrs:{class:"language-sh"}},[a("code",[t._v("$ cmd simple\n"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(">")]),t._v(" hello world\n")])])]),a("h2",{attrs:{id:"events"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#events"}},[t._v("#")]),t._v(" Events")]),t._v(" "),a("p",[t._v("Commands are also "),a("a",{attrs:{href:"https://nodejs.org/api/events.html#events_class_eventemitter",target:"_blank",rel:"noopener noreferrer"}},[t._v("event emitters"),a("OutboundLink")],1),t._v(". When defining a command, any function property the starts with\n"),a("code",[t._v("on")]),t._v(" will be attached as an event handler for the matching name, sans "),a("code",[t._v("on")])]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[t._v("module"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'events'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("onCustom")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("...")]),t._v("args")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n console"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("log")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("...")]),t._v("args"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("emit")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'custom'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("3")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("h2",{attrs:{id:"complex-content"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#complex-content"}},[t._v("#")]),t._v(" Complex Content")]),t._v(" "),a("p",[t._v("To keep the concerns of presentation separate from logic and to ease\ntesting, it is a good idea to return structured data object from "),a("code",[t._v("run")]),t._v(" handlers. Formatting should be done by an event handler for the "),a("code",[t._v("content")]),t._v(" event.")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("div",{staticClass:"highlight-lines"},[a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("div",{staticClass:"highlighted"},[t._v(" ")]),a("div",{staticClass:"highlighted"},[t._v(" ")]),a("div",{staticClass:"highlighted"},[t._v(" ")]),a("div",{staticClass:"highlighted"},[t._v(" ")]),a("div",{staticClass:"highlighted"},[t._v(" ")]),a("br"),a("br"),a("br"),a("br"),a("br")]),a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("Command"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nmodule"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'complex'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'renders complex objects'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("onContent")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("content")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("!")]),t._v("content"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ui"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("info")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("content"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("message"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ui"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("succeed")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'complete'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("command"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("message"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'hello world'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("div",{staticClass:"language-shell extra-class"},[a("pre",{pre:!0,attrs:{class:"language-shell"}},[a("code",[t._v("$ cmd complex\n"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(">")]),t._v(" ℹ hello world\n"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(">")]),t._v(" ✔ complete\n")])])]),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("compile and return structured output objects in your "),a("code",[t._v("run")]),t._v(" functions\nand delegate text rendering to the and other conditional behaviors to\nevent handlers")])]),t._v(" "),a("p",[t._v("This can also be useful in testing sutations or situations when\nusing a command programmatically. Being able to inspect a structured\nvalue rather than capturing and parsing rendered output can make testing efforts\nsignificantly easier.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("div",{staticClass:"highlight-lines"},[a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("div",{staticClass:"highlighted"},[t._v(" ")]),a("br"),a("br")]),a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" assert "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'assert'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("Command"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" hello "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'simple'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("command"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("message"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'hello world'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nhello\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("then")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("output")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n assert"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("deepEqual")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("output"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("message"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'hello world'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("h2",{attrs:{id:"flags"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#flags"}},[t._v("#")]),t._v(" Flags")]),t._v(" "),a("p",[t._v("A flag represents a single value that you want to collect from user input.\nWhen the command successfully executes, the collected values are passed to\nthe "),a("code",[t._v("run")]),t._v(" function of your command as a single object.")]),t._v(" "),a("p",[t._v("A simple example would be collecting name and age of an individual")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("Command"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nmodule"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'personalize'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" flags"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" String\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Your name'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" shorthand"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'n'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" age"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" Number\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Your age in years'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" shorthand"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'a'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("command"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n console"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("log")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n console"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("log")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("age"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("h3",{attrs:{id:"options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#options"}},[t._v("#")]),t._v(" Options")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("name")]),t._v(" "),a("th",{staticStyle:{"text-align":"center"}},[t._v("required")]),t._v(" "),a("th",{staticStyle:{"text-align":"center"}},[t._v("type")]),t._v(" "),a("th",[t._v("description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("strong",[t._v("type")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("true")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("string")])]),t._v(" "),a("td",[t._v("The type of input that is expected. Boolean types to not expect input. The present of the flag "),a("strong",[t._v("implies")]),t._v(" "),a("code",[t._v("true")]),t._v(". Additionally, boolean flags allow for "),a("code",[t._v("--no-")]),t._v(" to enforce "),a("code",[t._v("false")]),t._v(". If you want to accept multiple "),a("strong",[t._v("values")]),t._v(", you specify type as an array with the first value being the type you which to accept. For example "),a("code",[t._v("[String, Array]")]),t._v(" means you will accept multiple string values.")])]),t._v(" "),a("tr",[a("td",[a("strong",[t._v("description")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("string")])]),t._v(" "),a("td",[t._v("a description of the flag in question. Used to generate help messages")])]),t._v(" "),a("tr",[a("td",[a("strong",[t._v("required")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("boolean")])]),t._v(" "),a("td",[t._v("If set to "),a("code",[t._v("true")]),t._v(" a "),a("code",[t._v("RequiredFieldError")]),t._v(" will be emitted")])]),t._v(" "),a("tr",[a("td",[a("strong",[t._v("shorthand")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("string")])]),t._v(" "),a("td",[t._v("An optional shorthand name that will be expanded out to the long hand flag.")])]),t._v(" "),a("tr",[a("td",[a("strong",[t._v("interactive")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("boolean")])]),t._v(" "),a("td",[t._v("If set to false the flag will omitted from interactive prompts")])]),t._v(" "),a("tr",[a("td",[a("strong",[t._v("default")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("mixed")])]),t._v(" "),a("td",[t._v("A value to return if the flag is omitted.")])]),t._v(" "),a("tr",[a("td",[a("strong",[t._v("mask")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("strong",[t._v("interactive mode only")]),t._v(" Sets the input type to masked input to hide values")])]),t._v(" "),a("tr",[a("td",[a("strong",[t._v("choices")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("array")])]),t._v(" "),a("td",[t._v("Used only during an interactive command. Restricts the users options only to the options "),a("strong",[t._v("specified")])])]),t._v(" "),a("tr",[a("td",[a("strong",[t._v("multi")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("strong",[t._v("interactive mode only")]),t._v(" If choices is specified, and multi is true, this user will be presented a multi checkbox UI allowing them to pick multiple values. The return value will be an array")])]),t._v(" "),a("tr",[a("td",[a("strong",[t._v("skip")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("strong",[t._v("interactive mode only")]),t._v(" - if set to "),a("code",[t._v("true")]),t._v(" this flag will be omitted from the interactive command prompts")])]),t._v(" "),a("tr",[a("td",[a("strong",[t._v("event")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("boolean")])]),t._v(" "),a("td",[t._v("if set to "),a("code",[t._v("true")]),t._v(" the command will emit an event withe the same name as the flag with "),a("strong",[t._v("the")]),t._v(" value that was captured for that flag")])]),t._v(" "),a("tr",[a("td",[a("strong",[t._v("when")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("function")])]),t._v(" "),a("td",[a("strong",[t._v("interactive mode only")]),t._v(" Receives the current user answers hash and should return true or "),a("strong",[t._v("false")]),t._v(" depending on whether or not this question should be asked.")])]),t._v(" "),a("tr",[a("td",[a("strong",[t._v("validate")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("function")])]),t._v(" "),a("td",[t._v("receives user input and should return true if the value is "),a("strong",[t._v("valid")]),t._v(", and an error message (String) otherwise. If false is returned, a default error message is provided.")])]),t._v(" "),a("tr",[a("td",[a("strong",[t._v("filter")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("function")])]),t._v(" "),a("td",[a("strong",[t._v("interactive mode only")]),t._v(" Receives the user input and return the filtered value to be used "),a("strong",[t._v("inside")]),t._v(" the program. The value returned will be added to the Answers hash.")])])])]),t._v(" "),a("h3",{attrs:{id:"types"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#types"}},[t._v("#")]),t._v(" Types")]),t._v(" "),a("p",[t._v("Generally, all input from "),a("code",[t._v("stdin")]),t._v(" is represented as strings. Using the flag "),a("code",[t._v("type")]),t._v(" option you can specify\nThe data expected data type and the input value will be coerced appropriately.\nIn most cases, you may pass the native javascript type you want to use. There are special cases\nfor "),a("code",[t._v("url")]),t._v(" and "),a("code",[t._v("path")])]),t._v(" "),a("h4",{attrs:{id:"string"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#string"}},[t._v("#")]),t._v(" String")]),t._v(" "),a("p",[t._v("Coerce all values as text / strings")]),t._v(" "),a("h4",{attrs:{id:"number"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#number"}},[t._v("#")]),t._v(" Number")]),t._v(" "),a("p",[t._v("Coerce all values as numeric ( integer or decimal )")]),t._v(" "),a("h4",{attrs:{id:"date"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#date"}},[t._v("#")]),t._v(" Date")]),t._v(" "),a("p",[t._v("Converts javascript date string into full Date objects")]),t._v(" "),a("h4",{attrs:{id:"boolean"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#boolean"}},[t._v("#")]),t._v(" Boolean")]),t._v(" "),a("p",[t._v("Boolean is a special input type in that it doesn't require an input value. The presence of the flag indicates a true value.\nThe flag can be negated by prefixing the flag with "),a("code",[t._v("no-")])]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n flags"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n bool"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" Boolean\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("div",{staticClass:"language-sh extra-class"},[a("pre",{pre:!0,attrs:{class:"language-sh"}},[a("code",[t._v("$ cmd --bool "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("#true")]),t._v("\n$ cmd --no-bool "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("#false")]),t._v("\n")])])]),a("h4",{attrs:{id:"url"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#url"}},[t._v("#")]),t._v(" URL")]),t._v(" "),a("p",[t._v("A valid URL string. If it can't be parsed or is not a value url, An error will be raised.\nThe flag type should be the node "),a("code",[t._v("url")]),t._v(" module")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" url "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'url'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n flags"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n website"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" url\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("h4",{attrs:{id:"path"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#path"}},[t._v("#")]),t._v(" Path")]),t._v(" "),a("p",[t._v("A valid file system path. If the path doesn't resolve, an error will be raised.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" path "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'path'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n flags"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n file"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" path\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("h4",{attrs:{id:"password"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#password"}},[t._v("#")]),t._v(" Password")]),t._v(" "),a("p",[t._v("Collects values as strings, but does not display the input value when it is typed.\nThis is accomplished by setting flag property, "),a("code",[t._v("mask")]),t._v(" to "),a("code",[t._v("true")]),t._v(". This only pertains to\ninteractive mode with the user is prompted for a password. Input flags cannot be masked")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" path "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'path'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n flags"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n passowrd"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" String\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" mask"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("h4",{attrs:{id:"array"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#array"}},[t._v("#")]),t._v(" Array")]),t._v(" "),a("p",[t._v("Including "),a("code",[t._v("Array")]),t._v(" in combination with another type allows a particular flag to be repeated.\nThe resulting input value will always be an array")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n flags"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n numbers"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("Number"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" Array"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("div",{staticClass:"language-sh extra-class"},[a("pre",{pre:!0,attrs:{class:"language-sh"}},[a("code",[t._v("$ cmd --numbers"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),t._v(" --numbers"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),t._v(" --numbers"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("3")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# {numbers: [1, 2, 3]}")]),t._v("\n")])])]),a("h3",{attrs:{id:"nested-flags"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#nested-flags"}},[t._v("#")]),t._v(" Nested Flags")]),t._v(" "),a("p",[t._v("Nested flags are a way to better control the shape of the input object that is\ncollected before the "),a("code",[t._v("run")]),t._v(" function is executed. Nested flags make use of a separator ("),a("code",[t._v(":")]),t._v(")\nto drill down into the final "),a("code",[t._v("data")]),t._v(" object")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n flags"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'deep:property'")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" String\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("div",{staticClass:"language-sh extra-class"},[a("pre",{pre:!0,attrs:{class:"language-sh"}},[a("code",[t._v("$ cmd --deep:property"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v("hello\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# {deep: {property: 'hello'}}")]),t._v("\n")])])]),a("h2",{attrs:{id:"sub-commands"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#sub-commands"}},[t._v("#")]),t._v(" Sub Commands")]),t._v(" "),a("p",[t._v("Commands can be nested allowing the construction of a more fluent\nuser experience. A command accepts an additional "),a("code",[t._v("commands")]),t._v(" array\nproperty. Each command is stand alone and can define its own input flags\nand execution behaviors")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("div",{staticClass:"highlight-lines"},[a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("div",{staticClass:"highlighted"},[t._v(" ")]),a("br"),a("br"),a("br"),a("br"),a("br"),a("br")]),a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" seeli "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" name "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("colorize")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("config")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'name'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" bar "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'bar'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'A Bar Command'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" usage"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token template-string"}},[a("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("${")]),t._v("name"),a("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v(" foo bar --input=yes")]),a("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" flags"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n input"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" String\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'A bar value'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'bar'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// main command")]),t._v("\nmodule"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'foo'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'A Foo command'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" usage"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token template-string"}},[a("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("${")]),t._v("name"),a("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v(" foo [flags]")]),a("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("...")]),t._v("bar"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("usage\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" commands"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("bar"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("cmd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" help "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("commands"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("get")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'help'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" help"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'foo'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("p",[t._v("When sub commands are registered the help output is augmented with additional\ninformation about all registered commands. This behavior is recurrsive in that\na command can have 0 or more commands. Seeli itself is a command, which\nkeeps the execution behavior consistent")])])}),[],!1,null,null,null);s.default=e.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{412:function(t,s,a){"use strict";a.r(s);var n=a(31),e=Object(n.a)({},(function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"commands"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#commands"}},[t._v("#")]),t._v(" Commands")]),t._v(" "),a("p",[t._v("An instance of the "),a("code",[t._v("command")]),t._v(" class represents a single executable unit.\nThe seeli framework parses user input and executes the appropriate command.\nCommands handle basic validation, formatting help messages, prompting for\nuser input. The vast majority of this functionality is handled through "),a("strong",[t._v("flags")])]),t._v(" "),a("h2",{attrs:{id:"setup"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#setup"}},[t._v("#")]),t._v(" Setup")]),t._v(" "),a("p",[t._v("Creating a new command is as simple as creating a new instance of a seeli\n"),a("code",[t._v("Command")]),t._v(" and passing it configuration options. Many of the options are used\nby the default "),a("code",[t._v("help")]),t._v(" command to render documentation. At the most basic, a\ncommand should have a "),a("code",[t._v("name")]),t._v(", "),a("code",[t._v("description")]),t._v(", and some additional "),a("code",[t._v("usage")]),t._v(" text.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" seeli "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" name "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("config")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'name'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\nmodule"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'simple'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'This is a simple example'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" usage"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token template-string"}},[a("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("${")]),t._v("name"),a("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v(" example [options]")]),a("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("p",[t._v("This a basic skeleton for a command command, but it doesn't have any defined behavior.")]),t._v(" "),a("h2",{attrs:{id:"execution"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#execution"}},[t._v("#")]),t._v(" Execution")]),t._v(" "),a("p",[t._v("To define what a command does, you pass a "),a("code",[t._v("run")]),t._v(" function that is responsible for\nexecuting any and all command specific logic when the command is dispatched.\nAnd javascript type can be returned from a "),a("code",[t._v("run")]),t._v(" function. When a "),a("a",{attrs:{href:"https://mdn.io/string",target:"_blank",rel:"noopener noreferrer"}},[t._v("String"),a("OutboundLink")],1),t._v("\nis returned, it will automatically be passed to "),a("code",[t._v("console.log")]),t._v(". When a return\nvalue of type "),a("code",[t._v("string")]),t._v(" is received, a "),a("code",[t._v("content")]),t._v(" event is emitted with the return value.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("Command"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nmodule"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'simple'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'This is a simple example'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("command"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'hello world'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("div",{staticClass:"language-sh extra-class"},[a("pre",{pre:!0,attrs:{class:"language-sh"}},[a("code",[t._v("$ cmd simple\n"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(">")]),t._v(" hello world\n")])])]),a("h2",{attrs:{id:"events"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#events"}},[t._v("#")]),t._v(" Events")]),t._v(" "),a("p",[t._v("Commands are also "),a("a",{attrs:{href:"https://nodejs.org/api/events.html#events_class_eventemitter",target:"_blank",rel:"noopener noreferrer"}},[t._v("event emitters"),a("OutboundLink")],1),t._v(". When defining a command, any function property the starts with\n"),a("code",[t._v("on")]),t._v(" will be attached as an event handler for the matching name, sans "),a("code",[t._v("on")])]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[t._v("module"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'events'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("onCustom")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("...")]),t._v("args")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n console"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("log")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("...")]),t._v("args"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("emit")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'custom'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("3")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("h2",{attrs:{id:"complex-content"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#complex-content"}},[t._v("#")]),t._v(" Complex Content")]),t._v(" "),a("p",[t._v("To keep the concerns of presentation separate from logic and to ease\ntesting, it is a good idea to return structured data object from "),a("code",[t._v("run")]),t._v(" handlers. Formatting should be done by an event handler for the "),a("code",[t._v("content")]),t._v(" event.")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("div",{staticClass:"highlight-lines"},[a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("div",{staticClass:"highlighted"},[t._v(" ")]),a("div",{staticClass:"highlighted"},[t._v(" ")]),a("div",{staticClass:"highlighted"},[t._v(" ")]),a("div",{staticClass:"highlighted"},[t._v(" ")]),a("div",{staticClass:"highlighted"},[t._v(" ")]),a("br"),a("br"),a("br"),a("br"),a("br")]),a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("Command"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nmodule"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'complex'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'renders complex objects'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("onContent")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("content")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("!")]),t._v("content"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ui"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("info")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("content"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("message"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ui"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("succeed")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'complete'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("command"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("message"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'hello world'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("div",{staticClass:"language-shell extra-class"},[a("pre",{pre:!0,attrs:{class:"language-shell"}},[a("code",[t._v("$ cmd complex\n"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(">")]),t._v(" ℹ hello world\n"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(">")]),t._v(" ✔ complete\n")])])]),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("compile and return structured output objects in your "),a("code",[t._v("run")]),t._v(" functions\nand delegate text rendering to the and other conditional behaviors to\nevent handlers")])]),t._v(" "),a("p",[t._v("This can also be useful in testing sutations or situations when\nusing a command programmatically. Being able to inspect a structured\nvalue rather than capturing and parsing rendered output can make testing efforts\nsignificantly easier.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("div",{staticClass:"highlight-lines"},[a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("div",{staticClass:"highlighted"},[t._v(" ")]),a("br"),a("br")]),a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" assert "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'assert'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("Command"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" hello "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'simple'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("command"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("message"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'hello world'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nhello\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("then")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("output")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n assert"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("deepEqual")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("output"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("message"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'hello world'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("h2",{attrs:{id:"flags"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#flags"}},[t._v("#")]),t._v(" Flags")]),t._v(" "),a("p",[t._v("A flag represents a single value that you want to collect from user input.\nWhen the command successfully executes, the collected values are passed to\nthe "),a("code",[t._v("run")]),t._v(" function of your command as a single object.")]),t._v(" "),a("p",[t._v("A simple example would be collecting name and age of an individual")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("Command"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nmodule"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'personalize'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" flags"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" String\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Your name'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" shorthand"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'n'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" age"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" Number\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Your age in years'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" shorthand"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'a'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("command"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n console"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("log")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n console"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("log")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("age"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("h3",{attrs:{id:"options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#options"}},[t._v("#")]),t._v(" Options")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("name")]),t._v(" "),a("th",{staticStyle:{"text-align":"center"}},[t._v("required")]),t._v(" "),a("th",{staticStyle:{"text-align":"center"}},[t._v("type")]),t._v(" "),a("th",[t._v("description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("strong",[t._v("type")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("true")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("string")])]),t._v(" "),a("td",[t._v("The type of input that is expected. Boolean types to not expect input. The present of the flag "),a("strong",[t._v("implies")]),t._v(" "),a("code",[t._v("true")]),t._v(". Additionally, boolean flags allow for "),a("code",[t._v("--no-")]),t._v(" to enforce "),a("code",[t._v("false")]),t._v(". If you want to accept multiple "),a("strong",[t._v("values")]),t._v(", you specify type as an array with the first value being the type you which to accept. For example "),a("code",[t._v("[String, Array]")]),t._v(" means you will accept multiple string values.")])]),t._v(" "),a("tr",[a("td",[a("strong",[t._v("description")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("string")])]),t._v(" "),a("td",[t._v("a description of the flag in question. Used to generate help messages")])]),t._v(" "),a("tr",[a("td",[a("strong",[t._v("required")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("boolean")])]),t._v(" "),a("td",[t._v("If set to "),a("code",[t._v("true")]),t._v(" a "),a("code",[t._v("RequiredFieldError")]),t._v(" will be emitted")])]),t._v(" "),a("tr",[a("td",[a("strong",[t._v("shorthand")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("string")])]),t._v(" "),a("td",[t._v("An optional shorthand name that will be expanded out to the long hand flag.")])]),t._v(" "),a("tr",[a("td",[a("strong",[t._v("interactive")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("boolean")])]),t._v(" "),a("td",[t._v("If set to false the flag will omitted from interactive prompts")])]),t._v(" "),a("tr",[a("td",[a("strong",[t._v("default")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("mixed")])]),t._v(" "),a("td",[t._v("A value to return if the flag is omitted.")])]),t._v(" "),a("tr",[a("td",[a("strong",[t._v("mask")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("strong",[t._v("interactive mode only")]),t._v(" Sets the input type to masked input to hide values")])]),t._v(" "),a("tr",[a("td",[a("strong",[t._v("choices")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("array")])]),t._v(" "),a("td",[t._v("Used only during an interactive command. Restricts the users options only to the options "),a("strong",[t._v("specified")])])]),t._v(" "),a("tr",[a("td",[a("strong",[t._v("multi")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("strong",[t._v("interactive mode only")]),t._v(" If choices is specified, and multi is true, this user will be presented a multi checkbox UI allowing them to pick multiple values. The return value will be an array")])]),t._v(" "),a("tr",[a("td",[a("strong",[t._v("skip")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("strong",[t._v("interactive mode only")]),t._v(" - if set to "),a("code",[t._v("true")]),t._v(" this flag will be omitted from the interactive command prompts")])]),t._v(" "),a("tr",[a("td",[a("strong",[t._v("event")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("boolean")])]),t._v(" "),a("td",[t._v("if set to "),a("code",[t._v("true")]),t._v(" the command will emit an event withe the same name as the flag with "),a("strong",[t._v("the")]),t._v(" value that was captured for that flag")])]),t._v(" "),a("tr",[a("td",[a("strong",[t._v("when")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("function")])]),t._v(" "),a("td",[a("strong",[t._v("interactive mode only")]),t._v(" Receives the current user answers hash and should return true or "),a("strong",[t._v("false")]),t._v(" depending on whether or not this question should be asked.")])]),t._v(" "),a("tr",[a("td",[a("strong",[t._v("validate")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("function")])]),t._v(" "),a("td",[t._v("receives user input and should return true if the value is "),a("strong",[t._v("valid")]),t._v(", and an error message (String) otherwise. If false is returned, a default error message is provided.")])]),t._v(" "),a("tr",[a("td",[a("strong",[t._v("filter")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("code",[t._v("function")])]),t._v(" "),a("td",[a("strong",[t._v("interactive mode only")]),t._v(" Receives the user input and return the filtered value to be used "),a("strong",[t._v("inside")]),t._v(" the program. The value returned will be added to the Answers hash.")])])])]),t._v(" "),a("h3",{attrs:{id:"types"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#types"}},[t._v("#")]),t._v(" Types")]),t._v(" "),a("p",[t._v("Generally, all input from "),a("code",[t._v("stdin")]),t._v(" is represented as strings. Using the flag "),a("code",[t._v("type")]),t._v(" option you can specify\nThe data expected data type and the input value will be coerced appropriately.\nIn most cases, you may pass the native javascript type you want to use. There are special cases\nfor "),a("code",[t._v("url")]),t._v(" and "),a("code",[t._v("path")])]),t._v(" "),a("h4",{attrs:{id:"string"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#string"}},[t._v("#")]),t._v(" String")]),t._v(" "),a("p",[t._v("Coerce all values as text / strings")]),t._v(" "),a("h4",{attrs:{id:"number"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#number"}},[t._v("#")]),t._v(" Number")]),t._v(" "),a("p",[t._v("Coerce all values as numeric ( integer or decimal )")]),t._v(" "),a("h4",{attrs:{id:"date"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#date"}},[t._v("#")]),t._v(" Date")]),t._v(" "),a("p",[t._v("Converts javascript date string into full Date objects")]),t._v(" "),a("h4",{attrs:{id:"boolean"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#boolean"}},[t._v("#")]),t._v(" Boolean")]),t._v(" "),a("p",[t._v("Boolean is a special input type in that it doesn't require an input value. The presence of the flag indicates a true value.\nThe flag can be negated by prefixing the flag with "),a("code",[t._v("no-")])]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n flags"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n bool"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" Boolean\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("div",{staticClass:"language-sh extra-class"},[a("pre",{pre:!0,attrs:{class:"language-sh"}},[a("code",[t._v("$ cmd --bool "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("#true")]),t._v("\n$ cmd --no-bool "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("#false")]),t._v("\n")])])]),a("h4",{attrs:{id:"url"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#url"}},[t._v("#")]),t._v(" URL")]),t._v(" "),a("p",[t._v("A valid URL string. If it can't be parsed or is not a value url, An error will be raised.\nThe flag type should be the node "),a("code",[t._v("url")]),t._v(" module")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" url "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'url'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n flags"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n website"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" url\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("h4",{attrs:{id:"path"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#path"}},[t._v("#")]),t._v(" Path")]),t._v(" "),a("p",[t._v("A valid file system path. If the path doesn't resolve, an error will be raised.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" path "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'path'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n flags"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n file"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" path\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("h4",{attrs:{id:"password"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#password"}},[t._v("#")]),t._v(" Password")]),t._v(" "),a("p",[t._v("Collects values as strings, but does not display the input value when it is typed.\nThis is accomplished by setting flag property, "),a("code",[t._v("mask")]),t._v(" to "),a("code",[t._v("true")]),t._v(". This only pertains to\ninteractive mode with the user is prompted for a password. Input flags cannot be masked")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" path "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'path'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n flags"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n passowrd"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" String\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" mask"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("h4",{attrs:{id:"array"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#array"}},[t._v("#")]),t._v(" Array")]),t._v(" "),a("p",[t._v("Including "),a("code",[t._v("Array")]),t._v(" in combination with another type allows a particular flag to be repeated.\nThe resulting input value will always be an array")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n flags"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n numbers"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("Number"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" Array"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("div",{staticClass:"language-sh extra-class"},[a("pre",{pre:!0,attrs:{class:"language-sh"}},[a("code",[t._v("$ cmd --numbers"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),t._v(" --numbers"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),t._v(" --numbers"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("3")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# {numbers: [1, 2, 3]}")]),t._v("\n")])])]),a("h3",{attrs:{id:"nested-flags"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#nested-flags"}},[t._v("#")]),t._v(" Nested Flags")]),t._v(" "),a("p",[t._v("Nested flags are a way to better control the shape of the input object that is\ncollected before the "),a("code",[t._v("run")]),t._v(" function is executed. Nested flags make use of a separator ("),a("code",[t._v(":")]),t._v(")\nto drill down into the final "),a("code",[t._v("data")]),t._v(" object")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n flags"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'deep:property'")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" String\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("div",{staticClass:"language-sh extra-class"},[a("pre",{pre:!0,attrs:{class:"language-sh"}},[a("code",[t._v("$ cmd --deep:property"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v("hello\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# {deep: {property: 'hello'}}")]),t._v("\n")])])]),a("h2",{attrs:{id:"sub-commands"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#sub-commands"}},[t._v("#")]),t._v(" Sub Commands")]),t._v(" "),a("p",[t._v("Commands can be nested allowing the construction of a more fluent\nuser experience. A command accepts an additional "),a("code",[t._v("commands")]),t._v(" array\nproperty. Each command is stand alone and can define its own input flags\nand execution behaviors")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("div",{staticClass:"highlight-lines"},[a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("div",{staticClass:"highlighted"},[t._v(" ")]),a("br"),a("br"),a("br"),a("br"),a("br"),a("br")]),a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" seeli "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" name "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("colorize")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("config")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'name'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" bar "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'bar'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'A Bar Command'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" usage"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token template-string"}},[a("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("${")]),t._v("name"),a("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v(" foo bar --input=yes")]),a("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" flags"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n input"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" String\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'A bar value'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'bar'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// main command")]),t._v("\nmodule"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Command")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'foo'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'A Foo command'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" usage"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token template-string"}},[a("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("${")]),t._v("name"),a("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v(" foo [flags]")]),a("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("...")]),t._v("bar"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("usage\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" commands"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("bar"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("cmd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" help "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("commands"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("get")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'help'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" help"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("run")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'foo'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("p",[t._v("When sub commands are registered the help output is augmented with additional\ninformation about all registered commands. This behavior is recurrsive in that\na command can have 0 or more commands. Seeli itself is a command, which\nkeeps the execution behavior consistent")])])}),[],!1,null,null,null);s.default=e.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/14.f62f0eee.js b/docs/assets/js/14.4f088289.js similarity index 99% rename from docs/assets/js/14.f62f0eee.js rename to docs/assets/js/14.4f088289.js index ffbadb5..1574945 100644 --- a/docs/assets/js/14.f62f0eee.js +++ b/docs/assets/js/14.4f088289.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{412:function(s,t,a){"use strict";a.r(t);var n=a(31),e=Object(n.a)({},(function(){var s=this,t=s.$createElement,a=s._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[a("h1",{attrs:{id:"plugins"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#plugins"}},[s._v("#")]),s._v(" Plugins")]),s._v(" "),a("p",[s._v("Seeli provides basic support for plugins as a means to share commands\nand other common bits of functionality. Plugins are javascript functions\nthat will be called during initialization of the command line interface.\nWhen called, the plugin will be passed the current seeli instance which gives you access to configuration and the ability to register additional commands")]),s._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'use strict'")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("const")]),s._v(" BasicCommand "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'./commands/basic'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\nmodule"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("exports "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" simplePlugin\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("function")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("simplePlugin")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[s._v("seeli")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("config")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'color'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'magenta'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("use")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("BasicCommand"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])])]),a("h2",{attrs:{id:"autoloading"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#autoloading"}},[s._v("#")]),s._v(" Autoloading")]),s._v(" "),a("p",[s._v("When seeli is initialized it will pull plugins from the "),a("code",[s._v("plugins")]),s._v(" array loaded\nfrom configuration. The plugins array can contains "),a("code",[s._v("functions")]),s._v(", or "),a("code",[s._v("strings")]),s._v(".\nIf a string is found, it is treated as a module id and loaded via "),a("code",[s._v("require")]),s._v(". The\nmodule should expose a single function as described above.")]),s._v(" "),a("p",[s._v("The easiest way to load plugins is to define an array of plugins in "),a("code",[s._v("package.json")])]),s._v(" "),a("div",{staticClass:"language-json extra-class"},[a("pre",{pre:!0,attrs:{class:"language-json"}},[a("code",[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[s._v('"seeli"')]),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[s._v('"plugins"')]),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"basic-command"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"common-settings"')]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])])]),a("h2",{attrs:{id:"manual-loading"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#manual-loading"}},[s._v("#")]),s._v(" Manual Loading")]),s._v(" "),a("p",[s._v("Alternatively, plugins can be loaded manually using the "),a("code",[s._v("plugin")]),s._v(" function.\nThe "),a("code",[s._v("plugin")]),s._v(" function accepts a variable number of plugins.")]),s._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'use strict'")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("const")]),s._v(" seeli "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'seeli'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\nseeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("plugin")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'@myscope/base-config'")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'./lib/another-plugin'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n")])])])])}),[],!1,null,null,null);t.default=e.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{414:function(s,t,a){"use strict";a.r(t);var n=a(31),e=Object(n.a)({},(function(){var s=this,t=s.$createElement,a=s._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[a("h1",{attrs:{id:"plugins"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#plugins"}},[s._v("#")]),s._v(" Plugins")]),s._v(" "),a("p",[s._v("Seeli provides basic support for plugins as a means to share commands\nand other common bits of functionality. Plugins are javascript functions\nthat will be called during initialization of the command line interface.\nWhen called, the plugin will be passed the current seeli instance which gives you access to configuration and the ability to register additional commands")]),s._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'use strict'")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("const")]),s._v(" BasicCommand "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'./commands/basic'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\nmodule"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("exports "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" simplePlugin\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("function")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("simplePlugin")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[s._v("seeli")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("config")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'color'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'magenta'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n seeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("use")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("BasicCommand"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])])]),a("h2",{attrs:{id:"autoloading"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#autoloading"}},[s._v("#")]),s._v(" Autoloading")]),s._v(" "),a("p",[s._v("When seeli is initialized it will pull plugins from the "),a("code",[s._v("plugins")]),s._v(" array loaded\nfrom configuration. The plugins array can contains "),a("code",[s._v("functions")]),s._v(", or "),a("code",[s._v("strings")]),s._v(".\nIf a string is found, it is treated as a module id and loaded via "),a("code",[s._v("require")]),s._v(". The\nmodule should expose a single function as described above.")]),s._v(" "),a("p",[s._v("The easiest way to load plugins is to define an array of plugins in "),a("code",[s._v("package.json")])]),s._v(" "),a("div",{staticClass:"language-json extra-class"},[a("pre",{pre:!0,attrs:{class:"language-json"}},[a("code",[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[s._v('"seeli"')]),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[s._v('"plugins"')]),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"basic-command"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"common-settings"')]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])])]),a("h2",{attrs:{id:"manual-loading"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#manual-loading"}},[s._v("#")]),s._v(" Manual Loading")]),s._v(" "),a("p",[s._v("Alternatively, plugins can be loaded manually using the "),a("code",[s._v("plugin")]),s._v(" function.\nThe "),a("code",[s._v("plugin")]),s._v(" function accepts a variable number of plugins.")]),s._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'use strict'")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("const")]),s._v(" seeli "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'seeli'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\nseeli"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("plugin")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'@myscope/base-config'")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'./lib/another-plugin'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n")])])])])}),[],!1,null,null,null);t.default=e.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/15.98982a9a.js b/docs/assets/js/15.86a70711.js similarity index 53% rename from docs/assets/js/15.98982a9a.js rename to docs/assets/js/15.86a70711.js index 0b2220e..d78d506 100644 --- a/docs/assets/js/15.98982a9a.js +++ b/docs/assets/js/15.86a70711.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{402:function(n,s,e){n.exports=e.p+"assets/img/command-events.5c24e2d2.gif"}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{404:function(n,s,e){n.exports=e.p+"assets/img/command-events.5c24e2d2.gif"}}]); \ No newline at end of file diff --git a/docs/assets/js/16.e3783da7.js b/docs/assets/js/16.8e44c2a9.js similarity index 54% rename from docs/assets/js/16.e3783da7.js rename to docs/assets/js/16.8e44c2a9.js index 3efa7b9..3c330e4 100644 --- a/docs/assets/js/16.e3783da7.js +++ b/docs/assets/js/16.8e44c2a9.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{362:function(i,s,e){i.exports=e.p+"assets/img/interactive-choices.423a6843.gif"}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{364:function(i,s,e){i.exports=e.p+"assets/img/interactive-choices.423a6843.gif"}}]); \ No newline at end of file diff --git a/docs/assets/js/17.7ccc4c9c.js b/docs/assets/js/17.4d8b8565.js similarity index 56% rename from docs/assets/js/17.7ccc4c9c.js rename to docs/assets/js/17.4d8b8565.js index 255a4d4..5272084 100644 --- a/docs/assets/js/17.7ccc4c9c.js +++ b/docs/assets/js/17.4d8b8565.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{369:function(i,n,o){i.exports=o.p+"assets/img/interactive-conditional.841993be.gif"}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{371:function(i,n,o){i.exports=o.p+"assets/img/interactive-conditional.841993be.gif"}}]); \ No newline at end of file diff --git a/docs/assets/js/18.585032fc.js b/docs/assets/js/18.315d4e4a.js similarity index 54% rename from docs/assets/js/18.585032fc.js rename to docs/assets/js/18.315d4e4a.js index 403f1ad..6efaa03 100644 --- a/docs/assets/js/18.585032fc.js +++ b/docs/assets/js/18.315d4e4a.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{363:function(n,e,i){n.exports=i.p+"assets/img/interactive-manual.013fe4d1.gif"}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{365:function(n,e,i){n.exports=i.p+"assets/img/interactive-manual.013fe4d1.gif"}}]); \ No newline at end of file diff --git a/docs/assets/js/19.3257c674.js b/docs/assets/js/19.49008c4e.js similarity index 54% rename from docs/assets/js/19.3257c674.js rename to docs/assets/js/19.49008c4e.js index 5a9a99a..c54a048 100644 --- a/docs/assets/js/19.3257c674.js +++ b/docs/assets/js/19.49008c4e.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{364:function(i,n,s){i.exports=s.p+"assets/img/interactive-masking.03d48b29.gif"}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{366:function(i,n,s){i.exports=s.p+"assets/img/interactive-masking.03d48b29.gif"}}]); \ No newline at end of file diff --git a/docs/assets/js/2.89fd03b7.js b/docs/assets/js/2.60cd9aeb.js similarity index 87% rename from docs/assets/js/2.89fd03b7.js rename to docs/assets/js/2.60cd9aeb.js index abb051b..1915393 100644 --- a/docs/assets/js/2.89fd03b7.js +++ b/docs/assets/js/2.60cd9aeb.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{340:function(t,e,n){"use strict";n.d(e,"d",(function(){return i})),n.d(e,"a",(function(){return a})),n.d(e,"i",(function(){return s})),n.d(e,"f",(function(){return u})),n.d(e,"g",(function(){return l})),n.d(e,"h",(function(){return c})),n.d(e,"b",(function(){return h})),n.d(e,"e",(function(){return f})),n.d(e,"k",(function(){return p})),n.d(e,"l",(function(){return d})),n.d(e,"c",(function(){return v})),n.d(e,"j",(function(){return m}));n(32),n(85),n(341),n(110),n(342),n(193),n(84),n(113),n(6),n(114),n(36),n(115),n(186);var i=/#.*$/,r=/\.(md|html)$/,a=/\/$/,s=/^[a-z]+:/i;function o(t){return decodeURI(t).replace(i,"").replace(r,"")}function u(t){return s.test(t)}function l(t){return/^mailto:/.test(t)}function c(t){return/^tel:/.test(t)}function h(t){if(u(t))return t;var e=t.match(i),n=e?e[0]:"",r=o(t);return a.test(r)?t:r+".html"+n}function f(t,e){var n=decodeURIComponent(t.hash),r=function(t){var e=t.match(i);if(e)return e[0]}(e);return(!r||n===r)&&o(t.path)===o(e)}function p(t,e,n){if(u(e))return{type:"external",path:e};n&&(e=function(t,e,n){var i=t.charAt(0);if("/"===i)return t;if("?"===i||"#"===i)return e+t;var r=e.split("/");n&&r[r.length-1]||r.pop();for(var a=t.replace(/^\//,"").split("/"),s=0;s3&&void 0!==arguments[3]?arguments[3]:1;if("string"==typeof e)return p(n,e,i);if(Array.isArray(e))return Object.assign(p(n,e[0],i),{title:e[1]});var a=e.children||[];return 0===a.length&&e.path?Object.assign(p(n,e.path,i),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,initialOpenGroupIndex:e.initialOpenGroupIndex,children:a.map((function(e){return t(e,n,i,r+1)})),collapsable:!1!==e.collapsable}}(t,r,l)})):[]}return[]}function g(t){var e=v(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:e.map((function(e){return{type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}}))}]}function v(t){var e;return(t=t.map((function(t){return Object.assign({},t)}))).forEach((function(t){2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)})),t.filter((function(t){return 2===t.level}))}function m(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},341:function(t,e,n){"use strict";var i=n(11),r=n(190),a=n(8),s=n(86),o=n(18),u=n(22),l=n(56),c=n(191),h=n(192);r("match",(function(t,e,n){return[function(e){var n=u(this),r=null==e?void 0:l(e,t);return r?i(r,e,n):new RegExp(e)[t](o(n))},function(t){var i=a(this),r=o(t),u=n(e,i,r);if(u.done)return u.value;if(!i.global)return h(i,r);var l=i.unicode;i.lastIndex=0;for(var f,p=[],d=0;null!==(f=h(i,r));){var g=o(f[0]);p[d]=g,""===g&&(i.lastIndex=c(r,s(i.lastIndex),l)),d++}return 0===d?null:p}]}))},342:function(t,e,n){"use strict";var i=n(38),r=n(11),a=n(1),s=n(190),o=n(187),u=n(8),l=n(22),c=n(117),h=n(191),f=n(86),p=n(18),d=n(56),g=n(39),v=n(192),m=n(89),b=n(185),k=n(3),_=b.UNSUPPORTED_Y,x=Math.min,y=[].push,C=a(/./.exec),$=a(y),L=a("".slice);s("split",(function(t,e,n){var a;return a="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,n){var a=p(l(this)),s=void 0===n?4294967295:n>>>0;if(0===s)return[];if(void 0===t)return[a];if(!o(t))return r(e,a,t,s);for(var u,c,h,f=[],d=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),v=0,b=new RegExp(t.source,d+"g");(u=r(m,b,a))&&!((c=b.lastIndex)>v&&($(f,L(a,v,u.index)),u.length>1&&u.index=s));)b.lastIndex===u.index&&b.lastIndex++;return v===a.length?!h&&C(b,"")||$(f,""):$(f,L(a,v)),f.length>s?g(f,0,s):f}:"0".split(void 0,0).length?function(t,n){return void 0===t&&0===n?[]:r(e,this,t,n)}:e,[function(e,n){var i=l(this),s=null==e?void 0:d(e,t);return s?r(s,e,i,n):r(a,p(i),e,n)},function(t,i){var r=u(this),s=p(t),o=n(a,r,s,i,a!==e);if(o.done)return o.value;var l=c(r,RegExp),d=r.unicode,g=(r.ignoreCase?"i":"")+(r.multiline?"m":"")+(r.unicode?"u":"")+(_?"g":"y"),m=new l(_?"^(?:"+r.source+")":r,g),b=void 0===i?4294967295:i>>>0;if(0===b)return[];if(0===s.length)return null===v(m,s)?[s]:[];for(var k=0,y=0,C=[];y@^][^\s!#%&*+<=>@^]*>/,N=/a/g,A=/a/g,D=new L(N)!==N,U=g.UNSUPPORTED_Y,H=i&&(!D||U||y||C||m((function(){return A[$]=!1,L(N)!=N||L(A)==A||"/a/i"!=L(N,"i")})));if(s("RegExp",H)){for(var W=function(t,e){var n,i,r,a,s,l,c=h(w,this),d=f(t),g=void 0===e,v=[],m=t;if(!c&&d&&g&&t.constructor===W)return t;if((d||h(w,t))&&(t=t.source,g&&(e="flags"in m?m.flags:S(m))),t=void 0===t?"":p(t),e=void 0===e?"":p(e),m=t,y&&"dotAll"in N&&(i=!!e&&R(e,"s")>-1)&&(e=j(e,/s/g,"")),n=e,U&&"sticky"in N&&(r=!!e&&R(e,"y")>-1)&&(e=j(e,/y/g,"")),C&&(t=(a=function(t){for(var e,n=t.length,i=0,r="",a=[],s={},o=!1,u=!1,l=0,c="";i<=n;i++){if("\\"===(e=E(t,i)))e+=E(t,++i);else if("]"===e)o=!1;else if(!o)switch(!0){case"["===e:o=!0;break;case"("===e:I(T,P(t,i+1))&&(i+=2,u=!0),r+=e,l++;continue;case">"===e&&u:if(""===c||b(s,c))throw new O("Invalid capture group name");s[c]=!0,a[a.length]=[c,l],u=!1,c="";continue}u?c+=e:r+=e}return[r,a]}(t))[0],v=a[1]),s=o(L(t,e),c?this:w,W),(i||r||v.length)&&(l=k(s),i&&(l.dotAll=!0,l.raw=W(function(t){for(var e,n=t.length,i=0,r="",a=!1;i<=n;i++)"\\"!==(e=E(t,i))?a||"."!==e?("["===e?a=!0:"]"===e&&(a=!1),r+=e):r+="[\\s\\S]":r+=e+E(t,++i);return r}(t),n)),r&&(l.sticky=!0),v.length&&(l.groups=v)),t!==m)try{u(s,"source",""===m?"(?:)":m)}catch(t){}return s},G=function(t){t in W||l(W,t,{configurable:!0,get:function(){return L[t]},set:function(e){L[t]=e}})},B=c(L),M=0;B.length>M;)G(B[M++]);w.constructor=W,W.prototype=w,v(r,"RegExp",W)}_("RegExp")},346:function(t,e,n){var i=n(0),r=n(10),a=n(189),s=n(23),o=n(12).f,u=n(33).get,l=RegExp.prototype,c=i.TypeError;r&&a&&o(l,"dotAll",{configurable:!0,get:function(){if(this!==l){if("RegExp"===s(this))return!!u(this).dotAll;throw c("Incompatible receiver, RegExp required")}}})},347:function(t,e,n){var i=n(0),r=n(10),a=n(185).UNSUPPORTED_Y,s=n(23),o=n(12).f,u=n(33).get,l=RegExp.prototype,c=i.TypeError;r&&a&&o(l,"sticky",{configurable:!0,get:function(){if(this!==l){if("RegExp"===s(this))return!!u(this).sticky;throw c("Incompatible receiver, RegExp required")}}})},348:function(t,e,n){"use strict";var i=n(1),r=n(87).PROPER,a=n(15),s=n(8),o=n(34),u=n(18),l=n(3),c=n(188),h=RegExp.prototype,f=h.toString,p=i(c),d=l((function(){return"/a/b"!=f.call({source:"a",flags:"b"})})),g=r&&"toString"!=f.name;(d||g)&&a(RegExp.prototype,"toString",(function(){var t=s(this),e=u(t.source),n=t.flags;return"/"+e+"/"+u(void 0===n&&o(h,t)&&!("flags"in h)?p(t):n)}),{unsafe:!0})},349:function(t,e,n){},350:function(t,e,n){},351:function(t,e,n){},352:function(t,e,n){},353:function(t,e,n){},354:function(t,e,n){},355:function(t,e){t.exports=function(t){return null==t}},356:function(t,e,n){},357:function(t,e,n){},358:function(t,e,n){},359:function(t,e,n){},360:function(t,e,n){},361:function(t,e,n){},375:function(t,e,n){"use strict";n.r(e);n(111),n(6);var i=n(340),r={name:"SidebarGroup",components:{DropdownTransition:n(376).a},props:["item","open","collapsable","depth"],beforeCreate:function(){this.$options.components.SidebarLinks=n(375).default},methods:{isActive:i.e}},a=(n(395),n(31)),s=Object(a.a)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("section",{staticClass:"sidebar-group",class:[{collapsable:t.collapsable,"is-sub-group":0!==t.depth},"depth-"+t.depth]},[t.item.path?n("RouterLink",{staticClass:"sidebar-heading clickable",class:{open:t.open,active:t.isActive(t.$route,t.item.path)},attrs:{to:t.item.path},nativeOn:{click:function(e){return t.$emit("toggle")}}},[n("span",[t._v(t._s(t.item.title))]),t._v(" "),t.collapsable?n("span",{staticClass:"arrow",class:t.open?"down":"right"}):t._e()]):n("p",{staticClass:"sidebar-heading",class:{open:t.open},on:{click:function(e){return t.$emit("toggle")}}},[n("span",[t._v(t._s(t.item.title))]),t._v(" "),t.collapsable?n("span",{staticClass:"arrow",class:t.open?"down":"right"}):t._e()]),t._v(" "),n("DropdownTransition",[t.open||!t.collapsable?n("SidebarLinks",{staticClass:"sidebar-group-items",attrs:{items:t.item.children,"sidebar-depth":t.item.sidebarDepth,"initial-open-group-index":t.item.initialOpenGroupIndex,depth:t.depth+1}}):t._e()],1)],1)}),[],!1,null,null,null).exports;n(396),n(32),n(110),n(84);function o(t,e,n,i,r){var a={props:{to:e,activeClass:"",exactActiveClass:""},class:{active:i,"sidebar-link":!0}};return r>2&&(a.style={"padding-left":r+"rem"}),t("RouterLink",a,n)}function u(t,e,n,r,a){var s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:1;return!e||s>a?null:t("ul",{class:"sidebar-sub-headers"},e.map((function(e){var l=Object(i.e)(r,n+"#"+e.slug);return t("li",{class:"sidebar-sub-header"},[o(t,n+"#"+e.slug,e.title,l,e.level-1),u(t,e.children,n,r,a,s+1)])})))}var l={functional:!0,props:["item","sidebarDepth"],render:function(t,e){var n=e.parent,r=n.$page,a=(n.$site,n.$route),s=n.$themeConfig,l=n.$themeLocaleConfig,c=e.props,h=c.item,f=c.sidebarDepth,p=Object(i.e)(a,h.path),d="auto"===h.type?p||h.children.some((function(t){return Object(i.e)(a,h.basePath+"#"+t.slug)})):p,g="external"===h.type?function(t,e,n){return t("a",{attrs:{href:e,target:"_blank",rel:"noopener noreferrer"},class:{"sidebar-link":!0}},[n,t("OutboundLink")])}(t,h.path,h.title||h.path):o(t,h.path,h.title||h.path,d),v=[r.frontmatter.sidebarDepth,f,l.sidebarDepth,s.sidebarDepth,1].find((function(t){return void 0!==t})),m=l.displayAllHeaders||s.displayAllHeaders;return"auto"===h.type?[g,u(t,h.children,h.basePath,a,v)]:(d||m)&&h.headers&&!i.d.test(h.path)?[g,u(t,Object(i.c)(h.headers),h.path,a,v)]:g}};n(397);function c(t,e){if("group"===e.type){var n=e.path&&Object(i.e)(t,e.path),r=e.children.some((function(e){return"group"===e.type?c(t,e):"page"===e.type&&Object(i.e)(t,e.path)}));return n||r}return!1}var h={name:"SidebarLinks",components:{SidebarGroup:s,SidebarLink:Object(a.a)(l,void 0,void 0,!1,null,null,null).exports},props:["items","depth","sidebarDepth","initialOpenGroupIndex"],data:function(){return{openGroupIndex:this.initialOpenGroupIndex||0}},watch:{$route:function(){this.refreshIndex()}},created:function(){this.refreshIndex()},methods:{refreshIndex:function(){var t=function(t,e){for(var n=0;n-1&&(this.openGroupIndex=t)},toggleGroup:function(t){this.openGroupIndex=t===this.openGroupIndex?-1:t},isActive:function(t){return Object(i.e)(this.$route,t.regularPath)}}},f=Object(a.a)(h,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.items.length?n("ul",{staticClass:"sidebar-links"},t._l(t.items,(function(e,i){return n("li",{key:i},["group"===e.type?n("SidebarGroup",{attrs:{item:e,open:i===t.openGroupIndex,collapsable:e.collapsable||e.collapsible,depth:t.depth},on:{toggle:function(e){return t.toggleGroup(i)}}}):n("SidebarLink",{attrs:{"sidebar-depth":t.sidebarDepth,item:e}})],1)})),0):t._e()}),[],!1,null,null,null);e.default=f.exports},376:function(t,e,n){"use strict";var i={name:"DropdownTransition",methods:{setHeight:function(t){t.style.height=t.scrollHeight+"px"},unsetHeight:function(t){t.style.height=""}}},r=(n(387),n(31)),a=Object(r.a)(i,(function(){var t=this.$createElement;return(this._self._c||t)("transition",{attrs:{name:"dropdown"},on:{enter:this.setHeight,"after-enter":this.unsetHeight,"before-leave":this.setHeight}},[this._t("default")],2)}),[],!1,null,null,null);e.a=a.exports},377:function(t,e,n){"use strict";var i=n(2),r=n(378);i({target:"String",proto:!0,forced:n(379)("link")},{link:function(t){return r(this,"a","href",t)}})},378:function(t,e,n){var i=n(1),r=n(22),a=n(18),s=/"/g,o=i("".replace);t.exports=function(t,e,n,i){var u=a(r(t)),l="<"+e;return""!==n&&(l+=" "+n+'="'+o(a(i),s,""")+'"'),l+">"+u+""}},379:function(t,e,n){var i=n(3);t.exports=function(t){return i((function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3}))}},380:function(t,e,n){"use strict";n(343)},381:function(t,e,n){var i=n(2),r=n(382);i({global:!0,forced:parseInt!=r},{parseInt:r})},382:function(t,e,n){var i=n(0),r=n(3),a=n(1),s=n(18),o=n(194).trim,u=n(195),l=i.parseInt,c=i.Symbol,h=c&&c.iterator,f=/^[+-]?0x/i,p=a(f.exec),d=8!==l(u+"08")||22!==l(u+"0x16")||h&&!r((function(){l(Object(h))}));t.exports=d?function(t,e){var n=o(s(t));return l(n,e>>>0||(p(f,n)?16:10))}:l},383:function(t,e,n){var i=n(87).PROPER,r=n(3),a=n(195);t.exports=function(t){return r((function(){return!!a[t]()||"​…᠎"!=="​…᠎"[t]()||i&&a[t].name!==t}))}},384:function(t,e,n){"use strict";var i,r=n(2),a=n(1),s=n(26).f,o=n(86),u=n(18),l=n(118),c=n(22),h=n(119),f=n(24),p=a("".endsWith),d=a("".slice),g=Math.min,v=h("endsWith");r({target:"String",proto:!0,forced:!!(f||v||(i=s(String.prototype,"endsWith"),!i||i.writable))&&!v},{endsWith:function(t){var e=u(c(this));l(t);var n=arguments.length>1?arguments[1]:void 0,i=e.length,r=void 0===n?i:g(o(n),i),a=u(t);return p?p(e,a,r):d(e,r-a.length,r)===a}})},385:function(t,e,n){"use strict";n(349)},386:function(t,e,n){"use strict";n(350)},387:function(t,e,n){"use strict";n(351)},388:function(t,e,n){"use strict";n(352)},389:function(t,e,n){"use strict";n(353)},390:function(t,e,n){"use strict";n(354)},391:function(t,e,n){"use strict";n(356)},392:function(t,e,n){var i=n(41),r=n(19),a=n(35);t.exports=function(t){return"string"==typeof t||!r(t)&&a(t)&&"[object String]"==i(t)}},393:function(t,e,n){"use strict";n(357)},394:function(t,e,n){"use strict";n(358)},395:function(t,e,n){"use strict";n(359)},396:function(t,e,n){"use strict";var i=n(2),r=n(40).find,a=n(116),s=!0;"find"in[]&&Array(1).find((function(){s=!1})),i({target:"Array",proto:!0,forced:s},{find:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),a("find")},397:function(t,e,n){"use strict";n(360)},398:function(t,e,n){"use strict";n(361)},403:function(t,e,n){"use strict";n.r(e);n(377),n(111),n(6),n(112);var i=n(340),r={name:"NavLink",props:{item:{required:!0}},computed:{link:function(){return Object(i.b)(this.item.link)},exact:function(){var t=this;return this.$site.locales?Object.keys(this.$site.locales).some((function(e){return e===t.link})):"/"===this.link},isNonHttpURI:function(){return Object(i.g)(this.link)||Object(i.h)(this.link)},isBlankTarget:function(){return"_blank"===this.target},isInternal:function(){return!Object(i.f)(this.link)&&!this.isBlankTarget},target:function(){return this.isNonHttpURI?null:this.item.target?this.item.target:Object(i.f)(this.link)?"_blank":""},rel:function(){return this.isNonHttpURI||!1===this.item.rel?null:this.item.rel?this.item.rel:this.isBlankTarget?"noopener noreferrer":null}},methods:{focusoutAction:function(){this.$emit("focusout")}}},a=n(31),s=Object(a.a)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.isInternal?n("RouterLink",{staticClass:"nav-link",attrs:{to:t.link,exact:t.exact},nativeOn:{focusout:function(e){return t.focusoutAction.apply(null,arguments)}}},[t._v("\n "+t._s(t.item.text)+"\n")]):n("a",{staticClass:"nav-link external",attrs:{href:t.link,target:t.target,rel:t.rel},on:{focusout:t.focusoutAction}},[t._v("\n "+t._s(t.item.text)+"\n "),t.isBlankTarget?n("OutboundLink"):t._e()],1)}),[],!1,null,null,null).exports,o={name:"Home",components:{NavLink:s},computed:{data:function(){return this.$page.frontmatter},actionLink:function(){return{link:this.data.actionLink,text:this.data.actionText}}}},u=(n(380),Object(a.a)(o,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("main",{staticClass:"home",attrs:{"aria-labelledby":null!==t.data.heroText?"main-title":null}},[n("header",{staticClass:"hero"},[t.data.heroImage?n("img",{attrs:{src:t.$withBase(t.data.heroImage),alt:t.data.heroAlt||"hero"}}):t._e(),t._v(" "),null!==t.data.heroText?n("h1",{attrs:{id:"main-title"}},[t._v("\n "+t._s(t.data.heroText||t.$title||"Hello")+"\n ")]):t._e(),t._v(" "),null!==t.data.tagline?n("p",{staticClass:"description"},[t._v("\n "+t._s(t.data.tagline||t.$description||"Welcome to your VuePress site")+"\n ")]):t._e(),t._v(" "),t.data.actionText&&t.data.actionLink?n("p",{staticClass:"action"},[n("NavLink",{staticClass:"action-button",attrs:{item:t.actionLink}})],1):t._e()]),t._v(" "),t.data.features&&t.data.features.length?n("div",{staticClass:"features"},t._l(t.data.features,(function(e,i){return n("div",{key:i,staticClass:"feature"},[n("h2",[t._v(t._s(e.title))]),t._v(" "),n("p",[t._v(t._s(e.details))])])})),0):t._e(),t._v(" "),n("Content",{staticClass:"theme-default-content custom"}),t._v(" "),t.data.footer?n("div",{staticClass:"footer"},[t._v("\n "+t._s(t.data.footer)+"\n ")]):t._e()],1)}),[],!1,null,null,null).exports),l=(n(381),n(344),n(186),n(115),n(36),n(32),n(341),n(198),n(199),n(193),n(85),n(345),n(346),n(347),n(348),n(84),n(342),n(110),n(384),n(201)),c=n.n(l),h=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=c()(e,"title","");return c()(e,"frontmatter.tags")&&(i+=" ".concat(e.frontmatter.tags.join(" "))),n&&(i+=" ".concat(n)),f(t,i)},f=function(t,e){var n=function(t){return t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")},i=new RegExp("[^\0-]"),r=t.split(/\s+/g).map((function(t){return t.trim()})).filter((function(t){return!!t}));if(i.test(t))return r.some((function(t){return e.toLowerCase().indexOf(t)>-1}));var a=t.endsWith(" ");return new RegExp(r.map((function(t,e){return r.length!==e+1||a?"(?=.*\\b".concat(n(t),"\\b)"):"(?=.*\\b".concat(n(t),")")})).join("")+".+","gi").test(e)},p={name:"SearchBox",data:function(){return{query:"",focused:!1,focusIndex:0,placeholder:void 0}},computed:{showSuggestions:function(){return this.focused&&this.suggestions&&this.suggestions.length},suggestions:function(){var t=this.query.trim().toLowerCase();if(t){for(var e=this.$site.pages,n=this.$site.themeConfig.searchMaxSuggestions||5,i=this.$localePath,r=[],a=0;a=n);a++){var s=e[a];if(this.getPageLocalePath(s)===i&&this.isSearchable(s))if(h(t,s))r.push(s);else if(s.headers)for(var o=0;o=n);o++){var u=s.headers[o];u.title&&h(t,s,u.title)&&r.push(Object.assign({},s,{path:s.path+"#"+u.slug,header:u}))}}return r}},alignRight:function(){return(this.$site.themeConfig.nav||[]).length+(this.$site.repo?1:0)<=2}},mounted:function(){this.placeholder=this.$site.themeConfig.searchPlaceholder||"",document.addEventListener("keydown",this.onHotkey)},beforeDestroy:function(){document.removeEventListener("keydown",this.onHotkey)},methods:{getPageLocalePath:function(t){for(var e in this.$site.locales||{})if("/"!==e&&0===t.path.indexOf(e))return e;return"/"},isSearchable:function(t){var e=null;return null===e||(e=Array.isArray(e)?e:new Array(e)).filter((function(e){return t.path.match(e)})).length>0},onHotkey:function(t){t.srcElement===document.body&&["s","/"].includes(t.key)&&(this.$refs.input.focus(),t.preventDefault())},onUp:function(){this.showSuggestions&&(this.focusIndex>0?this.focusIndex--:this.focusIndex=this.suggestions.length-1)},onDown:function(){this.showSuggestions&&(this.focusIndex "+t._s(e.header.title))]):t._e()])])})),0):t._e()])}),[],!1,null,null,null).exports),g=(n(386),Object(a.a)({},(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"sidebar-button",on:{click:function(e){return t.$emit("toggle-sidebar")}}},[n("svg",{staticClass:"icon",attrs:{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",viewBox:"0 0 448 512"}},[n("path",{attrs:{fill:"currentColor",d:"M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"}})])])}),[],!1,null,null,null).exports),v=n(54),m=(n(200),n(376)),b=n(202),k=n.n(b),_={name:"DropdownLink",components:{NavLink:s,DropdownTransition:m.a},props:{item:{required:!0}},data:function(){return{open:!1}},computed:{dropdownAriaLabel:function(){return this.item.ariaLabel||this.item.text}},watch:{$route:function(){this.open=!1}},methods:{setOpen:function(t){this.open=t},isLastItemOfArray:function(t,e){return k()(e)===t},handleDropdown:function(){0===event.detail&&this.setOpen(!this.open)}}},x=(n(388),{name:"NavLinks",components:{NavLink:s,DropdownLink:Object(a.a)(_,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"dropdown-wrapper",class:{open:t.open}},[n("button",{staticClass:"dropdown-title",attrs:{type:"button","aria-label":t.dropdownAriaLabel},on:{click:t.handleDropdown}},[n("span",{staticClass:"title"},[t._v(t._s(t.item.text))]),t._v(" "),n("span",{staticClass:"arrow down"})]),t._v(" "),n("button",{staticClass:"mobile-dropdown-title",attrs:{type:"button","aria-label":t.dropdownAriaLabel},on:{click:function(e){return t.setOpen(!t.open)}}},[n("span",{staticClass:"title"},[t._v(t._s(t.item.text))]),t._v(" "),n("span",{staticClass:"arrow",class:t.open?"down":"right"})]),t._v(" "),n("DropdownTransition",[n("ul",{directives:[{name:"show",rawName:"v-show",value:t.open,expression:"open"}],staticClass:"nav-dropdown"},t._l(t.item.items,(function(e,i){return n("li",{key:e.link||i,staticClass:"dropdown-item"},["links"===e.type?n("h4",[t._v("\n "+t._s(e.text)+"\n ")]):t._e(),t._v(" "),"links"===e.type?n("ul",{staticClass:"dropdown-subitem-wrapper"},t._l(e.items,(function(i){return n("li",{key:i.link,staticClass:"dropdown-subitem"},[n("NavLink",{attrs:{item:i},on:{focusout:function(n){t.isLastItemOfArray(i,e.items)&&t.isLastItemOfArray(e,t.item.items)&&t.setOpen(!1)}}})],1)})),0):n("NavLink",{attrs:{item:e},on:{focusout:function(n){t.isLastItemOfArray(e,t.item.items)&&t.setOpen(!1)}}})],1)})),0)])],1)}),[],!1,null,null,null).exports},computed:{userNav:function(){return this.$themeLocaleConfig.nav||this.$site.themeConfig.nav||[]},nav:function(){var t=this,e=this.$site.locales;if(e&&Object.keys(e).length>1){var n=this.$page.path,i=this.$router.options.routes,r=this.$site.themeConfig.locales||{},a={text:this.$themeLocaleConfig.selectText||"Languages",ariaLabel:this.$themeLocaleConfig.ariaLabel||"Select language",items:Object.keys(e).map((function(a){var s,o=e[a],u=r[a]&&r[a].label||o.lang;return o.lang===t.$lang?s=n:(s=n.replace(t.$localeConfig.path,a),i.some((function(t){return t.path===s}))||(s=a)),{text:u,link:s}}))};return[].concat(Object(v.a)(this.userNav),[a])}return this.userNav},userLinks:function(){return(this.nav||[]).map((function(t){return Object.assign(Object(i.j)(t),{items:(t.items||[]).map(i.j)})}))},repoLink:function(){var t=this.$site.themeConfig.repo;return t?/^https?:/.test(t)?t:"https://github.com/".concat(t):null},repoLabel:function(){if(this.repoLink){if(this.$site.themeConfig.repoLabel)return this.$site.themeConfig.repoLabel;for(var t=this.repoLink.match(/^https?:\/\/[^/]+/)[0],e=["GitHub","GitLab","Bitbucket"],n=0;nMath.abs(n)&&Math.abs(e)>40&&(e>0&&this.touchStart.x<=80?this.toggleSidebar(!0):this.toggleSidebar(!1))}}}),G=Object(a.a)(W,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"theme-container",class:t.pageClasses,on:{touchstart:t.onTouchStart,touchend:t.onTouchEnd}},[t.shouldShowNavbar?n("Navbar",{on:{"toggle-sidebar":t.toggleSidebar}}):t._e(),t._v(" "),n("div",{staticClass:"sidebar-mask",on:{click:function(e){return t.toggleSidebar(!1)}}}),t._v(" "),n("Sidebar",{attrs:{items:t.sidebarItems},on:{"toggle-sidebar":t.toggleSidebar},scopedSlots:t._u([{key:"top",fn:function(){return[t._t("sidebar-top")]},proxy:!0},{key:"bottom",fn:function(){return[t._t("sidebar-bottom")]},proxy:!0}],null,!0)}),t._v(" "),t.$page.frontmatter.home?n("Home"):n("Page",{attrs:{"sidebar-items":t.sidebarItems},scopedSlots:t._u([{key:"top",fn:function(){return[t._t("page-top")]},proxy:!0},{key:"bottom",fn:function(){return[t._t("page-bottom")]},proxy:!0}],null,!0)})],1)}),[],!1,null,null,null);e.default=G.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{342:function(t,e,n){"use strict";n.d(e,"d",(function(){return i})),n.d(e,"a",(function(){return a})),n.d(e,"i",(function(){return s})),n.d(e,"f",(function(){return u})),n.d(e,"g",(function(){return l})),n.d(e,"h",(function(){return c})),n.d(e,"b",(function(){return h})),n.d(e,"e",(function(){return f})),n.d(e,"k",(function(){return p})),n.d(e,"l",(function(){return d})),n.d(e,"c",(function(){return v})),n.d(e,"j",(function(){return m}));n(32),n(85),n(343),n(110),n(344),n(193),n(84),n(113),n(7),n(114),n(36),n(115),n(186);var i=/#.*$/,r=/\.(md|html)$/,a=/\/$/,s=/^[a-z]+:/i;function o(t){return decodeURI(t).replace(i,"").replace(r,"")}function u(t){return s.test(t)}function l(t){return/^mailto:/.test(t)}function c(t){return/^tel:/.test(t)}function h(t){if(u(t))return t;var e=t.match(i),n=e?e[0]:"",r=o(t);return a.test(r)?t:r+".html"+n}function f(t,e){var n=decodeURIComponent(t.hash),r=function(t){var e=t.match(i);if(e)return e[0]}(e);return(!r||n===r)&&o(t.path)===o(e)}function p(t,e,n){if(u(e))return{type:"external",path:e};n&&(e=function(t,e,n){var i=t.charAt(0);if("/"===i)return t;if("?"===i||"#"===i)return e+t;var r=e.split("/");n&&r[r.length-1]||r.pop();for(var a=t.replace(/^\//,"").split("/"),s=0;s3&&void 0!==arguments[3]?arguments[3]:1;if("string"==typeof e)return p(n,e,i);if(Array.isArray(e))return Object.assign(p(n,e[0],i),{title:e[1]});var a=e.children||[];return 0===a.length&&e.path?Object.assign(p(n,e.path,i),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,initialOpenGroupIndex:e.initialOpenGroupIndex,children:a.map((function(e){return t(e,n,i,r+1)})),collapsable:!1!==e.collapsable}}(t,r,l)})):[]}return[]}function g(t){var e=v(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:e.map((function(e){return{type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}}))}]}function v(t){var e;return(t=t.map((function(t){return Object.assign({},t)}))).forEach((function(t){2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)})),t.filter((function(t){return 2===t.level}))}function m(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},343:function(t,e,n){"use strict";var i=n(11),r=n(190),a=n(8),s=n(86),o=n(18),u=n(23),l=n(56),c=n(191),h=n(192);r("match",(function(t,e,n){return[function(e){var n=u(this),r=null==e?void 0:l(e,t);return r?i(r,e,n):new RegExp(e)[t](o(n))},function(t){var i=a(this),r=o(t),u=n(e,i,r);if(u.done)return u.value;if(!i.global)return h(i,r);var l=i.unicode;i.lastIndex=0;for(var f,p=[],d=0;null!==(f=h(i,r));){var g=o(f[0]);p[d]=g,""===g&&(i.lastIndex=c(r,s(i.lastIndex),l)),d++}return 0===d?null:p}]}))},344:function(t,e,n){"use strict";var i=n(38),r=n(11),a=n(1),s=n(190),o=n(187),u=n(8),l=n(23),c=n(117),h=n(191),f=n(86),p=n(18),d=n(56),g=n(39),v=n(192),m=n(89),b=n(185),k=n(3),_=b.UNSUPPORTED_Y,x=Math.min,y=[].push,C=a(/./.exec),$=a(y),L=a("".slice);s("split",(function(t,e,n){var a;return a="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,n){var a=p(l(this)),s=void 0===n?4294967295:n>>>0;if(0===s)return[];if(void 0===t)return[a];if(!o(t))return r(e,a,t,s);for(var u,c,h,f=[],d=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),v=0,b=new RegExp(t.source,d+"g");(u=r(m,b,a))&&!((c=b.lastIndex)>v&&($(f,L(a,v,u.index)),u.length>1&&u.index=s));)b.lastIndex===u.index&&b.lastIndex++;return v===a.length?!h&&C(b,"")||$(f,""):$(f,L(a,v)),f.length>s?g(f,0,s):f}:"0".split(void 0,0).length?function(t,n){return void 0===t&&0===n?[]:r(e,this,t,n)}:e,[function(e,n){var i=l(this),s=null==e?void 0:d(e,t);return s?r(s,e,i,n):r(a,p(i),e,n)},function(t,i){var r=u(this),s=p(t),o=n(a,r,s,i,a!==e);if(o.done)return o.value;var l=c(r,RegExp),d=r.unicode,g=(r.ignoreCase?"i":"")+(r.multiline?"m":"")+(r.unicode?"u":"")+(_?"g":"y"),m=new l(_?"^(?:"+r.source+")":r,g),b=void 0===i?4294967295:i>>>0;if(0===b)return[];if(0===s.length)return null===v(m,s)?[s]:[];for(var k=0,y=0,C=[];y@^][^\s!#%&*+<=>@^]*>/,N=/a/g,A=/a/g,D=new L(N)!==N,U=g.UNSUPPORTED_Y,H=i&&(!D||U||y||C||m((function(){return A[$]=!1,L(N)!=N||L(A)==A||"/a/i"!=L(N,"i")})));if(s("RegExp",H)){for(var W=function(t,e){var n,i,r,a,s,l,c=h(w,this),d=f(t),g=void 0===e,v=[],m=t;if(!c&&d&&g&&t.constructor===W)return t;if((d||h(w,t))&&(t=t.source,g&&(e="flags"in m?m.flags:S(m))),t=void 0===t?"":p(t),e=void 0===e?"":p(e),m=t,y&&"dotAll"in N&&(i=!!e&&R(e,"s")>-1)&&(e=j(e,/s/g,"")),n=e,U&&"sticky"in N&&(r=!!e&&R(e,"y")>-1)&&(e=j(e,/y/g,"")),C&&(t=(a=function(t){for(var e,n=t.length,i=0,r="",a=[],s={},o=!1,u=!1,l=0,c="";i<=n;i++){if("\\"===(e=E(t,i)))e+=E(t,++i);else if("]"===e)o=!1;else if(!o)switch(!0){case"["===e:o=!0;break;case"("===e:I(T,P(t,i+1))&&(i+=2,u=!0),r+=e,l++;continue;case">"===e&&u:if(""===c||b(s,c))throw new O("Invalid capture group name");s[c]=!0,a[a.length]=[c,l],u=!1,c="";continue}u?c+=e:r+=e}return[r,a]}(t))[0],v=a[1]),s=o(L(t,e),c?this:w,W),(i||r||v.length)&&(l=k(s),i&&(l.dotAll=!0,l.raw=W(function(t){for(var e,n=t.length,i=0,r="",a=!1;i<=n;i++)"\\"!==(e=E(t,i))?a||"."!==e?("["===e?a=!0:"]"===e&&(a=!1),r+=e):r+="[\\s\\S]":r+=e+E(t,++i);return r}(t),n)),r&&(l.sticky=!0),v.length&&(l.groups=v)),t!==m)try{u(s,"source",""===m?"(?:)":m)}catch(t){}return s},G=function(t){t in W||l(W,t,{configurable:!0,get:function(){return L[t]},set:function(e){L[t]=e}})},B=c(L),M=0;B.length>M;)G(B[M++]);w.constructor=W,W.prototype=w,v(r,"RegExp",W)}_("RegExp")},348:function(t,e,n){var i=n(0),r=n(10),a=n(189),s=n(22),o=n(12).f,u=n(33).get,l=RegExp.prototype,c=i.TypeError;r&&a&&o(l,"dotAll",{configurable:!0,get:function(){if(this!==l){if("RegExp"===s(this))return!!u(this).dotAll;throw c("Incompatible receiver, RegExp required")}}})},349:function(t,e,n){var i=n(0),r=n(10),a=n(185).UNSUPPORTED_Y,s=n(22),o=n(12).f,u=n(33).get,l=RegExp.prototype,c=i.TypeError;r&&a&&o(l,"sticky",{configurable:!0,get:function(){if(this!==l){if("RegExp"===s(this))return!!u(this).sticky;throw c("Incompatible receiver, RegExp required")}}})},350:function(t,e,n){"use strict";var i=n(1),r=n(87).PROPER,a=n(15),s=n(8),o=n(34),u=n(18),l=n(3),c=n(188),h=RegExp.prototype,f=h.toString,p=i(c),d=l((function(){return"/a/b"!=f.call({source:"a",flags:"b"})})),g=r&&"toString"!=f.name;(d||g)&&a(RegExp.prototype,"toString",(function(){var t=s(this),e=u(t.source),n=t.flags;return"/"+e+"/"+u(void 0===n&&o(h,t)&&!("flags"in h)?p(t):n)}),{unsafe:!0})},351:function(t,e,n){},352:function(t,e,n){},353:function(t,e,n){},354:function(t,e,n){},355:function(t,e,n){},356:function(t,e,n){},357:function(t,e){t.exports=function(t){return null==t}},358:function(t,e,n){},359:function(t,e,n){},360:function(t,e,n){},361:function(t,e,n){},362:function(t,e,n){},363:function(t,e,n){},377:function(t,e,n){"use strict";n.r(e);n(111),n(7);var i=n(342),r={name:"SidebarGroup",components:{DropdownTransition:n(378).a},props:["item","open","collapsable","depth"],beforeCreate:function(){this.$options.components.SidebarLinks=n(377).default},methods:{isActive:i.e}},a=(n(397),n(31)),s=Object(a.a)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("section",{staticClass:"sidebar-group",class:[{collapsable:t.collapsable,"is-sub-group":0!==t.depth},"depth-"+t.depth]},[t.item.path?n("RouterLink",{staticClass:"sidebar-heading clickable",class:{open:t.open,active:t.isActive(t.$route,t.item.path)},attrs:{to:t.item.path},nativeOn:{click:function(e){return t.$emit("toggle")}}},[n("span",[t._v(t._s(t.item.title))]),t._v(" "),t.collapsable?n("span",{staticClass:"arrow",class:t.open?"down":"right"}):t._e()]):n("p",{staticClass:"sidebar-heading",class:{open:t.open},on:{click:function(e){return t.$emit("toggle")}}},[n("span",[t._v(t._s(t.item.title))]),t._v(" "),t.collapsable?n("span",{staticClass:"arrow",class:t.open?"down":"right"}):t._e()]),t._v(" "),n("DropdownTransition",[t.open||!t.collapsable?n("SidebarLinks",{staticClass:"sidebar-group-items",attrs:{items:t.item.children,"sidebar-depth":t.item.sidebarDepth,"initial-open-group-index":t.item.initialOpenGroupIndex,depth:t.depth+1}}):t._e()],1)],1)}),[],!1,null,null,null).exports;n(398),n(32),n(110),n(84);function o(t,e,n,i,r){var a={props:{to:e,activeClass:"",exactActiveClass:""},class:{active:i,"sidebar-link":!0}};return r>2&&(a.style={"padding-left":r+"rem"}),t("RouterLink",a,n)}function u(t,e,n,r,a){var s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:1;return!e||s>a?null:t("ul",{class:"sidebar-sub-headers"},e.map((function(e){var l=Object(i.e)(r,n+"#"+e.slug);return t("li",{class:"sidebar-sub-header"},[o(t,n+"#"+e.slug,e.title,l,e.level-1),u(t,e.children,n,r,a,s+1)])})))}var l={functional:!0,props:["item","sidebarDepth"],render:function(t,e){var n=e.parent,r=n.$page,a=(n.$site,n.$route),s=n.$themeConfig,l=n.$themeLocaleConfig,c=e.props,h=c.item,f=c.sidebarDepth,p=Object(i.e)(a,h.path),d="auto"===h.type?p||h.children.some((function(t){return Object(i.e)(a,h.basePath+"#"+t.slug)})):p,g="external"===h.type?function(t,e,n){return t("a",{attrs:{href:e,target:"_blank",rel:"noopener noreferrer"},class:{"sidebar-link":!0}},[n,t("OutboundLink")])}(t,h.path,h.title||h.path):o(t,h.path,h.title||h.path,d),v=[r.frontmatter.sidebarDepth,f,l.sidebarDepth,s.sidebarDepth,1].find((function(t){return void 0!==t})),m=l.displayAllHeaders||s.displayAllHeaders;return"auto"===h.type?[g,u(t,h.children,h.basePath,a,v)]:(d||m)&&h.headers&&!i.d.test(h.path)?[g,u(t,Object(i.c)(h.headers),h.path,a,v)]:g}};n(399);function c(t,e){if("group"===e.type){var n=e.path&&Object(i.e)(t,e.path),r=e.children.some((function(e){return"group"===e.type?c(t,e):"page"===e.type&&Object(i.e)(t,e.path)}));return n||r}return!1}var h={name:"SidebarLinks",components:{SidebarGroup:s,SidebarLink:Object(a.a)(l,void 0,void 0,!1,null,null,null).exports},props:["items","depth","sidebarDepth","initialOpenGroupIndex"],data:function(){return{openGroupIndex:this.initialOpenGroupIndex||0}},watch:{$route:function(){this.refreshIndex()}},created:function(){this.refreshIndex()},methods:{refreshIndex:function(){var t=function(t,e){for(var n=0;n-1&&(this.openGroupIndex=t)},toggleGroup:function(t){this.openGroupIndex=t===this.openGroupIndex?-1:t},isActive:function(t){return Object(i.e)(this.$route,t.regularPath)}}},f=Object(a.a)(h,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.items.length?n("ul",{staticClass:"sidebar-links"},t._l(t.items,(function(e,i){return n("li",{key:i},["group"===e.type?n("SidebarGroup",{attrs:{item:e,open:i===t.openGroupIndex,collapsable:e.collapsable||e.collapsible,depth:t.depth},on:{toggle:function(e){return t.toggleGroup(i)}}}):n("SidebarLink",{attrs:{"sidebar-depth":t.sidebarDepth,item:e}})],1)})),0):t._e()}),[],!1,null,null,null);e.default=f.exports},378:function(t,e,n){"use strict";var i={name:"DropdownTransition",methods:{setHeight:function(t){t.style.height=t.scrollHeight+"px"},unsetHeight:function(t){t.style.height=""}}},r=(n(389),n(31)),a=Object(r.a)(i,(function(){var t=this.$createElement;return(this._self._c||t)("transition",{attrs:{name:"dropdown"},on:{enter:this.setHeight,"after-enter":this.unsetHeight,"before-leave":this.setHeight}},[this._t("default")],2)}),[],!1,null,null,null);e.a=a.exports},379:function(t,e,n){"use strict";var i=n(2),r=n(380);i({target:"String",proto:!0,forced:n(381)("link")},{link:function(t){return r(this,"a","href",t)}})},380:function(t,e,n){var i=n(1),r=n(23),a=n(18),s=/"/g,o=i("".replace);t.exports=function(t,e,n,i){var u=a(r(t)),l="<"+e;return""!==n&&(l+=" "+n+'="'+o(a(i),s,""")+'"'),l+">"+u+""}},381:function(t,e,n){var i=n(3);t.exports=function(t){return i((function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3}))}},382:function(t,e,n){"use strict";n(345)},383:function(t,e,n){var i=n(2),r=n(384);i({global:!0,forced:parseInt!=r},{parseInt:r})},384:function(t,e,n){var i=n(0),r=n(3),a=n(1),s=n(18),o=n(194).trim,u=n(195),l=i.parseInt,c=i.Symbol,h=c&&c.iterator,f=/^[+-]?0x/i,p=a(f.exec),d=8!==l(u+"08")||22!==l(u+"0x16")||h&&!r((function(){l(Object(h))}));t.exports=d?function(t,e){var n=o(s(t));return l(n,e>>>0||(p(f,n)?16:10))}:l},385:function(t,e,n){var i=n(87).PROPER,r=n(3),a=n(195);t.exports=function(t){return r((function(){return!!a[t]()||"​…᠎"!=="​…᠎"[t]()||i&&a[t].name!==t}))}},386:function(t,e,n){"use strict";var i,r=n(2),a=n(1),s=n(26).f,o=n(86),u=n(18),l=n(118),c=n(23),h=n(119),f=n(24),p=a("".endsWith),d=a("".slice),g=Math.min,v=h("endsWith");r({target:"String",proto:!0,forced:!!(f||v||(i=s(String.prototype,"endsWith"),!i||i.writable))&&!v},{endsWith:function(t){var e=u(c(this));l(t);var n=arguments.length>1?arguments[1]:void 0,i=e.length,r=void 0===n?i:g(o(n),i),a=u(t);return p?p(e,a,r):d(e,r-a.length,r)===a}})},387:function(t,e,n){"use strict";n(351)},388:function(t,e,n){"use strict";n(352)},389:function(t,e,n){"use strict";n(353)},390:function(t,e,n){"use strict";n(354)},391:function(t,e,n){"use strict";n(355)},392:function(t,e,n){"use strict";n(356)},393:function(t,e,n){"use strict";n(358)},394:function(t,e,n){var i=n(41),r=n(19),a=n(35);t.exports=function(t){return"string"==typeof t||!r(t)&&a(t)&&"[object String]"==i(t)}},395:function(t,e,n){"use strict";n(359)},396:function(t,e,n){"use strict";n(360)},397:function(t,e,n){"use strict";n(361)},398:function(t,e,n){"use strict";var i=n(2),r=n(40).find,a=n(116),s=!0;"find"in[]&&Array(1).find((function(){s=!1})),i({target:"Array",proto:!0,forced:s},{find:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),a("find")},399:function(t,e,n){"use strict";n(362)},400:function(t,e,n){"use strict";n(363)},405:function(t,e,n){"use strict";n.r(e);n(379),n(111),n(7),n(112);var i=n(342),r={name:"NavLink",props:{item:{required:!0}},computed:{link:function(){return Object(i.b)(this.item.link)},exact:function(){var t=this;return this.$site.locales?Object.keys(this.$site.locales).some((function(e){return e===t.link})):"/"===this.link},isNonHttpURI:function(){return Object(i.g)(this.link)||Object(i.h)(this.link)},isBlankTarget:function(){return"_blank"===this.target},isInternal:function(){return!Object(i.f)(this.link)&&!this.isBlankTarget},target:function(){return this.isNonHttpURI?null:this.item.target?this.item.target:Object(i.f)(this.link)?"_blank":""},rel:function(){return this.isNonHttpURI||!1===this.item.rel?null:this.item.rel?this.item.rel:this.isBlankTarget?"noopener noreferrer":null}},methods:{focusoutAction:function(){this.$emit("focusout")}}},a=n(31),s=Object(a.a)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.isInternal?n("RouterLink",{staticClass:"nav-link",attrs:{to:t.link,exact:t.exact},nativeOn:{focusout:function(e){return t.focusoutAction.apply(null,arguments)}}},[t._v("\n "+t._s(t.item.text)+"\n")]):n("a",{staticClass:"nav-link external",attrs:{href:t.link,target:t.target,rel:t.rel},on:{focusout:t.focusoutAction}},[t._v("\n "+t._s(t.item.text)+"\n "),t.isBlankTarget?n("OutboundLink"):t._e()],1)}),[],!1,null,null,null).exports,o={name:"Home",components:{NavLink:s},computed:{data:function(){return this.$page.frontmatter},actionLink:function(){return{link:this.data.actionLink,text:this.data.actionText}}}},u=(n(382),Object(a.a)(o,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("main",{staticClass:"home",attrs:{"aria-labelledby":null!==t.data.heroText?"main-title":null}},[n("header",{staticClass:"hero"},[t.data.heroImage?n("img",{attrs:{src:t.$withBase(t.data.heroImage),alt:t.data.heroAlt||"hero"}}):t._e(),t._v(" "),null!==t.data.heroText?n("h1",{attrs:{id:"main-title"}},[t._v("\n "+t._s(t.data.heroText||t.$title||"Hello")+"\n ")]):t._e(),t._v(" "),null!==t.data.tagline?n("p",{staticClass:"description"},[t._v("\n "+t._s(t.data.tagline||t.$description||"Welcome to your VuePress site")+"\n ")]):t._e(),t._v(" "),t.data.actionText&&t.data.actionLink?n("p",{staticClass:"action"},[n("NavLink",{staticClass:"action-button",attrs:{item:t.actionLink}})],1):t._e()]),t._v(" "),t.data.features&&t.data.features.length?n("div",{staticClass:"features"},t._l(t.data.features,(function(e,i){return n("div",{key:i,staticClass:"feature"},[n("h2",[t._v(t._s(e.title))]),t._v(" "),n("p",[t._v(t._s(e.details))])])})),0):t._e(),t._v(" "),n("Content",{staticClass:"theme-default-content custom"}),t._v(" "),t.data.footer?n("div",{staticClass:"footer"},[t._v("\n "+t._s(t.data.footer)+"\n ")]):t._e()],1)}),[],!1,null,null,null).exports),l=(n(383),n(346),n(186),n(115),n(36),n(32),n(343),n(198),n(199),n(193),n(85),n(347),n(348),n(349),n(350),n(84),n(344),n(110),n(386),n(201)),c=n.n(l),h=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=c()(e,"title","");return c()(e,"frontmatter.tags")&&(i+=" ".concat(e.frontmatter.tags.join(" "))),n&&(i+=" ".concat(n)),f(t,i)},f=function(t,e){var n=function(t){return t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")},i=new RegExp("[^\0-]"),r=t.split(/\s+/g).map((function(t){return t.trim()})).filter((function(t){return!!t}));if(i.test(t))return r.some((function(t){return e.toLowerCase().indexOf(t)>-1}));var a=t.endsWith(" ");return new RegExp(r.map((function(t,e){return r.length!==e+1||a?"(?=.*\\b".concat(n(t),"\\b)"):"(?=.*\\b".concat(n(t),")")})).join("")+".+","gi").test(e)},p={name:"SearchBox",data:function(){return{query:"",focused:!1,focusIndex:0,placeholder:void 0}},computed:{showSuggestions:function(){return this.focused&&this.suggestions&&this.suggestions.length},suggestions:function(){var t=this.query.trim().toLowerCase();if(t){for(var e=this.$site.pages,n=this.$site.themeConfig.searchMaxSuggestions||5,i=this.$localePath,r=[],a=0;a=n);a++){var s=e[a];if(this.getPageLocalePath(s)===i&&this.isSearchable(s))if(h(t,s))r.push(s);else if(s.headers)for(var o=0;o=n);o++){var u=s.headers[o];u.title&&h(t,s,u.title)&&r.push(Object.assign({},s,{path:s.path+"#"+u.slug,header:u}))}}return r}},alignRight:function(){return(this.$site.themeConfig.nav||[]).length+(this.$site.repo?1:0)<=2}},mounted:function(){this.placeholder=this.$site.themeConfig.searchPlaceholder||"",document.addEventListener("keydown",this.onHotkey)},beforeDestroy:function(){document.removeEventListener("keydown",this.onHotkey)},methods:{getPageLocalePath:function(t){for(var e in this.$site.locales||{})if("/"!==e&&0===t.path.indexOf(e))return e;return"/"},isSearchable:function(t){var e=null;return null===e||(e=Array.isArray(e)?e:new Array(e)).filter((function(e){return t.path.match(e)})).length>0},onHotkey:function(t){t.srcElement===document.body&&["s","/"].includes(t.key)&&(this.$refs.input.focus(),t.preventDefault())},onUp:function(){this.showSuggestions&&(this.focusIndex>0?this.focusIndex--:this.focusIndex=this.suggestions.length-1)},onDown:function(){this.showSuggestions&&(this.focusIndex "+t._s(e.header.title))]):t._e()])])})),0):t._e()])}),[],!1,null,null,null).exports),g=(n(388),Object(a.a)({},(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"sidebar-button",on:{click:function(e){return t.$emit("toggle-sidebar")}}},[n("svg",{staticClass:"icon",attrs:{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",viewBox:"0 0 448 512"}},[n("path",{attrs:{fill:"currentColor",d:"M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"}})])])}),[],!1,null,null,null).exports),v=n(54),m=(n(200),n(378)),b=n(202),k=n.n(b),_={name:"DropdownLink",components:{NavLink:s,DropdownTransition:m.a},props:{item:{required:!0}},data:function(){return{open:!1}},computed:{dropdownAriaLabel:function(){return this.item.ariaLabel||this.item.text}},watch:{$route:function(){this.open=!1}},methods:{setOpen:function(t){this.open=t},isLastItemOfArray:function(t,e){return k()(e)===t},handleDropdown:function(){0===event.detail&&this.setOpen(!this.open)}}},x=(n(390),{name:"NavLinks",components:{NavLink:s,DropdownLink:Object(a.a)(_,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"dropdown-wrapper",class:{open:t.open}},[n("button",{staticClass:"dropdown-title",attrs:{type:"button","aria-label":t.dropdownAriaLabel},on:{click:t.handleDropdown}},[n("span",{staticClass:"title"},[t._v(t._s(t.item.text))]),t._v(" "),n("span",{staticClass:"arrow down"})]),t._v(" "),n("button",{staticClass:"mobile-dropdown-title",attrs:{type:"button","aria-label":t.dropdownAriaLabel},on:{click:function(e){return t.setOpen(!t.open)}}},[n("span",{staticClass:"title"},[t._v(t._s(t.item.text))]),t._v(" "),n("span",{staticClass:"arrow",class:t.open?"down":"right"})]),t._v(" "),n("DropdownTransition",[n("ul",{directives:[{name:"show",rawName:"v-show",value:t.open,expression:"open"}],staticClass:"nav-dropdown"},t._l(t.item.items,(function(e,i){return n("li",{key:e.link||i,staticClass:"dropdown-item"},["links"===e.type?n("h4",[t._v("\n "+t._s(e.text)+"\n ")]):t._e(),t._v(" "),"links"===e.type?n("ul",{staticClass:"dropdown-subitem-wrapper"},t._l(e.items,(function(i){return n("li",{key:i.link,staticClass:"dropdown-subitem"},[n("NavLink",{attrs:{item:i},on:{focusout:function(n){t.isLastItemOfArray(i,e.items)&&t.isLastItemOfArray(e,t.item.items)&&t.setOpen(!1)}}})],1)})),0):n("NavLink",{attrs:{item:e},on:{focusout:function(n){t.isLastItemOfArray(e,t.item.items)&&t.setOpen(!1)}}})],1)})),0)])],1)}),[],!1,null,null,null).exports},computed:{userNav:function(){return this.$themeLocaleConfig.nav||this.$site.themeConfig.nav||[]},nav:function(){var t=this,e=this.$site.locales;if(e&&Object.keys(e).length>1){var n=this.$page.path,i=this.$router.options.routes,r=this.$site.themeConfig.locales||{},a={text:this.$themeLocaleConfig.selectText||"Languages",ariaLabel:this.$themeLocaleConfig.ariaLabel||"Select language",items:Object.keys(e).map((function(a){var s,o=e[a],u=r[a]&&r[a].label||o.lang;return o.lang===t.$lang?s=n:(s=n.replace(t.$localeConfig.path,a),i.some((function(t){return t.path===s}))||(s=a)),{text:u,link:s}}))};return[].concat(Object(v.a)(this.userNav),[a])}return this.userNav},userLinks:function(){return(this.nav||[]).map((function(t){return Object.assign(Object(i.j)(t),{items:(t.items||[]).map(i.j)})}))},repoLink:function(){var t=this.$site.themeConfig.repo;return t?/^https?:/.test(t)?t:"https://github.com/".concat(t):null},repoLabel:function(){if(this.repoLink){if(this.$site.themeConfig.repoLabel)return this.$site.themeConfig.repoLabel;for(var t=this.repoLink.match(/^https?:\/\/[^/]+/)[0],e=["GitHub","GitLab","Bitbucket"],n=0;nMath.abs(n)&&Math.abs(e)>40&&(e>0&&this.touchStart.x<=80?this.toggleSidebar(!0):this.toggleSidebar(!1))}}}),G=Object(a.a)(W,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"theme-container",class:t.pageClasses,on:{touchstart:t.onTouchStart,touchend:t.onTouchEnd}},[t.shouldShowNavbar?n("Navbar",{on:{"toggle-sidebar":t.toggleSidebar}}):t._e(),t._v(" "),n("div",{staticClass:"sidebar-mask",on:{click:function(e){return t.toggleSidebar(!1)}}}),t._v(" "),n("Sidebar",{attrs:{items:t.sidebarItems},on:{"toggle-sidebar":t.toggleSidebar},scopedSlots:t._u([{key:"top",fn:function(){return[t._t("sidebar-top")]},proxy:!0},{key:"bottom",fn:function(){return[t._t("sidebar-bottom")]},proxy:!0}],null,!0)}),t._v(" "),t.$page.frontmatter.home?n("Home"):n("Page",{attrs:{"sidebar-items":t.sidebarItems},scopedSlots:t._u([{key:"top",fn:function(){return[t._t("page-top")]},proxy:!0},{key:"bottom",fn:function(){return[t._t("page-bottom")]},proxy:!0}],null,!0)})],1)}),[],!1,null,null,null);e.default=G.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/20.03b6e50a.js b/docs/assets/js/20.74eb5c71.js similarity index 56% rename from docs/assets/js/20.03b6e50a.js rename to docs/assets/js/20.74eb5c71.js index 59e10c5..d058dff 100644 --- a/docs/assets/js/20.03b6e50a.js +++ b/docs/assets/js/20.74eb5c71.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{368:function(i,e,n){i.exports=n.p+"assets/img/interactive-multichoice.5f39e443.gif"}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{370:function(i,e,n){i.exports=n.p+"assets/img/interactive-multichoice.5f39e443.gif"}}]); \ No newline at end of file diff --git a/docs/assets/js/21.d16e18e5.js b/docs/assets/js/21.4255a073.js similarity index 51% rename from docs/assets/js/21.d16e18e5.js rename to docs/assets/js/21.4255a073.js index 83a825f..123f7a7 100644 --- a/docs/assets/js/21.d16e18e5.js +++ b/docs/assets/js/21.4255a073.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{365:function(s,p,i){s.exports=i.p+"assets/img/ui-alerts.271f5f6a.gif"}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{367:function(s,p,i){s.exports=i.p+"assets/img/ui-alerts.271f5f6a.gif"}}]); \ No newline at end of file diff --git a/docs/assets/js/22.bcef3656.js b/docs/assets/js/22.da88578d.js similarity index 52% rename from docs/assets/js/22.bcef3656.js rename to docs/assets/js/22.da88578d.js index 4d01f44..d5e4aab 100644 --- a/docs/assets/js/22.bcef3656.js +++ b/docs/assets/js/22.da88578d.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{371:function(s,e,p){s.exports=p.p+"assets/img/ui-messages.1e576a44.gif"}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{373:function(s,e,p){s.exports=p.p+"assets/img/ui-messages.1e576a44.gif"}}]); \ No newline at end of file diff --git a/docs/assets/js/23.090a3b70.js b/docs/assets/js/23.4d23d983.js similarity index 52% rename from docs/assets/js/23.090a3b70.js rename to docs/assets/js/23.4d23d983.js index f227529..1eb8261 100644 --- a/docs/assets/js/23.090a3b70.js +++ b/docs/assets/js/23.4d23d983.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{366:function(s,p,o){s.exports=o.p+"assets/img/ui-progress.60af3124.gif"}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{368:function(s,p,o){s.exports=o.p+"assets/img/ui-progress.60af3124.gif"}}]); \ No newline at end of file diff --git a/docs/assets/js/24.53ddff2e.js b/docs/assets/js/24.0d77bdf1.js similarity index 51% rename from docs/assets/js/24.53ddff2e.js rename to docs/assets/js/24.0d77bdf1.js index dc439ca..12281e0 100644 --- a/docs/assets/js/24.53ddff2e.js +++ b/docs/assets/js/24.0d77bdf1.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{367:function(p,s,o){p.exports=o.p+"assets/img/ui-prompts.0ac0f197.gif"}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{369:function(p,s,o){p.exports=o.p+"assets/img/ui-prompts.0ac0f197.gif"}}]); \ No newline at end of file diff --git a/docs/assets/js/25.1748412c.js b/docs/assets/js/25.2a54c757.js similarity index 52% rename from docs/assets/js/25.1748412c.js rename to docs/assets/js/25.2a54c757.js index 9ebc614..10caed0 100644 --- a/docs/assets/js/25.1748412c.js +++ b/docs/assets/js/25.2a54c757.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{370:function(s,n,p){s.exports=p.p+"assets/img/ui-spinners.85037ea0.gif"}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{372:function(s,n,p){s.exports=p.p+"assets/img/ui-spinners.85037ea0.gif"}}]); \ No newline at end of file diff --git a/docs/assets/js/3.e8cab87b.js b/docs/assets/js/3.64016def.js similarity index 98% rename from docs/assets/js/3.e8cab87b.js rename to docs/assets/js/3.64016def.js index d26d228..18a72bf 100644 --- a/docs/assets/js/3.e8cab87b.js +++ b/docs/assets/js/3.64016def.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[3,16,17,18,19,20],{362:function(t,s,a){t.exports=a.p+"assets/img/interactive-choices.423a6843.gif"},363:function(t,s,a){t.exports=a.p+"assets/img/interactive-manual.013fe4d1.gif"},364:function(t,s,a){t.exports=a.p+"assets/img/interactive-masking.03d48b29.gif"},368:function(t,s,a){t.exports=a.p+"assets/img/interactive-multichoice.5f39e443.gif"},369:function(t,s,a){t.exports=a.p+"assets/img/interactive-conditional.841993be.gif"},411:function(t,s,a){"use strict";a.r(s);var n=a(31),r=Object(n.a)({},(function(){var t=this,s=t.$createElement,n=t._self._c||s;return n("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[n("h1",{attrs:{id:"interactive-commands"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#interactive-commands"}},[t._v("#")]),t._v(" Interactive Commands")]),t._v(" "),n("p",[t._v("One of the major features of seeli is that commands are inherently interactive.\nBy default, all commands translate any flags into "),n("a",{attrs:{href:"https://www.npmjs.com/package/inquirer",target:"_blank",rel:"noopener noreferrer"}},[t._v("inquirer"),n("OutboundLink")],1),t._v(" prompts.")]),t._v(" "),n("h2",{attrs:{id:"advanced-flag-features"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#advanced-flag-features"}},[t._v("#")]),t._v(" Advanced Flag Features")]),t._v(" "),n("p",[t._v("Command flags expose a number of options that allow you to customize the\ninteractive experience.")]),t._v(" "),n("h3",{attrs:{id:"selective-interactivity"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#selective-interactivity"}},[t._v("#")]),t._v(" Selective Interactivity")]),t._v(" "),n("p",[t._v("It is possible to disable the built-in interactive behavior by simply setting\nthe "),n("code",[t._v("interactive")]),t._v(" option to false when creating a new command")]),t._v(" "),n("div",{staticClass:"language-javascript extra-class"},[n("div",{staticClass:"highlight-lines"},[n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("br"),n("br"),n("br"),n("br"),n("br"),n("br")]),n("pre",{pre:!0,attrs:{class:"language-javascript"}},[n("code",[n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("Command"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nmodule"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'sample'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" interactive"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'This command disables interactive behavior'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'hello world'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),n("p",[t._v("Alternatively, each flag may opt-out of the interactive work flow by setting a similar option")]),t._v(" "),n("div",{staticClass:"language-javascript extra-class"},[n("div",{staticClass:"highlight-lines"},[n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br")]),n("pre",{pre:!0,attrs:{class:"language-javascript"}},[n("code",[n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("Command"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nmodule"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'sample'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" interactive"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'This command disable interactivity on a single flag'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" flags"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n foo"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" Boolean\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" interactive"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Including more foo'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" bar"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" Boolean\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Including more bar'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("_"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("foo"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("for"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" bar"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("bar"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" message"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'hello world'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),n("h3",{attrs:{id:"input-masking"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#input-masking"}},[t._v("#")]),t._v(" Input Masking")]),t._v(" "),n("p",[t._v("String flags can make the input being typed to hide sensitive information by\nsetting the "),n("code",[t._v("mask")]),t._v(" property to "),n("code",[t._v("true")]),t._v(".")]),t._v(" "),n("div",{staticClass:"language-js extra-class"},[n("div",{staticClass:"highlight-lines"},[n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br")]),n("pre",{pre:!0,attrs:{class:"language-js"}},[n("code",[n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("Command"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nmodule"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'mask'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Input masking'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" flags"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n password"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" String\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" mask"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'user password'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" confirm"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" String\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" mask"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'confirm password'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("_"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("confirm"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("password "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("==")]),t._v(" data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("confirm\n "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("?")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'password confirmed'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'passwords do not match'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'no password entered'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),n("p",[n("img",{attrs:{src:a(364),alt:"masking"}})]),t._v(" "),n("h3",{attrs:{id:"choice-lists"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#choice-lists"}},[t._v("#")]),t._v(" Choice Lists")]),t._v(" "),n("p",[t._v("Choice lists provide a fixed set of allowable input values forcing users to pick a single value.\nThe experience is similar in "),n("strong",[t._v("non-interactive")]),t._v(" situations in that passing a value that is not specified\nin the choice list will result in an error being thrown.")]),t._v(" "),n("div",{staticClass:"language-js extra-class"},[n("div",{staticClass:"highlight-lines"},[n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br")]),n("pre",{pre:!0,attrs:{class:"language-js"}},[n("code",[n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("Command"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" colorize"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nmodule"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'choices'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'prompts for a specific value'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" flags"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n direction"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" String\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" required"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'The desired direction to travel'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" choices"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'north'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'south'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'east'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'west'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("_"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token template-string"}},[n("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("you selected ")]),n("span",{pre:!0,attrs:{class:"token interpolation"}},[n("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("${")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("colorize")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("direction"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("}")])]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("!")]),n("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")])]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),n("p",[n("img",{attrs:{src:a(362),alt:"choices"}})]),t._v(" "),n("h3",{attrs:{id:"multi-select"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#multi-select"}},[t._v("#")]),t._v(" Multi Select")]),t._v(" "),n("p",[t._v("By defining your flag input type as an "),n("code",[t._v("Array")]),t._v(", the interactive input will\nbe presented as a multi-select allowing users to pick multiple values.\nThe result will be passed to the command as a single array just as it would from\n"),n("strong",[t._v("non-interactive")]),t._v(" input.")]),t._v(" "),n("div",{staticClass:"language-js extra-class"},[n("div",{staticClass:"highlight-lines"},[n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("br"),n("br"),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br")]),n("pre",{pre:!0,attrs:{class:"language-js"}},[n("code",[n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("Command"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" colorize"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nmodule"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'multi'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'prompts for a specific value'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" flags"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n direction"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("String"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" Array"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" required"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'The desired direction to travel'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" choices"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'north'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'south'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'east'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'west'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("_"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token template-string"}},[n("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("you selected ")]),n("span",{pre:!0,attrs:{class:"token interpolation"}},[n("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("${")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("colorize")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("direction"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("}")])]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("!")]),n("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")])]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),n("p",[n("img",{attrs:{src:a(368),alt:"multiple choice"}})]),t._v(" "),n("h2",{attrs:{id:"conditional-flags"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#conditional-flags"}},[t._v("#")]),t._v(" Conditional Flags")]),t._v(" "),n("p",[t._v("There are situations when triggering an input prompt is logically dependent on\nthe input of a different flag. It is possible to define these dependencies by\nspecifing a "),n("code",[t._v("when")]),t._v(" function. This function accepts the accumulated input from\nthe flags that were defined before it. The when function should return a boolean\nvalue which indicates if the prompt should be presented or not. An added benefit\nis that you do need to implement the logic of executing the prompts.")]),t._v(" "),n("div",{staticClass:"language-js extra-class"},[n("div",{staticClass:"highlight-lines"},[n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("br"),n("br"),n("br"),n("br"),n("br"),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("br"),n("br"),n("br"),n("br"),n("br"),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br")]),n("pre",{pre:!0,attrs:{class:"language-js"}},[n("code",[n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("Command"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nmodule"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'condition'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Conditional flags'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" flags"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n one"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" String\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'first value'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("default")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("null")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" two"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" String\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'second value'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("default")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("null")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("when")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("input")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("!")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("!")]),t._v("input"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("one\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" three"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" String\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'third value'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("default")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("null")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("when")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("input")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("!")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("!")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("input"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("one "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("&&")]),t._v(" input"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("two"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" four"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" String\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'fourth value'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("default")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("null")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("when")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("input")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("!")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("!")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("input"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("two"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("_"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n console"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("dir")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),n("p",[n("img",{attrs:{src:a(369),alt:"conditional"}})]),t._v(" "),n("h2",{attrs:{id:"dynamic-prompting"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#dynamic-prompting"}},[t._v("#")]),t._v(" Dynamic Prompting")]),t._v(" "),n("p",[t._v("For situations when the automatic interactive behavior isn't enough to express\ncomplex logic, you can use the "),n("code",[t._v("prompt")]),t._v(" to implement any kind of prompting logic.\nThe Prompt function is a direct pass through to the "),n("a",{attrs:{href:"https://www.npmjs.com/package/inquirer",target:"_blank",rel:"noopener noreferrer"}},[t._v("inquirer"),n("OutboundLink")],1),t._v(" prompt function.")]),t._v(" "),n("div",{staticClass:"language-js extra-class"},[n("div",{staticClass:"highlight-lines"},[n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("br"),n("br"),n("br"),n("br"),n("br")]),n("pre",{pre:!0,attrs:{class:"language-js"}},[n("code",[n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("Command"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nmodule"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'manual'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Manual prompting'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" flags"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n foo"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" Boolean\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Including more foo'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("_"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("foo"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("bar"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("await")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("prompt")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'bar'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" type"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'input'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" message"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'include more bar'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("validate")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("value")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("!")]),t._v("value"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'bar is required'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" bar "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("?")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'we need more bar'")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'we have no bar'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),n("p",[n("img",{attrs:{src:a(363),alt:"manual prompts"}})])])}),[],!1,null,null,null);s.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[3,16,17,18,19,20],{364:function(t,s,a){t.exports=a.p+"assets/img/interactive-choices.423a6843.gif"},365:function(t,s,a){t.exports=a.p+"assets/img/interactive-manual.013fe4d1.gif"},366:function(t,s,a){t.exports=a.p+"assets/img/interactive-masking.03d48b29.gif"},370:function(t,s,a){t.exports=a.p+"assets/img/interactive-multichoice.5f39e443.gif"},371:function(t,s,a){t.exports=a.p+"assets/img/interactive-conditional.841993be.gif"},413:function(t,s,a){"use strict";a.r(s);var n=a(31),r=Object(n.a)({},(function(){var t=this,s=t.$createElement,n=t._self._c||s;return n("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[n("h1",{attrs:{id:"interactive-commands"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#interactive-commands"}},[t._v("#")]),t._v(" Interactive Commands")]),t._v(" "),n("p",[t._v("One of the major features of seeli is that commands are inherently interactive.\nBy default, all commands translate any flags into "),n("a",{attrs:{href:"https://www.npmjs.com/package/inquirer",target:"_blank",rel:"noopener noreferrer"}},[t._v("inquirer"),n("OutboundLink")],1),t._v(" prompts.")]),t._v(" "),n("h2",{attrs:{id:"advanced-flag-features"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#advanced-flag-features"}},[t._v("#")]),t._v(" Advanced Flag Features")]),t._v(" "),n("p",[t._v("Command flags expose a number of options that allow you to customize the\ninteractive experience.")]),t._v(" "),n("h3",{attrs:{id:"selective-interactivity"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#selective-interactivity"}},[t._v("#")]),t._v(" Selective Interactivity")]),t._v(" "),n("p",[t._v("It is possible to disable the built-in interactive behavior by simply setting\nthe "),n("code",[t._v("interactive")]),t._v(" option to false when creating a new command")]),t._v(" "),n("div",{staticClass:"language-javascript extra-class"},[n("div",{staticClass:"highlight-lines"},[n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("br"),n("br"),n("br"),n("br"),n("br"),n("br")]),n("pre",{pre:!0,attrs:{class:"language-javascript"}},[n("code",[n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("Command"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nmodule"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'sample'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" interactive"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'This command disables interactive behavior'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'hello world'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),n("p",[t._v("Alternatively, each flag may opt-out of the interactive work flow by setting a similar option")]),t._v(" "),n("div",{staticClass:"language-javascript extra-class"},[n("div",{staticClass:"highlight-lines"},[n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br")]),n("pre",{pre:!0,attrs:{class:"language-javascript"}},[n("code",[n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("Command"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nmodule"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'sample'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" interactive"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'This command disable interactivity on a single flag'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" flags"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n foo"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" Boolean\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" interactive"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Including more foo'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" bar"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" Boolean\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Including more bar'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("_"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("foo"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("for"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" bar"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("bar"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" message"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'hello world'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),n("h3",{attrs:{id:"input-masking"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#input-masking"}},[t._v("#")]),t._v(" Input Masking")]),t._v(" "),n("p",[t._v("String flags can make the input being typed to hide sensitive information by\nsetting the "),n("code",[t._v("mask")]),t._v(" property to "),n("code",[t._v("true")]),t._v(".")]),t._v(" "),n("div",{staticClass:"language-js extra-class"},[n("div",{staticClass:"highlight-lines"},[n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br")]),n("pre",{pre:!0,attrs:{class:"language-js"}},[n("code",[n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("Command"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nmodule"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'mask'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Input masking'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" flags"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n password"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" String\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" mask"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'user password'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" confirm"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" String\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" mask"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'confirm password'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("_"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("confirm"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("password "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("==")]),t._v(" data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("confirm\n "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("?")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'password confirmed'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'passwords do not match'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'no password entered'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),n("p",[n("img",{attrs:{src:a(366),alt:"masking"}})]),t._v(" "),n("h3",{attrs:{id:"choice-lists"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#choice-lists"}},[t._v("#")]),t._v(" Choice Lists")]),t._v(" "),n("p",[t._v("Choice lists provide a fixed set of allowable input values forcing users to pick a single value.\nThe experience is similar in "),n("strong",[t._v("non-interactive")]),t._v(" situations in that passing a value that is not specified\nin the choice list will result in an error being thrown.")]),t._v(" "),n("div",{staticClass:"language-js extra-class"},[n("div",{staticClass:"highlight-lines"},[n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br")]),n("pre",{pre:!0,attrs:{class:"language-js"}},[n("code",[n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("Command"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" colorize"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nmodule"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'choices'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'prompts for a specific value'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" flags"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n direction"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" String\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" required"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'The desired direction to travel'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" choices"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'north'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'south'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'east'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'west'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("_"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token template-string"}},[n("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("you selected ")]),n("span",{pre:!0,attrs:{class:"token interpolation"}},[n("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("${")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("colorize")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("direction"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("}")])]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("!")]),n("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")])]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),n("p",[n("img",{attrs:{src:a(364),alt:"choices"}})]),t._v(" "),n("h3",{attrs:{id:"multi-select"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#multi-select"}},[t._v("#")]),t._v(" Multi Select")]),t._v(" "),n("p",[t._v("By defining your flag input type as an "),n("code",[t._v("Array")]),t._v(", the interactive input will\nbe presented as a multi-select allowing users to pick multiple values.\nThe result will be passed to the command as a single array just as it would from\n"),n("strong",[t._v("non-interactive")]),t._v(" input.")]),t._v(" "),n("div",{staticClass:"language-js extra-class"},[n("div",{staticClass:"highlight-lines"},[n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("br"),n("br"),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br")]),n("pre",{pre:!0,attrs:{class:"language-js"}},[n("code",[n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("Command"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" colorize"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nmodule"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'multi'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'prompts for a specific value'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" flags"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n direction"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("String"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" Array"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" required"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'The desired direction to travel'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" choices"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'north'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'south'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'east'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'west'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("_"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token template-string"}},[n("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("you selected ")]),n("span",{pre:!0,attrs:{class:"token interpolation"}},[n("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("${")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("colorize")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("direction"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("}")])]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("!")]),n("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")])]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),n("p",[n("img",{attrs:{src:a(370),alt:"multiple choice"}})]),t._v(" "),n("h2",{attrs:{id:"conditional-flags"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#conditional-flags"}},[t._v("#")]),t._v(" Conditional Flags")]),t._v(" "),n("p",[t._v("There are situations when triggering an input prompt is logically dependent on\nthe input of a different flag. It is possible to define these dependencies by\nspecifing a "),n("code",[t._v("when")]),t._v(" function. This function accepts the accumulated input from\nthe flags that were defined before it. The when function should return a boolean\nvalue which indicates if the prompt should be presented or not. An added benefit\nis that you do need to implement the logic of executing the prompts.")]),t._v(" "),n("div",{staticClass:"language-js extra-class"},[n("div",{staticClass:"highlight-lines"},[n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("br"),n("br"),n("br"),n("br"),n("br"),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("br"),n("br"),n("br"),n("br"),n("br"),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br")]),n("pre",{pre:!0,attrs:{class:"language-js"}},[n("code",[n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("Command"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nmodule"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'condition'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Conditional flags'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" flags"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n one"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" String\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'first value'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("default")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("null")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" two"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" String\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'second value'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("default")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("null")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("when")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("input")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("!")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("!")]),t._v("input"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("one\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" three"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" String\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'third value'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("default")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("null")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("when")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("input")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("!")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("!")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("input"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("one "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("&&")]),t._v(" input"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("two"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" four"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" String\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'fourth value'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("default")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("null")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("when")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("input")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("!")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("!")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("input"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("two"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("_"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n console"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("dir")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),n("p",[n("img",{attrs:{src:a(371),alt:"conditional"}})]),t._v(" "),n("h2",{attrs:{id:"dynamic-prompting"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#dynamic-prompting"}},[t._v("#")]),t._v(" Dynamic Prompting")]),t._v(" "),n("p",[t._v("For situations when the automatic interactive behavior isn't enough to express\ncomplex logic, you can use the "),n("code",[t._v("prompt")]),t._v(" to implement any kind of prompting logic.\nThe Prompt function is a direct pass through to the "),n("a",{attrs:{href:"https://www.npmjs.com/package/inquirer",target:"_blank",rel:"noopener noreferrer"}},[t._v("inquirer"),n("OutboundLink")],1),t._v(" prompt function.")]),t._v(" "),n("div",{staticClass:"language-js extra-class"},[n("div",{staticClass:"highlight-lines"},[n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("br"),n("br"),n("br"),n("br"),n("br")]),n("pre",{pre:!0,attrs:{class:"language-js"}},[n("code",[n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("Command"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nmodule"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Command")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'manual'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Manual prompting'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" flags"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n foo"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" Boolean\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Including more foo'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("_"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("foo"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("bar"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("await")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("prompt")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'bar'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" type"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'input'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" message"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'include more bar'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("validate")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("value")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("!")]),t._v("value"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'bar is required'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" bar "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("?")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'we need more bar'")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'we have no bar'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),n("p",[n("img",{attrs:{src:a(365),alt:"manual prompts"}})])])}),[],!1,null,null,null);s.default=r.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/4.1f1d2ad4.js b/docs/assets/js/4.e6782fa0.js similarity index 98% rename from docs/assets/js/4.1f1d2ad4.js rename to docs/assets/js/4.e6782fa0.js index 8a969cb..0bc0976 100644 --- a/docs/assets/js/4.1f1d2ad4.js +++ b/docs/assets/js/4.e6782fa0.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[4,21,22,23,24,25],{365:function(t,s,a){t.exports=a.p+"assets/img/ui-alerts.271f5f6a.gif"},366:function(t,s,a){t.exports=a.p+"assets/img/ui-progress.60af3124.gif"},367:function(t,s,a){t.exports=a.p+"assets/img/ui-prompts.0ac0f197.gif"},370:function(t,s,a){t.exports=a.p+"assets/img/ui-spinners.85037ea0.gif"},371:function(t,s,a){t.exports=a.p+"assets/img/ui-messages.1e576a44.gif"},413:function(t,s,a){"use strict";a.r(s);var n=a(31),r=Object(n.a)({},(function(){var t=this,s=t.$createElement,n=t._self._c||s;return n("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[n("h1",{attrs:{id:"ui"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#ui"}},[t._v("#")]),t._v(" UI")]),t._v(" "),n("p",[t._v("As your commands become more complex and do more things, the need to communicate what is happening\nto users becomes increasingly important. Seeli provides a few simple and powerful ways\nto interact and communicate with users.")]),t._v(" "),n("h2",{attrs:{id:"progress-indicators"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#progress-indicators"}},[t._v("#")]),t._v(" Progress Indicators")]),t._v(" "),n("p",[t._v("Seeli commands have access to an instance of "),n("a",{attrs:{href:"https://www.npmjs.com/package/ora",target:"_blank",rel:"noopener noreferrer"}},[t._v("ora"),n("OutboundLink")],1),t._v(" inside the "),n("code",[t._v("run")]),t._v(" function.\nIt can be controlled by the "),n("code",[t._v("ui")]),t._v(" property. Additionally, you may use "),n("code",[t._v("ui")]),t._v(" configuration\nproperty to change the progress spinner to any valid ora spinner.")]),t._v(" "),n("div",{staticClass:"language-js extra-class"},[n("div",{staticClass:"highlight-lines"},[n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br")]),n("pre",{pre:!0,attrs:{class:"language-js"}},[n("code",[n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" seeli "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("sleep")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("ms "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("100")])]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Promise")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("resolve")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("setTimeout")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("resolve"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ms"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\nmodule"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("seeli"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Command")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'progress'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Displays a progress indicator'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ui"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'bouncingBar'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("cmd"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ui"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("start")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'processing...'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("await")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("sleep")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("2000")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ui"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("succeed")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'done'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),n("p",[n("img",{attrs:{src:a(366),alt:"progress"}})]),t._v(" "),n("p",[n("strong",[t._v("All available spinners")]),t._v(" "),n("img",{attrs:{src:a(370),alt:"spinners"}})]),t._v(" "),n("h2",{attrs:{id:"messages"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#messages"}},[t._v("#")]),t._v(" Messages")]),t._v(" "),n("p",[t._v("By assigning a string to the "),n("code",[t._v("text")]),t._v(" property of the "),n("strong",[t._v("ui")]),t._v(" instance\nyou are able to set the text of the terminal in place. This is useful for\nupdating users of the current status. For example, you may want to\ndisplay the number of steps that have been completed by the current command.")]),t._v(" "),n("div",{staticClass:"language-js extra-class"},[n("div",{staticClass:"highlight-lines"},[n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("br"),n("br"),n("br"),n("br"),n("br")]),n("pre",{pre:!0,attrs:{class:"language-js"}},[n("code",[n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" seeli "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("sleep")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("ms "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("100")])]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Promise")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("resolve")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("setTimeout")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("resolve"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ms"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" messages "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Adding Hidden Agendas'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Adjusting Bell Curves'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Aesthesizing Industrial Areas'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Aligning Covariance Matrices'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Applying Feng Shui Shaders'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Applying Theatre Soda Layer'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Asserting Packed Exemplars'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Assembling Blockchain Reservoir'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Attempting to Lock Back-Buffer'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Binding Sapling Root System'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Buffering Physical Caches'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Building Data Trees'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Bureacritizing Bureaucracies'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Calculating Inverse Probability Matrices'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Cohorting Exemplars'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Collecting Meteor Particles'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("randomMessage")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" messages"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("Math"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("floor")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Math"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("random")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("*")]),t._v(" messages"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("length"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\nmodule"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("seeli"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Command")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'messages'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Displays random messages'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("cmd"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" x "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ui"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("start")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'processing...'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("while")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("x"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("--")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("await")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("sleep")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("1000")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ui"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("text "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("randomMessage")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ui"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("succeed")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'done'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),n("p",[n("img",{attrs:{src:a(371),alt:"messages"}})]),t._v(" "),n("h2",{attrs:{id:"alerts"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#alerts"}},[t._v("#")]),t._v(" Alerts")]),t._v(" "),n("p",[t._v("When you need to display important messages, like a command failing or\nprematurely stopping, you should use the alert functions. each function has\na unique icon for the severity of the message. The functions available on the\n"),n("code",[t._v("ui")]),t._v(" object are:")]),t._v(" "),n("ul",[n("li",[n("strong",[t._v("info")])]),t._v(" "),n("li",[n("strong",[t._v("warn")])]),t._v(" "),n("li",[n("strong",[t._v("fail")])]),t._v(" "),n("li",[n("strong",[t._v("succeed")])])]),t._v(" "),n("div",{staticClass:"language-js extra-class"},[n("pre",{pre:!0,attrs:{class:"language-js"}},[n("code",[n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" seeli "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("sleep")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("ms "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("100")])]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Promise")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("resolve")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("setTimeout")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("resolve"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ms"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\nmodule"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("seeli"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Command")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'alerts'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Displays a progress indicator'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("cmd"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ui"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("start")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rendering alerts'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("await")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("sleep")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("1000")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ui"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("info")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'info'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("await")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("sleep")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("1000")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ui"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("warn")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'warn'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("await")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("sleep")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("1000")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ui"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("fail")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'fail'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("await")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("sleep")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("1000")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ui"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("succeed")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'success'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),n("p",[n("img",{attrs:{src:a(365),alt:"alerts"}})]),t._v(" "),n("div",{staticClass:"custom-block tip"},[n("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),n("p",[t._v("When you use one of the alery function, the progress indicator will be stopped.\nYou must call "),n("code",[t._v("this.ui.start(...)")]),t._v(" again to restart it")])]),t._v(" "),n("h2",{attrs:{id:"prompts"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#prompts"}},[t._v("#")]),t._v(" Prompts")]),t._v(" "),n("p",[t._v("Seeli uses the "),n("a",{attrs:{href:"https://www.npmjs.com/package/inquirer",target:"_blank",rel:"noopener noreferrer"}},[t._v("inquirer"),n("OutboundLink")],1),t._v(" to interactively collect input\nfrom users. This functionality is exposed via the "),n("code",[t._v("prompt")]),t._v(" function.\nThis is a direct passthrough the the inquirer function of the "),n("a",{attrs:{href:"https://www.npmjs.com/package/inquirer#inquirerpromptquestions---promise",target:"_blank",rel:"noopener noreferrer"}},[t._v("same name"),n("OutboundLink")],1),t._v(".\nThis makes things like conditional and branching logic based on user input\nsignificantly easier.")]),t._v(" "),n("div",{staticClass:"language-js extra-class"},[n("div",{staticClass:"highlight-lines"},[n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br")]),n("pre",{pre:!0,attrs:{class:"language-js"}},[n("code",[n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" seeli "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("sleep")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("ms "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("100")])]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Promise")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("resolve")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("setTimeout")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("resolve"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ms"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\nmodule"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("seeli"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Command")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'alerts'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Displays a progress indicator'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("cmd"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n Object"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("assign")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("await")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("prompt")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'input'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" name"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'name'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" message"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'What is your name'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n Object"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("assign")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("await")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("prompt")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'password'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" name"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'password'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" message"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'What is your password'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n Object"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("assign")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("await")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("prompt")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'confirm'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" name"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'confirm'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" message"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Are you sure'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("!")]),t._v("data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("confirm"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n Object"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("assign")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("await")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("prompt")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'password'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" name"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'password'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" message"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'What is your password'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ui"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("start")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'processing...'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("await")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("sleep")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("2000")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ui"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("info")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token template-string"}},[n("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("name: ")]),n("span",{pre:!0,attrs:{class:"token interpolation"}},[n("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("${")]),t._v("data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("name"),n("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("}")])]),n("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")])]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ui"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("info")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token template-string"}},[n("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("password: ")]),n("span",{pre:!0,attrs:{class:"token interpolation"}},[n("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("${")]),t._v("data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("password"),n("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("}")])]),n("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")])]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ui"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("info")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token template-string"}},[n("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("confirmed: ")]),n("span",{pre:!0,attrs:{class:"token interpolation"}},[n("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("${")]),t._v("data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("confirm"),n("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("}")])]),n("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")])]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),n("p",[n("img",{attrs:{src:a(367),alt:"prompts"}})])])}),[],!1,null,null,null);s.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[4,21,22,23,24,25],{367:function(t,s,a){t.exports=a.p+"assets/img/ui-alerts.271f5f6a.gif"},368:function(t,s,a){t.exports=a.p+"assets/img/ui-progress.60af3124.gif"},369:function(t,s,a){t.exports=a.p+"assets/img/ui-prompts.0ac0f197.gif"},372:function(t,s,a){t.exports=a.p+"assets/img/ui-spinners.85037ea0.gif"},373:function(t,s,a){t.exports=a.p+"assets/img/ui-messages.1e576a44.gif"},415:function(t,s,a){"use strict";a.r(s);var n=a(31),r=Object(n.a)({},(function(){var t=this,s=t.$createElement,n=t._self._c||s;return n("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[n("h1",{attrs:{id:"ui"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#ui"}},[t._v("#")]),t._v(" UI")]),t._v(" "),n("p",[t._v("As your commands become more complex and do more things, the need to communicate what is happening\nto users becomes increasingly important. Seeli provides a few simple and powerful ways\nto interact and communicate with users.")]),t._v(" "),n("h2",{attrs:{id:"progress-indicators"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#progress-indicators"}},[t._v("#")]),t._v(" Progress Indicators")]),t._v(" "),n("p",[t._v("Seeli commands have access to an instance of "),n("a",{attrs:{href:"https://www.npmjs.com/package/ora",target:"_blank",rel:"noopener noreferrer"}},[t._v("ora"),n("OutboundLink")],1),t._v(" inside the "),n("code",[t._v("run")]),t._v(" function.\nIt can be controlled by the "),n("code",[t._v("ui")]),t._v(" property. Additionally, you may use "),n("code",[t._v("ui")]),t._v(" configuration\nproperty to change the progress spinner to any valid ora spinner.")]),t._v(" "),n("div",{staticClass:"language-js extra-class"},[n("div",{staticClass:"highlight-lines"},[n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br")]),n("pre",{pre:!0,attrs:{class:"language-js"}},[n("code",[n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" seeli "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("sleep")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("ms "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("100")])]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Promise")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("resolve")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("setTimeout")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("resolve"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ms"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\nmodule"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("seeli"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Command")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'progress'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Displays a progress indicator'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ui"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'bouncingBar'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("cmd"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ui"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("start")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'processing...'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("await")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("sleep")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("2000")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ui"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("succeed")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'done'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),n("p",[n("img",{attrs:{src:a(368),alt:"progress"}})]),t._v(" "),n("p",[n("strong",[t._v("All available spinners")]),t._v(" "),n("img",{attrs:{src:a(372),alt:"spinners"}})]),t._v(" "),n("h2",{attrs:{id:"messages"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#messages"}},[t._v("#")]),t._v(" Messages")]),t._v(" "),n("p",[t._v("By assigning a string to the "),n("code",[t._v("text")]),t._v(" property of the "),n("strong",[t._v("ui")]),t._v(" instance\nyou are able to set the text of the terminal in place. This is useful for\nupdating users of the current status. For example, you may want to\ndisplay the number of steps that have been completed by the current command.")]),t._v(" "),n("div",{staticClass:"language-js extra-class"},[n("div",{staticClass:"highlight-lines"},[n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("br"),n("br"),n("br"),n("br"),n("br")]),n("pre",{pre:!0,attrs:{class:"language-js"}},[n("code",[n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" seeli "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("sleep")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("ms "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("100")])]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Promise")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("resolve")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("setTimeout")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("resolve"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ms"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" messages "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Adding Hidden Agendas'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Adjusting Bell Curves'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Aesthesizing Industrial Areas'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Aligning Covariance Matrices'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Applying Feng Shui Shaders'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Applying Theatre Soda Layer'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Asserting Packed Exemplars'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Assembling Blockchain Reservoir'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Attempting to Lock Back-Buffer'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Binding Sapling Root System'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Buffering Physical Caches'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Building Data Trees'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Bureacritizing Bureaucracies'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Calculating Inverse Probability Matrices'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Cohorting Exemplars'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Collecting Meteor Particles'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("randomMessage")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" messages"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("Math"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("floor")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Math"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("random")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("*")]),t._v(" messages"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("length"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\nmodule"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("seeli"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Command")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'messages'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Displays random messages'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("cmd"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" x "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ui"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("start")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'processing...'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("while")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("x"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("--")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("await")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("sleep")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("1000")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ui"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("text "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("randomMessage")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ui"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("succeed")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'done'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),n("p",[n("img",{attrs:{src:a(373),alt:"messages"}})]),t._v(" "),n("h2",{attrs:{id:"alerts"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#alerts"}},[t._v("#")]),t._v(" Alerts")]),t._v(" "),n("p",[t._v("When you need to display important messages, like a command failing or\nprematurely stopping, you should use the alert functions. each function has\na unique icon for the severity of the message. The functions available on the\n"),n("code",[t._v("ui")]),t._v(" object are:")]),t._v(" "),n("ul",[n("li",[n("strong",[t._v("info")])]),t._v(" "),n("li",[n("strong",[t._v("warn")])]),t._v(" "),n("li",[n("strong",[t._v("fail")])]),t._v(" "),n("li",[n("strong",[t._v("succeed")])])]),t._v(" "),n("div",{staticClass:"language-js extra-class"},[n("pre",{pre:!0,attrs:{class:"language-js"}},[n("code",[n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" seeli "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("sleep")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("ms "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("100")])]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Promise")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("resolve")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("setTimeout")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("resolve"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ms"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\nmodule"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("seeli"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Command")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'alerts'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Displays a progress indicator'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("cmd"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ui"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("start")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rendering alerts'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("await")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("sleep")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("1000")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ui"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("info")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'info'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("await")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("sleep")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("1000")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ui"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("warn")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'warn'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("await")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("sleep")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("1000")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ui"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("fail")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'fail'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("await")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("sleep")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("1000")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ui"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("succeed")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'success'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),n("p",[n("img",{attrs:{src:a(367),alt:"alerts"}})]),t._v(" "),n("div",{staticClass:"custom-block tip"},[n("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),n("p",[t._v("When you use one of the alery function, the progress indicator will be stopped.\nYou must call "),n("code",[t._v("this.ui.start(...)")]),t._v(" again to restart it")])]),t._v(" "),n("h2",{attrs:{id:"prompts"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#prompts"}},[t._v("#")]),t._v(" Prompts")]),t._v(" "),n("p",[t._v("Seeli uses the "),n("a",{attrs:{href:"https://www.npmjs.com/package/inquirer",target:"_blank",rel:"noopener noreferrer"}},[t._v("inquirer"),n("OutboundLink")],1),t._v(" to interactively collect input\nfrom users. This functionality is exposed via the "),n("code",[t._v("prompt")]),t._v(" function.\nThis is a direct passthrough the the inquirer function of the "),n("a",{attrs:{href:"https://www.npmjs.com/package/inquirer#inquirerpromptquestions---promise",target:"_blank",rel:"noopener noreferrer"}},[t._v("same name"),n("OutboundLink")],1),t._v(".\nThis makes things like conditional and branching logic based on user input\nsignificantly easier.")]),t._v(" "),n("div",{staticClass:"language-js extra-class"},[n("div",{staticClass:"highlight-lines"},[n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("div",{staticClass:"highlighted"},[t._v(" ")]),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br")]),n("pre",{pre:!0,attrs:{class:"language-js"}},[n("code",[n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'use strict'")]),t._v("\n\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" seeli "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'seeli'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("sleep")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("ms "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("100")])]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Promise")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("resolve")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("setTimeout")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("resolve"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ms"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\nmodule"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("seeli"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Command")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'alerts'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" description"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Displays a progress indicator'")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("run")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("cmd"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n Object"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("assign")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("await")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("prompt")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'input'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" name"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'name'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" message"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'What is your name'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n Object"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("assign")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("await")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("prompt")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'password'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" name"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'password'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" message"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'What is your password'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n Object"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("assign")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("await")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("prompt")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'confirm'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" name"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'confirm'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" message"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Are you sure'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("!")]),t._v("data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("confirm"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n Object"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("assign")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("await")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("prompt")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'password'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" name"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'password'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" message"),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'What is your password'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ui"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("start")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'processing...'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("await")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("sleep")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("2000")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ui"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("info")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token template-string"}},[n("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("name: ")]),n("span",{pre:!0,attrs:{class:"token interpolation"}},[n("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("${")]),t._v("data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("name"),n("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("}")])]),n("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")])]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ui"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("info")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token template-string"}},[n("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("password: ")]),n("span",{pre:!0,attrs:{class:"token interpolation"}},[n("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("${")]),t._v("data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("password"),n("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("}")])]),n("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")])]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ui"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("info")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token template-string"}},[n("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("confirmed: ")]),n("span",{pre:!0,attrs:{class:"token interpolation"}},[n("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("${")]),t._v("data"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("confirm"),n("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("}")])]),n("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")])]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),n("p",[n("img",{attrs:{src:a(369),alt:"prompts"}})])])}),[],!1,null,null,null);s.default=r.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/5.2d4d4fcf.js b/docs/assets/js/5.102de0ec.js similarity index 62% rename from docs/assets/js/5.2d4d4fcf.js rename to docs/assets/js/5.102de0ec.js index ec6e050..da01282 100644 --- a/docs/assets/js/5.2d4d4fcf.js +++ b/docs/assets/js/5.102de0ec.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{372:function(t,e,n){},399:function(t,e,n){"use strict";n(372)},415:function(t,e,n){"use strict";n.r(e);var i={functional:!0,props:{type:{type:String,default:"tip"},text:String,vertical:{type:String,default:"top"}},render:function(t,e){var n=e.props,i=e.slots;return t("span",{class:["badge",n.type],style:{verticalAlign:n.vertical}},n.text||i().default)}},r=(n(399),n(31)),p=Object(r.a)(i,void 0,void 0,!1,null,"15b7b770",null);e.default=p.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{374:function(t,e,n){},401:function(t,e,n){"use strict";n(374)},417:function(t,e,n){"use strict";n.r(e);var i={functional:!0,props:{type:{type:String,default:"tip"},text:String,vertical:{type:String,default:"top"}},render:function(t,e){var n=e.props,i=e.slots;return t("span",{class:["badge",n.type],style:{verticalAlign:n.vertical}},n.text||i().default)}},r=(n(401),n(31)),p=Object(r.a)(i,void 0,void 0,!1,null,"15b7b770",null);e.default=p.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/6.088c6dc8.js b/docs/assets/js/6.9b3ab0c1.js similarity index 67% rename from docs/assets/js/6.088c6dc8.js rename to docs/assets/js/6.9b3ab0c1.js index 26a9c9f..990aaec 100644 --- a/docs/assets/js/6.088c6dc8.js +++ b/docs/assets/js/6.9b3ab0c1.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{373:function(t,e,a){},400:function(t,e,a){"use strict";a(373)},405:function(t,e,a){"use strict";a.r(e);var n={name:"CodeBlock",props:{title:{type:String,required:!0},active:{type:Boolean,default:!1}},mounted:function(){this.$parent&&this.$parent.loadTabs&&this.$parent.loadTabs()}},i=(a(400),a(31)),s=Object(i.a)(n,(function(){var t=this.$createElement;return(this._self._c||t)("div",{staticClass:"theme-code-block",class:{"theme-code-block__active":this.active}},[this._t("default")],2)}),[],!1,null,"759a7d02",null);e.default=s.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{375:function(t,e,a){},402:function(t,e,a){"use strict";a(375)},407:function(t,e,a){"use strict";a.r(e);var n={name:"CodeBlock",props:{title:{type:String,required:!0},active:{type:Boolean,default:!1}},mounted:function(){this.$parent&&this.$parent.loadTabs&&this.$parent.loadTabs()}},i=(a(402),a(31)),s=Object(i.a)(n,(function(){var t=this.$createElement;return(this._self._c||t)("div",{staticClass:"theme-code-block",class:{"theme-code-block__active":this.active}},[this._t("default")],2)}),[],!1,null,"759a7d02",null);e.default=s.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/7.e45df1d8.js b/docs/assets/js/7.18568fce.js similarity index 86% rename from docs/assets/js/7.e45df1d8.js rename to docs/assets/js/7.18568fce.js index 1d6f89f..e7a9793 100644 --- a/docs/assets/js/7.e45df1d8.js +++ b/docs/assets/js/7.18568fce.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{374:function(e,t,a){},401:function(e,t,a){"use strict";a(374)},406:function(e,t,a){"use strict";a.r(t);a(84),a(36),a(6),a(113),a(114);var o={name:"CodeGroup",data:function(){return{codeTabs:[],activeCodeTabIndex:-1}},watch:{activeCodeTabIndex:function(e){this.activateCodeTab(e)}},mounted:function(){this.loadTabs()},methods:{changeCodeTab:function(e){this.activeCodeTabIndex=e},loadTabs:function(){var e=this;this.codeTabs=(this.$slots.default||[]).filter((function(e){return Boolean(e.componentOptions)})).map((function(t,a){return""===t.componentOptions.propsData.active&&(e.activeCodeTabIndex=a),{title:t.componentOptions.propsData.title,elm:t.elm}})),-1===this.activeCodeTabIndex&&this.codeTabs.length>0&&(this.activeCodeTabIndex=0),this.activateCodeTab(0)},activateCodeTab:function(e){this.codeTabs.forEach((function(e){e.elm&&e.elm.classList.remove("theme-code-block__active")})),this.codeTabs[e].elm&&this.codeTabs[e].elm.classList.add("theme-code-block__active")}}},n=(a(401),a(31)),c=Object(n.a)(o,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ClientOnly",[a("div",{staticClass:"theme-code-group"},[a("div",{staticClass:"theme-code-group__nav"},[a("ul",{staticClass:"theme-code-group__ul"},e._l(e.codeTabs,(function(t,o){return a("li",{key:t.title,staticClass:"theme-code-group__li"},[a("button",{staticClass:"theme-code-group__nav-tab",class:{"theme-code-group__nav-tab-active":o===e.activeCodeTabIndex},on:{click:function(t){return e.changeCodeTab(o)}}},[e._v("\n "+e._s(t.title)+"\n ")])])})),0)]),e._v(" "),e._t("default"),e._v(" "),e.codeTabs.length<1?a("pre",{staticClass:"pre-blank"},[e._v("// Make sure to add code blocks to your code group")]):e._e()],2)])}),[],!1,null,"deefee04",null);t.default=c.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{376:function(e,t,a){},403:function(e,t,a){"use strict";a(376)},408:function(e,t,a){"use strict";a.r(t);a(84),a(36),a(7),a(113),a(114);var o={name:"CodeGroup",data:function(){return{codeTabs:[],activeCodeTabIndex:-1}},watch:{activeCodeTabIndex:function(e){this.activateCodeTab(e)}},mounted:function(){this.loadTabs()},methods:{changeCodeTab:function(e){this.activeCodeTabIndex=e},loadTabs:function(){var e=this;this.codeTabs=(this.$slots.default||[]).filter((function(e){return Boolean(e.componentOptions)})).map((function(t,a){return""===t.componentOptions.propsData.active&&(e.activeCodeTabIndex=a),{title:t.componentOptions.propsData.title,elm:t.elm}})),-1===this.activeCodeTabIndex&&this.codeTabs.length>0&&(this.activeCodeTabIndex=0),this.activateCodeTab(0)},activateCodeTab:function(e){this.codeTabs.forEach((function(e){e.elm&&e.elm.classList.remove("theme-code-block__active")})),this.codeTabs[e].elm&&this.codeTabs[e].elm.classList.add("theme-code-block__active")}}},n=(a(403),a(31)),c=Object(n.a)(o,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ClientOnly",[a("div",{staticClass:"theme-code-group"},[a("div",{staticClass:"theme-code-group__nav"},[a("ul",{staticClass:"theme-code-group__ul"},e._l(e.codeTabs,(function(t,o){return a("li",{key:t.title,staticClass:"theme-code-group__li"},[a("button",{staticClass:"theme-code-group__nav-tab",class:{"theme-code-group__nav-tab-active":o===e.activeCodeTabIndex},on:{click:function(t){return e.changeCodeTab(o)}}},[e._v("\n "+e._s(t.title)+"\n ")])])})),0)]),e._v(" "),e._t("default"),e._v(" "),e.codeTabs.length<1?a("pre",{staticClass:"pre-blank"},[e._v("// Make sure to add code blocks to your code group")]):e._e()],2)])}),[],!1,null,"deefee04",null);t.default=c.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/8.393569ae.js b/docs/assets/js/8.82503b0e.js similarity index 85% rename from docs/assets/js/8.393569ae.js rename to docs/assets/js/8.82503b0e.js index 9792a0d..7791912 100644 --- a/docs/assets/js/8.393569ae.js +++ b/docs/assets/js/8.82503b0e.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{414:function(t,e,n){"use strict";n.r(e);var s=n(31),o=Object(s.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"container"},[e("header",[e("Content",{attrs:{"slot-key":"header"}})],1),this._v(" "),e("main",[e("Content")],1),this._v(" "),e("footer",[e("Content",{attrs:{"slot-key":"footer"}})],1)])}),[],!1,null,null,null);e.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{416:function(t,e,n){"use strict";n.r(e);var s=n(31),o=Object(s.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"container"},[e("header",[e("Content",{attrs:{"slot-key":"header"}})],1),this._v(" "),e("main",[e("Content")],1),this._v(" "),e("footer",[e("Content",{attrs:{"slot-key":"footer"}})],1)])}),[],!1,null,null,null);e.default=o.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/9.4eb7cce9.js b/docs/assets/js/9.74bc65bb.js similarity index 90% rename from docs/assets/js/9.4eb7cce9.js rename to docs/assets/js/9.74bc65bb.js index 34710fb..0587fb5 100644 --- a/docs/assets/js/9.4eb7cce9.js +++ b/docs/assets/js/9.74bc65bb.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{404:function(t,e,s){"use strict";s.r(e);var n=["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."],o={methods:{getMsg:function(){return n[Math.floor(Math.random()*n.length)]}}},i=s(31),h=Object(i.a)(o,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"theme-container"},[e("div",{staticClass:"theme-default-content"},[e("h1",[this._v("404")]),this._v(" "),e("blockquote",[this._v(this._s(this.getMsg()))]),this._v(" "),e("RouterLink",{attrs:{to:"/"}},[this._v("\n Take me home.\n ")])],1)])}),[],!1,null,null,null);e.default=h.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{406:function(t,e,s){"use strict";s.r(e);var n=["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."],o={methods:{getMsg:function(){return n[Math.floor(Math.random()*n.length)]}}},i=s(31),h=Object(i.a)(o,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"theme-container"},[e("div",{staticClass:"theme-default-content"},[e("h1",[this._v("404")]),this._v(" "),e("blockquote",[this._v(this._s(this.getMsg()))]),this._v(" "),e("RouterLink",{attrs:{to:"/"}},[this._v("\n Take me home.\n ")])],1)])}),[],!1,null,null,null);e.default=h.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/app.332dbc59.js b/docs/assets/js/app.332dbc59.js new file mode 100644 index 0000000..4e81831 --- /dev/null +++ b/docs/assets/js/app.332dbc59.js @@ -0,0 +1,8 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[]]);!function(t){function e(e){for(var r,a,s=e[0],u=e[1],c=e[2],l=0,p=[];l=n.length?{value:void 0,done:!0}:(t=r(n,o),e.index+=t.length,{value:t,done:!1})}))},function(t,e,n){var r=n(0),o=n(69),i=r.String;t.exports=function(t){if("Symbol"===o(t))throw TypeError("Cannot convert a Symbol value to a string");return i(t)}},function(t,e){var n=Array.isArray;t.exports=n},function(t,e,n){var r=n(0),o=n(144),i=n(145),a=n(120),s=n(25),u=n(4),c=u("iterator"),f=u("toStringTag"),l=a.values,p=function(t,e){if(t){if(t[c]!==l)try{s(t,c,l)}catch(e){t[c]=l}if(t[f]||s(t,f,e),o[e])for(var n in a)if(t[n]!==a[n])try{s(t,n,a[n])}catch(e){t[n]=a[n]}}};for(var v in o)p(r[v]&&r[v].prototype,v);p(i,"DOMTokenList")},function(t,e,n){var r=n(156),o="object"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function("return this")();t.exports=i},function(t,e,n){var r=n(1),o=r({}.toString),i=r("".slice);t.exports=function(t){return i(o(t),8,-1)}},function(t,e,n){var r=n(0).TypeError;t.exports=function(t){if(null==t)throw r("Can't call method on "+t);return t}},function(t,e){t.exports=!1},function(t,e,n){var r=n(10),o=n(12),i=n(46);t.exports=r?function(t,e,n){return o.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var r=n(10),o=n(11),i=n(95),a=n(46),s=n(16),u=n(61),c=n(9),f=n(122),l=Object.getOwnPropertyDescriptor;e.f=r?l:function(t,e){if(t=s(t),e=u(e),f)try{return l(t,e)}catch(t){}if(c(t,e))return a(!o(i.f,t,e),t[e])}},function(t,e,n){var r,o=n(8),i=n(205),a=n(94),s=n(44),u=n(126),c=n(60),f=n(66),l=f("IE_PROTO"),p=function(){},v=function(t){return" + diff --git a/docs/getting-started.html b/docs/getting-started.html index 5b0da5f..717afdf 100644 --- a/docs/getting-started.html +++ b/docs/getting-started.html @@ -8,7 +8,7 @@ - + @@ -199,6 +199,6 @@ →

- + diff --git a/docs/guides/commands.html b/docs/guides/commands.html index 0f4e5c2..5e695b0 100644 --- a/docs/guides/commands.html +++ b/docs/guides/commands.html @@ -8,7 +8,7 @@ - + @@ -261,6 +261,6 @@ →

- + diff --git a/docs/guides/interactive.html b/docs/guides/interactive.html index f4c5300..169acd7 100644 --- a/docs/guides/interactive.html +++ b/docs/guides/interactive.html @@ -8,7 +8,7 @@ - + @@ -236,6 +236,6 @@ →

- + diff --git a/docs/guides/plugins.html b/docs/guides/plugins.html index 0834a52..4075541 100644 --- a/docs/guides/plugins.html +++ b/docs/guides/plugins.html @@ -8,7 +8,7 @@ - + @@ -77,6 +77,6 @@

- + diff --git a/docs/guides/ui.html b/docs/guides/ui.html index 9a28b95..e793691 100644 --- a/docs/guides/ui.html +++ b/docs/guides/ui.html @@ -8,7 +8,7 @@ - + @@ -199,6 +199,6 @@ →

- + diff --git a/docs/index.html b/docs/index.html index 7226cd4..3185c25 100644 --- a/docs/index.html +++ b/docs/index.html @@ -8,7 +8,7 @@ - + @@ -42,6 +42,6 @@ Changelog

Object orientated, event driven , Interactive CLI module. Seeli aims to give you the tools to compose A command line interface the way you want it, and otherwise, stays out of your way.

gif

# Features

  • Interactive Commands
  • Sub-Commands
  • Asnyc Functions
  • Evented flag hooks
  • Integrated Progress Indicators
  • Support for Ad-Hoc input prompting
- + diff --git a/package.json b/package.json index 1e5c882..c9c74e3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "seeli", - "version": "13.0.1", + "version": "13.0.2", "description": "Object oriented, flexible CLI tools", "main": "index.js", "directories": {