@@ -43,9 +43,9 @@ self.addEventListener('message', async (event: MessageEvent<BundleMessageData>)
43
43
( { packages_url, svelte_url } = event . data ) ;
44
44
const match = / ^ ( p r | c o m m i t ) - ( .+ ) / . exec ( svelte_url ) ;
45
45
46
- if ( match ) {
47
- let local_files : FileDescription [ ] ;
46
+ let tarball : FileDescription [ ] | undefined ;
48
47
48
+ if ( match ) {
49
49
try {
50
50
const response = await fetch ( `https://pkg.pr.new/svelte@${ match [ 2 ] } ` ) ;
51
51
@@ -55,14 +55,12 @@ self.addEventListener('message', async (event: MessageEvent<BundleMessageData>)
55
55
) ;
56
56
}
57
57
58
- local_files = await parseTar ( await response . arrayBuffer ( ) ) ;
58
+ tarball = await parseTar ( await response . arrayBuffer ( ) ) ;
59
59
files = new Map (
60
- local_files . map ( ( file ) => [ file . name . substring ( 'package' . length ) , file . text ] )
60
+ tarball . map ( ( file ) => [ file . name . substring ( 'package' . length ) , file . text ] )
61
61
) ;
62
62
const package_json_content = files . get ( '/package.json' ) ! ;
63
- if ( package_json_content ) {
64
- package_json = JSON . parse ( package_json_content ) ;
65
- }
63
+ package_json = JSON . parse ( package_json_content ) ;
66
64
} catch ( e ) {
67
65
reject_ready ( e as Error ) ;
68
66
return ;
@@ -73,24 +71,17 @@ self.addEventListener('message', async (event: MessageEvent<BundleMessageData>)
73
71
package_json ?? ( await fetch ( `${ svelte_url } /package.json` ) . then ( ( r ) => r . json ( ) ) ) ) ;
74
72
console . log ( `Using Svelte compiler version ${ version } ` ) ;
75
73
76
- if ( version . startsWith ( '4.' ) ) {
77
- // unpkg doesn't set the correct MIME type for .cjs files
78
- // https://github.com/mjackson/unpkg/issues/355
79
- const compiler =
80
- files ?. get ( '/compiler.cjs' ) ??
81
- ( await fetch ( `${ svelte_url } /compiler.cjs` ) . then ( ( r ) => r . text ( ) ) ) ;
82
- ( 0 , eval ) ( compiler + '\n//# sourceURL=compiler.cjs@' + version ) ;
83
- } else if ( version . startsWith ( '3.' ) ) {
84
- const compiler =
85
- files ?. get ( '/compiler.js' ) ??
86
- ( await fetch ( `${ svelte_url } /compiler.js` ) . then ( ( r ) => r . text ( ) ) ) ;
87
- ( 0 , eval ) ( compiler + '\n//# sourceURL=compiler.js@' + version ) ;
88
- } else {
89
- const compiler =
90
- files ?. get ( '/compiler/index.js' ) ??
91
- ( await fetch ( `${ svelte_url } /compiler/index.js` ) . then ( ( r ) => r . text ( ) ) ) ;
92
- ( 0 , eval ) ( compiler + '\n//# sourceURL=compiler/index.js@' + version ) ;
93
- }
74
+ const entry = version . startsWith ( '3.' )
75
+ ? 'compiler.js'
76
+ : version . startsWith ( '4.' )
77
+ ? 'compiler.cjs'
78
+ : 'compiler/index.js' ;
79
+
80
+ const compiler = tarball
81
+ ? tarball . find ( ( file ) => file . name === `package/${ entry } ` ) ! . text
82
+ : await fetch ( `${ svelte_url } /${ entry } ` ) . then ( ( r ) => r . text ( ) ) ;
83
+
84
+ ( 0 , eval ) ( compiler + `\n//# sourceURL=${ entry } @` + version ) ;
94
85
95
86
fulfil_ready ( ) ;
96
87
break ;
0 commit comments