# react-tools

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

Latest version **0.13.3** (published 2015-05-08) · BSD-3-Clause license · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install react-tools
pnpm add react-tools
yarn add react-tools
bun add react-tools
```

Provides the command `jsx`.

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 0.13.3 |
| Published | 2015-05-08 |
| First published | 2013-05-29 |
| Weekly downloads | 0 |
| License | BSD-3-Clause |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=0.10.0 |
| Dependencies | 2 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 249643 |
| Maintainers | zpao, jeffmo |
| Keywords | react, jsx, transformer, view |

## Links

- npm: https://www.npmjs.com/package/react-tools
- Repository: https://github.com/facebook/react
- Homepage: https://facebook.github.io/react
- Issues: https://github.com/facebook/react/issues
- npm.io page: https://npm.io/package/react-tools

## Dependencies (2)

- [commoner](https://npm.io/package/commoner.md) ^0.10.0
- [jstransform](https://npm.io/package/jstransform.md) ^10.1.0

## Alternatives

- [mobx-react](https://npm.io/package/mobx-react.md) — 2.8M weekly downloads
- [rc-tree](https://npm.io/package/rc-tree.md) — 2.6M weekly downloads
- [@react-oauth/google](https://npm.io/package/@react-oauth/google.md) — 1.3M weekly downloads
- [@wagmi/connectors](https://npm.io/package/@wagmi/connectors.md) — 877.0K weekly downloads
- [vee-validate](https://npm.io/package/vee-validate.md) — 836.4K weekly downloads

## Recent versions

- 0.13.3 (latest) — 2015-05-08
- 0.14.0-alpha3 (next) — 2015-05-27
- 0.11.0-rc1 (0.11.0-rc1) — 2014-07-13
- 0.10.0-rc1 (0.10.0-rc1) — 2014-03-19
- 0.14.0-alpha2 — 2015-05-20
- 0.14.0-alpha1 — 2015-05-11
- 0.13.2 — 2015-04-18
- 0.13.1 — 2015-03-17
- 0.13.0 — 2015-03-10
- 0.13.0-rc2 — 2015-03-03
- 0.13.0-rc1 — 2015-02-22
- 0.13.0-beta.2 — 2015-02-14
- 0.13.0-beta.1 — 2015-01-28
- 0.13.0-alpha.2 — 2015-01-16
- 0.13.0-alpha.1 — 2014-12-23
- … 21 more at https://npm.io/package/react-tools/versions

## README

# react-tools

This package compliments the usage of [React](https://facebook.github.io/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<br>`"es5"`: ECMAScript 5| `"es5"`

```js
var reactTools = require('react-tools');

reactTools.transform(string, options);
```

### `transformWithDetails(inputString, options)`

Just like `transform`, but outputs an object:
```js
{
  code: outputString,
  sourceMap: theSourceMap // Only if the `sourceMap` option is `true`.
}
```

---
_Source: https://npm.io/package/react-tools · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
