Awesome Deno Overview
Curated list of awesome things related to Deno
🏠 Home · 🔥 Feed · 📮 Subscribe · ❤️ Sponsor · 😺 denolib/awesome-deno · ⭐ 4.2K · 🏷️ Platforms
Awesome Deno
Deno is a simple, modern and secure runtime for JavaScript and TypeScript that uses V8 and is built in Rust.
This list is a collection of the best Deno modules and resources.
Contents
- Docs
- Modules
- Registries
- Showcases
- Tools
- Integrations
- Articles
- Blogs/Newsletters
- Presentations
- Resources
- Resources in Other Languages
Docs
Official Docs
External Docs
Online Playgrounds
Modules
Automation
- autopilot (⭐486) - Autopilot - Cross-platform web automation with Deno.
- swissknife (⭐8) - SwissKnife - Deno Swiss Knife tools for Windows.
CLI utils
- cac (⭐2.6k) - Simple yet powerful framework for building command-line apps.
- charmd (⭐57) - A simple, extendable markdown renderer for your terminal.
- chart (⭐63) - Console ASCII line charts with no dependencies.
- cli-spinner (⭐58) - Show spinners in the terminal while running long tasks.
- cliffy (⭐903) - The complete solution for building interactive command-line tools.
- kia (⭐51) - Simple terminal spinners for Deno 🦕
- terminal_images (⭐51) - A Deno module and CLI tool for displaying images in the terminal.
- tui (⭐263) - Module which allows easy creation of Terminal User Interfaces.
- with-env (⭐4) - Simple command line utilty for executing commands with one or more .env files.
- yargs (⭐11k) - The modern, pirate-themed successor to optimist.
Cloud APIs
- aws-api - From-scratch Typescript AWS API client built for Deno.
- googleapis - Auto-generated Google API clients for Deno.
Database
- aloedb (⭐137) - Light, Embeddable, NoSQL database for Deno without dependencies.
- cotton (⭐138) - SQL Database Toolkit for deno
- dangoDB (⭐122) - A MongoDB ODM for Deno.
- denodb (⭐1.9k) - MySQL, SQLite, MariaDB, PostgreSQL and MongoDB ORM for Deno.
- deno_mongo (⭐509) - MongoDB database driver.
- deno_mysql (⭐257) - MySQL database driver.
- dndb (⭐75) - Persistent and embedable NoSQL database engine written for Deno 🦕.
- dongoose (⭐21) - A simple and easy to use ORM for Deno KV.
- dsddb (⭐13) - A dead simple persistant key-value database utilizing the JSON format.
- dso (⭐91) - A simple ORM library based on mysql.
- maxminddb (⭐8) - A library that enables the usage of MaxmindDB geoIP database files
- nessie (⭐524) - Create, migrate and rollback migrations for PostgreSQL, MySQL and SQLite.
- postgres (⭐582) - Driver for PostgreSQL database.
- r2d2 (⭐56) - Fast, lightweight Redis client library for Deno.
- redis (⭐454) - An experimental implementation of redis client for deno.
- sql-builder (⭐55) - An sql query builder.
- yongo (⭐7) - Subset of Mongoose api in deno (like populate) but will not fully copy mongoose
Editor framework
- Denops (⭐659) - 🐜 An ecosystem to write Vim/Neovim plugins with Deno.
Frontend development
- postcss (⭐55) - A tool for transforming styles with JS plugins.
Frontend framework
- aleph.js (⭐5.3k) - A React framework in Deno, inspired by Next.js.
- fresh (⭐12k) - The next-gen web framework.
- packup (⭐326) - Zero-config web application packager for Deno.
- ultra (⭐3k) - 💎 Modern Streaming React Framework in Deno.
Game engine
- caviar (⭐145) - ⚡ Blazing fast, modern, Game Engine powered by WebGPU for Deno and the browser
- neko (⭐46) - 🐈 caviar's twin frame buffer deno module with a framebuffer canvas implementation
- sdl2 (⭐129) - SDL2 module for Deno
Image
- ImageScript (⭐610) - Image processing in JavaScript, utilizing WebAssembly for performance.
- monke (⭐5) - Color quantization and dithering library with extra image filters (blur, invert, etc).
LLM
- duckduckgo-ai-chat (⭐15) - Providing Duckduckgo AI Chat API, which can use gpt-4o-mini for free.
Logging
- sentry_deno (⭐11) - Unofficial port of the Sentry SDK for JavaScript to Deno.
- dlog (⭐4) - A ussefull logger for the prompt with icons or simple version!
- LogTape (⭐139) - Simple logging library with zero dependencies for Deno/Node.js/Bun/browsers.
Machine learning
- classy-lala (⭐3) - Single-layer perceptrons for supervised learning tasks.
- netsaur (⭐198) - Powerful machine learning, accelerated by WebGPU
- synaptic (⭐14) - Dependency-less neural network library ported to deno
- appraisal (⭐4) - Feature extraction and conversion.
- deno-smtp (⭐78) - A smtp mail sender for deno.
Markdown
- marked (⭐8) - Markdown-to-HTML converter.
Math
- neo (⭐65) - Matrix and other math, accelerated by WebGPU
Static site generator
- lume (⭐1.8k) - A static site generator similar to Jekyll or Eleventy with support for multiple file formats.
- pagic (⭐1.6k) - The easiest way to generate static html page from markdown, built with Deno.
String utils
- camelcase (⭐8) - Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar.
- deno_case_style (⭐4) - String validator and formater for different case style. eg: camelCase etc.
- deno-json-colorizer (⭐4) - A library for colorizing JSON strings in Deno
- deno-prettystring (⭐7) - Format, trim and remove extra white spaces between characters from string.
- deno-slugify (⭐18) - A string slugifier for deno.
- normalize_diacritics (⭐14) - Remove accents/diacritics in string.
- written (⭐7) - A provides a set of utilities for manipulating text, with a focus on providing typographic tools rather than pure string manipulation.
Social Platform APIs
- grammY (⭐2.1k) - Telegram Bot API framework for Deno.
- grm (⭐46) - Telegram MTProto client for Deno.
- twi (⭐11) - Twitter API v2 client for Deno.
- discordeno - Discord API library for Deno
- MTKruto (⭐74) - Deno-first, cross-runtime client library for Telegram's MTProto API.
Template engine
- dejs (⭐143) - Ejs template engine for deno.
- deno_tiny_templates (⭐6) - Template renderer for deno.
- eta (⭐1.4k) - Fast, lightweight, and configurable embedded template engine.
- handlebars (⭐29) - Handlebars template engine for deno
- mustache (⭐7) - Mustache template engine for deno
Testing
- deno-puppeteer (⭐443) - A library which provides a high-level API to control Chromium or Chrome over the DevTools Protocol.
- expect (⭐45) - Helpers for writing jest like expect tests in deno.
- merlin (⭐50) - Testing and Benchmarking framework for deno 🧙♂️
- pretty_benching (⭐26) - A small library to make your Deno benchmarking progress and results look pretty.
- qunitx (⭐30) - Zero dependency, fully customizable, mature, universal test API that can run interchangably in node.js, Deno & browser, using default runtime test runners.
- rhum (⭐91) - A lightweight testing framework for Deno.
- superdeno (⭐122) - Super-agent driven library for testing Deno HTTP servers.
- superoak (⭐120) - HTTP assertions for Oak made easy via SuperDeno.
- tepi - A .http Test Runner
- tincan (⭐36) - A Jest-like testing library for Deno.
- unexpected (⭐371) - Extensible BDD assertion toolkit.
- unitest (⭐7) - Deno-first universal unit testing framework.
Utils
- bettermap (⭐15) - A TypeScript extension of the JavaScript Map with Array-like features.
- beno (⭐3) - A configuration manager typed and faster for Deno Inspired in Viper of Golang
- buckets (⭐25) - Bundle assets and scripts in a single executable file.
- bytes_formater (⭐8) - Format bytes (Uint8Array, ArrayBufferView, etc) output, useful when debugging IO functions.
- coffee (⭐33) - Deno Configuration - a type-safe, easy to use Deno config manager.
- colors (⭐5) - Color conversions and operations in TypeScript.
- croner (⭐2k) - Cron library with advanced scheduling features, well-documented API, and zero dependencies.
- computed_types (⭐365) - Joi like validators for Typescript and Deno.
- dcc (⭐11) - Deno Cache Clean, reloading deps when next running.
- denon (⭐1.1k) - A file watcher with a for-await generator.
- deno-config (⭐6) - Utility to streamline deno app configuration management through cli, .env and json files
- deno-context (⭐6) - Propagate deadlines, a cancellation and other request-scoped values to multiple promise. The behaviour is like Go's context.
- deno_cron (⭐100) - A cron Job scheduler that allows you to write human readable cron syntax with tons of flexibility
- deno-deamon (⭐14) - Make the Deno program run in the background.
- deno-dotenv
- pietvanzoen/deno-dotenv (⭐149) - Dotenv handling for deno.
- cardosomarcos/deno-dotenv (⭐8) - Loads environment variables from .env for Deno projects.
- deno-envconfig (⭐2) - Configuration management utility.
- deno-fnparse (⭐11) - An extremely simple parser combinator for JavaScript.
- deno-globrex (⭐7) - Port of globrex to deno, glob to regular expression.
- deno_notify (⭐46) - Send desktop notifications on all platforms.
- deno-opn (⭐40) - Opens stuff like websites, files, executables. Cross-platform.
- deno-plugin-prepare (⭐47) - A library for managing Deno native plugin dependencies.
- deno_random_interval (⭐1) - Helper to generate random interval.
- deno_tokenizer (⭐15) - A simple tokenizer for deno.
- deno-using (⭐11) - An python-style with statements for deno.
- deno-validation (⭐2) - A general purpose validation library for Deno.
- dinoenv - tiny library to manage environment variables with deno.
- durationjs (⭐21) - Get formatted time duration from a timestamp or a human-readable string.
- draco (⭐3) - File and folder multiplatform utils for Deno!
- ensure (⭐3) - Ensure you are running a minimum version of Deno, Typescript, or V8.
- evt (⭐451) - Type safe replacement for EventEmitter.
- fastest-validator (⭐1.4k) - Schema validator for all javascript platforms
- fortuna (⭐20) - Weighted gacha system.
- fossil (⭐4) - A value-type validation suite.
- garn-yaml (⭐2) - Read or write yaml interpolating env variables.
- garn-validator (⭐41) - Create validations with ease.
- invert-kv (⭐3) - Invert key-value pairs in Deno.
- lazy (⭐31) - A linq-like lazy-evaluation iteration module.
- locale-kit (GitHub (⭐6)) - A internationalisation/localisation/translation (i18n/l10n/t9n) library with a wrapper for Fresh and support for plurals and dynamic replacement.
- maze_generator (⭐37) - Javascript module for generating, solving, analyzing and displaying mazes.
- ms (⭐17) - Easily convert various time formats to milliseconds.
- online (⭐7) - Check if you're currently online in Deno.
- optionals (⭐176) - Rust-like error handling and options with exhaustive pattern matching.
- qrcode (⭐44) - QR code image generator for Deno.
- recursive-readdir (⭐10) - Recursively read directories in Deno.
- rubico (⭐271) - 🏞 [a]synchronous function composition; it just works.
- solc (⭐72) - 💎 Solidity bindings for Deno.
- switcher4deno (⭐2) - Feature Flag Deno SDK client for Switcher-API.
- tryify (⭐6) - Functional style error handling; never throw/try/catch/finally again.
- type-fest (⭐14) - A collection of essential TypeScript types (port of sindresorhus/type-fest).
- unified-deno-lock (⭐1) - Powerful and simple lock (mutex) library to handle race conditions with zero dependencies
- wasm-gzip (⭐19) - Perform gzip operations for Deno.
- watch (⭐44) - A file watcher.
- wu-diff-js (⭐17) - A diff library to compute differences between two slices using wu(the O(NP)) algorithm.
- PLS (⭐9) - Use 2 lines to persist localStorage in any database, including, but not limited to, MongoDB, PostgreSQL and Redis.
Validation
- zod (⭐32k) - TypeScript-first schema validation with static type inference.
Video
- Fast Forward (⭐47) - An easy to use ffmpeg module for Deno. 🦕
Web framework
- aqua (⭐217) - A minimal and fast web framework for Deno.
- alosaur (⭐808) - Alosaur - Deno web framework with many ES Decorators.
- danet (⭐217) - A Savory web framework for Deno heavily inspired by Nest.js.
- drash (⭐1.1k) - A REST microframework for Deno's HTTP server with zero dependencies.
- faster (⭐34) - A fast and optimized middleware server with a set of useful middlwares.
- hono (⭐17k) - Ultrafast web framework for Cloudflare Workers, Deno, and Bun. Fast, but not only fast.
- oak (⭐5.1k) - A middleware framework for Deno's net server.
- oak-http-proxy (⭐42) - Proxy middleware for Deno Oak HTTP servers.
- oak-routing-ctrl (⭐3) - TypeScript Decorators for easy scaffolding API services with the oak framework.
- opine (⭐855) - Fast, minimalist web framework ported from ExpressJS.
- opine-http-proxy (⭐14) - Proxy middleware for Deno Opine HTTP servers.
- wren (⭐75) - A small, but powerful HTTP library with a functional spin for creating composable web apps, built for convenience and simplicity
- primate - A polymorphic development platform
WebSocket
- deno-websocket (⭐152) - 🦕 A simple WebSocket library like ws of node.js library.
- dropper (⭐26) - Custom event-based WebSockets framework for building real-time apps on Deno 🦕
- websocket_server (⭐9) - A WebSocket server library.
- wocket (⭐104) - A WebSocket library for Deno.
Web utils
- compression (⭐38) - Deno HTTP compression middleware.
- djwt (⭐219) - Make JSON Web Tokens (JWT) on Deno based on JWT and JWS specifications.
- forwarded (⭐9) - Deno port of
forwarded
library. - fresh_chart (⭐134) - A server-side-rendered charting library for Fresh.
- gentleRpc (⭐45) - A JSON-RPC 2.0 TypeScript library for Deno and the browser.
- gql (⭐190) - Universal GraphQL HTTP middleware.
- graphql-tag (⭐9) - GraphQL schema AST from template literal.
- nats (⭐158) - A Deno client for the NATS messaging system.
- obsidian (⭐750) - A native GraphQL caching client and server module.
- qs (⭐5) - A query string parser with nesting support.
- react-icons - React Icons converted to preact for deno fresh.
- router (⭐55) - A high-performance basic router works anywhere.
- rpc (⭐23) - JSONRPC server implementation for Deno.
- status (⭐15) - HTTP codes and status utility for Deno.
- squishy_cookies (⭐15) - Easily sign and verify cookies.
- ts-prometheus (⭐32) - A prometheus client.
- up (⭐13) - Check if a website is up in Deno.
- youtube-deno (⭐43) - A Deno client library for the YouTube Data API for any interaction with YouTube.
Webview
- Astrodon (⭐927) - Modular framework for building native multi-platform apps with Deno and webview.
- webview (⭐1.4k) - Deno bindings for webview, a tiny library for creating web-based desktop GUIs.
XML
- deno-xml-parser (⭐21) - Deno XML parser ported from segmentio/xml-parser.
- sax-ts (⭐16) - SAX-style XML parser ported from sax-js (⭐1.1k).
Registries
- crux.land - A free registry service meant for hosting small ( < 10kB) single deno scripts.
- Deno PKG - An easier way to use code from GitHub in your Deno project.
- Denopkg.dev - Use any public/private repository from GitHub/GitLab in your Deno project.
- deno.land/x/ - The official 3rd party module registry.
- nest.land - An immutable, blockchain powered Deno package registry. 🥚
Showcases
- Deno Rest (⭐147) - A Boilerplate for deno RESTful apis.
- Deno Seed (⭐55) - Complete boilerplate for development. 🌱
- Edrys (⭐295) - Remote Teaching Software
- Fresh Showcase - The official showcase of Fresh apps.
- GitHub Profile Trophy (⭐5k) - 🏆 Add dynamically generated GitHub Trophy on your readme
- Saleor Deno Merch (⭐32) - A fork of the original Deno Merch e-commerce website, rebuilt with Saleor (⭐20k).
- The Official Showcase - The official showcase of Deno.
- UsingDeno - Curated list of Web Applications & Projects using Deno 🦕.
Tools
- clone (⭐4) - A simple utility for the convenient clone.
- decense (⭐6) - Generate a license with one
deno run
command. - dedep (⭐66) - Manage dependency versions.
- denoflow (⭐275) - Configuration as code, use YAML to write automated workflows that run on Deno, with any Deno modules, Typescript/Javascript codes
- denoify (⭐920) - For NPM module authors that would like to support Deno but do not want to write and maintain a port.
- denoinit (⭐30) - Denoinit generates useful files for Deno project.
- denoliver (⭐98) - A simple, dependency free file server with live reload.
- denomander (⭐148) - Deno command-line interfaces inspired from commander.js.
- denon (⭐1.1k) - A daemon script runner, like nodemon. Built in and for Deno.
- denopendabot - Dependabot for Deno projects.
- denopkg (⭐240) - An easier way to use code from GitHub in your Deno project.
- denoversion (⭐7) - SemVer and git version management for Deno.
- denox (⭐139) - Like packages.json scripts, but for Deno with permissions support.
- deno.mk (⭐15) - Cross-platform Makefile for installing and running Deno.
- deno_docker (⭐876) - Latest dockerfiles and images for Deno - alpine, centos, debian, ubuntu.
- dev_server (⭐22) - Let TypeScript files be used directly in the script tag.
- dmm (⭐59) - Lightweight Deno Module Manager
- dnt (⭐1.2k) - Deno to npm package build tool.
- dpm
- BoltDoggy/deno#dpm (⭐11) - Deno Package Manager, install global command for deno. like denoget.
- dpmland/dpm (⭐41) - Deno Package Manager, a NPM | Yarn Experience for Deno
- dvm
- asdf-community/asdf-deno - Deno plugin for asdf
- justjavac/dvm (⭐625) - Deno Version Manager: manage multiple active Deno versions.
- axetroy/dvm (⭐167) - Version manger for Deno without runtime dependencies.
- dvm.cmd (⭐2) - Deno Version Manager for Windows. Written as a single batch file.
- ghosind/dvm (⭐34) - A lightweight Deno Version Manager for Linux/MacOS.
- entype (⭐2) - A CLI tool used to generate type definitions for serialised data, currently supporting JSON to Rust and TypeScript.
- kopo-cli (⭐18) - A Deno registry browser in the terminal.
- make-deno-edition (⭐42) - Automatically makes package.json projects (such as npm packages and node.js modules) compatible with Deno.
- packer-provisioner-deno (⭐5) - A Packer plugin that makes it easy to build virtual machine images with Deno scripts.
- pre-commit-deno (⭐6) - pre-commit git hooks for Deno projects.
- pup (⭐144) - Advanced process manager for Deno. With autorestart, fs watch, cron start, process telemetry, ipc, clustering, load balancer and more.
- starter (⭐28) - Deno module starter template with GitHub Actions CI
- trex (⭐737) - Package management like npm for deno.
- udd (⭐327) - Update Deno dependencies: updates import statements to their latest published version.
- velociraptor (⭐682) - An npm-style script runner for Deno.
- vscode-deno (⭐1.5k) - VS Code extension that provides Deno support using the
TypeScript Deno language service plugin
. - vscode-deno-starter (⭐2) - VS Code project boilerplate to get started with Deno.
- denofn-selfhosted (⭐30) - Self-hosted Deno functions, made with Deno and Docker.
Integrations
- Slack Custom Functions - Build custom Run On Slack functions using Deno.
- Netlify Edge Functions - Edge Functions connect the Netlify platform and workflow.
- Supabase Edge Functions - Edge Functions are server-side TypeScript functions, distributed globally at the edge.
- Astro - Deploy a server-side rendered Astro site to Deno Deploy.
Blogs/Newsletters
- Craig's Deno Diary - A blog focussing on Deno tech & lib howtos.
- Deno Blog - The official blog of the Deno Company.
- Deno News - A newsletter of Deno articles, news and cool projects.
Articles
- Develop with Deno and Visual Studio Code
- First thoughts on Deno, the JavaScript/TypeScript run-time
- Getting started with Deno
- What's Deno, and how is it different from Node.js?
- Write a small API using Deno
- Deno on Cloud Run
- Learn Deno: Chat app
- From Node to Deno
- Create a simple Note-taking app with Deno
- Building API's using Deno, Oak and MYSQL
- Create your first News CLI app using Deno
- Continuous Integration with Deno
- The Hidden Superpower of Deno: xeval
- Test coverage in Deno with Codecov and GitHub Actions
- Deno REST API with Oak Tutorial Series 0, 1, 2
- Getting Started with Deno
- How to deploy a Deno app using Docker
Presentations
- 10 Things I Regret About Node.js - Ryan Dahl - JSConf EU 2018
- JSDC 2018#A01 - Deno, A New Server-Side Runtime By Ryan Dahl
- Ryan Dahl. Deno, a new way to JavaScript. JS Fest 2019 Spring
- Rafał Pocztarski — From Node.js to Deno - JavaScript/TypeScript runtime built with V8 and Rust [EN]
- Ryan Dahl: A secure runtime for JavaScript and TypeScript | js.la April 2019
- Ryan Dahl: Deno, a new way to JavaScript - HolyJS 2019 Piter
- Rafał Pocztarski - What is Deno? A new runtime for modern JavaScript and TypeScript backends for 2020s - Deno Warsaw
- Michał Sabiniarz - How to contribute to Deno? - Deno Warsaw
- Bartek Iwańczuk - Deno internals, how modern runtime is built - Deno Warsaw
- Ryan Dahl & Kitson Kelly: Deno is a New Way to JavaScript - TSConf 2019
- Bert Belder - Deno - dotJS 2019
- Kitson P. Kelly - Deno, and The Future of JavaScript Runtimes - CityJS Conf 2020
- Matías Insaurralde - Deno: an experimental approach on V8 interoperability [EN subtitles] - NodeConf Argentina 2019
Resources
Books
Resources in Other Languages
Chinese
- Deno 并不是下一代 Node.js
- 玩 Deno 遇到问题的解决方案
- 让我们一起来学习别人学不动的 Deno
- Design Mistakes in Node zh-CN
- Node之父ry:Node中的设计错误
- 《Deno进阶开发笔记》 (⭐661)
- Deno 手册 (⭐294)
- Deno 中文开发者社区
- Node之父 - Deno,一个新的JS运行时
Hebrew
Indonesian
Italian
Japanese
- deno-ja - Deno Japanese User Group.
- Node.js における設計ミス By Ryan Dahl
- mizchi/deno_code_reading.md
- Design Mistakes in Node & Deno #kng5 / deno
- Dive into Deno:プロセス起動からTypeScriptが実行されるまで
Korean
- Deno Korea - Deno Korean User Group.
Russian
Spanish
- Hola Deno! . 🦕
- Así puedes crear tu primera API REST con Deno
- Primeros pasos con Deno 🦕 El sucesor de NodeJS desarrollado con Rust y TypeScript
- Primer vistazo con deno