UNPKG

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
'use strict'; 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'];