JSPM

  • Created
  • Published
  • Downloads 18343
  • Score
    100M100P100Q29225F
  • License BSD-3-Clause

A set of complementary tools to React, including the JSX transformer.

Package Exports

  • react-tools
  • react-tools/main
  • react-tools/package.json

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

Readme

react-tools

This package compliments the usage of React. It ships with tools that are often used in conjunction.

JSX

This package installs a jsx executable that can be used to transform JSX into vanilla JS. This is often used as part of a build step. This transform is also exposed as an API.

By default JSX files with a .js extension are transformed. Use the -x option to transform files with a .jsx extension.

Usage

Command Line

Usage: jsx [options] <source directory> <output directory> [<module ID> [<module ID> ...]]

Options:

  -h, --help                               output usage information
  -V, --version                            output the version number
  -c, --config [file]                      JSON configuration file (no file or - means STDIN)
  -w, --watch                              Continually rebuild
  -x, --extension <js | coffee | ...>      File extension to assume when resolving module identifiers (default: js)
  --relativize                             Rewrite all module identifiers to be relative
  --follow-requires                        Scan modules for required dependencies
  --cache-dir <directory>                  Alternate directory to use for disk cache
  --no-cache-dir                           Disable the disk cache
  --source-charset <utf8 | win1252 | ...>  Charset of source (default: utf8)
  --output-charset <utf8 | win1252 | ...>  Charset of output (default: utf8)
  --harmony                                Turns on JS transformations such as ES6 Classes etc.
  --source-map-inline                      Embed inline sourcemap in transformed source
  --strip-types                            Strips out type annotations
  --es6module                              Parses the file as a valid ES6 module
  --non-strict-es6module                   Parses the file as an ES6 module, except disables implicit strict-mode (i.e. CommonJS modules et al are allowed)
  --target <version>                       Target version of ECMAScript. Valid values are "es3" and "es5". Use "es3" for legacy browsers like IE8.

API

transform(inputString, options)

option values default
sourceMap true: append inline source map at the end of the transformed source false
harmony true: enable ES6 features false
sourceFilename the output filename for the source map "source.js"
stripTypes true: strips out type annotations false
es6module true: parses the file as an ES6 module false
nonStrictEs6module true: parses the file as an ES6 module, except disables implicit strict-mode (i.e. CommonJS modules et al are allowed) false
target "es3": ECMAScript 3
"es5": ECMAScript 5
"es5"
var reactTools = require('react-tools');

reactTools.transform(string, options);

transformWithDetails(inputString, options)

Just like transform, but outputs an object:

{
  code: outputString,
  sourceMap: theSourceMap // Only if the `sourceMap` option is `true`.
}