UNPKG

clinch.jsx

Version:
73 lines (58 loc) 1.72 kB
// Generated by CoffeeScript 1.10.0 /* This is separate React jsx addon for Clinch processor */ (function() { var babel, builder, extend, extension, get_options, preset_es2015, preset_react, processor; extend = require('whet.extend'); babel = require('babel-core'); preset_react = require('babel-preset-react'); preset_es2015 = require('babel-preset-es2015'); extension = '.jsx'; get_options = function(filename, is_es2015_used) { var presets; presets = is_es2015_used ? [preset_react, preset_es2015] : [preset_react]; return { ast: false, presets: presets, filename: filename }; }; processor = function(data, filename, cb) { var error, error1, result; try { result = babel.transform(data, get_options(filename)); } catch (error1) { error = error1; error.filename = filename; return cb(error); } return cb(null, result.code, true); }; builder = function(raw_options) { var use_es2015; use_es2015 = false; if (raw_options.es2015 != null) { use_es2015 = raw_options.es2015; delete raw_options.es2015; } return { extension: extension, processor: function(data, filename, cb) { var error, error1, options, result; options = extend({}, raw_options, get_options(filename, use_es2015)); try { result = babel.transform(data, options); } catch (error1) { error = error1; error.filename = filename; return cb(error); } return cb(null, result.code, true); } }; }; builder.extension = extension; builder.processor = processor; module.exports = builder; }).call(this);