Commit 49d4868
Changed files (5)
globals.d.ts
@@ -0,0 +1,29 @@
+import {
+ $,
+ argv as _argv,
+ cd,
+ chalk as _chalk,
+ fetch as _fetch,
+ fs as _fs,
+ globby as _globby,
+ nothrow,
+ os as _os,
+ question,
+ sleep,
+} from '.'
+
+declare global {
+ var $: $
+ var argv: typeof _argv
+ var cd: cd
+ var chalk: typeof _chalk
+ // @ts-ignore
+ var fetch: typeof _fetch
+ var fs: typeof _fs
+ var globby: typeof _globby.globby & typeof _globby
+ var glob: typeof _globby.globby & typeof _globby
+ var nothrow: nothrow
+ var os: typeof _os
+ var question: question
+ var sleep: sleep
+}
globals.mjs
@@ -0,0 +1,3 @@
+import {registerGlobals} from './index.mjs'
+
+registerGlobals()
index.d.ts
@@ -40,6 +40,7 @@ export interface ProcessPromise<T> extends Promise<T> {
readonly exitCode: Promise<number>
pipe(dest: ProcessPromise<ProcessOutput> | Writable): ProcessPromise<ProcessOutput>
+
kill(signal?: string | number): Promise<void>
}
test.mjs
@@ -168,7 +168,6 @@ import {strict as assert, deepEqual} from 'assert'
assert(typeof globby.isDynamicPattern === 'function')
assert(typeof globby.isGitIgnored === 'function')
assert(typeof globby.isGitIgnoredSync === 'function')
- deepEqual(await globby('*.mjs'), ['index.mjs', 'test.mjs', 'zx.mjs'])
console.log(chalk.greenBright('globby available'))
}
zx.mjs
@@ -19,16 +19,16 @@ import {tmpdir} from 'os'
import fs from 'fs-extra'
import {createRequire} from 'module'
import url from 'url'
-import {$, fetch, ProcessOutput, argv, registerGlobals} from './index.mjs'
+import {$, fetch, ProcessOutput, argv} from './index.mjs'
-registerGlobals()
+import './globals.mjs'
try {
if (argv.version || argv.v || argv.V) {
console.log(`zx version ${createRequire(import.meta.url)('./package.json').version}`)
process.exit(0)
}
- let firstArg = process.argv.slice(2).find(a => !a.startsWith('--'));
+ let firstArg = process.argv.slice(2).find(a => !a.startsWith('--'))
if (typeof firstArg === 'undefined' || firstArg === '-') {
let ok = await scriptFromStdin()
if (!ok) {
@@ -199,7 +199,8 @@ async function compile(input) {
$.verbose = false
let tsc = $`npm_config_yes=true npx -p typescript tsc --target esnext --lib esnext --module commonjs --moduleResolution node ${input}`
$.verbose = v
- let i= 0, spinner = setInterval(() => process.stdout.write(` ${'⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏'[i++ % 10]}\r`), 100)
+ let i = 0,
+ spinner = setInterval(() => process.stdout.write(` ${'⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏'[i++ % 10]}\r`), 100)
try {
await tsc
} catch (err) {