@@ -9,24 +9,20 @@ use deno_tls::rustls;
9
9
use deno_tls:: rustls:: RootCertStore ;
10
10
use deno_tls:: rustls_native_certs:: load_native_certs;
11
11
use deno_tls:: RootCertStoreProvider ;
12
- use import_map:: { parse_from_json, ImportMap } ;
13
12
use log:: error;
14
13
use serde:: de:: DeserializeOwned ;
15
14
use std:: collections:: HashMap ;
16
- use std:: path :: Path ;
15
+ use std:: fmt ;
17
16
use std:: sync:: Arc ;
18
17
use std:: time:: Duration ;
19
- use std:: { fmt, fs} ;
20
18
use tokio:: net:: UnixStream ;
21
19
use tokio:: sync:: mpsc;
22
- use urlencoding:: decode;
23
20
24
21
use crate :: snapshot;
25
22
use event_worker:: events:: { EventMetadata , WorkerEventWithMetadata } ;
26
23
use event_worker:: js_interceptors:: sb_events_js_interceptors;
27
24
use event_worker:: sb_user_event_worker;
28
25
use module_fetcher:: file_fetcher:: CacheSetting ;
29
- use module_fetcher:: util:: diagnostic:: print_import_map_diagnostics;
30
26
use sb_core:: cert:: ValueRootCertStoreProvider ;
31
27
use sb_core:: http_start:: sb_core_http;
32
28
use sb_core:: net:: sb_core_net;
@@ -35,43 +31,14 @@ use sb_core::runtime::sb_core_runtime;
35
31
use sb_core:: sb_core_main_js;
36
32
use sb_env:: sb_env as sb_env_op;
37
33
use sb_graph:: emitter:: EmitterFactory ;
34
+ use sb_graph:: import_map:: load_import_map;
38
35
use sb_graph:: { generate_binary_eszip, EszipPayloadKind } ;
39
36
use sb_module_loader:: standalone:: create_module_loader_for_standalone_from_eszip_kind;
40
37
use sb_module_loader:: RuntimeProviders ;
41
38
use sb_node:: deno_node;
42
39
use sb_workers:: context:: { UserWorkerMsgs , WorkerContextInitOpts , WorkerRuntimeOpts } ;
43
40
use sb_workers:: sb_user_workers;
44
41
45
- fn load_import_map ( maybe_path : Option < String > ) -> Result < Option < ImportMap > , Error > {
46
- if let Some ( path_str) = maybe_path {
47
- let json_str;
48
- let base_url;
49
-
50
- // check if the path is a data URI (prefixed with data:)
51
- // the data URI takes the following format
52
- // data:{encodeURIComponent(mport_map.json)?{encodeURIComponent(base_path)}
53
- if path_str. starts_with ( "data:" ) {
54
- let data_uri = Url :: parse ( & path_str) ?;
55
- json_str = decode ( data_uri. path ( ) ) ?. into_owned ( ) ;
56
- base_url =
57
- Url :: from_directory_path ( decode ( data_uri. query ( ) . unwrap_or ( "" ) ) ?. into_owned ( ) )
58
- . map_err ( |_| anyhow ! ( "invalid import map base url" ) ) ?;
59
- } else {
60
- let path = Path :: new ( & path_str) ;
61
- let abs_path = std:: env:: current_dir ( ) . map ( |p| p. join ( path) ) ?;
62
- json_str = fs:: read_to_string ( abs_path. clone ( ) ) ?;
63
- base_url = Url :: from_directory_path ( abs_path. parent ( ) . unwrap ( ) )
64
- . map_err ( |_| anyhow ! ( "invalid import map base url" ) ) ?;
65
- }
66
-
67
- let result = parse_from_json ( & base_url, json_str. as_str ( ) ) ?;
68
- print_import_map_diagnostics ( & result. diagnostics ) ;
69
- Ok ( Some ( result. import_map ) )
70
- } else {
71
- Ok ( None )
72
- }
73
- }
74
-
75
42
pub struct DenoRuntimeError ( Error ) ;
76
43
77
44
impl PartialEq for DenoRuntimeError {
@@ -180,9 +147,13 @@ impl DenoRuntime {
180
147
None
181
148
} ;
182
149
183
- let eszip =
184
- generate_binary_eszip ( main_module_url_file_path, arc_emitter_factory, maybe_code)
185
- . await ?;
150
+ let eszip = generate_binary_eszip (
151
+ main_module_url_file_path,
152
+ arc_emitter_factory,
153
+ maybe_code,
154
+ import_map_path. clone ( ) ,
155
+ )
156
+ . await ?;
186
157
187
158
EszipPayloadKind :: Eszip ( eszip)
188
159
} ;
@@ -491,7 +462,7 @@ mod test {
491
462
. unwrap ( ) ;
492
463
let path_buf = PathBuf :: from ( "./test_cases/eszip-source-test.ts" ) ;
493
464
let emitter_factory = Arc :: new ( EmitterFactory :: new ( ) ) ;
494
- let bin_eszip = generate_binary_eszip ( path_buf, emitter_factory. clone ( ) , None )
465
+ let bin_eszip = generate_binary_eszip ( path_buf, emitter_factory. clone ( ) , None , None )
495
466
. await
496
467
. unwrap ( ) ;
497
468
fs:: remove_file ( "./test_cases/eszip-source-test.ts" ) . unwrap ( ) ;
@@ -540,7 +511,7 @@ mod test {
540
511
let file = PathBuf :: from ( "./test_cases/eszip-silly-test/index.ts" ) ;
541
512
let service_path = PathBuf :: from ( "./test_cases/eszip-silly-test" ) ;
542
513
let emitter_factory = Arc :: new ( EmitterFactory :: new ( ) ) ;
543
- let binary_eszip = generate_binary_eszip ( file, emitter_factory. clone ( ) , None )
514
+ let binary_eszip = generate_binary_eszip ( file, emitter_factory. clone ( ) , None , None )
544
515
. await
545
516
. unwrap ( ) ;
546
517
0 commit comments