JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 388819
  • Score
    100M100P100Q177585F
  • License Apache 2

ES6 template strings compiled to ES5.

Package Exports

  • es6-templates

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 (es6-templates) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

es6-templates

Compiles JavaScript written using template strings to use ES5-compatible syntax. For example, this:

var name = "Nicholas",
    msg = `Hello, ${name}!`;

console.log(msg);    // "Hello, Nicholas!"

compiles to this:

var name = "Nicholas",
    msg = "Hello, " + name + "!";

console.log(msg);    // "Hello, Nicholas!"

For more information about the proposed syntax, see the TC39 wiki page on template strings.

Install

$ npm install es6-templates

Usage

$ node
> var compile = require('es6-templates').compile;
> compile('`Hey, ${name}!`')
{ 'code': ..., 'map': ... }

Without interpolation:

`Hey!`
// becomes
'"Hey!"'

With interpolation:

`Hey, ${name}!`
// becomes
"Hey, " + name + "!"

With a tag expression:

escape `<a href="${href}">${text}</a>`
// becomes
escape(function() {
  var strings = ["\u003Ca href=\"", "\"\u003E", "\u003C/a\u003E"];
  strings.raw = ["\u003Ca href=\"", "\"\u003E", "\u003C/a\u003E"];
  return strings;
}(), href, text);

Or work directly with the AST:

$ node
> var transform = require('es6-templates').transform;
> transform(inputAST)

Transforming ASTs is best done using recast to preserve formatting where possible and for generating source maps.

Browserify

Browserify support is built in.

$ npm install es6-templates  # install local dependency
$ browserify -t es6-templates $file

Contributing

Build Status

Setup

First, install the development dependencies:

$ npm install

Then, try running the tests:

$ npm test

Pull Requests

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Any contributors to the master es6-templates repository must sign the Individual Contributor License Agreement (CLA). It's a short form that covers our bases and makes sure you're eligible to contribute.

When you have a change you'd like to see in the master repository, send a pull request. Before we merge your request, we'll make sure you're in the list of people who have signed a CLA.