/awesome-deno

Curated list of awesome things related to Deno

Creative Commons Zero v1.0 UniversalCC0-1.0

Awesome Deno Awesome

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

NOTICE: Deno has a few official modules that could be found at deno_std. Consider submitting to the deno.land/x registry.

Automation

  • autopilot - Autopilot - Cross-platform web automation with Deno.

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.

Database

  • deno_mysql - MySQL database driver.
  • deno_mongo - MongoDB database driver.
  • redis - An experimental implementation of redis client for deno.
  • denodb - MySQL, SQLite, MariaDB, PostgreSQL and MongoDB ORM for Deno.
  • dndb - Persistent and embedable NoSQL database engine written for Deno 🦕.
  • dsddb - A dead simple persistant key-value database utilizing the JSON format.
  • dso - A simple ORM library based on mysql.
  • postgres - Driver for PostgreSQL database.
  • sql-builder - An sql query builder.
  • maxminddb - A library that enables the usage of MaxmindDB geoIP database files

Frontend development

  • postcss - A tool for transforming styles with JS plugins.

Frontend framework

Logging

  • gardens - A useful logging utility for JavaScript everywhere.

Mail

Markdown

  • marked - Markdown-to-HTML converter.

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-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.

Template engine

  • dejs - Ejs template engine for deno.
  • deno_tiny_templates - Template renderer for deno.
  • eta - Fast, lightweight, and configurable embedded template engine.

Testing

  • deno-pretty-assert - A colorful assertEqual for deno.
  • 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.
  • 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.
  • tincan - A Jest-like testing library for Deno.
  • unexpected - Extensible BDD assertion toolkit.

Utils

  • 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.
  • 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-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-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.
  • dinoenv - tiny library to manage environment variables with deno.
  • ensure - Ensure you are running a minimum version of Deno, Typescript, or V8.
  • evt - Type safe replacement for EventEmitter.
  • 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.
  • 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.
  • qrcode - QR code image generator for Deno.
  • recursive-readdir - Recursively read directories in Deno.
  • rubico - 🏞 [a]synchronous function composition; it just works.
  • type-fest - A collection of essential TypeScript types (port of sindresorhus/type-fest).
  • wasm-gzip - Encrypt and decrypt gzip for Deno.
  • watch - A file watcher.
  • wu-diff-js - A diff library to compute differences between two slices using wu(the O(NP)) algorithm.

Web framework

  • abc - A better Deno framework to create web application.
  • alosaur - Alosaur - Deno web framework with many decorators.
  • attain - A middleware web framework for Deno which is using http standard library inspired by express and Oak. Fast and stable with proper memory usage.
  • aqua - A minimal and fast web framework for Deno.
  • deno-express - Node Express ported to Deno.
  • denotrain - All-in-One web framework like express or fastify for Node.js with middleware support.
  • dinatra - Sinatra like light weight web app framework for deno.
  • doa - A middleware framework for Deno's http serve🦕. Transplanted from Koa with ❤️
  • drash - A REST microframework for Deno's HTTP server with zero dependencies.
  • dragon - ⚡A powerful HTTP router and URL matcher for building Deno web servers with dragon 🐲.
  • microraptor - Lightweight framework for easy network routing with validation.
  • oak - A middleware framework for Deno's net server.
  • opine - Fast, minimalist web framework ported from ExpressJS.
  • pogo - Server framework for Deno.
  • servest - A progressive HTTP server/router.

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.
  • sockets - 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.
  • 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.
  • router - A high-performance basic router works anywhere.
  • status - HTTP codes and status utility for Deno.
  • 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

  • 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.
  • deno.land/x/ - The official 3rd party module registry.
  • nest.land - An immutable, blockchain powered Deno package registry. 🥚

Showcases

  • AuthCompanion - A token-based user management server.
  • Deno Rest - A Boilerplate for deno RESTful apis.
  • Deno Seed - Complete boilerplate for development. 🌱
  • GitHub Profile Trophy - 🏆 Add dynamically generated GitHub Trophy on your readme
  • UsingDeno - Curated list of Web Applications & Projects using Deno 🦕.

Tools

  • commands - Create commands shortcuts for node js and deno
  • clone - A simple utility for the convenient clone.
  • decense - Generate a license with one deno run command.
  • dedep - Manage dependency versions.
  • denoget - Denoget installs executable Deno script.
  • 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.
  • 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.
  • maxmcd's deno-docker A docker image.
  • hayd's deno-docker Several docker images.
  • deno-vscode - Leverage the typedef and intellisense built into vscode using this extension.
  • dev_server - Let TypeScript files be used directly in the script tag.
  • dmm - Lightweight Deno Module Manager
  • dpm - Deno Package Manager, install global command for deno. like denoget.
  • dvm
    • justjavac/dvm - Deno Version Manager: manage multiple active Deno versions.
    • axetroy/dvm - Version manger for Deno without runtime dependencies.
    • dvm.cmd - Deno Version Manager for Windows. Written as a single batch file.
  • elm-live-reload - An elm live reloader written in Deno.
  • kopo-cli - A Deno registry browser in the terminal.
  • lume - A static site generator similar to Jekyll or Eleventy with support for multiple file formats.
  • make-deno-edition - Automatically makes package.json projects (such as npm packages and node.js modules) compatible with Deno.
  • nessie - Create, migrate and rollback migrations for PostgreSQL, MySQL and SQLite.
  • packer-provisioner-deno - A Packer plugin that makes it easy to build virtual machine images with Deno scripts.
  • pagic - The easiest way to generate static html page from markdown, built with Deno.
  • pika Deno plugin
  • starter - Deno module starter template with GitHub Actions CI
  • task-runner - Write tasks just like npm scripts.
  • trex - Package management like npm for deno.
  • typescript-deno-plugin - Deno language service plugin, providing intellisense in TypeScript files within editors.
  • 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.
  • Update Deno - Github Action that puts a file with the latest Deno Version in your repository.
  • denofn-selfhosted - Self-hosted Deno functions, made with Deno and Docker.

Articles

Presentations

Resources in Other Languages

Chinese

Hebrew

Indonesian

Italian

Japanese

Korean

Russian

Spanish

Uzbek