rsnext/examples/with-babel-macros
Shu Uesugi c57cdbb31d
Rename zeit.co/new → zeit.co/import (#10674)
* Replace zeit.co/new → zeit.co/import

* Update deployment.md
2020-02-24 19:08:34 -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 Rename zeit.co/new → zeit.co/import (#10674) 2020-02-24 19:08:34 -05:00

Example app with babel-macros

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.

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 npm or Yarn to bootstrap the example:

npm init 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 ZEIT Now (Documentation).

Note

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.