-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
/
goods.ts
58 lines (50 loc) · 1.8 KB
/
goods.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
// Copyright 2022 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
import * as globbyModule from 'globby'
import minimist from 'minimist'
import { setTimeout as sleep } from 'node:timers/promises'
import nodeFetch, { RequestInfo, RequestInit } from 'node-fetch'
import { getCtx, getRootCtx } from './context.js'
import { colorize } from './print.js'
import { log } from './print.js'
export { default as chalk } from 'chalk'
export { default as fs } from 'fs-extra'
export { default as which } from 'which'
export { default as YAML } from 'yaml'
export { default as path } from 'node:path'
export { default as os } from 'node:os'
export { sleep }
export const argv = minimist(process.argv.slice(2))
export const globby = Object.assign(function globby(
patterns: string | readonly string[],
options?: globbyModule.Options
) {
return globbyModule.globby(patterns, options)
},
globbyModule)
export const glob = globby
export async function fetch(url: RequestInfo, init?: RequestInit) {
log(
{ scope: 'fetch' },
'$',
colorize(`fetch ${url}`),
init && JSON.stringify(init, null, 2)
)
return nodeFetch(url, init)
}
export function cd(path: string) {
if (getCtx().verbose) console.log('$', colorize(`cd ${path}`))
process.chdir(path)
getRootCtx().cwd = getCtx().cwd = process.cwd()
}