Add ReactART builds

This commit is contained in:
Dan Abramov
2017-03-11 20:12:25 +00:00
parent 3d27a04b2a
commit d93b8e3cb5
4 changed files with 71 additions and 6 deletions
-1
View File
@@ -21,6 +21,5 @@
["transform-es2015-block-scoping", { "throwIfClosureRequired": true }],
"transform-es3-member-expression-literals",
"transform-es3-property-literals",
"transform-react-jsx-source"
]
}
+5
View File
@@ -39,6 +39,11 @@ var babelOptions = {
}
),
}],
// Keep stacks detailed in tests.
// Don't put this in .babelrc so that we don't embed filenames
// into ReactART builds that include JSX.
// TODO: I have not verified that this actually works.
require.resolve('babel-plugin-transform-react-jsx-source'),
],
retainLines: true,
};
+63 -1
View File
@@ -16,7 +16,13 @@ const babelOptsReact = {
],
};
const babelOptsReactART = Object.assign({}, babelOptsReact, {
// Include JSX
presets: [require.resolve('babel-preset-react')],
});
const bundles = [
/******* Isomorphic *******/
{
babelOpts: babelOptsReact,
config: {
@@ -41,6 +47,8 @@ const bundles = [
],
createUMDBundles: true,
},
/******* React DOM *******/
{
babelOpts: babelOptsReact,
config: {
@@ -91,7 +99,61 @@ const bundles = [
'src/shared/**/*.js',
],
createUMDBundles: true,
},
},
/******* React ART *******/
{
babelOpts: babelOptsReactART,
config: {
destDir: 'build/rollup/',
globals: {
'react': 'React',
},
moduleName: 'ReactARTStack',
sourceMap: false,
},
entry: 'src/renderers/art/ReactARTStack.js',
fbEntry: 'src/renderers/art/ReactARTStack.js',
hasteName: 'ReactARTStack',
name: 'react-art',
paths: [
// TODO: it relies on ReactDOMFrameScheduling. Need to move to shared/?
'src/renderers/dom/**/*.js',
'src/renderers/art/**/*.js',
'src/renderers/shared/**/*.js',
'src/ReactVersion.js',
'src/shared/**/*.js',
],
createUMDBundles: true,
},
{
babelOpts: babelOptsReactART,
config: {
destDir: 'build/rollup/',
globals: {
'react': 'React',
},
moduleName: 'ReactARTFiber',
sourceMap: false,
},
entry: 'src/renderers/art/ReactARTFiber.js',
fbEntry: 'src/renderers/art/ReactARTFiber.js',
hasteName: 'ReactARTFiber',
name: 'react-art',
paths: [
// TODO: it relies on ReactDOMFrameScheduling. Need to move to shared/?
'src/renderers/dom/**/*.js',
'src/renderers/art/**/*.js',
'src/renderers/shared/**/*.js',
'src/ReactVersion.js',
'src/shared/**/*.js',
],
createUMDBundles: true,
},
/******* React Native *******/
// {
// babelOpts: babelOptsReact,
// config: {
+3 -4
View File
@@ -27,7 +27,6 @@ const ReactUpdates = require('ReactUpdates');
const emptyObject = require('fbjs/lib/emptyObject');
const invariant = require('fbjs/lib/invariant');
const assign = require('object-assign');
const pooledTransform = new Transform();
// Utilities
@@ -56,7 +55,7 @@ function createComponent(name) {
};
ReactARTComponent.displayName = name;
for (let i = 1, l = arguments.length; i < l; i++) {
assign(ReactARTComponent.prototype, arguments[i]);
Object.assign(ReactARTComponent.prototype, arguments[i]);
}
return ReactARTComponent;
@@ -93,7 +92,7 @@ function injectAfter(parentNode, referenceNode, node) {
// ContainerMixin for components that can hold ART nodes
const ContainerMixin = assign({}, ReactMultiChild, {
const ContainerMixin = Object.assign({}, ReactMultiChild, {
/**
* Moves a child component to the supplied index.
@@ -446,7 +445,7 @@ const ClippingRectangle = createComponent(
// Renderables
const RenderableMixin = assign({}, NodeMixin, {
const RenderableMixin = Object.assign({}, NodeMixin, {
applyRenderableProps: function(oldProps, props) {
if (oldProps.fill !== props.fill) {