@@ -169,7 +169,7 @@ function readFromStdin() {
169169}
170170
171171async function fetchCssDoodleSource ( version ) {
172- let result = '' , res , error ;
172+ let result = '' , error ;
173173
174174 if ( / ^ c s s \- d o o d l e @ / . test ( version ) ) {
175175 version = version . split ( '@' ) [ 1 ] ;
@@ -184,31 +184,28 @@ async function fetchCssDoodleSource(version) {
184184 }
185185 }
186186
187- console . log ( `Fetching css-doodle@${ version } from esm.sh` ) ;
188-
189187 try {
190- res = await fetch ( `https://esm.sh/css-doodle@${ version } /css-doodle.min.js?raw` , { redirect : 'follow' } ) ;
191- } catch ( error ) {
188+ console . log ( `Fetching css-doodle@${ version } from esm.sh.` ) ;
189+ result = await fetchResource ( `https://esm.sh/css-doodle@${ version } /css-doodle.min.js?raw` ) ;
190+ } catch ( e ) {
192191 try {
193- console . log ( `Try jsdelivr.net ` ) ;
194- res = await fetch ( `https://cdn.jsdelivr.net/npm/css-doodle@${ version } /css-doodle.min.js` , { redirect : 'follow' } ) ;
195- } catch ( error ) {
196- return { result , error : new Error ( messageFailed ) }
192+ console . log ( `Try jsdelivr.. ` ) ;
193+ result = await fetchResource ( `https://cdn.jsdelivr.net/npm/css-doodle@${ version } /css-doodle.min.js);` ) ;
194+ } catch ( e ) {
195+ error = new Error ( messageFailed ) ;
197196 }
198- return {
199- result, error : new Error ( messageFailed )
200- } ;
201197 }
202198
203- const source = Buffer . from ( await res . arrayBuffer ( ) ) . toString ( ) ;
204-
205- if ( / ^ i n v a l i d | E R R _ P N P M _ N O _ M A T C H I N G _ V E R S I O N / i. test ( source ) ) {
206- return {
207- result, error : new Error ( messageInvalid )
208- }
199+ if ( / ^ i n v a l i d | E R R _ P N P M _ N O _ M A T C H I N G _ V E R S I O N / i. test ( result ) ) {
200+ error = new Error ( messageInvalid )
209201 }
210202
211203 return {
212- result : source , error : null
204+ result, error
213205 }
214206}
207+
208+ async function fetchResource ( url ) {
209+ let res = await fetch ( url , { redirect : 'follow' } ) ;
210+ return Buffer . from ( await res . arrayBuffer ( ) ) . toString ( ) ;
211+ }
0 commit comments