Schemas
Note: You can also import any type from the default module,
./mod.ts
deno.json
import { type DenoJson } from "https://deno.land/x/[email protected]/deno-json.d.ts";
DenoJson
interface DenoJson {
$schema: "https://denopkg.com/denoland/deno/cli/schemas/config-file.v1.json";
compilerOptions: {
allowJs: boolean;
allowUnreachableCode: boolean;
allowUnusedLabels: boolean;
checkJs: boolean;
experimentalDecorators: boolean;
... 22 more ...;
suppressImplicitAnyIndexErrors?: boolean;
};
importMap: string;
fmt: DenoJson.Fmt;
lint: DenoJson.Lint;
tasks: DenoJson.Tasks;
test: DenoJson.Test;
}
import_map.json
Type for deno's import_map.json
file.
import { type ImportMapJson } from "https://deno.land/x/[email protected]/import-map-json.d.ts";
ImportMapJson
interface ImportMap {
$schema:
"https://denopkg.com/denoland/vscode_deno/schemas/import_map.schema.json";
imports: {
[specifier: string]: string;
};
scopes: {
[scope: string]: {
[specifier: string]: string;
};
};
}
egg.json (or egg.yaml)
Type for nest.land's egg.json
file used by the eggs
CLI.
import { type EggJson } from "https://deno.land/x/[email protected]/egg-json.d.ts";
EggJson
interface EggJson {
$schema: "https://x.nest.land/[email protected]/src/schema.json";
name: string;
description: string;
repository: string;
homepage: string;
... 12 more ...;
checkTests: boolean | string;
}
package.json
Type for npm's package.json
file. Also includes types for fields used by other popular projects, like TypeScript, PNPM, Yarn. Based on the type-fest package.json definition by Sindre Sorhus, with some added support for PNPM.
import { type PackageJson } from "https://deno.land/x/[email protected]/package-json.d.ts";
PackageJson
interface PackageJson {
name?: string | undefined;
version?: string | undefined;
description?: string | undefined;
keywords?: string[] | undefined;
homepage?: "." | {} | undefined;
bugs?: string | {
url?: string | undefined;
email?: string | undefined;
} | undefined;
... 44 more ...;
pnpm?: {
...;
} | undefined;
}
tsconfig.json
Type for TypeScript's tsconfig.json
file (TypeScript 3.7).
import { type TsConfigJson } from "https://deno.land/x/[email protected]/tsconfig-json.d.ts";
Note: Taken from the type-fest project by Sindre Sorhus.
TsConfigJson
interface TsConfigJson {
compilerOptions?: {
charset?: string | undefined;
composite?: boolean | undefined;
declaration?: boolean | undefined;
declarationDir?: string | undefined;
diagnostics?: boolean | undefined;
... 97 more ...;
explainFiles?: boolean | undefined;
} | undefined;
... 7 more ...;
references?: {
...;
}[] | undefined;
}
Contributing
This section assumes you have the GitHub CLI.
Open in GitHub Codespaces
Create a new instance with the GitHub CLI, or just create one from your repository homepage on github.com.
gh codespace create --repo deno911/typedefs
Open in a Gitpod Workspace
Open a new workspace by prepending https://gitpod.io/#
to your repository URL and visiting it in your browser:
https://gitpod.io/#https://github.com/deno911/typedefs
Fork and clone the repository locally
gh repo fork deno911/typedefs --clone
Create a new branch for your changes
git checkout -b fix/typo-in-readme
Make small changes and concise commits
# hack hack hack...
git commit README.md -m "fix: typos in README.md" && git push
Note: keep the scope of your changes relevant and concise.
If fixing a bug, create an Issue
Unless, of course, you're fixing a bug for which an issue already exists!
This allows the issue to be connected to your Pull Request, creating a permanent record of your contribution to the project. It also makes it easier for maintainers to track project progression.
Creating an issue also ensures you're given proper credit for fixing that bug ;)
Open a Pull Request
gh pr create --title "fix: typos in README.md"
Or just open your repo on GitHub.com and follow the prompts.
Warning: make sure you select the upstream repo for your PR!