@@ -55,7 +55,6 @@ export async function fetchAndExtractPackage(options: { name: string, dist?: str
55
55
downloadWithNpmHttp ( name , path . join ( tempDir , 'npm' ) , tempFile , logger ) ,
56
56
downloadWitchPack ( name , path . join ( tempDir , 'pack' ) , logger ) ,
57
57
] ) , retry ) as string
58
-
59
58
logger . info ( `${ loggerPrefix } download tgz success!` )
60
59
logger . info ( `${ loggerPrefix } tgzPath: ${ tgzPath } \ntempDir: ${ tempDir } ` )
61
60
// Extract the tarball
@@ -116,35 +115,26 @@ async function retryAsync<T>(fn: () => Promise<T>, retries: number): Promise<T>
116
115
117
116
export async function downloadWitchPack ( name : string , tempDir : string , logger : any = console ) {
118
117
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
+ }
129
123
if ( name . startsWith ( '@' ) )
130
124
name = name . slice ( 1 )
131
- const tarballPattern = `${ name . replace ( / [ / @ ] / g, '-' ) } .tgz `
125
+ const tarballPattern = `${ name . replace ( / [ / @ ] / g, '-' ) } `
132
126
const [ tarballPath ] = await fsp . readdir ( tempDir ) . then ( files => files . filter ( file => file . match ( tarballPattern ) ) )
133
127
return path . join ( tempDir , tarballPath )
134
128
}
135
129
136
130
export async function downloadWithNpmHttp ( name : string , tempDir : string , tempFile : string , logger : any = console ) {
137
131
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
148
138
149
139
if ( ! tarballUrl )
150
140
return ''
0 commit comments