-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[feat] Deno TypeScript runtime support #3838
Comments
cc @lukehoban |
This would be great, and more easily allow for mixing languages (say Java for the server and Typescript for Pulumi infra) without needing to pull in the whole NodeJS ecosystem. |
Wanted to add my support for Deno as well. Much more light weight that NodeJS and makes use of the new Javascript features under the hood where NodeJS doesn't. Built in support for TypeScript as well is a much added bonus. |
Closing as I no longer use Pulumi |
Re-opening as the issue is still something the community wants. |
I think Deno greatly lowers the barrier to entry for Pulumi TS as you dont have to bring all the "noise" of the JS/TS ecosystem. |
We are a Deno shop, it'd be great if you could add Deno support. |
What's the current state on this? Any progress? |
Would love this! |
The waited has been so long that the thumbs have gone down from 40 to 7 🥲 |
The original is at 42 👍 |
Has anyone tried to use this with one of the deno-friendly CDNs described in their docs? |
I've tried a while ago, and it did not work for me unfortunately.
…On Thu, May 5, 2022 at 6:48 AM Michael Busby ***@***.***> wrote:
Has anyone tried to use this with one of the deno-friendly CDNs described
in their docs ***@***.***/node/cdns#esmsh>?
—
Reply to this email directly, view it on GitHub
<#3838 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACLS7CJME4FBMGOANYKOY2DVINHJNANCNFSM4KNKNW5Q>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
I've tried them recently too, and with little success. |
I think this is a really interesting issue. In my mind, the use case is pretty compelling. Deno is (arguably) less finicky than Node. I suspect it'd be a lot easier to distribute and manage than the Node runtime. I'm still coming up to speed on the Pulumi execution model; I'm keeping this issue in the back of my head while ramping up. |
Love to be able to just add a dependency via a URL instead of needing to go to the terminal install and then go back to what I was doing Also publishing reusable code is so much nicer, no need for a registry just GitHub or some accessible URL, done 👍 |
Deno 1.25 makes it slightly easier to import modules directly from NPM, but even with that, I'm not sure how one would add a new "runtime" to Pulumi to use Deno instead of Node.js. |
Pulumi uses a supervisor process we call "the language host" to boot a gPRC served called "the language runtime". The language host, which is a program written in Go could, in theory, choose between a Deno and a NodeJS runtime. I believe we do this currently with Java, choosing between Maven, Gradle, etc. I believe there's prior art. |
Yeh I'm not sure if deno should somehow just be supported in the "node" runtime, or if this needs to be a whole new language runtime + package publishing system. |
Now that Deno supports (in beta) interoperability with NPM packages, I think Deno would be able to use the existing Node packages. |
Deno NPM is out of beta. I think one of the core questions I have is how to indicate to |
@pecigonzalo Right now the architecture looks like this:
One great improvement we could make is to put all uses of Node and NPM behind an interface so we could swap it out with an alternative (like Deno, for instance, or PNP). |
The biggest piece of work to support this would be reworking the core nodejs SDK. This utilizes various parts of nodejs's internal runtime for aspects like closure serialization. The options I can see are:
|
Deno now supports many NPM packages, for example |
Is this still planned, what's the current status looking like? We're going deep into Deno now and hope to build a Pulumi provider for the Deno deploy service. We are also starting our startup on Deno and would love to keep a unified Deno TS only codebase with Pulumi written in Deno. |
I would also appreciate an update, my ts services are all deno |
I'm going to throw this one out there because it is a natural fit for configuration code.
Pros:
deno https://example.com/a-pulumi-program.ts
could be the Pulumi equivalent ofkubectl apply -f https://example.com/some-manifest.yaml
To support Deno Pulumi would need to
The text was updated successfully, but these errors were encountered: