1602 / 1602/roco

Can we make roco asynchronous and api friendly?

Open
#8 7 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
82
Forks
11
PR merge metrics
No merged PRs in 30d

Description

A lot of `existsSync`, `readFileSync`, `readDirSync` calls exists at the moment.
`process.exit` buried deep in code — it should be moved out to `bin/roco` imho.
https://github.com/1602/roco/blob/master/lib/rockout.js#L300

I'm really like how it looks but need async and more configs, e.g. pass writable streams to catch remote output, make a prefix with time, disable (or overwrite) string colorize methods, etc.
Can we do something with it?

Contributor guide

No contributing guide indexed for this repository

Research direction

The issue points to lib/rockout.js line 300 as an example of a synchronous call and deep process.exit. Start by examining the codebase for all fs.existsSync, readFileSync, readdirSync, and process.exit calls. Understand the flow from bin/roco through the deployment steps. 'Done' means replacing sync calls with async/await or promises, moving exit handling to the CLI entry point, and designing a configurable API for streams, prefixes, and colorization.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, nodejs
Domain
cli, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.