denoland / denoland/deploy_feedback
Improve deployctl typechecker handling of missing symbols
- Dominant language
- No language data
- Stars
- 79
- Forks
- 5
- PR merge metrics
- No merged PRs in 30d
Description
When running a minimal application via `deployctl` written with `oak` or many other deno packages, the typechecker fails, outputting tons of errors related to missing members on Deno/crypto/etc.
I'm aware the entire Deno namespace isn't available for deploy. However, deploy is advertised as compatible with oak and much of the Deno ecosystem. I couldn't find a GH issue tracking this despite running into it almost immediately with deploy.
As a result, it seems like you're not able to use deployctl with a Deno project of typical complexity or dependencies unless bypassing typechecking (using `--no-check`), which gives no assurances that the execution will be reliable or clarity on which aspects of oak are supported/unsupported.
It would be great to have a better handling or error messaging related to this dependency closure issue. Any suggestions appreciated.
# minimal repro:
## mod.ts
```js
import {Application} from "https://deno.land/x/oak@v9.0.1/mod.ts"
const app = new Application();
app.use((ctx) => {
ctx.response.body = "sup world";
});
console.log('running')
await app.listen({ port: 8000 });
```
## using deployctl
(errors and fails to run)
```sh
$ deployctl run mod.ts
error: TS2694 [ERROR]: Namespace 'Deno' has no exported member 'ReaderSync'.
export function readAllSync(r: Deno.ReaderSync): Uint8Array {
~~~~~~~~~~
at https://deno.land/std@0.105.0/io/util.ts:57:37
(...)
Found 101 errors.
error: Process exited with code 1
```
## using deno
(works as expected)
```sh
$ deno run --allow-net mod.ts
running
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.