You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Non-streaming generators (like web) would just show start/complete without chunk progress.
Open questions
Dependencies — should we use cli-progress or keep it zero-dep with a simple \r-based overwrite (~30 lines)? Given this project values minimal deps, I'm leaning zero-dep.
Scope — should progress also cover the config loading phase (parsing changelog, index), or just the generator pipeline?
Hello, @wilsonwangdev! We'd like to remind you to review the Linux Foundation's AI policy. While AI can certainly assist contributors, a human aspect is needed properly understand and iterate on the existing code base.
Hello, @wilsonwangdev! We'd like to remind you to review the Linux Foundation's AI policy. While AI can certainly assist contributors, a human aspect is needed properly understand and iterate on the existing code base.
Activity
ovflowd commentedon Jun 28, 2025
cc @nodejs/nodejs-website can someone work on this?
wilsonwangdev commentedon Mar 26, 2026
Hi, I'd like to take this on. Before implementing, I wanted to propose a design and get feedback.
Where progress events naturally occur
There are two levels in the pipeline:
src/generators.mjsschedules generators sequentially (ast → metadata → legacy-html → ...). It knows when each starts/finishes.src/threading/parallel.mjsalready trackscompletedvschunks.lengthper generator in itswhileloop (line 120-134).Proposed design
New file:
src/progress.mjs— acreateProgressReporter()factory that returns:onGeneratorStart(name)onChunkComplete(generatorName, completed, total)onGeneratorComplete(name)destroy()When disabled, all methods are no-ops.
Integration points:
src/generators.mjs— accept an optionalprogressparameter inrunGenerators(config, { progress }). CallonGeneratorStart/onGeneratorComplete. Pass progress down tocreateParallelWorker.src/threading/parallel.mjs— callonChunkCompleteafter each chunk yield.bin/commands/generate.mjs— instantiate the reporter and pass it in.When NOT to show progress:
--log-level debug(would interleave with debug output)!process.stdout.isTTY) — CI, piped outputOutput would look like:
Non-streaming generators (like
web) would just show start/complete without chunk progress.Open questions
cli-progressor keep it zero-dep with a simple\r-based overwrite (~30 lines)? Given this project values minimal deps, I'm leaning zero-dep.Happy to adjust the approach based on feedback.
avivkeller commentedon Mar 26, 2026
Hello, @wilsonwangdev! We'd like to remind you to review the Linux Foundation's AI policy. While AI can certainly assist contributors, a human aspect is needed properly understand and iterate on the existing code base.
avivkeller commentedon Mar 26, 2026
To answer your questions, do what you think is best.
wilsonwangdev commentedon Mar 26, 2026
Thanks for your remind, I'll take it seriously.
wilsonwangdev commentedon Mar 26, 2026
I find there already has a related pull request, so I'm not going to do duplicate things. Thanks for your remind anyway.