Refactor the @configu/cli framework from oclif to clipanion. Clipanion is a newer, thinner alternative (with only 1 dependency compared to oclif's 17) and is used by high-profile CLIs like Corepack, Yarn, and PNPM. Clipanion can also be bundled into a single file, allowing us to later use node-sea to create a true binary for the CLI.
Motivation
Moving to clipanion reduces the dependency footprint and simplifies the CLI architecture. It also opens the door for better packaging and distribution options, like bundling into a single file for easier deployment. This will improve performance, maintainability, and flexibility.
Suggestion
Refactor the
@configu/cli
framework fromoclif
toclipanion
. Clipanion is a newer, thinner alternative (with only 1 dependency compared tooclif
's 17) and is used by high-profile CLIs like Corepack, Yarn, and PNPM. Clipanion can also be bundled into a single file, allowing us to later usenode-sea
to create a true binary for the CLI.Motivation
Moving to
clipanion
reduces the dependency footprint and simplifies the CLI architecture. It also opens the door for better packaging and distribution options, like bundling into a single file for easier deployment. This will improve performance, maintainability, and flexibility.Context
next framework: https://mael.dev/clipanion/
old framework: https://oclif.io/
other potential alternative: https://bloomberg.github.io/stricli/
https://nodejs.org/api/single-executable-applications.html
https://github.com/nodejs/single-executable
https://github.com/nodejs/single-executable/blob/main/docs/production-nodejs-clis.md
https://github.com/liudonghua123/node-sea/
https://dev.to/chad_r_stewart/compile-a-single-executable-from-your-node-app-with-nodejs-20-and-esbuild-210j
https://github.com/arcanis/node-sea
https://github.com/bryopsida/node-sea-action/