Skip to content

build(deps-dev): bump % zx@8.0.0 - #1256

Merged
OpenINFbot merged 1 commit into
livefrom
renovate/major-all
Apr 6, 2024
Merged

build(deps-dev): bump % zx@8.0.0#1256
OpenINFbot merged 1 commit into
livefrom
renovate/major-all

Conversation

@renovate

@renovate renovate Bot commented Apr 6, 2024

Copy link
Copy Markdown
Contributor

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
zx 7.2.3 -> 8.0.0 age adoption passing confidence

Release Notes

google/zx (zx)

v8.0.0

Compare Source

We are thrilled to announce the release of zx v8.0.0! 🎉

SCR-20240405-jhbw

With this release, we have introduced a lot of new features, improvements, and bug fixes.
We have also made some breaking changes, so please read the following release notes carefully.

🚀 New Shiny Features

Squashed deps: we use esbuild with custom plugins to forge js bundles and dts-bundle-generator for typings 2acb0f, #​722

More safety, more stability and significantly reduced installation time. Zx now is ~20x smaller.

npx zx@8.0.0
npm install zx@8.0.0

Options presets are here. To implement this, we have also completely refactored the zx core, and now it's available as a separate package – zurk\ aeec7a, #​733, #​600

const $$ = $({quiet: true})
await $$`echo foo`

$({nothrow: true})`exit 1`

We have introduced $.sync() API\ 1f8c8b, #​738, #​681, 1d8aa9, #​739

import {$} from 'zx'

const { output } = $.sync`echo foo` // foo

You can also override the internal API to implement pools, test mocking, etc.

$.spawnSync = () => {} // defaults to `child_process.spawnSync`

The input option is now available to pass data to the command.\ b38972, #​736

const p1 = $({ input: 'foo' })`cat`
const p2 = $({ input: Readable.from('bar') })`cat`
const p3 = $({ input: Buffer.from('baz') })`cat`
const p4 = $({ input: p3 })`cat`
const p5 = $({ input: await p3 })`cat`

AbortController has been introduced to abort the command execution. It's available via the ac option.\ fa4a7b, #​734, #​527

const ac = new AbortController()
const p = $({ ac })`sleep 9999`

setTimeout(() => ac.abort(), 100)

If not specified, the default instance will be used. Abortion trigger is also available via PromiseResponse:

const p = $`sleep 9999`
setTimeout(() => p.abort(), 100)

kill method is exposed now. To terminate any (not only zx starter) process:

import { kill } from 'zx'

await kill(123)
await kill(123, 'SIGKILL')

Btw, we have replaced ps-tree with @​webpod/ps & @​webpod/ingrid, and exposed ps util:

import {ps} from 'zx'

const children = await ps.tree(123)
/**
 [
 {pid: 124, ppid: 123},
 {pid: 125, ppid: 123}
 ]
 */
const children2 = await ps.tree({pid: 123, recursive: true})
/**
 [
 {pid: 124, ppid: 123},
 {pid: 125, ppid: 123},

 {pid: 126, ppid: 124},
 {pid: 127, ppid: 124},
 {pid: 128, ppid: 124},

 {pid: 129, ppid: 125},
 {pid: 130, ppid: 125},
 ]
 */

Introduced $.postfix option. It's like a $.prefix, but for the end of the command. fb9554, #​756, #​536

import {$} from 'zx'

$.postfix = '; exit $LastExitCode' // for PowerShell compatibility

minimist API exposed\ #​661

import { minimist } from 'zx'

const argv = minimist(process.argv.slice(2), {})

Fixed npm package name pattern on --install mode 956dcc, #​659, #​660, #​663

import '@​qux/pkg'       // valid
import '@​qux/pkg/entry' // was invalid before and valid now
⚠️ Breaking changes

We've tried our best to avoid them, but it was necessary.

  1. $.verbose is set to false by default, but errors are still printed to stderr. Set $.quiet = true to suppress all output.\ cafb90, #​745, #​569

    $.verbose = true // everything works like in v7
    
    $.quite = true // to completelly turn off logging
  2. ssh API was dropped. Install webpod package instead.\ 8925a1, #​750

    // import {ssh} from 'zx' ↓
    import {ssh} from 'webpod'
    
    const remote = ssh('user@host')
    await remote`echo foo`
  3. zx is not looking for powershell anymore, on Windows by default. If you still need it, use the usePowerShell helper:\ 24dcf3, #​757

    import { usePowerShell, useBash } from 'zx'
    
    usePowerShell() // to enable powershell
    useBash()       // switch to bash, the default
  4. Process cwd synchronization between $ invocations is disabled by default. This functionality is provided via an async hook and can now be controlled directly.\ d79a63, #​765

    import { syncProcessCwd } from 'zx'
    
    syncProcessCwd() // restores legacy v7 behaviour
🧰 Other Improvements

Configuration

📅 Schedule: Branch creation - "before 4am on Monday" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@renovate renovate Bot added build labels Apr 6, 2024
@socket-security

Copy link
Copy Markdown

New and removed dependencies detected. Learn more about Socket for GitHub ↗︎

Package New capabilities Transitives Size Publisher

🚮 Removed packages: npm/zx@7.2.3

View full report↗︎

@netlify

netlify Bot commented Apr 6, 2024

Copy link
Copy Markdown

Deploy Preview for openinfis ready!

Name Link
🔨 Latest commit 10e0da7
🔍 Latest deploy log https://app.netlify.com/sites/openinfis/deploys/6610d272312092000863bfa1
😎 Deploy Preview https://deploy-preview-1256--openinfis.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@OpenINFbot OpenINFbot changed the title build(deps-dev): bump zx to v8 build(deps-dev): bump % zx@8.0.0 Apr 6, 2024
@OpenINFbot
OpenINFbot merged commit d47a849 into live Apr 6, 2024
@OpenINFbot
OpenINFbot deleted the renovate/major-all branch April 6, 2024 04:45
@DerekNonGeneric DerekNonGeneric added 🏗️ Category: Build Issues and PRs related to the build directory 📦 Type: Dependencies PRs that modify packages req'd by product in production 📦 Type: Developer Dependencies PRs that modify packages only req'd for local development and testing labels Aug 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🏗️ Category: Build Issues and PRs related to the build directory 📦 Type: Dependencies PRs that modify packages req'd by product in production 📦 Type: Developer Dependencies PRs that modify packages only req'd for local development and testing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants