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
Setup
First, install the development dependencies:
$ npm install
Then, try running the tests:
$ npm test
Pull Requests
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - 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.