JSPM

  • Created
  • Published
  • Downloads 4156875
  • Score
    100M100P100Q183856F
  • License MIT

Generate an AST from a string template.

Package Exports

  • babel-template

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (babel-template) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

babel-template

Generate an AST from a string template.

In computer science, this is known as an implementation of quasiquotes.

Install

npm install --save-dev babel-template

Usage

import template from "babel-template";
import generate from "babel-generator";
import * as t from "babel-types";

const buildRequire = template(`
  var IMPORT_NAME = require(SOURCE);
`);

const ast = buildRequire({
  IMPORT_NAME: t.identifier("myModule"),
  SOURCE: t.stringLiteral("my-module")
});

console.log(generate(ast).code);
const myModule = require("my-module");

API

template(code, [opts])

code

Type: string

options

babel-template accepts all of the options from babylon, and specifies some defaults of its own:

  • allowReturnOutsideFunction is set to true by default.
  • allowSuperOutsideMethod is set to true by default.
preserveComments

Type: boolean Default: false

Set this to true to preserve any comments from the code parameter.

Return value

babel-template returns a function which is invoked with an optional object of replacements. See the usage section for an example.