superfly / flyctl

Command line tools for fly.io services
https://fly.io
Apache License 2.0
1.44k stars 243 forks source link

No way to override the app type detector in flyctl launch #1104

Open stuartlangridge opened 2 years ago

stuartlangridge commented 2 years ago

I've got a Deno app, written in JavaScript (not TypeScript). flyctl launch doesn't recognise it as a Deno app, which means that I can't get a working fly.toml and Dockerfile, and there's no way to override this and say "this is a Deno app, I promise". I've tried adding a couple of pointless *.ts files but that doesn't seem to help, and I'm not sure exactly what flyctl/scanner/deno.go actually needs to be convinced.

It would be very useful to be able to flyctl launch --force-type=deno or something similar.

flyctl v0.0.359 linux/amd64 Commit: 15b0f802 BuildDate: 2022-07-23T12:26:56Z

jsierles commented 2 years ago

The scanner for deno is looking *.ts files and denopkg. If that's not kosher anymore, we should adjust it!

https://github.com/superfly/flyctl/blob/master/scanner/deno.go#L4

That said, I like the idea of this option, also so people could overwrite existing stuff to get the 'known good' options provided by flyctl. We do encourage people to use our Dockerfiles as a starting point, though, since we aren't yet able to keep up with changes in all frameworks.

alexandermccormick commented 1 year ago

I am also not able to get fly launch to detect my Deno project, even when having my main.ts file and denopkg in the project root.

I don't normally dabble in Go-land, but I tried to update this, and I must not have my env set up right because I keep getting different go errors every time I try to build it. It kept complaining about missing commas in parameter lists and it expecting ( instead of [.

Deno now supports an official configuration file in two formats, deno.json or deno.jsonc. Is it possible we could add these to the dirContains call in the line mentioned above?

redjonzaci commented 1 year ago

I see we have Run a Deno App now. @jsierles do we want to pursue the override option?

jsierles commented 1 year ago

We should fix the deno scanner to work with the latest deno standards.

redjonzaci commented 1 year ago

It was last updated a month ago with https://github.com/superfly/flyctl/pull/2604. I checked the latest Deno Configuration File page and can confirm that nothing has changed. If nothing else is needed, we can close this.