New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Plan for v8 #589
Comments
Is this the place to discuss these plans? If so: personally I am glad that It also isn't clear whether the above addresses #636. What I (and I think others) would like is a decoupling of:
|
My idea about new verbose mode for $:
I also was planning to drop fs-extra by default. |
IMHO the default behaviour should be similar to a Bash script:
If you make stdout not printed by default it will be confusing in a case like:
which well then of course behave differently from
What's the rationale? |
JS equivalent of echo is console.log. The problem with outputting $ by default is what we cannot distinguishes how it used: await $`some-command` versus const output = await $`some-command` So the idea is to not output anything(defaul behavior), allow to override with Or you can simple redirect stdout: await $`some-command`.pipe(process.stdout) |
Personally, I think of ZX as a replacement for Bash, so it's more important that it works, by default, similarly. Most of my scripts have the expectation of being a little bit noisy - running commands, and having the output go to the console, so the user can see what is happening while it is running. Making it so that doesn't happen is the Bash equivalent of writing I don't dispute that there are situations where it's preferable not to pass stdout to the command line, but I think the default should be around the other way. And of course, changing the default will change the behaviour of every existing script. Perhaps you'd consider additional per-command flags in any case, which would also protect scripts against future changes to this default: await $.noisy`some-command`
const output=$.quiet`some-command` |
What is different between $.noisy and |
I don't know, because I haven't tried the |
Suggest to release the v8 document ASAP. I take hours to find out why the default value changed for $.verbose. |
Here is a plan of what I'm planning to do for the next v8 release. Feel free to join, by picking one on the objectives.
v8
$.verbose = false
by default ∅stderr
should be echoed by default.stdout
should not be printed by default.const $$ = $({...})
syntax.Split $ into a separate package with minimum dependencies. (probably)zx/core
.ps-tree
dependency.(probably) Deprecatewithin()
.process.cwd()
callsProcessOutput::valueOf(): string
$.sync
API.Add some CI tests for deno.Future
$.log
refactoring (probably)fs-extra
dependency (probably)exit()
pool()
progressBar()
retry()
--install
Note: Before submitting PR, discuss implementation and API.
Note: * - complex task.
The text was updated successfully, but these errors were encountered: