chore: update versions#211
Merged
Merged
Conversation
Releases: @vlandoss/clibuddy@0.6.0 @vlandoss/run-run@0.5.3 @vlandoss/vland@0.2.0 [skip ci]
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@vlandoss/clibuddy@0.6.0
Minor Changes
#210
7d7e673Thanks @rqbazan! - Breaking: Replacezxwithtinyexecand redesignShellServicearound array-based exec.The previous tagged-template API (
shell.$\...`) and its surrounding helpers (quote,isRaw,defaultQuote,getPreferLocal,localBaseBinPath,mute(),quiet(),isProcessOutput,./test-helpersexport) are gone. They duplicated zx internals, introduced a quoting bug for whitespace strings, and surfaced inconsistentnode_modules/.bin` resolution.New surface:
shell.run(cmd, args, opts?)— streams stdio to the terminal and prints$ <cmd> <args>in verbose mode. ThrowsNonZeroExitErroron non-zero exit by default.shell.runCaptured(cmd, args, opts?)— silent, returns the capturedOutput { stdout, stderr, exitCode }. Same throw-by-default semantics.shell.at(cwd)/shell.child(opts)— child shells with merged options.RunOptions:cwd,env,verbose,throwOnError,shell(pass-throughshell: truefor&&/pipes),stdin,display(override the verbose-printed name without affecting what's spawned).resolvePackageBin(pkg, { from, binName? })— async resolver that returns the absolute path to an installed package's binary, tolerating restrictiveexportsmaps (oxlint) and packages withoutmain/exportsat all (@biomejs/biome). Memoised per(pkg, from, binName).isNonZeroExitError(value)— replacesisProcessOutput.tinyexecautomatically prepends every parentnode_modules/.bintoPATH, solocalBaseBinPath/getPreferLocalare no longer needed.New dependencies:
tinyexec(replaceszx),memoize(forresolvePackageBin).Migration
await shell.$\git init`→await shell.run("git", ["init"])`await shell.$\git config`.nothrow()→await shell.runCaptured("git", ["config", ...], { throwOnError: false })`shell.mute()→ callrunCapturedinstead (silent by default).createShellService({ localBaseBinPath: [dir] })→ drop the option; tinyexec walks up automatically.isProcessOutput(err)→isNonZeroExitError(err).resolvePackageBinand pass it as thecmdwithdisplay: "<friendly-name>"to avoidnode_modules/.bin/<name>shim loops.@vlandoss/vland@0.2.0
Minor Changes
#210
7d7e673Thanks @rqbazan! -vland initnow prompts (default-yes) for installing dependencies and initialising a git repository when those flags aren't passed on the CLI. Use--install/--no-installand--git/--no-gitto skip the prompts; in non-interactive contexts both default totrue.Also fixes the git initialisation step: the commit message was being split on whitespace by the underlying shell layer, producing errors like
pathspec 'initial' did not match any file(s)and leaving the repo half-initialised. The migration totinyexec(via@vlandoss/clibuddy) makes each argv entry survive as a separate token, so the canonical first commitchore: initial commit from vlandnow lands cleanly.Patch Changes
7d7e673]:@vlandoss/run-run@0.5.3
Patch Changes
#210
7d7e673Thanks @rqbazan! - Internal migration to the new tinyexec-backedShellService(see@vlandoss/clibuddy).ToolService.execnow accepts onlystring[](thestringoverload that silently word-split on spaces is gone). All tool services (biome,oxlint,oxfmt,tsdown,tsc) build their flags as arrays so each flag survives as its own argv entry.ToolService: subclasses declare{ pkg, bin?, ui }in the constructor and the base resolves the absolute path viaresolvePackageBin(memoised). The verbose$ <bin> <args>line is preserved via thedisplayoption so users still see$ biome check ...instead of an absolute resolved path. Resolving to the absolute path bypasses thenode_modules/.bin/<bin>shims that run-run itself publishes (tools/biomeetc.), which would otherwise loop back throughrr tools <bin>indefinitely.tscheckrunspretsc/pretypecheckpackage scripts throughshell: trueso they can use&&, pipes, and env-var substitution.tsdownfrom0.21.10to0.22.0.tsdown@0.21.xdepends onunrun@^0.2.37, which pnpm resolved to0.2.38— whose published tarball is missingdist/, producingWARN Failed to create bin … unrunon every install.tsdown@0.22.0droppedunrunfromdependencies(now an optional peer), erradicating the warning.Tests reorganised into one e2e file per command (
cli,jsc,lint,format,tsc,build-lib). Each spawns the realrrbinary against a temp fixture (makeFixturehelper) and asserts on observable output, so we no longer rely on aclibuddy/test-helpersmock.End-user CLI behaviour is unchanged.
Updated dependencies [
7d7e673]: