Skip to content
This repository was archived by the owner on Feb 1, 2021. It is now read-only.
/ metal Public archive

[Experimental] A fast Node 10+ HTTP middleware framework

Notifications You must be signed in to change notification settings

nuxt-contrib/metal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

8fd8f4c · Feb 19, 2020
Apr 24, 2019
Apr 24, 2019
Apr 28, 2019
Feb 19, 2020
Feb 19, 2020
Apr 24, 2019
Apr 28, 2019
Apr 14, 2019
Apr 26, 2019
Apr 20, 2019
Apr 23, 2019
Feb 19, 2020
Feb 19, 2020

Repository files navigation


@nuxt/metal

Nuxt currently depends on connect, a lightweight middleware framework for Node. connect currently has 10 dependencies, some of which haven't had updates in a long time. All are still written in ES5-style JavaScript and some still try to specifically address Node 0.8 shortcomings.

@nuxt/metal is an attempt to provide a fully backwards-compatible rewrite of connect in modern JavaScript, with added support for async middleware and a restructured codebase with many simplifications, cleanups and idiomatic rewrites. All without compromising performance, if not improving it slightly.

See http://hire.jonasgalvez.com.br/2019/apr/26/revamping-nuxts-http-server

Benchmark

  • @nuxt/metal: 844k requests in 40.1s, 103 MB read
  • connect: 814k requests in 40.1s, 99.3 MB read
autocannon -c 100 -d 40 -p 10 localhost:3000

Acknowledgement

This module is largely based on the work of TJ Holowaychuk, Douglas Christopher Wilson, Jonathan Ong and the awesome people at Joyent. This package is simply a massive restructuring of all original code, with only a few minor pieces removed and improved upon.

About

[Experimental] A fast Node 10+ HTTP middleware framework

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published