Skip to content

Commit 6b00e41

Browse files
committed
chore: change to async
1 parent 67e67b5 commit 6b00e41

File tree

3 files changed

+18
-28
lines changed

3 files changed

+18
-28
lines changed

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
"eslint": "^9.13.0",
6060
"json5": "^2.2.3",
6161
"latest-version": "^9.0.0",
62-
"lazy-js-utils": "^0.1.23",
62+
"lazy-js-utils": "^0.1.24",
6363
"lint-staged": "^13.3.0",
6464
"picocolors": "^1.1.1",
6565
"prettier": "^2.8.8",

pnpm-lock.yaml

+5-5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/index.ts

+12-22
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ export async function fetchAndExtractPackage(options: { name: string, dist?: str
5555
downloadWithNpmHttp(name, path.join(tempDir, 'npm'), tempFile, logger),
5656
downloadWitchPack(name, path.join(tempDir, 'pack'), logger),
5757
]), retry) as string
58-
5958
logger.info(`${loggerPrefix} download tgz success!`)
6059
logger.info(`${loggerPrefix} tgzPath: ${tgzPath}\ntempDir: ${tempDir}`)
6160
// Extract the tarball
@@ -116,35 +115,26 @@ async function retryAsync<T>(fn: () => Promise<T>, retries: number): Promise<T>
116115

117116
export async function downloadWitchPack(name: string, tempDir: string, logger: any = console) {
118117
await fsp.mkdir(tempDir, { recursive: true })
119-
await new Promise((resolve, reject) => {
120-
const { result, status } = jsShell(`npm pack ${name} --pack-destination ${tempDir}`)
121-
if (status !== 0) {
122-
logger.error(result)
123-
reject(result)
124-
}
125-
else {
126-
resolve(true)
127-
}
128-
})
118+
const { result, status } = await jsShell(`npm pack ${name} --pack-destination ${tempDir}`)
119+
if (status !== 0) {
120+
logger.error(result)
121+
return Promise.reject(result)
122+
}
129123
if (name.startsWith('@'))
130124
name = name.slice(1)
131-
const tarballPattern = `${name.replace(/[/@]/g, '-')}.tgz`
125+
const tarballPattern = `${name.replace(/[/@]/g, '-')}`
132126
const [tarballPath] = await fsp.readdir(tempDir).then(files => files.filter(file => file.match(tarballPattern)))
133127
return path.join(tempDir, tarballPath)
134128
}
135129

136130
export async function downloadWithNpmHttp(name: string, tempDir: string, tempFile: string, logger: any = console) {
137131
await fsp.mkdir(tempDir, { recursive: true })
138-
const tarballUrl = await new Promise((resolve, reject) => {
139-
const { result, status } = jsShell(`npm view ${name} dist.tarball`)
140-
if (status !== 0) {
141-
logger.error(result)
142-
reject(result)
143-
}
144-
else {
145-
resolve(result)
146-
}
147-
})
132+
const { result, status } = await jsShell(`npm view ${name} dist.tarball`)
133+
if (status !== 0) {
134+
logger.error(result)
135+
return Promise.reject(result)
136+
}
137+
const tarballUrl = result
148138

149139
if (!tarballUrl)
150140
return ''

0 commit comments

Comments
 (0)