babili-standalone

Standalone build of Babili (babel-minify) for use in non-Node.js environments

Usage no npm install needed!

<script type="module">
  import babiliStandalone from 'https://cdn.skypack.dev/babili-standalone';
</script>

README

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:

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;