Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

babel-transform-in-browser

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

babel-transform-in-browser

Transform ES2015 code in browser on the fly with Babel.js

  • 6.4.5
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
22
increased by10%
Maintainers
1
Weekly downloads
 
Created
Source

Babel Transform In Browser

npm version Dependency Status

Transform ES2015 code in browser on the fly with Babel.js.

Download

http://labs.voronianski.com/babel-transform-in-browser/0.1.0/btib.min.js

But after PR accept - https://github.com/cdnjs/cdnjs/pull/6677 will be available through CDN:

https://cdnjs.cloudflare.com/ajax/libs/babel-transform-in-browser/0.1.0/btib.min.js

Also check sources at dist folder.

Why?

The answer is quick prototyping.

IMPORTANT NOTE: Please never use this module in real projects and production environments.

Usage

Just include the script on the page before or after your ES2015 scripts. Please note that only scripts that have type="text/es2015" attribute will be transpiled, see example:

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>Quick ES2015 Prototyping</title>
</head>
<body>

<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-transform-in-browser/0.1.0/btib.min.js"></script>
<script type="text/es2015">
const multiplier = (x) => (y) => x * y;
const double = multiplier(2);
const result = double(3);
console.log(result); 
// 6

class Cat { 
    constructor(name) {
        this.name = name;
    }
    speak() {
        console.log(this.name + ' makes a noise.');
    }
}

class Lion extends Cat {
    speak() {
        super.speak();
        console.log(this.name + ' roars.');
    }
}

let cat = new Cat('Simon');
cat.speak();
// Simon makes a noise.

let lion = new Lion('Sam');
lion.speak();
// Sam makes a noise. 
// Sam roars.
</script>
</body>
</html>

References

Quick React Prototyping

This script was created mainly because of the discussion on how hard it is to start hacking on a js project today. Also it is a response to the @Vjeux's challenge (http://blog.vjeux.com/2015/javascript/challenge-best-javascript-setup-for-quick-prototyping.html).

Check the example below (it's also availbe as "React Prototyping Playground" gist - https://gist.github.com/voronianski/f67f4973687434f474b4):

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>React Quick Prototyping</title>
</head>
<body>
    <div id="root"></div>
  
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.6/react.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.6/react-dom.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-transform-in-browser/0.1.0/btib.min.js"></script>
    <script type="text/es2015">
        // Your playground code goes here, e.g.:
        function App ({ title }) {
            return (
                <div>{title}</div>
            );
        }

        ReactDOM.render(
            <App title="Hello World" />,
            document.getElementById('root')
        );
    </script>
</body>
</html>
  • No setup: I'm happy to have to setup something initially (dedicated server, apache, php...) but nothing should be required to create a new project. No npm install, react-native init, creating a github project, yo webapp...
  • DONE You can use any server you want to serve static html file.
  • One file: I want to write a single js file to start with. No package.json, no .babelrc, no Procfile...
  • DONE But let's do this in html file instead.
  • Sharable: I want to be able to share it with a url without any extra step. No git push heroku master or git push gh-pages.
  • DONE Send a file in message, copy-paste in pastebin, upload via ftp, etc.
  • Keeps working: Once online, it should stay there and keep working 6 months later. No npm start to run it, no special port that's going to conflict with my 10 other prototypes...
  • DONE Bulletproof html file with script inside helps here again.
  • Not generic: I don't care about it being generic, I will use whatever transforms you decided. Happy to write js without semi-colons and using SASS for my CSS if you checked all the boxes above.
  • DONE Though SASS/LESS is not included it's a question about next "transform-in-browser" script.
  • Not prod-ready: This setup doesn't have to be prod-ready, support unit testing or anything that involves it being a real product. This is meant for hacking on stuff. When the project becomes good, I'll spend the time to add all the proper boilerplate.
  • DONE Absolutely.

To Do

What will be nice to add is extending transformations with options in script's querystring like:

/path/to/btib.min.js?presets[]=stage-0&plugins[]=transform-runtime

For now it's not added because of bug in babel-standalone module - https://github.com/Daniel15/babel-standalone/issues/4.


MIT Licensed

Keywords

FAQs

Package last updated on 06 Feb 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc