summaryrefslogtreecommitdiff
path: root/support/build/compile-module.js
diff options
context:
space:
mode:
Diffstat (limited to 'support/build/compile-module.js')
-rwxr-xr-xsupport/build/compile-module.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/support/build/compile-module.js b/support/build/compile-module.js
new file mode 100755
index 0000000..38a4d38
--- /dev/null
+++ b/support/build/compile-module.js
@@ -0,0 +1,32 @@
+#!/usr/bin/env node
+
+const yargs = require('yargs');
+const fs = require('fs');
+const {transformFile} = require('babel-core');
+const pluginCJS = require('babel-plugin-transform-es2015-modules-commonjs');
+const pluginModuleExports = require('babel-plugin-add-module-exports');
+
+compileModule(yargs.argv, (err) => {
+ if (err) throw err;
+})
+
+function compileModule(options, callback) {
+ const {file, output} = options;
+ const plugins = [
+ pluginModuleExports,
+ pluginCJS
+ ];
+
+ transformFile(file, {
+ babelrc: false,
+ ast: false,
+ plugins
+ }, (err, content) => {
+ if (err) return callback(err);
+ if (!output) {
+ process.stdout.write(content.code);
+ return callback();
+ }
+ fs.writeFile(output, content.code, callback)
+ })
+}