diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index 250a275704..7b97490f53 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -37,11 +37,6 @@ unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tokio_unstable)'] } name = "deno_runtime" path = "lib.rs" -[[example]] -name = "extension" -path = "examples/extension/main.rs" -required-features = ["transpile"] - [dependencies] deno_ast = { workspace = true, optional = true } deno_broadcast_channel.workspace = true diff --git a/runtime/examples/extension/bootstrap.js b/runtime/examples/extension/bootstrap.js deleted file mode 100644 index 78e0cb999f..0000000000 --- a/runtime/examples/extension/bootstrap.js +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -import { op_hello } from "ext:core/ops"; -function hello() { - op_hello("world"); -} - -globalThis.Extension = { hello }; diff --git a/runtime/examples/extension/main.js b/runtime/examples/extension/main.js deleted file mode 100644 index 4a66aecf58..0000000000 --- a/runtime/examples/extension/main.js +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -console.log("Hello world from JS!"); -console.log(Deno.build); -Extension.hello(); diff --git a/runtime/examples/extension/main.rs b/runtime/examples/extension/main.rs deleted file mode 100644 index 6847bccd20..0000000000 --- a/runtime/examples/extension/main.rs +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. - -#![allow(clippy::print_stdout)] -#![allow(clippy::print_stderr)] - -use std::path::Path; -use std::rc::Rc; -use std::sync::Arc; - -use deno_core::FsModuleLoader; -use deno_core::ModuleSpecifier; -use deno_core::error::AnyError; -use deno_core::op2; -use deno_fs::RealFs; -use deno_resolver::npm::DenoInNpmPackageChecker; -use deno_resolver::npm::NpmResolver; -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) { - println!("Hello {} from an op!", text); -} - -deno_core::extension!( - hello_runtime, - ops = [op_hello], - esm_entry_point = "ext:hello_runtime/bootstrap.js", - esm = [dir "examples/extension", "bootstrap.js"] -); - -#[tokio::main] -async fn main() -> Result<(), AnyError> { - let js_path = - 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(sys_traits::impls::RealSys), - ); - let mut worker = MainWorker::bootstrap_from_options( - &main_module, - WorkerServiceOptions::< - DenoInNpmPackageChecker, - NpmResolver, - sys_traits::impls::RealSys, - > { - deno_rt_native_addon_loader: None, - module_loader: Rc::new(FsModuleLoader), - permissions: PermissionsContainer::allow_all(permission_desc_parser), - blob_store: Default::default(), - broadcast_channel: Default::default(), - feature_checker: Default::default(), - node_services: Default::default(), - npm_process_state_provider: Default::default(), - root_cert_store_provider: Default::default(), - fetch_dns_resolver: 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()], - ..Default::default() - }, - ); - worker.execute_main_module(&main_module).await?; - worker.run_event_loop(false).await?; - Ok(()) -}