fablo
fablo copied to clipboard
remove Yeoman and switched to Oclif for the CLI
Description
This PR introduces the initial setup for removing and fully migrating the CLI to Oclif. The goal is to simplify the CLI implementation, remove the generator dependency, and make future features easier to maintain and extend.
All commands are currently working as expected, but I haven’t run the full automated test suite yet
Current Progress
Implemented so far
- Replaced Yeoman-based commands with Oclif commands.
- Added the new init implementation using Oclif.
- fablo init now accepts the following optional features (order does not matter):
fablo init [node] [dev] [rest] [ccaas] [gateway]
- Added initial Oclif commands for:
- up
- down
- start
- stop
- recreate
- prune
Basic usage examples
Run the network:
ffablo up -c fablo-config.json
The -c flag is optional if omitted, it will default to fablo-config.json just like the original Fablo CLI
Important Note
- I temporarily named the executable
ffabloto avoid conflicts with the existingfablocommand during development. Once the migration is complete and fully tested, the name will be switched back tofablo - I haven’t removed the old Yeoman-based code yet. Once the new Oclif implementation is fully completed and fully tested, I will remove all legacy code.
To run and test it locally, please follow these steps
npm install
npm run build
npm link