Deno Third Party Modules
deno.land/x is a hosting service for Deno scripts. It caches releases of open-source modules stored on GitHub and serves them at an easy-to-remember domain.
Deno can import modules from any location on the web, like GitHub, a personal webserver, or a CDN like esm.sh, Skypack, jspm.io or jsDelivr.
To make it easier to consume third party modules Deno provides some built in tooling like deno info and deno doc.
- value_schemasimple, easy-to-use, and declarative input validator; supports Node.js, TypeScript, Deno, and Bun
- zod_to_json_schemaConverts Zod schemas to Json schemas
- json_schema_typedJSON Schema TypeScript definitions with complete inline documentation.
- ts_matches_json_schemaNo description
- sqlite_schemaNo description
- schema_validatorjson validator for deno
- schema_org_typesTypes for schema.org with JSON-LD
- schema_jsUniversal, tiny schema for JavaScript data types
- open_schemasDefine schemas for various LLMs using schema validation tools.
- matches_json_schemaNo description
- json_schemas_for_denoJSON Schemas for Deno developers
- json_schema_traverseTraverse JSON Schema passing each schema object to callback
- json_schema_to_tsInfer TS types from JSON schemas 📝
- json_schema_aotAhead-of-time code generator for JSON Schema validation and type declarations
- fatfishlab_lume_plugin_schemaNo description
- deno_mongo_schemaExtend from deno_mongo, support Schema and extend some API
- config_schema_testNo description
- zodTypeScript-first schema validation with static type inference
- valibotThe modular and type safe schema library for validating structural data 🤖
- graphql_tools[DEPRECATED] 🦕 Useful tools to create and manipulate GraphQL schemas. Deno port of `graphql-tools` library
Q&A
Can I still publish to deno.land/x?
No. deno.land/x is now read-only. Existing modules and versions remain available and immutable, but no new modules or versions can be published here. New packages should be published to JSR, the modern registry for Deno and the broader JavaScript ecosystem.
How do I use modules on deno.land/x?
The basic format of code URLs is https://deno.land/x/IDENTIFIER@VERSION/FILE_PATH. If you leave out the version it will be defaulted to the most recent version released for the module.
Can I find functionality built-in to Deno here?
No, the built-in runtime is documented on deno doc and in the manual. See /std for the standard modules.
I am getting a warning when importing from deno.land/x!
deno.land/x warns you when you are implicitly importing the latest version of a module (when you do not explicitly specify a version). This is because it can be unsafe to not tag dependencies. To get rid of the warning, explicitly specify a version.
Can I edit or remove a module on deno.land/x?
Module versions are persistent and immutable. It is thus not possible to edit or delete a module (or version), to prevent breaking programs that rely on this module. Modules may be removed if there is a legal reason to do (for example copyright infringement).
A module is name-squatting or its just made as a joke, can I have it?
deno.land/x is now read-only, so module names can no longer be claimed or reassigned. To publish a new, well-maintained module, use JSR instead.
