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.
- http_requesthttp requests for everything
- http_render_fnsFunctions to help render content, accompanies deno_http_fns
- http_proxy_fnsNo description
- http_problem_detailsThis library implements HTTP Problem details (RFC 7807) for HTTP APIs build with Node.js.
- http_middlewareHTTP middleware specification
- http_loggerDeno Logger middleware
- http_logHTTP request and response log middleware and format utilities
- http_instanceNo description
- http_header_dbHTTP header field database
- http_graphql_playgroundHTTP request for graphql-playground with standard Request and Response
- http_fnsA bunch of functions for building HTTP servers
- http_etagETag middleware for standard Request and Response
- http_errorAn error class for HTTP requests.
- http_eceHTTP Encrypted Content-Encoding (RFC 8188) for Deno and web browsers
- http_corsCORS middleware for standard Request and Response
- http_content_minifyHTTP message content minification middleware for standard request and response
- http_content_lengthHTTP Content-Length header middleware for standard request and response
- http_conditional_requestsHTTP Conditional Requests middleware for Fetch API
- http_compression🗜️ Deno HTTP compression middleware
- http_compressCompress HTTP response, supported Web standard compression methods
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 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.
