Detalhes do pacote

@-xun/cli

Xunnamius444MIT2.0.4

Opinionated utilities for building CLIs on top of Black Flag

readme (leia-me)

Opinionated utilities for building CLIs on top of Black Flag



cli-utils (@-xun/cli)

Opinionated utilities for building CLIs on top of Black Flag.



Install

To install:

npm install @-xun/cli

[!TIP]

@-xun/cli already comes bundled with (and re-exports) @black-flag/core, @black-flag/extensions, and @black-flag/checks. @-xun/cli is an all-in-one package! Redundantly installing the @black-flag/* packages may lead to version mis-matches, which can cause strange bugs.

Usage

TODO

Appendix

Further documentation can be found under docs/.

Published Package Details

This is a [CJS2 package][x-pkg-cjs-mojito] with statically-analyzable exports built by Babel for use in Node.js versions that are not end-of-life. For TypeScript users, this package supports both "Node10" and "Node16" module resolution strategies.

<summary>Expand details</summary> That means both CJS2 (via require(...)) and ESM (via import { ... } from ... or await import(...)) source will load this package from the same entry points when using Node. This has several benefits, the foremost being: less code shipped/smaller package size, avoiding [dual package hazard][x-pkg-dual-package-hazard] entirely, distributables are not packed/bundled/uglified, a drastically less complex build process, and CJS consumers aren't shafted. Each entry point (i.e. ENTRY) in package.json's exports[ENTRY] object includes one or more [export conditions][x-pkg-exports-conditions]. These entries may or may not include: an [exports[ENTRY].types][x-pkg-exports-types-key] condition pointing to a type declaration file for TypeScript and IDEs, a [exports[ENTRY].module][x-pkg-exports-module-key] condition pointing to (usually ESM) source for Webpack/Rollup, a exports[ENTRY].node and/or exports[ENTRY].default condition pointing to (usually CJS2) source for Node.js require/import and for browsers and other environments, and [other conditions][x-pkg-exports-conditions] not enumerated here. Check the package.json file to see which export conditions are supported. Note that, regardless of the [{ "type": "..." }][x-pkg-type] specified in package.json, any JavaScript files written in ESM syntax (including distributables) will always have the .mjs extension. Note also that package.json may include the [sideEffects][x-pkg-side-effects-key] key, which is almost always false for optimal tree shaking where appropriate.

License

See LICENSE.

Contributing and Support

[New issues][x-repo-choose-new-issue] and pull requests are always welcome and greatly appreciated! 🤩 Just as well, you can star 🌟 this project to let me know you found it useful! ✊🏿 Or buy me a beer, I'd appreciate it. Thank you!

See CONTRIBUTING.md and SUPPORT.md for more information.

Contributors

All Contributors

Thanks goes to these wonderful people (emoji key):

Bernard
Bernard

🚇 💻 📖 🚧 ⚠️ 👀
Add your contributions

This project follows the all-contributors specification. Contributions of any kind welcome!

[x-badge-blm-image]: https://xunn.at/badge-blm 'Join the movement!'

[x-badge-codecov-image]: https://img.shields.io/codecov/c/github/Xunnamius/cli-utils/main?style=flat-square&token=HWRIOBAAPW&flag=package.main_root 'Is this package well-tested?'

[x-badge-downloads-image]: https://img.shields.io/npm/dm/@-xun/cli?style=flat-square 'Number of times this package has been downloaded per month'

[x-badge-lastcommit-image]: https://img.shields.io/github/last-commit/Xunnamius/cli-utils?style=flat-square 'Latest commit timestamp' [x-badge-license-image]: https://img.shields.io/npm/l/@-xun/cli?style=flat-square "This package's source license"

[x-badge-npm-image]: https://xunn.at/npm-pkg-version/@-xun/cli 'Install this package using npm or yarn!'

[x-badge-semanticrelease-image]: https://xunn.at/badge-semantic-release 'This repo practices continuous integration and deployment!' [x-badge-semanticrelease-link]: https://github.com/semantic-release/semantic-release [x-pkg-cjs-mojito]: https://dev.to/jakobjingleheimer/configuring-commonjs-es-modules-for-nodejs-12ed#publish-only-a-cjs-distribution-with-property-exports [x-pkg-dual-package-hazard]: https://nodejs.org/api/packages.html#dual-package-hazard [x-pkg-exports-conditions]: https://webpack.js.org/guides/package-exports#reference-syntax [x-pkg-exports-module-key]: https://webpack.js.org/guides/package-exports#providing-commonjs-and-esm-version-stateless [x-pkg-exports-types-key]: https://devblogs.microsoft.com/typescript/announcing-typescript-4-5-beta#packagejson-exports-imports-and-self-referencing [x-pkg-side-effects-key]: https://webpack.js.org/guides/tree-shaking#mark-the-file-as-side-effect-free

[x-pkg-type]: https://github.com/nodejs/node/blob/8d8e06a345043bec787e904edc9a2f5c5e9c275f/doc/api/packages.md#type

[x-repo-choose-new-issue]: https://github.com/Xunnamius/cli-utils/issues/new/choose

changelog (log de mudanças)

Changelog

All notable changes to this project will be documented in this auto-generated file. The format is based on Conventional Commits; this project adheres to Semantic Versioning.


@-xun/cli@2.0.0 (2025-05-28)

💥 BREAKING CHANGES 💥

  • Minimum supported node version is now 20.18.0

⚙️ Build System

  • deps: bump @black-flag/checks from 1.0.1 to 2.0.0 (75d30bf)
  • deps: bump @black-flag/core from 2.0.2 to 3.0.0 (7ae890c)
  • deps: bump @black-flag/extensions from 2.2.1 to 3.0.0 (4a25939)
  • deps: bump core-js from 3.41.0 to 3.42.0 (27f1ba7)
  • deps: bump type-fest from 4.37.0 to 4.41.0 (e3c11a7)
  • package: drop support for node\@18 (9f93181)


🏗️ Patch @-xun/cli@2.0.4 (2025-06-14)

⚙️ Build System

  • deps: bump @-xun/project-types from 2.0.0 to 2.0.1 (bd60e98)
  • deps: bump @black-flag/checks from 2.0.0 to 2.0.1 (6de8c33)
  • deps: bump @black-flag/core from 3.0.1 to 3.0.2 (72c06d4)
  • deps: bump @black-flag/extensions from 3.1.0 to 3.1.2 (aae557a)
  • deps: bump core-js from 3.42.0 to 3.43.0 (4368fac)
  • deps: bump rejoinder from 1.2.5 to 2.0.1 (e02b2fb)


🏗️ Patch @-xun/cli@2.0.3 (2025-05-31)

⚙️ Build System

  • deps: bump @-xun/project-types from 1.0.4 to 2.0.0 (5a336c8)
  • deps: bump @black-flag/core from 3.0.0 to 3.0.1 (ee3b622)


🏗️ Patch @-xun/cli@2.0.2 (2025-05-28)

⚙️ Build System

  • deps: bump @black-flag/extensions from 3.0.1 to 3.1.0 (9eb962e)


🏗️ Patch @-xun/cli@2.0.1 (2025-05-28)

⚙️ Build System

  • deps: bump @black-flag/extensions from 3.0.0 to 3.0.1 (f1e1f91)


@-xun/cli@1.3.0 (2025-03-17)

✨ Features

  • Enable enableAutomaticSorting option by default for withBuilderExtensions (4921132)

⚙️ Build System

  • deps: bump @black-flag/checks from 1.0.0 to 1.0.1 (f0c2f91)
  • deps: bump @black-flag/core from 2.0.0 to 2.0.1 (20fbf60)
  • deps: bump @black-flag/extensions from 2.0.0 to 2.1.0 (fdaf33c)
  • deps: bump core-js from 3.40.0 to 3.41.0 (4c8a07a)


🏗️ Patch @-xun/cli@1.3.2 (2025-03-20)

⚙️ Build System

  • deps: bump @black-flag/extensions from 2.2.0 to 2.2.1 (58357e0)


🏗️ Patch @-xun/cli@1.3.1 (2025-03-19)

🪄 Fixes

  • src: retire bfe cross-talk bug workaround since it was fixed upstream (96516a9)

⚙️ Build System

  • deps: bump @black-flag/core from 2.0.1 to 2.0.2 (2d30595)
  • deps: bump @black-flag/extensions from 2.1.0 to 2.2.0 (ab901b2)


@-xun/cli@1.2.0 (2025-03-15)

✨ Features

  • src: re-export @black-flag/checks (c6dc62e)

🪄 Fixes

  • src: use "%O" when outputting error via debug (96e8f03)

⚙️ Build System

  • deps: bump @-xun/project-types from 1.0.2 to 1.0.4 (78495e7)
  • deps: bump @black-flag/core from 1.3.2 to 2.0.0 (9968b47)
  • deps: bump @black-flag/extensions from 1.0.2 to 2.0.0 (ac5815c)
  • deps: bump type-fest from 4.35.0 to 4.37.0 (2a3dd74)
  • package: install @black-flag/checks (6e8e5cb)
  • package: update @-xun/symbiote to 2.0.0 (3c39708)

🔥 Reverted

  • "build(deps): bump core-js from 3.40.0 to 3.41.0" (c7a284e)


@-xun/cli@1.1.0 (2025-02-17)

✨ Features

  • Export all @black-flag/* exports from index entry point (caf1d74)


🏗️ Patch @-xun/cli@1.1.2 (2025-02-21)

⚙️ Build System

  • Update rejoinder to 1.2.5 (f690733)


🏗️ Patch @-xun/cli@1.1.1 (2025-02-20)

🪄 Fixes

  • Properly handle optional nature of the rejoinder-listr2 peer dependency (d7dd85e)

⚙️ Build System

  • package: move type-fest into prod dependencies (28fc078)


@-xun/cli@1.0.0 (2025-02-17)

✨ Features

  • Land initial @-xun/cli implementation (factored out from symbiote) (118cc97)


🏗️ Patch @-xun/cli@1.0.1 (2025-02-17)

🪄 Fixes

  • src: export CliErrorMessage (74bfa47)