rsnext/examples/with-babel-macros
2019-11-27 11:40:58 -05:00
..
pages Improve linting rules to catch more errors (#9374) 2019-11-10 19:24:53 -08:00
.babelrc Fix with-babel-macros by upgrading packages (#5762) 2018-11-28 20:34:46 +01:00
package.json Test updater script on examples folder (#5993) 2019-01-05 12:19:27 +01:00
README.md Add the deploy button to compatible examples (#9547) 2019-11-27 11:40:58 -05:00

Example app with babel-macros

Deploy your own

Deploy the example using ZEIT Now:

Deploy with ZEIT Now

How to use

Using create-next-app

Execute create-next-app with Yarn or npx to bootstrap the example:

npx create-next-app --example with-babel-macros with-babel-macros-app
# or
yarn create next-app --example with-babel-macros with-babel-macros-app

Download manually

Download the example:

curl https://codeload.github.com/zeit/next.js/tar.gz/canary | tar -xz --strip=2 next.js-canary/examples/with-babel-macros
cd with-babel-macros

Install it and run:

npm install
npm run dev
# or
yarn
yarn dev

Deploy it to the cloud with now (download):

now

The idea behind the example

This example features how to configure and use babel-macros which allows you to easily add babel plugins which export themselves as a macro without needing to configure them.

You'll notice the configuration in .babelrc includes the babel-macros plugin, then we can use the preval.macro in pages/index.js to pre-evaluate code at build-time. preval.macro is effectively transforming our code, but we didn't have to configure it to make that happen!

Specifically what we're doing is we're prevaling the username of the user who ran the build.