The Goa Source Code For Compilation Into @Goa/Koa That Includes Modules, Tests, Types And Dependencies.
npm install @goa/goa
This is the source code for the @goa/koa repository that actually compiles this source code. Please navigate there for the documentation.

@goa/goa 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 old-school NPM packages, including starting to use import/export statements without _Babel_, restoring to pure _JSDoc_ without TypeScript, and compiling the code into a 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 to be used in the original repository).
``sh`
yarn add @goa/goa
- Table Of Contents
- Goa
- Types
- Packages
- Tests
- Copyright & License
Goa is the same application as _Koa_. It has the same interface for the app object, as well as context, request and response API.
| Source | Output |
|---|---|
` const app = new Goa() | ` |
The types detailed information can be found 📙 in Wiki. The Koa documentation can be found on its page.
Koa dependencies as packages had to be rewritten in ES6. Some of them were created as separate packages, and some were included in the source code (repository) in the modules directory.
Show included modules (updated to ES6 and annotated for Node.JS Compiler).
| Dependency | Type |
| --------------------- | ------ |
| cache-content-type | module |content-disposition
| | module |delegates
| | module |ee-first
| | module |error-inject
| | module |escape-html
| | module |fresh
| | module |http-assert
| | module |koa-is-json
| | module |on-finished
| | module |only
| | module |parseurl
| | module |
The external modules were created with tests also written to ensure their source and compiled versions work as expected.
| Dependency | Dep | Description |
| ---------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------ |
| @goa/accepts | dev | Higher-Level Content Negotiation. |
| @goa/content-type | dev | Create and parse HTTP Content-Type header according to RFC 7231. |
| @goa/cookies | dev | Signed And Unsigned Cookies Based On Keygrip. |
| @goa/is-generator-function | dev | Checks If The Function Is An ES6 Generator. |
| @goa/mime-types | dev | The Ultimate Javascript Content-Type Utility. |
| @goa/negotiator | dev | HTTP Content Negotiation. |
| @goa/type-is | dev | Infer The Content-Type Of A Request. |
| @goa/vary | dev | Manipulate The HTTP Vary header. |
| @goa/compose | dev | Compose a single middleware function for Goa out of many. |
| @goa/http-errors | dev | Creates HTTP Errors For Goa Apps. |
| @goa/statuses | dev | HTTP status utility.. |
| @idio/debug | dev | Log Debugging Information. |
| mime-db | prod | Required for @goa/mime-types, @goa/accepts and @goa/type-is`. |
The tests were updated for context testing and include all original Koa tests.
✅ View 326 tests
GNU Affero General Public License v3.0
Original work on the Koa Web Server by its authors under MIT License found in COPYING.
alt="Art Deco"> | © Art Deco for Idio 2019 | alt="Tech Nation Visa"> | Tech Nation Visa Sucks |
|---|