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.
- graphql_tag🦕 Create a GraphQL schema AST from template literal. Deno port of `graphql-tag` library
- view_engine🚀A Template View Engine for Deno frameworks
- handlebarsHandlebars template engine for Deno
- mustacheTemplate render
- proper_tags🔖 Useful template literal tags for dealing with string (common-tags rebooted)
- usefultagsA tiny JavaScript library providing some useful template tag functions.
- pugPug template engine for deno(for proper typing definition)
- vokstypescript templating language based on async generators and template literals
- die_bartA template engine similar to mustache and handlebars, but slightly different
- wingsTemplate engine for Deno projects.
- vento_plugin_trim_selfAutomatically remove a trailing newline and indent around each template tag for Vento, intelligently, based on context.
- vento_plugin_fragmentsPlugin that adds template fragments to the Vento template engine.
- tstlTypeScript-STL (Standard Template Library, migrated from C++)
- tmpletA compact, high-performance and full-featured template engine.
- sttylStyle templates for console.log
- staggardstreamable tagged template literal view rendering
- sql_tagJS tagged template literals for prepared SQL statements.
- soteA modern JavaScript Framework for static HTML templates.
- smxManage and sync scripts, configs and templates between computers
- repacktemplate pack tool
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.
