Skip to content
This repository was archived by the owner on Dec 10, 2019. It is now read-only.

Commit 2818924

Browse files
committed
Works with a simple, REAL hello world component now!
1 parent 561eafa commit 2818924

File tree

1 file changed

+19
-3
lines changed

1 file changed

+19
-3
lines changed

lib/engine_react.js

+19-3
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@
1919

2020
"use strict";
2121

22-
var React = {};
22+
const React = require('react');
23+
const ReactDOMServer = require('react-dom/server');
24+
const Babel = require('babel-core');
2325

2426
var engine_react = {
2527
engine: React,
@@ -40,9 +42,23 @@ var engine_react = {
4042
// render it
4143
renderPattern: function renderPattern(pattern, data, partials) {
4244
try {
43-
return "hey! this should be react, yeah";
45+
/* eslint-disable no-eval */
46+
const componentString = pattern.template || pattern.extendedTemplate;
47+
const transformedComponent = Babel.transform(componentString, {
48+
presets: [
49+
require('babel-preset-react')
50+
],
51+
plugins: [
52+
require('babel-plugin-transform-es2015-modules-commonjs')
53+
]
54+
});
55+
const Component = React.createFactory(
56+
eval(transformedComponent.code)
57+
);
58+
59+
return ReactDOMServer.renderToStaticMarkup(Component({}));
4460
} catch (e) {
45-
console.log("e = ", e);
61+
console.log("Error rendering React pattern.", e);
4662
return "";
4763
}
4864
},

0 commit comments

Comments
 (0)