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
Official Docs
External Docs
Online Playgrounds
Modules
Automation
-
autopilot
- Autopilot - Cross-platform web automation with Deno.
-
swissknife
- SwissKnife - Deno Swiss Knife tools for Windows.
CLI utils
-
cac
- Simple yet powerful framework for building command-line apps.
-
charmd
- A simple, extendable markdown renderer for your terminal.
-
chart
- Console ASCII line charts with no dependencies.
-
cli-spinner
- Show spinners in the terminal while running long tasks.
-
cliffy
- The complete solution for building interactive command-line tools.
-
kia
- Simple terminal spinners for Deno 🦕
-
terminal_images
- A Deno module and CLI tool for displaying images in the terminal.
-
tui
- Module which allows easy creation of Terminal User Interfaces.
-
with-env
- Simple command line utilty for executing commands with one or more .env files.
-
yargs
- 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
- Light, Embeddable, NoSQL database for Deno without dependencies.
-
cotton
- SQL Database Toolkit for deno
-
dangoDB
- A MongoDB ODM for Deno.
-
denodb
- MySQL, SQLite, MariaDB, PostgreSQL and MongoDB ORM for Deno.
-
deno_mongo
- MongoDB database driver.
-
deno_mysql
- MySQL database driver.
-
dndb
- Persistent and embedable NoSQL database engine written for Deno 🦕.
-
dongoose
- A simple and easy to use ORM for Deno KV.
-
dsddb
- A dead simple persistant key-value database utilizing the JSON format.
-
dso
- A simple ORM library based on mysql.
-
maxminddb
- A library that enables the usage of MaxmindDB geoIP database files
-
nessie
- Create, migrate and rollback migrations for PostgreSQL, MySQL and SQLite.
-
postgres
- Driver for PostgreSQL database.
-
r2d2
- Fast, lightweight Redis client library for Deno.
-
redis
- An experimental implementation of redis client for deno.
-
sql-builder
- An sql query builder.
-
yongo
- Subset of Mongoose api in deno (like populate) but will not fully copy mongoose
Editor framework
-
Denops
- 🐜 An ecosystem to write Vim/Neovim plugins with Deno.
Frontend development
-
postcss
- A tool for transforming styles with JS plugins.
Frontend framework
-
aleph.js
- A React framework in Deno, inspired by Next.js.
-
fresh
- The next-gen web framework.
-
packup
- Zero-config web application packager for Deno.
-
ultra
- 💎 Modern Streaming React Framework in Deno.
Game engine
-
caviar
- ⚡ Blazing fast, modern, Game Engine powered by WebGPU for Deno and the browser
-
neko
- 🐈 caviar’s twin frame buffer deno module with a framebuffer canvas implementation
-
sdl2
- SDL2 module for Deno
Image
-
ImageScript
- Image processing in JavaScript, utilizing WebAssembly for performance.
-
monke
- Color quantization and dithering library with extra image filters (blur, invert, etc).
LLM
-
duckduckgo-ai-chat
- Providing Duckduckgo AI Chat API, which can use gpt-4o-mini for free.
Logging
-
sentry_deno
- Unofficial port of the Sentry SDK for JavaScript to Deno.
-
dlog
- A ussefull logger for the prompt with icons or simple version!
-
LogTape
- Simple logging library with zero dependencies for Deno/Node.js/Bun/browsers.
Machine learning
-
classy-lala
- Single-layer perceptrons for supervised learning tasks.
-
netsaur
- Powerful machine learning, accelerated by WebGPU
-
synaptic
- Dependency-less neural network library ported to deno
-
appraisal
- Feature extraction and conversion.
Mail
Markdown
-
marked
- Markdown-to-HTML converter.
Math
-
neo
- Matrix and other math, accelerated by WebGPU
Static site generator
-
lume
- A static site generator similar to Jekyll or Eleventy with support for multiple file formats.
-
pagic
- The easiest way to generate static html page from markdown, built with Deno.
String utils
-
camelcase
- Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar.
-
deno_case_style
- String validator and formater for different case style. eg: camelCase etc.
-
deno-json-colorizer
- A library for colorizing JSON strings in Deno
-
deno-prettystring
- Format, trim and remove extra white spaces between characters from string.
-
deno-slugify
- A string slugifier for deno.
-
normalize_diacritics
- Remove accents/diacritics in string.
-
written
- A provides a set of utilities for manipulating text, with a focus on providing typographic tools rather than pure string manipulation.
-
grammY
- Telegram Bot API framework for Deno.
-
grm
- Telegram MTProto client for Deno.
-
twi
- Twitter API v2 client for Deno.
-
discordeno - Discord API library for Deno
-
MTKruto
- Deno-first, cross-runtime client library for Telegram’s MTProto API.
Template engine
-
dejs
- Ejs template engine for deno.
-
deno_tiny_templates
- Template renderer for deno.
-
eta
- Fast, lightweight, and configurable embedded template engine.
-
handlebars
- Handlebars template engine for deno
-
mustache
- Mustache template engine for deno
Testing
-
deno-puppeteer
- A library which provides a high-level API to control Chromium or Chrome over the DevTools Protocol.
-
expect
- Helpers for writing jest like expect tests in deno.
-
merlin
- Testing and Benchmarking framework for deno 🧙♂️
-
pretty_benching
- A small library to make your Deno benchmarking progress and results look pretty.
-
qunitx
- Zero dependency, fully customizable, mature, universal test API that can run interchangably in node.js, Deno & browser, using default runtime test runners.
-
rhum
- A lightweight testing framework for Deno.
-
superdeno
- Super-agent driven library for testing Deno HTTP servers.
-
superoak
- HTTP assertions for Oak made easy via SuperDeno.
-
tepi - A .http Test Runner
-
tincan
- A Jest-like testing library for Deno.
-
unexpected
- Extensible BDD assertion toolkit.
-
unitest
- Deno-first universal unit testing framework.
Utils
-
bettermap
- A TypeScript extension of the JavaScript Map with Array-like features.
-
beno
- A configuration manager typed and faster for Deno Inspired in Viper of Golang
-
buckets
- Bundle assets and scripts in a single executable file.
-
bytes_formater
- Format bytes (Uint8Array, ArrayBufferView, etc) output, useful when debugging IO functions.
-
coffee
- Deno Configuration - a type-safe, easy to use Deno config manager.
-
colors
- Color conversions and operations in TypeScript.
-
croner
- Cron library with advanced scheduling features, well-documented API, and zero dependencies.
-
computed_types
- Joi like validators for Typescript and Deno.
-
dcc
- Deno Cache Clean, reloading deps when next running.
-
denon
- A file watcher with a for-await generator.
-
deno-config
- Utility to streamline deno app configuration management through cli, .env and json files
-
deno-context
- Propagate deadlines, a cancellation and other request-scoped values to multiple promise. The behaviour is like Go’s context.
-
deno_cron
- A cron Job scheduler that allows you to write human readable cron syntax with tons of flexibility
-
deno-deamon
- Make the Deno program run in the background.
- deno-dotenv
-
deno-envconfig
- Configuration management utility.
-
deno-fnparse
- An extremely simple parser combinator for JavaScript.
-
deno-globrex
- Port of globrex to deno, glob to regular expression.
-
deno_notify
- Send desktop notifications on all platforms.
-
deno-opn
- Opens stuff like websites, files, executables. Cross-platform.
-
deno-plugin-prepare
- A library for managing Deno native plugin dependencies.
-
deno_random_interval
- Helper to generate random interval.
-
deno_tokenizer
- A simple tokenizer for deno.
-
deno-using
- An python-style with statements for deno.
-
deno-validation
- A general purpose validation library for Deno.
-
dinoenv - tiny library to manage environment variables with deno.
-
durationjs
- Get formatted time duration from a timestamp or a human-readable string.
-
draco
- File and folder multiplatform utils for Deno!
-
ensure
- Ensure you are running a minimum version of Deno, Typescript, or V8.
-
evt
- Type safe replacement for EventEmitter.
-
fastest-validator
- Schema validator for all javascript platforms
-
fortuna
- Weighted gacha system.
-
fossil
- A value-type validation suite.
-
garn-yaml
- Read or write yaml interpolating env variables.
-
garn-validator
- Create validations with ease.
-
invert-kv
- Invert key-value pairs in Deno.
-
lazy
- A linq-like lazy-evaluation iteration module.
-
locale-kit (GitHub
) - A internationalisation/localisation/translation (i18n/l10n/t9n) library with a wrapper for Fresh and support for plurals and dynamic replacement.
-
maze_generator
- Javascript module for generating, solving, analyzing and displaying mazes.
-
ms
- Easily convert various time formats to milliseconds.
-
online
- Check if you’re currently online in Deno.
-
optionals
- Rust-like error handling and options with exhaustive pattern matching.
-
qrcode
- QR code image generator for Deno.
-
recursive-readdir
- Recursively read directories in Deno.
-
rubico
- 🏞 [a]synchronous function composition; it just works.
-
solc
- 💎 Solidity bindings for Deno.
-
switcher4deno
- Feature Flag Deno SDK client for Switcher-API.
-
tryify
- Functional style error handling; never throw/try/catch/finally again.
-
type-fest
- A collection of essential TypeScript types (port of sindresorhus/type-fest).
-
unified-deno-lock
- Powerful and simple lock (mutex) library to handle race conditions with zero dependencies
-
wasm-gzip
- Perform gzip operations for Deno.
-
watch
- A file watcher.
-
wu-diff-js
- A diff library to compute differences between two slices using wu(the O(NP)) algorithm.
-
PLS
- Use 2 lines to persist localStorage in any database, including, but not limited to, MongoDB, PostgreSQL and Redis.
Validation
-
zod
- TypeScript-first schema validation with static type inference.
Video
Web framework
-
aqua
- A minimal and fast web framework for Deno.
-
alosaur
- Alosaur - Deno web framework with many ES Decorators.
-
danet
- A Savory web framework for Deno heavily inspired by Nest.js.
-
drash
- A REST microframework for Deno’s HTTP server with zero dependencies.
-
faster
- A fast and optimized middleware server with a set of useful middlwares.
-
hono
- Ultrafast web framework for Cloudflare Workers, Deno, and Bun. Fast, but not only fast.
-
oak
- A middleware framework for Deno’s net server.
-
oak-http-proxy
- Proxy middleware for Deno Oak HTTP servers.
-
oak-routing-ctrl
- TypeScript Decorators for easy scaffolding API services with the oak framework.
-
opine
- Fast, minimalist web framework ported from ExpressJS.
-
wren
- 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
- 🦕 A simple WebSocket library like ws of node.js library.
-
dropper
- Custom event-based WebSockets framework for building real-time apps on Deno 🦕
-
websocket_server
- A WebSocket server library.
-
wocket
- A WebSocket library for Deno.
Web utils
-
compression
- Deno HTTP compression middleware.
-
djwt
- Make JSON Web Tokens (JWT) on Deno based on JWT and JWS specifications.
-
forwarded
- Deno port of forwarded
library.
-
fresh_chart
- A server-side-rendered charting library for Fresh.
-
gentleRpc
- A JSON-RPC 2.0 TypeScript library for Deno and the browser.
-
gql
- Universal GraphQL HTTP middleware.
-
graphql-tag
- GraphQL schema AST from template literal.
-
nats
- A Deno client for the NATS messaging system.
-
obsidian
- A native GraphQL caching client and server module.
-
qs
- A query string parser with nesting support.
-
react-icons - React Icons converted to preact for deno fresh.
-
router
- A high-performance basic router works anywhere.
-
rpc
- JSONRPC server implementation for Deno.
-
status
- HTTP codes and status utility for Deno.
-
squishy_cookies
- Easily sign and verify cookies.
-
ts-prometheus
- A prometheus client.
-
up
- Check if a website is up in Deno.
-
youtube-deno
- A Deno client library for the YouTube Data API for any interaction with YouTube.
Webview
-
Astrodon
- Modular framework for building native multi-platform apps with Deno and webview.
-
webview
- Deno bindings for webview, a tiny library for creating web-based desktop GUIs.
XML
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
-
clone
- A simple utility for the convenient clone.
-
decense
- Generate a license with one deno run
command.
-
dedep
- Manage dependency versions.
-
denoflow
- Configuration as code, use YAML to write automated workflows that run on Deno, with any Deno modules, Typescript/Javascript codes
-
denoify
- For NPM module authors that would like to support Deno but do not want to write and maintain a port.
-
denoinit
- Denoinit generates useful files for Deno project.
-
denoliver
- A simple, dependency free file server with live reload.
-
denomander
- Deno command-line interfaces inspired from commander.js.
-
denon
- A daemon script runner, like nodemon. Built in and for Deno.
-
denopendabot
- Dependabot for Deno projects.
-
denopkg
- An easier way to use code from GitHub in your Deno project.
-
denoversion
- SemVer and git version management for Deno.
-
denox
- Like packages.json scripts, but for Deno with permissions support.
-
deno.mk
- Cross-platform Makefile for installing and running Deno.
-
deno_docker
- Latest dockerfiles and images for Deno - alpine, centos, debian, ubuntu.
-
dev_server
- Let TypeScript files be used directly in the script tag.
-
dmm
- Lightweight Deno Module Manager
-
dnt
- Deno to npm package build tool.
- dpm
-
BoltDoggy/deno#dpm
- Deno Package Manager, install global command for deno. like denoget.
-
dpmland/dpm - Deno Package Manager, a NPM |
Yarn Experience for Deno |
- dvm
-
entype
- A CLI tool used to generate type definitions for serialised data, currently supporting JSON to Rust and TypeScript.
-
kopo-cli
- A Deno registry browser in the terminal.
-
make-deno-edition
- Automatically makes package.json projects (such as npm packages and node.js modules) compatible with Deno.
-
packer-provisioner-deno
- A Packer plugin that makes it easy to build virtual machine images with Deno scripts.
-
pre-commit-deno
- pre-commit git hooks for Deno projects.
-
pup
- Advanced process manager for Deno. With autorestart, fs watch, cron start, process telemetry, ipc, clustering, load balancer and more.
-
starter
- Deno module starter template with GitHub Actions CI
-
trex
- Package management like npm for deno.
-
udd
- Update Deno dependencies: updates import statements to their latest published version.
-
velociraptor
- An npm-style script runner for Deno.
-
vscode-deno
- VS Code extension that provides Deno support using the TypeScript Deno language service plugin
.
-
vscode-deno-starter
- VS Code project boilerplate to get started with Deno.
-
denofn-selfhosted
- Self-hosted Deno functions, made with Deno and Docker.
Integrations
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
Presentations
Resources
Books
Resources in Other Languages
Chinese
Hebrew
Indonesian
Italian
Japanese
Korean
Russian
Spanish
Darija
-
[A first look at Deno |
BlaBlaConf 2021 🇲🇦](https://www.youtube.com/watch?v=Y_etUvzAa4s) |
Kurdish (Central)