{"id":21851845,"url":"https://github.com/nberlette/type","last_synced_at":"2026-02-25T13:01:25.330Z","repository":{"id":61098017,"uuid":"547021431","full_name":"nberlette/type","owner":"nberlette","description":"TypeScript runtime utilities infused with powerful compile-time features. Available on JSR under the `@type/*` scope.","archived":false,"fork":false,"pushed_at":"2025-03-18T06:52:59.000Z","size":201,"stargazers_count":2,"open_issues_count":13,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-08T00:13:08.504Z","etag":null,"topics":["compile-time-reflection","deno","jsr","npm","string-manipulation","strongly-typed","type-safety","typescript","utilities"],"latest_commit_sha":null,"homepage":"https://jsr.io/@type","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nberlette.png","metadata":{"files":{"readme":null,"changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"ko_fi":"nberlette"}},"created_at":"2022-10-07T02:43:17.000Z","updated_at":"2025-03-18T06:53:03.000Z","dependencies_parsed_at":"2024-09-16T15:19:20.692Z","dependency_job_id":"33edac4d-8f86-43c2-b6b4-ee41df2496f0","html_url":"https://github.com/nberlette/type","commit_stats":null,"previous_names":["nberlette/type","deno911/typedefs"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nberlette%2Ftype","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nberlette%2Ftype/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nberlette%2Ftype/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nberlette%2Ftype/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nberlette","download_url":"https://codeload.github.com/nberlette/type/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nberlette%2Ftype/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259166891,"owners_count":22815585,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compile-time-reflection","deno","jsr","npm","string-manipulation","strongly-typed","type-safety","typescript","utilities"],"created_at":"2024-11-28T01:11:37.997Z","updated_at":"2026-02-25T13:01:20.312Z","avatar_url":"https://github.com/nberlette.png","language":"TypeScript","funding_links":["https://ko-fi.com/nberlette"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# [![deno911/typedefs - Type Guards and Utilities for Deno and Deno Deploy](https://raw.githubusercontent.com/deno911/typedefs/main/.github/banner.png)](https://deno.land/x/typedefs)\n\n\u003c/div\u003e\u003cbr\u003e\n\n## Schemas\n\n\u003e **Note**: You can also import any type from the default module, `./mod.ts`\n\n### deno.json\n\n```ts\nimport { type DenoJson } from \"https://deno.land/x/typedefs@0.0.1/deno-json.d.ts\";\n```\n\n#### `DenoJson`\n\n```ts\ninterface DenoJson {\n  $schema: \"https://denopkg.com/denoland/deno/cli/schemas/config-file.v1.json\";\n  compilerOptions: {\n    allowJs: boolean;\n    allowUnreachableCode: boolean;\n    allowUnusedLabels: boolean;\n    checkJs: boolean;\n    experimentalDecorators: boolean;\n    ... 22 more ...;\n    suppressImplicitAnyIndexErrors?: boolean;\n  };\n  importMap: string;\n  fmt: DenoJson.Fmt;\n  lint: DenoJson.Lint;\n  tasks: DenoJson.Tasks;\n  test: DenoJson.Test;\n}\n```\n\n### import_map.json\n\nType for [deno's `import_map.json` file](https://deno.land/manual@v1.6.0/linking_to_external_code/import_maps).\n\n```ts\nimport { type ImportMapJson } from \"https://deno.land/x/typedefs@0.0.1/import-map-json.d.ts\";\n```\n\n#### `ImportMapJson`\n\n```ts\ninterface ImportMap {\n  $schema:\n    \"https://denopkg.com/denoland/vscode_deno/schemas/import_map.schema.json\";\n  imports: {\n    [specifier: string]: string;\n  };\n  scopes: {\n    [scope: string]: {\n      [specifier: string]: string;\n    };\n  };\n}\n```\n\n### egg.json (or egg.yaml)\n\nType for [nest.land's `egg.json` file](https://docs.nest.land/eggs/configuration) used by the `eggs` CLI.\n\n```ts\nimport { type EggJson } from \"https://deno.land/x/typedefs@0.0.1/egg-json.d.ts\";\n```\n\n#### `EggJson`\n\n```ts\ninterface EggJson {\n  $schema: \"https://x.nest.land/eggs@0.3.10/src/schema.json\";\n  name: string;\n  description: string;\n  repository: string;\n  homepage: string;\n  ... 12 more ...;\n  checkTests: boolean | string;\n}\n```\n\n### package.json\n\nType for [npm's `package.json` file](https://docs.npmjs.com/creating-a-package-json-file). Also includes types for fields used by other popular projects, like TypeScript, PNPM, Yarn. Based on the [type-fest](https://github.com/sindresorhus/type-fest) package.json definition by Sindre Sorhus, with some added support for PNPM.\n\n```ts\nimport { type PackageJson } from \"https://deno.land/x/typedefs@0.0.1/package-json.d.ts\";\n```\n\n#### `PackageJson`\n\n```ts\ninterface PackageJson {\n  name?: string | undefined;\n  version?: string | undefined;\n  description?: string | undefined;\n  keywords?: string[] | undefined;\n  homepage?: \".\" | {} | undefined;\n  bugs?: string | {\n      url?: string | undefined;\n      email?: string | undefined;\n  } | undefined;\n  ... 44 more ...;\n  pnpm?: {\n      ...;\n  } | undefined;\n}\n```\n\n### tsconfig.json\n\nType for [TypeScript's `tsconfig.json` file](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html) (TypeScript 3.7).\n\n```ts\nimport { type TsConfigJson } from \"https://deno.land/x/typedefs@0.0.1/tsconfig-json.d.ts\";\n```\n\n\u003e **Note**: Taken from the [type-fest](https://github.com/sindresorhus/type-fest) project by Sindre Sorhus.\n\n#### `TsConfigJson`\n\n```ts\ninterface TsConfigJson {\n  compilerOptions?: {\n      charset?: string | undefined;\n      composite?: boolean | undefined;\n      declaration?: boolean | undefined;\n      declarationDir?: string | undefined;\n      diagnostics?: boolean | undefined;\n      ... 97 more ...;\n      explainFiles?: boolean | undefined;\n  } | undefined;\n  ... 7 more ...;\n  references?: {\n      ...;\n  }[] | undefined;\n}\n```\n\n---\n\n## Contributing\n\nThis section assumes you have [**the GitHub CLI**](https://cli.github.com).\n\n### Open in GitHub Codespaces\n\nCreate a new instance with the GitHub CLI, or just create one from your\nrepository homepage on github.com.\n\n```sh\ngh codespace create --repo deno911/typedefs\n```\n\n### [Open in a Gitpod Workspace](https://gitpod.io/#https://github.com/deno911/typedefs)\n\nOpen a new workspace by prepending `https://gitpod.io/#` to your repository URL\nand visiting it in your browser:\n\n```md\nhttps://gitpod.io/#https://github.com/deno911/typedefs\n```\n\n### Fork and clone the repository locally\n\n```sh\ngh repo fork deno911/typedefs --clone\n```\n\n### Create a new branch for your changes\n\n```sh\ngit checkout -b fix/typo-in-readme\n```\n\n### Make small changes and concise commits\n\n```sh\n# hack hack hack...\n\ngit commit README.md -m \"fix: typos in README.md\" \u0026\u0026 git push\n```\n\n\u003e **Note**: keep the scope of your changes relevant and concise.\n\n### If fixing a bug, create an Issue\n\nUnless, of course, you're fixing a bug for which an issue already exists!\n\nThis allows the issue to be connected to your Pull Request, creating a permanent\nrecord of your contribution to the project. It also makes it easier for\nmaintainers to track project progression.\n\nCreating an issue also ensures you're given proper credit for fixing that bug ;)\n\n### Open a Pull Request\n\n```sh\ngh pr create --title \"fix: typos in README.md\"\n```\n\n**Or just open your repo on GitHub.com and follow the prompts.**\n\n\u003e **Warning**: make sure you select the upstream repo for your PR!\n\n\u003cbr\u003e\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n### [🅓🅔🅝🅞⑨①①][deno911]\n\n\u003c/div\u003e\n\n[deno.land]: https://deno.land \"Deno.land - Official Module Registry\"\n[deno911]: https://github.com/deno911 \"Projects by deno911 on GitHub\"\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnberlette%2Ftype","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnberlette%2Ftype","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnberlette%2Ftype/lists"}