hero

Supercharge Nuxt with a suite of modules and commands for building performant applications with zero configuration.

Get started โ†’

Measurably fast

Want to get 100/100 on Google Lighthouse? Thought you might. Nuxt Stack lays the foundation needed to build a Performant Web App.

PWA out of the box

Streamlines the process of creating an installable, performant Progressive Web App using a suite of battle-tested tools, modules and techniques.

Write tests, right away

Nuxt Stack takes care of configuring Jest and Babel to work with Vue and Nuxt out of the boxโ€”freeing you to focus on writing tests not tooling.

Zero configuration

Install one module, run one command and you're away. Develop a production ready app in a fraction of the time.

Command all the things

Initialise, lint, format, test, analyse and serve a static app with a suite of new commands added to Nuxt's CLI.

Make code great again

Have ESLint and Prettier automatically keep your code in check so you can focus on some real problems.

Dive right in ๐Ÿ˜Ž

# Make a new directory
mkdir example && cd example

# Install dependencies
yarn add nuxt nuxt-stack

# Initialise a new project
yarn nuxt init

# Start the dev server
yarn dev

What just happened? I didn't know there was a nuxt init command? ๐Ÿค”

You're right. There isn't normally.

Nuxt Stack adds a number of commands alongside the ones you're familiar with. nuxt init is just one of them.

Check out the commands section to see what else Nuxt Stack can do.

What's so special about Nuxt Stack? ๐Ÿ˜‡

Out of the box, the default project template will get 100/100 in a Google Lighthouse audit across the board.

If that's piqued your interest, check out some of the other features Nuxt Stack has to offer.

How much bloat does Nuxt Stack add? ๐Ÿ˜…

Very little. It also depends on which plugins you decide to use.

Nuxt Stack is simply a collection of plugins and presets focused on delivering the best performance possible.

Out of the box, the default project template will add ~15kb of JavaScript (gzipped) to a bare bones Nuxt app. This mainly comes from lazysizes ~7kb and webfontloader ~5kb.

If you don't want to lazy load images or use custom webfonts you can disable these plugins and shed the extra weight. Some plugins like axios, webfontloader and vue-analytics are only included when configuration options are present in the Nuxt config. For example, the basic project template doesn't use any custom webfonts so webfontloader isn't included in the vendor bundle.

All plugins that Nuxt Stack provides are fully configurable, so you can opt-in or out as necessary.

Check out the configuration docs to learn more.