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.
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.
Since version 1 this plugin also supports the --turbo
flag.
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.