The Koa2 Fork Optimized With Closure Compiler That Has Just 1 Dependency (mime-db).


Keywords
koa, goa, idio, gcc, closure, closure compiler, web, server, http
License
AGPL-3.0
Install
npm install @goa/koa@2.1.0

Documentation

@goa/koa

npm version

@goa/koa is the Koa web-sever compiled and optimised with Google Closure Compiler so that it has only 1 dependency (mime-db, for easy access to upgrades). The types are written as JSDoc and don't require installing typings. The aim of this project is to demonstrate how to modernise the old-school NPM package making, including starting to use import/export statements without Babel, restoring to pure JSDoc without TypeScript, and compiling the code into the single executable using the compiler, and testing the code with Zoroaster testing framework which is twice as fast and weighs 500KB against 50MB compared with Jest (as used in the original repository).

@Goa/Koa Source Code Is ~2000 Lines Of Code
@Goa/Koa Compiled Source Code.
Yarn Install NPM Install
yarn add @goa/koa
npm install @goa/koa

This package actually compiles the Goa Source Code. You can find all the documentation on that package's page.

Table Of Contents

API

The package is available by importing its default class:

import Goa from '@goa/koa'

constructor(
  options=: ApplicationOptions,
): Application

Creates a new app instance.

Source Output
import aqt from '@rqt/aqt'
import Goa from '@goa/koa'

const goa = new Goa()
goa.use(async (ctx, next) => {
  ctx.body = 'Hello World'
  ctx.status = 201
  ctx.message = 'example'
  await next()
})
goa.listen(3000, async function() {
  const url = `http://localhost:3000`
  console.log(url, '\n')
  const res = await aqt(url)
  console.log(res)
  this.close()
})
http://localhost:3000 

{ body: 'Hello World',
  headers: 
   { 'content-type': 'text/plain; charset=utf-8',
     'content-length': '11',
     date: 'Sat, 21 Dec 2019 05:10:34 GMT',
     connection: 'close' },
  statusCode: 201,
  statusMessage: 'example' }

Copyright & License

GNU Affero General Public License v3.0

Original work on the Koa Web Server by its authors under MIT License found in Goa's Source Code repository.

Art Deco © Art Deco for Idio 2019 Idio Tech Nation Visa Tech Nation Visa Sucks