transpile v2.8.0
Transpiles JavaScript modules from one format to another.
It supports from:
- es6,
- cjs,
- amd,
steal
to
- amd,
- steal,
- cjs.
Currently, it can not transpile to ES6 module syntax.
Install
> npm install transpile --save-dev
Use
transpile.to
transpiles from one format to another format. transpile.able
lets you know if a transpile is possible.
Formats
Formats are specified by strings like:
- "es6" - ES6 Module syntax like
import Point from "math";
- "cjs" - CommonJS syntax like
var _ = require('underscore');
- "amd" - Asynchronous Module Definition
syntax like
define(['jquery'],function($){});
- "steal" - steal syntax like
steal('jquery', function($){})
transpile.to(load, format, options) -> transpiledResult
Transpiles from the load
's format to the specified format. If
the load
does not specify a format, "es6"
modules are assumed. Returns
an object containing the transpiled source and sourceMap (if sourceMap option provided).
Example:
var transpile = require('transpile');
var res = transpile.to({
name: "my/module",
source: "var foo = require('foo')",
metadata: {format: "cjs"}
}, "amd")
res.code //-> "define("my/module", function(require, exports, module) { ... "
A load is an object in the shape of an ES6 Load Record like:
{
name: "moduleName",
source: "source code",
metadata: {format: "formatName"}
}
NOTE
Previously transpile.to
returned a string containing the transpiled source. To accomodate Source Maps support the API has changed and now returns an object that looks like:
{
code: "define(...", // The transpiled source,
map: {}, // A source map, if sourceMaps option is provided.
ast: {} // A Mozilla Parser API compatible AST, created by Esprima
}
options
- normalizeMap
Object<moduleName,moduleName>
- A mapping module names that will be used to replace dependency names in the transpiled result. - normalize
function(name, currentName, address) -> String
- A function that can be used to change moduleNames that are written in the transpiled result. - namedDefines
Boolean=false
- Set to true to insert named defines. - transpiler
String=traceur
- Set which ES6 transpiler to use. Valid options aretraceur
or6to5
withtraceur
being the default. - transpile
function(source, compileOptions, options) -> Object
- If you want to handle tranpiling yourself and not use the built-in options, this is a function that will be given the source and is expected to return an object containing acode
string. - sourceMaps
Boolean=false
- Set to true to return amap
andast
object along with the result. - sourceMapsContent
Boolean=false
- IfsourceMaps
is set to true, this option will include the original source contents with the source maps.
transpile.able(fromFormat, toFormat) -> transpiledPath
Returns the path used to transpile
from fromFormat
to toFormat
. If transpiling is not possible, null
will be
returned.
Example:
var res = transpile.able("steal","cjs");
res //-> ["steal","amd"];
This means that a module will be converted from "steal" to "amd" and then to "cjs".
Test
> npm test
3 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
11 years ago
11 years ago
11 years ago