Skip to content

Latest commit

 

History

History
 
 

babili-standalone

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

babili-standalone

babili-standalone is a standalone build of Babili for use in non-Node.js environments, including browsers.

But why?!

It's true that using Babel (and Babili) through Webpack, Browserify or Gulp should be sufficient for most use cases. However, there are some valid use cases for babel-standalone:

  • Sites like JSFiddle, JS Bin, the REPL on the Babel site, etc. These sites compile user-provided JavaScript in real-time, and Babili could be used to provide on-the-fly minification and related statistics,
  • Apps that embed a JavaScript engine such as V8 directly, and want to use Babel for compilation and minification
  • Apps that want to use JavaScript as a scripting language for extending the app itself, including all the goodies that ES2015 provides.
  • Integration of Babel into a non-Node.js environment (ReactJS.NET, ruby-babel-transpiler, php-babel-transpiler, etc).

Installation

There are several ways to get a copy of Babili. Pick whichever one you like:

  • Use it via CDNJS: [TODO]. This is a simple way to embed it on a webpage without having to do any other setup.
  • Install via Bower: bower install babili-standalone
  • Install via NPM: npm install --save babili-standalone
  • Manually grab babili.js and/or babili.min.js from the GitHub releases page. Every release includes these files.
  • Install it via Git: You can use the repo at https://github.com/Daniel15/babel-standalone-bower to pull a prebuilt version from Git. Note that this is generally only advised for systems that must pull artifacts from Git, such as Bower.

Usage

Load babili.js or babili.min.js in your environment, along with Babel-standalone. This is important: You need to load Babel too!

This will load Babili's Babel plugins and preset, and expose a simple API in a Babili object:

var input = 'class Foo { constructor(bar) { this.bar = bar } }; new Foo()';
var output = Babili.transform(input).code;
// class a{constructor(b){this.bar=b}};new a;