mirror of
https://github.com/deployphp/action.git
synced 2025-06-29 04:34:15 +00:00
Update deps
This commit is contained in:
parent
eed58e3496
commit
363bb1be96
126 changed files with 5743 additions and 2737 deletions
145
node_modules/zx/README.md
generated
vendored
145
node_modules/zx/README.md
generated
vendored
|
@ -35,10 +35,13 @@ npm i -g zx
|
|||
|
||||
## Goods
|
||||
|
||||
[$](#command-) · [cd()](#cd) · [fetch()](#fetch) · [question()](#question) · [sleep()](#sleep) · [echo()](#echo) · [stdin()](#stdin) · [within()](#within) ·
|
||||
[$](#command-) · [cd()](#cd) · [fetch()](#fetch) · [question()](#question) · [sleep()](#sleep) · [echo()](#echo) · [stdin()](#stdin) · [within()](#within) · [retry()](#retry) · [spinner()](#spinner) ·
|
||||
[chalk](#chalk-package) · [fs](#fs-package) · [os](#os-package) · [path](#path-package) · [glob](#globby-package) · [yaml](#yaml-package) · [minimist](#minimist-package) · [which](#which-package) ·
|
||||
[__filename](#__filename--__dirname) · [__dirname](#__filename--__dirname) · [require()](#require)
|
||||
|
||||
For running commands on remote hosts,
|
||||
see [webpod](https://github.com/webpod/webpod).
|
||||
|
||||
## Documentation
|
||||
|
||||
Write your scripts in a file with an `.mjs` extension in order to
|
||||
|
@ -46,11 +49,13 @@ use `await` at the top level. If you prefer the `.js` extension,
|
|||
wrap your scripts in something like `void async function () {...}()`.
|
||||
|
||||
Add the following shebang to the beginning of your `zx` scripts:
|
||||
|
||||
```bash
|
||||
#!/usr/bin/env zx
|
||||
```
|
||||
|
||||
Now you will be able to run your script like so:
|
||||
|
||||
```bash
|
||||
chmod +x ./script.mjs
|
||||
./script.mjs
|
||||
|
@ -117,9 +122,13 @@ class ProcessPromise extends Promise<ProcessOutput> {
|
|||
stdout: Readable
|
||||
stderr: Readable
|
||||
exitCode: Promise<number>
|
||||
|
||||
pipe(dest): ProcessPromise
|
||||
|
||||
kill(): Promise<void>
|
||||
|
||||
nothrow(): this
|
||||
|
||||
quiet(): this
|
||||
}
|
||||
```
|
||||
|
@ -134,11 +143,13 @@ class ProcessOutput {
|
|||
readonly stderr: string
|
||||
readonly signal: string
|
||||
readonly exitCode: number
|
||||
|
||||
toString(): string // Combined stdout & stderr.
|
||||
}
|
||||
```
|
||||
|
||||
The output of the process is captured as-is. Usually, programs print a new line `\n` at the end.
|
||||
The output of the process is captured as-is. Usually, programs print a new
|
||||
line `\n` at the end.
|
||||
If `ProcessOutput` is used as an argument to some other `$` process,
|
||||
**zx** will use stdout and trim the new line.
|
||||
|
||||
|
@ -160,7 +171,8 @@ await $`pwd` // => /tmp
|
|||
|
||||
### `fetch()`
|
||||
|
||||
A wrapper around the [node-fetch](https://www.npmjs.com/package/node-fetch) package.
|
||||
A wrapper around the [node-fetch](https://www.npmjs.com/package/node-fetch)
|
||||
package.
|
||||
|
||||
```js
|
||||
let resp = await fetch('https://medv.io')
|
||||
|
@ -228,6 +240,32 @@ let version = await within(async () => {
|
|||
})
|
||||
```
|
||||
|
||||
### `retry()`
|
||||
|
||||
Retries a callback for a few times. Will return after the first
|
||||
successful attempt, or will throw after specifies attempts count.
|
||||
|
||||
```js
|
||||
let p = await retry(10, () => $`curl https://medv.io`)
|
||||
|
||||
// With a specified delay between attempts.
|
||||
let p = await retry(20, '1s', () => $`curl https://medv.io`)
|
||||
|
||||
// With an exponential backoff.
|
||||
let p = await retry(30, expBackoff(), () => $`curl https://medv.io`)
|
||||
```
|
||||
|
||||
### `spinner()`
|
||||
|
||||
Starts a simple CLI spinner.
|
||||
|
||||
```js
|
||||
await spinner(() => $`long-running command`)
|
||||
|
||||
// With a message.
|
||||
await spinner('working...', () => $`sleep 99`)
|
||||
```
|
||||
|
||||
## Packages
|
||||
|
||||
The following packages are available without importing inside scripts.
|
||||
|
@ -286,7 +324,9 @@ The [minimist](https://www.npmjs.com/package/minimist) package available
|
|||
as global const `argv`.
|
||||
|
||||
```js
|
||||
if( argv.someFlag ){ echo('yes') }
|
||||
if (argv.someFlag) {
|
||||
echo('yes')
|
||||
}
|
||||
```
|
||||
|
||||
### `which` package
|
||||
|
@ -372,7 +412,8 @@ $.log = (entry: LogEntry) => {
|
|||
### `__filename` & `__dirname`
|
||||
|
||||
In [ESM](https://nodejs.org/api/esm.html) modules, Node.js does not provide
|
||||
`__filename` and `__dirname` globals. As such globals are really handy in scripts,
|
||||
`__filename` and `__dirname` globals. As such globals are really handy in
|
||||
scripts,
|
||||
`zx` provides these for use in `.mjs` files (when using the `zx` executable).
|
||||
|
||||
### `require()`
|
||||
|
@ -386,42 +427,6 @@ files (when using `zx` executable).
|
|||
let {version} = require('./package.json')
|
||||
```
|
||||
|
||||
## Experimental
|
||||
|
||||
The zx provides a few experimental functions. Please leave feedback about
|
||||
those features in [the discussion](https://github.com/google/zx/discussions/299).
|
||||
To enable new features via CLI pass `--experimental` flag.
|
||||
|
||||
### `retry()`
|
||||
|
||||
Retries a callback for a few times. Will return after the first
|
||||
successful attempt, or will throw after specifies attempts count.
|
||||
|
||||
```js
|
||||
import { retry, expBackoff } from 'zx/experimental'
|
||||
|
||||
let p = await retry(10, () => $`curl https://medv.io`)
|
||||
|
||||
// With a specified delay between attempts.
|
||||
let p = await retry(20, '1s', () => $`curl https://medv.io`)
|
||||
|
||||
// With an exponential backoff.
|
||||
let p = await retry(30, expBackoff(), () => $`curl https://medv.io`)
|
||||
```
|
||||
|
||||
### `spinner()`
|
||||
|
||||
Starts a simple CLI spinner.
|
||||
|
||||
```js
|
||||
import { spinner } from 'zx/experimental'
|
||||
|
||||
await spinner(() => $`long-running command`)
|
||||
|
||||
// With a message.
|
||||
await spinner('working...', () => $`sleep 99`)
|
||||
```
|
||||
|
||||
## FAQ
|
||||
|
||||
### Passing env variables
|
||||
|
@ -433,10 +438,12 @@ await $`echo $FOO`
|
|||
|
||||
### Passing array of values
|
||||
|
||||
When passing an array of values as an argument to `$`, items of the array will be escaped
|
||||
When passing an array of values as an argument to `$`, items of the array will
|
||||
be escaped
|
||||
individually and concatenated via space.
|
||||
|
||||
Example:
|
||||
|
||||
```js
|
||||
let files = [...]
|
||||
await $`tar cz ${files}`
|
||||
|
@ -448,14 +455,16 @@ It is possible to make use of `$` and other functions via explicit imports:
|
|||
|
||||
```js
|
||||
#!/usr/bin/env node
|
||||
import {$} from 'zx'
|
||||
import { $ } from 'zx'
|
||||
|
||||
await $`date`
|
||||
```
|
||||
|
||||
### Scripts without extensions
|
||||
|
||||
If script does not have a file extension (like `.git/hooks/pre-commit`), zx
|
||||
assumes that it is an [ESM](https://nodejs.org/api/modules.html#modules_module_createrequire_filename)
|
||||
assumes that it is
|
||||
an [ESM](https://nodejs.org/api/modules.html#modules_module_createrequire_filename)
|
||||
module.
|
||||
|
||||
### Markdown scripts
|
||||
|
@ -469,7 +478,7 @@ zx docs/markdown.md
|
|||
### TypeScript scripts
|
||||
|
||||
```ts
|
||||
import {$} from 'zx'
|
||||
import { $ } from 'zx'
|
||||
// Or
|
||||
import 'zx/globals'
|
||||
|
||||
|
@ -479,7 +488,8 @@ void async function () {
|
|||
```
|
||||
|
||||
Set [`"type": "module"`](https://nodejs.org/api/packages.html#packages_type)
|
||||
in **package.json** and [`"module": "ESNext"`](https://www.typescriptlang.org/tsconfig/#module)
|
||||
in **package.json**
|
||||
and [`"module": "ESNext"`](https://www.typescriptlang.org/tsconfig/#module)
|
||||
in **tsconfig.json**.
|
||||
|
||||
### Executing remote scripts
|
||||
|
@ -496,7 +506,7 @@ zx https://medv.io/game-of-life.js
|
|||
The `zx` supports executing scripts from stdin.
|
||||
|
||||
```js
|
||||
zx <<'EOF'
|
||||
zx << 'EOF'
|
||||
await $`pwd`
|
||||
EOF
|
||||
```
|
||||
|
@ -514,27 +524,41 @@ cat package.json | zx --eval 'let v = JSON.parse(await stdin()).version; echo(v)
|
|||
```js
|
||||
// script.mjs:
|
||||
import sh from 'tinysh'
|
||||
|
||||
sh.say('Hello, world!')
|
||||
```
|
||||
|
||||
Add `--install` flag to the `zx` command to install missing dependencies
|
||||
Add `--install` flag to the `zx` command to install missing dependencies
|
||||
automatically.
|
||||
|
||||
```bash
|
||||
zx --install script.mjs
|
||||
```
|
||||
|
||||
You can also specify needed version by adding comment with `@` after
|
||||
You can also specify needed version by adding comment with `@` after
|
||||
the import.
|
||||
|
||||
```js
|
||||
import sh from 'tinysh' // @^1
|
||||
```
|
||||
|
||||
### Executing commands on remote hosts
|
||||
|
||||
The `zx` uses [webpod](https://github.com/webpod/webpod) to execute commands on
|
||||
remote hosts.
|
||||
|
||||
```js
|
||||
import { ssh } from 'zx'
|
||||
|
||||
await ssh('user@host')`echo Hello, world!`
|
||||
```
|
||||
|
||||
|
||||
|
||||
### Attaching a profile
|
||||
|
||||
By default `child_process` does not include aliases and bash functions.
|
||||
But you are still able to do it by hand. Just attach necessary directives
|
||||
But you are still able to do it by hand. Just attach necessary directives
|
||||
to the `$.prefix`.
|
||||
|
||||
```js
|
||||
|
@ -551,19 +575,22 @@ jobs:
|
|||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
FORCE_COLOR: 3
|
||||
run: |
|
||||
npx zx <<'EOF'
|
||||
await $`...`
|
||||
EOF
|
||||
- name: Build
|
||||
env:
|
||||
FORCE_COLOR: 3
|
||||
run: |
|
||||
npx zx <<'EOF'
|
||||
await $`...`
|
||||
EOF
|
||||
```
|
||||
|
||||
### Canary / Beta / RC builds
|
||||
Impatient early adopters can try the experimental zx versions. But keep in mind: these builds are ⚠️️ __unstable__ in every sense.
|
||||
|
||||
Impatient early adopters can try the experimental zx versions.
|
||||
But keep in mind: these builds are ⚠️️__beta__ in every sense.
|
||||
|
||||
```bash
|
||||
npm i zx@dev
|
||||
npx zx@dev --install --quiet <<< 'import _ from "lodash" /* 4.17.15 */; console.log(_.VERSION)'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue