Also using ops within Workers is challenging, particularly if they share state.
The CLI only depends on them transitively via deno_runtime: https://github.com/denoland/deno/blob/main/cli/Cargo.toml
For instance I was able to run the following script using just deno_runtime with https://github.com/lrowe/deno_varnish/blob/main/src/main.rs
import { DatabaseSync } from "node:sqlite";
console.log(new DatabaseSync(":memory:").prepare("SELECT 1").get());