summaryrefslogtreecommitdiff
path: root/runtime/examples
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/examples')
-rw-r--r--runtime/examples/extension/main.rs25
1 files changed, 21 insertions, 4 deletions
diff --git a/runtime/examples/extension/main.rs b/runtime/examples/extension/main.rs
index 6f4f02508..71fbdfd6a 100644
--- a/runtime/examples/extension/main.rs
+++ b/runtime/examples/extension/main.rs
@@ -16,6 +16,7 @@ use deno_runtime::deno_permissions::PermissionsContainer;
use deno_runtime::permissions::RuntimePermissionDescriptorParser;
use deno_runtime::worker::MainWorker;
use deno_runtime::worker::WorkerOptions;
+use deno_runtime::worker::WorkerServiceOptions;
#[op2(fast)]
fn op_hello(#[string] text: &str) {
@@ -35,13 +36,29 @@ async fn main() -> Result<(), AnyError> {
Path::new(env!("CARGO_MANIFEST_DIR")).join("examples/extension/main.js");
let main_module = ModuleSpecifier::from_file_path(js_path).unwrap();
eprintln!("Running {main_module}...");
+ let fs = Arc::new(RealFs);
+ let permission_desc_parser =
+ Arc::new(RuntimePermissionDescriptorParser::new(fs.clone()));
let mut worker = MainWorker::bootstrap_from_options(
main_module.clone(),
- PermissionsContainer::allow_all(Arc::new(
- RuntimePermissionDescriptorParser::new(Arc::new(RealFs)),
- )),
- WorkerOptions {
+ WorkerServiceOptions {
module_loader: Rc::new(FsModuleLoader),
+ permissions: PermissionsContainer::allow_all(
+ permission_desc_parser.clone(),
+ ),
+ blob_store: Default::default(),
+ broadcast_channel: Default::default(),
+ feature_checker: Default::default(),
+ node_services: Default::default(),
+ npm_process_state_provider: Default::default(),
+ permission_desc_parser,
+ root_cert_store_provider: Default::default(),
+ shared_array_buffer_store: Default::default(),
+ compiled_wasm_module_store: Default::default(),
+ v8_code_cache: Default::default(),
+ fs,
+ },
+ WorkerOptions {
extensions: vec![hello_runtime::init_ops_and_esm()],
..Default::default()
},