If I want to integrate a fully featured Deno runtime into my application, where do I start?

I want to create a scripting environment for my application that will enable people to create custom integrations/workflows. I'm investigating if I can use Deno for this use case, but if we present it as an embedded Deno runtime to our users, I think they will also expect compatibility with all the things Deno offers as well. That means TypeScript compatibility, NPM compatibility on par with Deno's, being able to import from URLs, etc.. From my understanding a lot of that logic is implemented in the CLI only, but I would like to integrate in our own process, so ideally I would just import a Rust crate. Can the CLI crate itself maybe be linked to?
IIRC the core deno runtime is its own crate
deno/Cargo.toml at main · denoland/deno
A modern runtime for JavaScript and TypeScript. Contribute to denoland/deno development by creating an account on GitHub.
I'm sure you could provide an alternate entry point rather than the CLI it'll probably end up being a lot more complicated than a single import, but you can probably strip out a fair bit of complexity
Can the CLI crate itself maybe be linked to?
We don't distribute CLI as a standalone crate. There are some community crates that do that, but I don't know if they're maintained and we give no guarantees if they're okay
Right thanks, I think indeed I can fork the deno crate and add an entry point for my use case or otherwise lift the pieces I need from that crate, depending on feasibility looks like it's a pretty huge crate though, would have been great if components such as tsc and npm were split off into their own crates too
this isn't exactly a common use case, so there's not much reason for the devs to do that - but others like you would appriciate it, I'm sure
Yeah, that’s fair 🙂

Looking for more? Join the community!

Recommended Posts
Trying to deploy a project on Deno Deploy with a private Github repository dependencyBy reading the docs at https://docs.deno.com/runtime/manual/basics/modules/private I found that I caHow can I make sure the code gets run on the client-side??!```tsx import { useEffect, useState } from "preact/hooks"; export default function Callback() { VSCode + Deno + Vite + TypescriptJust setup a project with `create-vite-extra` but all the starter files are full of typescript errorMemory LimitHello guys, in some situations i'am receiving one of the following error message `dd-hard-memory-limGoogle CalendarHi! I am looking for a minimal example how to access google calendar API. I already obtained credenI can't access my deno cloud github accountPlease help, by mistake I converted my personal github account to an organization account, and now IUploaded a module, need help!I uploaded my module: https://deno.land/x/vipps_mobilepay_sdk@0.0.1 But then I realised that I shoulBetter way of finding element from mapIm making an api and all routes are stored in a map. is there a better and more optimised way to loodeno info depthhow do i limit maximum output depth for `deno info` command? for example, it's easier to analyze verDate libraryCan anyone recommend a decent working date library for deno? All the ones I'm trying (datefns, dayjsawait writer.write(buffer) never resolves on Deno.CommandHiho. I'm creating a `Deno.Command` that writes a buffer to `vipsthumbnail` via stdin (and reads theNot sure if I understand kv watch right?Not sure if I understand kv watch right, is like named queues? o more like a reliable Broadcast chanDisplaying a ModalI am trying to get a minimal example of using Bootstrap Modals, and managing that modal using state.How do I run an npm script with multiple dependencies, e.g. `drizzle-kit generate:pg`?I thought about wrapping it into a task `"generate": "deno run -A npm:drizzle-kit generate:pg"` in tHow to use a class name as a qualifier for an enum ?Hi there, it's more of a generic typescript question but I'm using it in the Deno context and the lihow can I make him see the process?```ts error: Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'on') proImporting NPM Packages in Deno Throws 'Uncaught SyntaxError' for Specific ModulesHi there, I'm relatively new to Deno. I'm running into an error with an NPM package import. ```JS imHow to override type definitions provided by a third party module@Deno AI Helper How do I override type definitions provided by a third party moduleSync Child Stdin ReadI'd like to make a JS wrapper around the repl of another language. For example: ```js let a = otherUsing custom font using fresh and tailwindcssHello ! I recently followed [this guide](https://fresh.deno.dev/docs/examples/migrating-to-tailwind