Skip to content
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

--no-check docs #6714

Merged
merged 7 commits into from
Jul 13, 2020
Merged
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions docs/getting_started/typescript.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,31 @@ import { Response } from "https://deno.land/std@0.53.0/http/server.ts";
import { queue } from "./collections.ts";
```

### `--no-check` option

When using `deno run`, `deno test`, `deno cache`,`deno info`, or `deno bundle`
you can specify the `--no-check` flag to disable TypeScript type checking. This
can significantly reduce the time that program startup takes. This can be very
useful when type checking is provided by your editor and you want startup time
to be as fast as possible (for example when restarting the program automatically
with a file watcher).

Because `--no-check` does not do TypeScript type checking we can not
automatically remove type only imports and exports as this would require type
information. For this purpose TypeScript provides the
[`import type` and `export type` syntax](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-8.html#type-only-imports-and-exports).
To export a type in a different file use
`export type { AnInterface } from "./mod.ts";`. To import a type use
`import type { AnInterface } from "./mod.ts";`. You can check that you are using
`import type` and `export type` where necessary by setting the
`importsNotUsedAsValues` TypeScript compiler option to `"error"`. You can see an
example `tsconfig.json` with this option
[in the standard library](https://github.com/denoland/deno/blob/master/std/tsconfig_test.json).

Because there is no type information when using `--no-check`, `const enum` is
not supported because it is are type-directed. `--no-check` also does not
support the legacy `import =` and `export =` syntax.

### Using external type definitions

The out of the box TypeScript compiler though relies on both extension-less
Expand Down