Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including codegen.macro with all npm packages installed. Try it out:

var codegenMacro = require("codegen.macro")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

codegen.macro v3.0.0

Generate code at build-time with babel-macros


Babel Macro

This is a babel-macros macro for babel-plugin-codegen.

Please see those projects for more information.


This module is distributed via npm which is bundled with node and should be installed as one of your project's devDependencies:

npm install --save-dev codegen.macro

You'll also need to install and configure babel-macros if you haven't already.


Once you've configured babel-macros you can import/require codegen.macro. For example:

import codegen from 'babel-plugin-codegen/macro'

codegen`module.exports = ['a', 'b', 'c'].map(l => 'export const ' + l + ' = ' + JSON.stringify(l)).join(';')`

      ↓ ↓ ↓ ↓ ↓ ↓

export const a = "a";
export const b = "b";
export const c = "c";

You'll find more usage capabilities in the babel-plugin-codegen test snapshots.


babel-plugin-codegen allows you to have a few more APIs than you have with this macro, but this macro comes with all the benefits of using babel-macros (which you can read about in the babel-macros docs).


RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free