Closed ehmicky closed 5 years ago
This looks great. Thanks for doing the work. I've added a couple of comments to the Medium draft, but it's already awesome.
Migrate from AppVeyor to Travis CI for Windows (#167)
This is not really relevant to the user.
Thanks a lot! When we do the major release, could you please:
@ehmicky Or better yet, you can do the release? ;) (You have publish access) When we're ready, just do np
and then choose major
.
Do I have npm
publish access? If I do, then yes I can do that :+1:
We still have few items in the milestone though.
Do I have npm publish access?
Yes
The readme doc has changed but the new version has not been released 😞
@magicdawn hold on tight, we're working on that next release :)
@magicdawn That is how most project on GitHub works. If you want docs for the latest version on npm, you go to the specific Git tag or the npm page.
@magicdawn hold on tight, we're working on that next release :)
@ehmicky when will the new version be released。expecting... thx
@lolipop99 thanks for your interest in the new version! We don't have a deadline (like most open source projects). We have a list of items until the release though: you can follow this milestone.
@sindresorhus
I get the point.
But I guess point out the readme is for the next version like got
do will be a great help to users.
@magicdawn No. That's just enabling users to not know how things work. I added it to the Got readme because I knew it was going to come up, but I wish I hadn't. People should learn how GitHub works.
I agree with @sindresorhus that when I get on a GitHub repository which shows different documentation for different versions, I find it a little confusing. Instead I'm always assuming the documentation is of the latest version.
Now this assumes versions are released fast, which has not been the case for this major release. The problems are: 1) we have been working on several breaking changes at once. Those should be mostly solved now except for #271 2) we have few big PRs that have taken some time to review 3) we have a hard-to-resolve issue at https://github.com/sindresorhus/npm-run-path/pull/5 that's in a deadlock at the moment
Awesome work on this!
Was trying to use execa.command
and it wasn't working. Realized I was on v1.0.0 😅whoopsies
Ya'll rock! Excited for release on npm
Cool. Sounds like a big one! :tada:
In the past 2-3 years, I was maintaining execa-pro
/@tunnckocore/execa
exactly because of the .command
thingy and the ability to pass multiple commands as array of strings (meaning they will run in series - example), it was just a thin wrapper around 30 lines.
And the #153 was the reason to use .shell
when needed.
Waiting for that release for sure! :taco:
@tunnckoCore great to hear! Feel free to checkout our implementation for execa.command()
(it's only 15 lines of code here) and post an issue/PR if you think there's anything wrong with our current solution!
Yea, I've seen it, it looks like the same thing, I will try it.
I'm jumping around the npm-run-path
problem now :)
There's an alpha version of v2 out now: https://github.com/sindresorhus/execa/releases/tag/v2.0.0-alpha.0
Install it with npm install execa@next
.
Please share feedback here or in new issues.
Sweeeet! :taco: :tada:
Works great for now.
We just released 2.0.0
. Please check the Medium article!
I've created a Medium article for the upcoming major release (#191). Feel free to leave private notes on it if you think some sentences should be reworked or something is missing/wrong! It will remain in draft mode until
2.0.0
is published to npm, so please do not promote that link yet.I'm also working on the changelog that we could include as the GitHub release description. I will update this post as new commits come in. Feel free to comment on it as well. Here it is:
Thanks to @GMartigny, @BendingBender, @tomsotte, @ammarbinfaisal, @zokker13, @stroncium, @satyarohith, @bradfordlemley, @coreyfarrell, @brandon93s, @dtinth, @papb for the great features and bug fixes they've contributed!
Please check the Medium article about this release!
Breaking changes
execa.shell()
andexeca.shellSync()
. Theshell
option should be used instead. (#219)execa.stdout()
andexeca.stderr()
.childProcessResult.stdout
andchildProcessResult.stderr
should be used instead (#234)error.code
(number
orstring
) in favor oferror.exitCode
(number
) anderror.exitCodeName
(string
) (#187, #250)stripeEof
option tostripFinalNewline
(f8397ba9, 4d0dc88a, #238)cmd
(inchildProcessResult
anderror
) tocommand
(#194)preferLocal
option tofalse
. If you are executing locally installed binaries, you'll need to manually specifypreferLocal: true
(#314)windowsHide
option is alwaystrue
, so that no window pops up on Windows. (8c886452)error.signal
is nowundefined
instead ofnull
when no signal was used (#193)error.killed
tofalse
when child process timed out (#227)error.killed
always boolean (notundefined
) (#229, #248)error.stdout
anderror.stderr
are now an empty string (instead ofnull
) when the command failed. (#246)Features
execa.command()
andexeca.commandSync()
. Those are the same asexeca()
except both file and arguments are specified in a single string. For example,execa('echo', ['unicorns'])
is the same asexeca.command('echo unicorns')
(#182, #261, #262, #278, #279, #282)childProcess.all
andchildProcessResult.all
(#171, #264)execa.node()
which (likechild_process.fork()
) allows you to execute a Node.js script as a child process (#200, #297, #299, #302, #303, #305, #306).childProcess.kill()
does not terminate a child process after 5 seconds, force it by sendingSIGKILL
. This can be configured using theforceKillAfterTimeout
option. (#208, #272, #273, #280, #284, #285)childProcess.cancel()
anderror.isCanceled
(#189, f24e7c72, #226, #309)error.stdout
,error.stderr
anderror.all
now contain the data that was sent before the child process exit. (#271)error.message
on child process failure (#180, #223, #230, #245, #269).finally()
to the child process promise (#174, 65139849)maxBuffer
option default value from10 MB
to100 MB
(#286)Bug fixes
timeout
option not working as expected (#199)error.timedOut
not working withexeca.sync()
(#249)maxBuffer
errors not using the same shape as the other errors (#266)extendEnd
option not working withshell
option (#184)stripFinalNewline
option not applied on error properties (#240)/q
parameter not added when usingcmd
instead ofcmd.exe
(#203)input
option with a non-executable file (#212, #258)stdio
option cannot be used together withstdin: 0
(#301).Documentation
Design
Tests
Maintainers