electron-compile provides compilers for common JavaScript and CSS alternative targets.
For JavaScript:
- JavaScript ES6/ES7 (via Babel)
- TypeScript
- CoffeeScript
For CSS:
- LESS
- Sass/SCSS
Put this in your Electron app's app.ready
:
app.on('ready', function() {
require('electron-compile').init();
});
From then on, you can now simply include files directly in your HTML, no need for cross-compilation:
<head>
<script src="main.coffee"></script>
<link rel="stylesheet" type="text/css" href="main.less" />
</head>
or just require them in:
require('./mylib') // mylib.ts
The JavaScript compilers will register with module.register, but CSS of course won't
Add 'use nobabel';
to the top of your file to opt-out of Babel compilation.
Unfortunately, the very first file that you set up app.ready
in must be written in ES5. Of course, you can always make this file as small as possible, or just require in a real file once you call init()
.