379 lines
18 KiB
HTML
379 lines
18 KiB
HTML
<figure>
|
||
<img src="https://github.frapsoft.com/top/awesome-koa.jpg"
|
||
alt="awesome koa" />
|
||
<figcaption aria-hidden="true">awesome koa</figcaption>
|
||
</figure>
|
||
<h1
|
||
id="awesome-koa-awesome-javascript-open-source-love-gitter-chat">Awesome
|
||
Koa <a href="https://github.com/sindresorhus/awesome"><img
|
||
src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg"
|
||
alt="Awesome" /></a> <a
|
||
href="https://github.com/ellerbrock/javascript-badges/"><img
|
||
src="https://badges.frapsoft.com/javascript/code/javascript.svg?v=100"
|
||
alt="Javascript" /></a> <a
|
||
href="https://github.com/ellerbrock/open-source-badges/"><img
|
||
src="https://badges.frapsoft.com/os/v1/open-source.svg?v=102"
|
||
alt="Open Source Love" /></a> <a
|
||
href="https://gitter.im/frapsoft/frapsoft/"><img
|
||
src="https://badges.gitter.im/frapsoft/frapsoft.svg"
|
||
alt="Gitter Chat" /></a></h1>
|
||
<blockquote>
|
||
<p>Useful resources for creating apps and working with <a
|
||
href="http://koajs.com">Koa</a></p>
|
||
</blockquote>
|
||
<ul>
|
||
<li><a href="#links">Links</a></li>
|
||
<li><a href="#examples--boilerplates">Examples &
|
||
Boilerplates</a></li>
|
||
<li><a href="#middleware">Middleware</a></li>
|
||
<li><a href="#others">Others</a></li>
|
||
<li><a href="#videos">Videos</a></li>
|
||
</ul>
|
||
<h2 id="status">Status</h2>
|
||
<p><a href="https://travis-ci.org/ellerbrock/awesome-koa"><img
|
||
src="https://travis-ci.org/ellerbrock/awesome-koa.svg?branch=master"
|
||
alt="Deadlink Test" /></a></p>
|
||
<p><strong>Info:</strong> Green Build Status means there should be no
|
||
Deadlinks in this List.<br> You can find the Testfiles on <a
|
||
href="https://github.com/ellerbrock/travis-deadlink-scanner">travis-deadlink-scanner</a>.</p>
|
||
<h2 id="links">Links</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/koajs/koa">Koa</a> - Expressive
|
||
middleware for node.js using generators</li>
|
||
<li><a href="https://github.com/tj/co">co</a> - The ultimate generator
|
||
based flow-control goodness for nodejs</li>
|
||
</ul>
|
||
<h2 id="examples-boilerplates">Examples & Boilerplates</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/posquit0/koa-rest-api-boilerplate">koa-rest-api-boilerplate</a>
|
||
- Boilerplate for Node.js Koa RESTful API application with Docker,
|
||
Swagger, Jest, Coveralls and CircleCI</li>
|
||
<li><a
|
||
href="https://github.com/koajs/api-boilerplate">api-boilerplate</a> -
|
||
API application boilerplate</li>
|
||
<li><a href="https://github.com/koajs/kick-off-koa">kick-off-koa</a> -
|
||
An intro to koa via a set of self-guided workshops</li>
|
||
<li><a href="https://github.com/koajs/workshop">workshop</a> - Koa
|
||
Training Workshop</li>
|
||
<li><a href="https://github.com/koajs/examples">examples</a> - Example
|
||
Koa apps</li>
|
||
<li><a
|
||
href="https://github.com/ellerbrock/babel-es6-es7-npm-skeleton">babel-es6-es7-npm-skeleton</a>
|
||
- Babel ES6 / ES7 - Testing, Benchmark, Auto Reload, Linting</li>
|
||
<li><a href="https://github.com/hongymagic/k2">K2</a> - Koa2, Babel
|
||
ES6/7, GraphQL, passport-local based authentication, PostgreSQL, Jest
|
||
for Unit and Integration testing and more</li>
|
||
<li><a
|
||
href="https://github.com/antonybudianto/koa-firebase">koa-firebase</a> -
|
||
Koa with Firebase middleware integration starter</li>
|
||
<li><a href="https://github.com/dbalas/koalerplate">koalerplate</a> - A
|
||
simple Koa 2 boilerplate for API’s using ES6.</li>
|
||
<li><a
|
||
href="https://hasura.io/hub/project/hasura/hello-nodejs-koa">koa-hasura</a>
|
||
- Koa app starter kit with Hasura deployment</li>
|
||
<li><a
|
||
href="https://github.com/valera-shulghin/koa2-api-boilerplate">koa2-api-boilerplate</a>
|
||
- Koa2, Knex, es6-error, Gulp, ApiDoc, ESLint, koa-validate, JWT.</li>
|
||
<li><a
|
||
href="https://github.com/maotora/koa-userapi">koa-user-api-boilerplate</a>
|
||
- User API boilerplate using Koa2, Full ES6 & 7 support, Passport
|
||
& JWT with tests.</li>
|
||
<li><a
|
||
href="https://github.com/maotora/koa-blogapi">koa-blog-api-boilerplate</a>
|
||
- Blog API extended from <a
|
||
href="https://github.com/maotora/koa-userapi">koa-user-api-boilerplate</a>
|
||
authentication layer with ES6 & 7 support.</li>
|
||
</ul>
|
||
<h2 id="tutorials">Tutorials</h2>
|
||
<ul>
|
||
<li><a
|
||
href="http://mherman.org/blog/2017/08/23/building-a-restful-api-with-koa-and-postgres">Building
|
||
a RESTful API with Koa and Postgres</a></li>
|
||
<li><a
|
||
href="http://mherman.org/blog/2018/01/02/user-authentication-with-passport-and-koa">User
|
||
Authentication with Passport and Koa</a></li>
|
||
</ul>
|
||
<p><strong>Info:</strong> Lots of the Examples and Boilerplattes are
|
||
outdated.<br> Also some of the features not work straight out of the Box
|
||
with the new Version.<br> I’m working on a Boilerplatte with all the
|
||
cutting edge stuff and will publish it later on my <a
|
||
href="https://github.com/ellerbrock">GitHub Account</a>.</p>
|
||
<h2 id="middleware">Middleware</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/koajs/accesslog">accesslog</a> -
|
||
Middleware for common log format access logs</li>
|
||
<li><a
|
||
href="https://github.com/koajs/api-boilerplate">api-boilerplate</a> -
|
||
API application boilerplate</li>
|
||
<li><a href="https://github.com/koajs/atomic-session">atomic-session</a>
|
||
- Atomic sessions for Koa</li>
|
||
<li><a href="https://github.com/koajs/badgeboard">badgeboard</a></li>
|
||
<li><a href="https://github.com/koajs/basic-auth">basic-auth</a> -
|
||
blanket basic auth middleware</li>
|
||
<li><a href="https://github.com/koajs/body-parsers">body-parsers</a> -
|
||
collection of koa body parsers</li>
|
||
<li><a href="https://github.com/koajs/bodyparser">bodyparser</a> - a
|
||
body parser for koa</li>
|
||
<li><a href="https://github.com/koajs/bundle">bundle</a> - Generic asset
|
||
pipeline with caching, etags, minification, gzipping and
|
||
sourcemaps.</li>
|
||
<li><a href="https://github.com/koajs/bunyan-logger">bunyan-logger</a> -
|
||
Koa middleware for bunyan request logging</li>
|
||
<li><a href="https://github.com/koajs/cash">cash</a> - HTTP response
|
||
caching for Koa</li>
|
||
<li><a href="https://github.com/koajs/charset">charset</a> - use
|
||
iconv-lite to encode the body and set charset to content-type</li>
|
||
<li><a href="https://github.com/koajs/cluster">cluster</a> - Koa
|
||
clustering and error handling utility</li>
|
||
<li><a href="https://github.com/koajs/compose">compose</a> - Middleware
|
||
composition utility</li>
|
||
<li><a href="https://github.com/koajs/compress">compress</a> - Compress
|
||
middleware for koa</li>
|
||
<li><a
|
||
href="https://github.com/koajs/conditional-get">conditional-get</a> -
|
||
Conditional GET middleware for koa</li>
|
||
<li><a href="https://github.com/koajs/convert">convert</a> - Convert koa
|
||
generator-based middleware to promise-based middleware</li>
|
||
<li><a href="https://github.com/koajs/cors">cors</a> - Cross-Origin
|
||
Resource Sharing(CORS) for koa</li>
|
||
<li><a href="https://github.com/koajs/cross-cookies">cross-cookies</a> -
|
||
Easily set cookies across subdomains</li>
|
||
<li><a href="https://github.com/koajs/csrf">csrf</a> - CSRF tokens for
|
||
koa</li>
|
||
<li><a href="https://github.com/koajs/ctx-basic-auth">ctx-basic-auth</a>
|
||
- Augments Koa with ctx.basicAuth</li>
|
||
<li><a
|
||
href="https://github.com/koajs/ctx-cache-control">ctx-cache-control</a>
|
||
- Augment Koa with ctx.cacheControl(maxAge)</li>
|
||
<li><a href="https://github.com/koajs/ctx-paginate">ctx-paginate</a> -
|
||
Augments Koa with ctx.paginate</li>
|
||
<li><a href="https://github.com/koajs/ejs">ejs</a> - a koa view render
|
||
middleware, support all feature of ejs</li>
|
||
<li><a href="https://github.com/koajs/error">error</a> - Error response
|
||
middleware (text, json, html)</li>
|
||
<li><a href="https://github.com/koajs/etag">etag</a> - ETag support for
|
||
Koa responses</li>
|
||
<li><a href="https://github.com/koajs/examples">examples</a> - Example
|
||
Koa apps</li>
|
||
<li><a href="https://github.com/koajs/favicon">favicon</a> - Koa
|
||
middleware for serving a favicon</li>
|
||
<li><a href="https://github.com/koajs/file-server">file-server</a> -
|
||
file serving middleware for koa</li>
|
||
<li><a
|
||
href="https://github.com/koajs/generic-session">generic-session</a> -
|
||
koa session store with memory, redis or others.</li>
|
||
<li><a href="https://github.com/koajs/html-minifier">html-minifier</a> -
|
||
minify HTML responses like some crazy guy</li>
|
||
<li><a href="https://github.com/koajs/is-json">is-json</a> - check if a
|
||
koa body should be interpreted as JSON</li>
|
||
<li><a href="https://github.com/koajs/joi-router">joi-router</a> -
|
||
Configurable, input and output validated routing for koa</li>
|
||
<li><a href="https://github.com/koajs/json">json</a> - pretty-printed
|
||
JSON response middleware</li>
|
||
<li><a href="https://github.com/koajs/json-error">json-error</a> - Error
|
||
handler for pure-JSON apps</li>
|
||
<li><a href="https://github.com/koajs/json-filter">json-filter</a> -
|
||
Middleware allowing the client to filter the response to only what they
|
||
need, reducing the amount of traffic over the wire.</li>
|
||
<li><a href="https://github.com/koajs/jwt">jwt</a> - Koa middleware for
|
||
validating JSON Web Tokens</li>
|
||
<li><a href="https://github.com/koajs/kick-off-koa">kick-off-koa</a> -
|
||
An intro to koa via a set of self-guided workshops</li>
|
||
<li><a href="https://github.com/koajs/koa">koa</a> - Expressive
|
||
middleware for node.js using generators</li>
|
||
<li><a
|
||
href="https://github.com/rferro/koa-body-clean">koa-body-clean</a> - Koa
|
||
middleware for auto cleanup files created to disk by multipart
|
||
middlewares</li>
|
||
<li><a href="https://github.com/koajs/koa-fresh">koa-fresh</a> -
|
||
koa-fresh: HTTP response freshness testing middleware base on koa and
|
||
node-fresh</li>
|
||
<li><a href="https://github.com/koajs/koa-github">koa-github</a> -
|
||
simple github auth middleware for koa</li>
|
||
<li><a href="https://github.com/koajs/koa-lusca">koa-lusca</a> - koa
|
||
version of lusca. Application security for koa.</li>
|
||
<li><a href="https://github.com/koajs/koa-markdown">koa-markdown</a> -
|
||
Auto convert markdown to html for koa. Inspired by connect-markdown</li>
|
||
<li><a href="https://github.com/koajs/koa-range">koa-range</a> - range
|
||
request implementation for koa, see <a
|
||
href="http://tools.ietf.org/html/rfc7233"
|
||
class="uri">http://tools.ietf.org/html/rfc7233</a></li>
|
||
<li><a href="https://github.com/koajs/koa-redis">koa-redis</a> - koa
|
||
session with redis</li>
|
||
<li><a
|
||
href="https://github.com/potatogopher/koa-response-handler">koa-response-handler</a>
|
||
- lightweight response handler for koa</li>
|
||
<li><a href="https://github.com/koajs/koa-roles">koa-roles</a> - koa
|
||
version of Connect-Roles</li>
|
||
<li><a href="https://github.com/koajs/koa-rt">koa-rt</a> - koa rt with
|
||
microtime</li>
|
||
<li><a
|
||
href="https://github.com/DhyanaChina/koa-custom-response">koa-custom-response</a>
|
||
- standard RESTful API for koa</li>
|
||
<li><a
|
||
href="https://github.com/WittBulter/koa2-typescript-guide">koa-typescript-guide</a>
|
||
the best practice of building Koa2 with TypeScript</li>
|
||
<li><a href="https://github.com/jean-smaug/koa-twig">koa-twig</a> - use
|
||
twig as template engine</li>
|
||
<li><a href="https://github.com/koajs/koa-safe-jsonp">koa-safe-jsonp</a>
|
||
- Safe jsonp plusins for koa.</li>
|
||
<li><a href="https://github.com/koajs/koa.io">koa.io</a> - Realtime web
|
||
framework combine koa and socket.io.</li>
|
||
<li><a
|
||
href="https://github.com/iyobo/koa-ts-controllers">koa-ts-controllers</a>
|
||
- Typescript/decorator based Rest controller/router for Koa2+.</li>
|
||
<li><a href="https://github.com/koajs/koala">koala</a> - [SEEKING
|
||
MAINTAINER] An HTTP/2 and ES6 Module-ready Koa Suite</li>
|
||
<li><a href="https://github.com/koajs/locales">locales</a> - koa
|
||
locales, i18n solution for koa</li>
|
||
<li><a href="https://github.com/koajs/logger">logger</a> - Development
|
||
style logging middleware</li>
|
||
<li><a href="https://github.com/koajs/maxrequests">maxrequests</a> -
|
||
Limit max requests on each http keepalive connection.</li>
|
||
<li><a
|
||
href="https://github.com/koajs/middleware-hook">middleware-hook</a> -
|
||
low-level hooks for your middleware</li>
|
||
<li><a href="https://github.com/koajs/mock">mock</a> - Simple web page
|
||
mock middleware</li>
|
||
<li><a href="https://github.com/koajs/mount">mount</a> - Mount other Koa
|
||
applications or middleware to a given pathname</li>
|
||
<li><a href="https://github.com/koajs/onerror">onerror</a> - an error
|
||
handler for koa, hack ctx.onerror</li>
|
||
<li><a
|
||
href="https://github.com/koajs/override-method">override-method</a> -
|
||
method override utility for koa</li>
|
||
<li><a href="https://github.com/koajs/parameter">parameter</a> -
|
||
parameter validate middleware for koa, powered by parameter</li>
|
||
<li><a href="https://github.com/koajs/path-match">path-match</a> - koa
|
||
route middleware</li>
|
||
<li><a href="https://github.com/koajs/qs">qs</a> - qs for koa, and use
|
||
querystring more safely.</li>
|
||
<li><a
|
||
href="https://github.com/koajs/querystring-strict">querystring-strict</a>
|
||
- THIS REPOSITORY IS NOW DEPRECATED</li>
|
||
<li><a href="https://github.com/koajs/ratelimit">ratelimit</a> - Rate
|
||
limiter middleware</li>
|
||
<li><a href="https://github.com/koajs/react-view">react-view</a> - A Koa
|
||
view engine which renders React components on server</li>
|
||
<li><a
|
||
href="https://github.com/koajs/redis-session-sets">redis-session-sets</a>
|
||
- Koa Redis sessions with field-referencing cross sets</li>
|
||
<li><a href="https://github.com/koajs/resourcer">resourcer</a> - A
|
||
simple resource directory mounter for koa.</li>
|
||
<li><a href="https://github.com/koajs/resourcer-docs">resourcer-docs</a>
|
||
- Simple app that generates documentation for routes mounted using
|
||
koa-resourcer.</li>
|
||
<li><a href="https://github.com/koajs/response-time">response-time</a> -
|
||
X-Response-Time middleware</li>
|
||
<li><a href="https://github.com/koajs/rewrite">rewrite</a> - URL
|
||
rewriting middleware</li>
|
||
<li><a href="https://github.com/koajs/route">route</a> - Simple route
|
||
middleware</li>
|
||
<li><a href="https://github.com/koajs/s3-cache">s3-cache</a> - Koa
|
||
middleware to cache and serve from S3</li>
|
||
<li><a href="https://github.com/koajs/send">send</a> - Transfer static
|
||
files</li>
|
||
<li><a href="https://github.com/koajs/sendfile">sendfile</a> - basic
|
||
file-sending utility for koa</li>
|
||
<li><a href="https://github.com/koajs/session">session</a> - Simple
|
||
cookie-based session middleware</li>
|
||
<li><a href="https://github.com/koajs/snapshot">snapshot</a> - take
|
||
snapshot when request, cache by request path.</li>
|
||
<li><a href="https://github.com/koajs/stateless-csrf">stateless-csrf</a>
|
||
- CSRF without sessions.</li>
|
||
<li><a href="https://github.com/koajs/static">static</a> - Static file
|
||
server middleware</li>
|
||
<li><a href="https://github.com/koajs/static-cache">static-cache</a> -
|
||
Static cache for koa</li>
|
||
<li><a href="https://github.com/koajs/statsd">statsd</a> - Statsd
|
||
middleware</li>
|
||
<li><a href="https://github.com/koajs/timer">timer</a> - time your
|
||
middleware</li>
|
||
<li><a href="https://github.com/koajs/todo">todo</a> - a todo example
|
||
write with koa and react</li>
|
||
<li><a href="https://github.com/koajs/trace">trace</a> - generic tracing
|
||
for koa</li>
|
||
<li><a href="https://github.com/koajs/trace-influxdb">trace-influxdb</a>
|
||
- InfluxDB tracing for koa-trace</li>
|
||
<li><a href="https://github.com/koajs/trie-router">trie-router</a> -
|
||
Trie-routing for Koa</li>
|
||
<li><a href="https://github.com/koajs/userauth">userauth</a> - koa user
|
||
auth middleware</li>
|
||
<li><a href="https://github.com/koajs/workshop">workshop</a> - Koa
|
||
Training Workshop</li>
|
||
<li><a href="https://github.com/may215/koa-protect">koa-protect</a> -
|
||
Security module for koa applications</li>
|
||
<li><a href="https://github.com/jean-smaug/koache">koache</a> - Koa
|
||
cache based on node-cache</li>
|
||
<li><a href="https://github.com/koalex/koa-json-rpc">koa-json-rpc</a> -
|
||
JSON-RPC 2.0 middleware which implements the <a
|
||
href="https://www.jsonrpc.org/specification">https://www.jsonrpc.org/specification</a></li>
|
||
</ul>
|
||
<h2 id="generators">Generators</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator">Generators</a>
|
||
- Mozilla Developer Network (MDN)</li>
|
||
</ul>
|
||
<h2 id="videos">Videos</h2>
|
||
<ul>
|
||
<li><a href="http://knowthen.com/category/node-js/">KnowThen</a> -
|
||
Videos about Koa and Generators</li>
|
||
<li><a href="https://youtu.be/ategZqxHkz4">Generators in JavaScript</a>
|
||
- What, Why and How</li>
|
||
</ul>
|
||
<h2 id="other-web-development-lists">Other Web Development Lists</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/ellerbrock/atom-for-webdeveloper">Atom
|
||
for Web Developer</a> - Useful Packages and Configuration for a better
|
||
Workflow</li>
|
||
<li><a
|
||
href="https://github.com/ellerbrock/nodejs-for-webdeveloper">Node.js for
|
||
Web Developers</a> - Full Stack Javascript Development with Node.js</li>
|
||
<li><a
|
||
href="https://github.com/ellerbrock/chrome-extensions-for-webdeveloper">Chrome
|
||
Extensions for Web Developer</a> - A list with useful Chrome
|
||
Extensions</li>
|
||
<li><a
|
||
href="https://github.com/ellerbrock/publishing-npm-packages">Publishing
|
||
NPM Packages for Developers</a> - Introduction how to write and publish
|
||
npm Modules.</li>
|
||
<li><a href="https://github.com/ellerbrock/awesome-typescript">Awesome
|
||
Typescript</a> - A collection of awesome TypeScript resources.</li>
|
||
<li><a href="https://github.com/ellerbrock/docker-tutorial">Docker
|
||
Tutorial</a> - Getting Started with Docker.</li>
|
||
<li><a href="https://github.com/ellerbrock/fish-shell-setup-osx">Fish
|
||
Shell Setup OS X</a> - Terminal Setup for OS X with Fish Shell,
|
||
Fisherman, Powerline Fonts and iTerm2.</li>
|
||
</ul>
|
||
<h3 id="contact-social-media">Contact / Social Media</h3>
|
||
<p><em>Get the latest News about Web Development, Open Source, Tooling,
|
||
Server & Security</em></p>
|
||
<p><a href="https://twitter.com/frapsoft/"><img
|
||
src="https://github.frapsoft.com/social/twitter.png"
|
||
alt="Twitter" /></a><a href="https://www.facebook.com/frapsoft/"><img
|
||
src="https://github.frapsoft.com/social/facebook.png"
|
||
alt="Facebook" /></a><a
|
||
href="https://plus.google.com/116540931335841862774"><img
|
||
src="https://github.frapsoft.com/social/google-plus.png"
|
||
alt="Google+" /></a><a href="https://gitter.im/frapsoft/frapsoft/"><img
|
||
src="https://github.frapsoft.com/social/gitter.png"
|
||
alt="Gitter" /></a><a href="https://github.com/ellerbrock/"><img
|
||
src="https://github.frapsoft.com/social/github.png"
|
||
alt="Github" /></a></p>
|
||
<h3 id="development-by">Development by</h3>
|
||
<p>Developer / Author: <a href="https://github.com/ellerbrock/">Maik
|
||
Ellerbrock</a><br> Company: <a
|
||
href="https://github.com/frapsoft/">Frapsoft</a></p>
|
||
<h3 id="license">License</h3>
|
||
<p><a href="http://creativecommons.org/licenses/by/4.0/"><img
|
||
src="https://i.creativecommons.org/l/by/4.0/88x31.png"
|
||
alt="Creative Commons License" /></a><br></p>
|
||
<p>This work by <a href="https://github.com/ellerbrock/">Maik
|
||
Ellerbrock</a> is licensed under a <a
|
||
href="http://creativecommons.org/licenses/by/4.0/">Creative Commons
|
||
Attribution 4.0 International License</a>.</p>
|
||
<p><a href="https://github.com/ellerbrock/awesome-koa">koa.md
|
||
Github</a></p>
|