Skip to content

Automatically transform your Next.js Pages to use SuperJSON, without losing swc support

Notifications You must be signed in to change notification settings

remorses/next-superjson

Repository files navigation

Getting started

Install the library with your package manager of choice, e.g.:

npm install next-superjson next-superjson-plugin superjson

Since this is a companion to SuperJSON, make sure it's also installed, also with next-superjson-plugin which is a runtime dependency.

Add the plugin to your next.config.js. If you don't have one, create it.

const { withSuperjson } = require('next-superjson')

module.exports = withSuperjson()({})

Note

Notice that you have to call the plugin function 2 times, this is to support options in the future

That's it! Now you're free to use all values and type supported by SuperJSON in your Next.js Components.

How it works

New Nextjs 12 uses swc to compile user code by default, adding a custom .babelrc file will make Nextjs compile everything using Babel instead (much slower).

This plugin will inject the superjson plugin only on files under the pages directory so you can keep using swc for all the other files.

Version 1 of this plugin will use the SWC superjson plugin instead of the Babel plugin, this is because the previous Babel plugin no longer works, thanks to commonjs and ESM skill issues by one of the core developers.

Turbopack support

Since version 1 this plugin also supports the --turbo flag.

What is the different between this plugin and next-superjson-plugin SWC plugin?

next-superjson-plugin broke in version 15 of Next.js because SWC was updated to a version that no longer supported plugins built with a different version of swc_core binary.

This plugin instead freezes the version of @swc/core to one that is guaranteed to work.

Sponsors

Notaku

Notaku

About

Automatically transform your Next.js Pages to use SuperJSON, without losing swc support

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published