babylon-react-templates-parser
Version:
Babel parser allows you import your React Templates files for server side rendering.
39 lines (29 loc) • 1.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _escapeStringRegexp = require('escape-string-regexp');
var _escapeStringRegexp2 = _interopRequireDefault(_escapeStringRegexp);
var _reactTemplates = require('react-templates/src/reactTemplates');
var _reactTemplates2 = _interopRequireDefault(_reactTemplates);
var _babylon = require('babylon');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var defaultOpts = {
modules: 'es6',
targetVersion: '0.14.0'
};
exports.default = {
parse: function parse(code, opts) {
var codeToParse = code;
var rtOpts = opts.rt || {};
var ext = rtOpts.fileExt || '.rt';
var regexExt = new RegExp((0, _escapeStringRegexp2.default)(ext) + '$');
if (regexExt.test(opts.sourceFilename || opts.sourceFileName)) {
codeToParse = _reactTemplates2.default.convertTemplateToReact(code, Object.assign(defaultOpts, rtOpts));
}
var parser = opts.parser;
var parse = parser.parse || _babylon.parse;
return parse(codeToParse, opts);
}
};
module.exports = exports['default'];