Giter Club home page Giter Club logo

awesome-deno's Introduction

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

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

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.

Social Platform APIs

  • 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

  • Fast Forward - An easy to use ffmpeg module for Deno. ๐Ÿฆ•

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

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

Tools

  • 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

Russian

Spanish

Darija

Kurdish (Central)

awesome-deno's People

Contributors

ameerthehacker avatar asos-craigmorten avatar bartlomieju avatar bokuweb avatar buttercubz avatar denyncrawford avatar ebebbington avatar ekaragodin avatar eliassjogreen avatar hashrock avatar irustm avatar jeroenptrs avatar jupegarnica avatar justjavac avatar kevinkassimo avatar kt3k avatar littletof avatar load1n9 avatar manyuanrong avatar mjrlowe avatar motss avatar olivewind avatar retraigo avatar roj1512 avatar ry avatar ryo-ma avatar tombyrer avatar yooneskh avatar zekth avatar zhmushan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome-deno's Issues

Drash

Drash
Drash is a microframework for Deno based on HTTP resources and content negotiation.

Panoptes

Panoptes

Panoptes is a simple array and object watcher function for Deno.

Categorize Tools section

Tools section now includes all tools, but it's more sensible to have sub sections like task runners, package managers, etc

Unpublish denolib/setup-deno from GitHub Actions marketplace?

Right now the https://github.com/denolib/setup-deno action is still listed on the GitHub Actions marketplace. https://github.com/marketplace/actions/setup-deno-environment I think that it would be a good idea to remove its listing from the marketplace but keep the repository. Don't worry; delisting it doesn't affect usage. Users can still - uses: denolib/setup-deno@vN even though it's not published to the marketplace. In fact, you can use any GitHub repo as an action; even those not published to the marketplace! The marketplace is just for advertising/searchability.

here's the docs on how to unpublish from the marketplace: https://docs.github.com/en/actions/creating-actions/publishing-actions-in-github-marketplace#removing-an-action-from-github-marketplace

Select Publish this action to the GitHub Marketplace to remove the check from the box.

why this is a good idea: it removes the influx of new users who search for "deno" on the github actions marketplace.

why did i open this issue here: because the setup-deno repo is archived and i couldn't find a .github repo or other generic org-level issue board. ๐Ÿคทโ€โ™€๏ธ

TypeError: crypto.subtle.importKey is not a function

After updating, Deno v1.11.0 I am getting typeError in encryption.

const aes = new AES(this.key, { mode: "cbc", iv: this.salt }); // This works proper
const cipher = await aes.encrypt(str); // Error genrates from here.

Error is:
TypeError: crypto.subtle.importKey is not a function at WebCryptoAES.loadKey (https://deno.land/x/[email protected]/src/aes/aes_wc.ts:24:39) at WebCryptoAES.encrypt (https://deno.land/x/[email protected]/src/aes/aes_wc.ts:37:28) at AES.encrypt (https://deno.land/x/[email protected]/src/aes/mod.ts:40:43)

Machine-readable list

Since the Deno community seems to reject package managers in favor of a deps.ts or importmap.json file, I've been long thinking of an alternative to automatically manage the Import Maps of my projects.

This would require a repository containing a list of repos from which to extract the required URLs, and lucky for me I've found this awesome list.

Even if I don't end up working too much on this, I'd imagine a machine-readable version of this list would be even more amazing.

Add zod

Has deno support, and it's pure 100% awesome! :-)

Is this really correct?

  • wasm-gzip - Encrypt and decrypt gzip for Deno.

Shouldn't it say "Compress and decompress" instead of "Encrypt and decrypt"? Since gzip is an compression algorithm and not an encryption/decryption algorithm?

Add Projects using Deno

I think deno has a really promising future and I'd like too see projects that have decided to use it.

Some modules for Deno, write by myself.

https://deno.boltdoggy.com/

  • dpm - deno package manager, install global command for deno.
  • dcc - deno cache clean, reloading deps when next running.

dpm

deno package manager, install global command for deno.

# install
deno https://deno.boltdoggy.com/x/dpm/install.js

# using
dpm <remote_url> <command_name> # install command of this remote_url to global
# more examples, you can see `dcc install`.

dcc

deno cache clean, reloading deps when next running.

# install
dpm https://deno.boltdoggy.com/x/dcc/mod.js dcc

# using
dcc <remote_url> # remove cache for this remote_url
# or
dcc --all # or dcc -a, remove all cache

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.