mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
WIP
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
'use strict';
|
||||
|
||||
const devExpressionWithCodes = require('../error-codes/dev-expression-with-codes');
|
||||
|
||||
const babelOptsReact = {
|
||||
plugins: [
|
||||
devExpressionWithCodes, // this pass has to run before `rewrite-modules`
|
||||
],
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
babelOptsReact,
|
||||
};
|
||||
@@ -0,0 +1,38 @@
|
||||
"use strict";
|
||||
|
||||
const { rollup } = require('rollup');
|
||||
const bundles = require('./bundles');
|
||||
const babel = require('rollup-plugin-babel');
|
||||
const commonjs = require('rollup-plugin-commonjs');
|
||||
const alias = require('rollup-plugin-alias');
|
||||
const { createModuleMap } = require('./moduleMap');
|
||||
// const nodeResolve = require('rollup-plugin-node-resolve');
|
||||
|
||||
const external = [];
|
||||
|
||||
function getAliases(paths) {
|
||||
return Object.assign(
|
||||
createModuleMap(paths),
|
||||
{
|
||||
// ...
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
function getPlugins(entry, babelOpts, paths) {
|
||||
return [
|
||||
babel(babelOpts),
|
||||
alias(getAliases(paths)),
|
||||
// nodeResolve({ jsnext: true, main: true }),
|
||||
commonjs(),
|
||||
];
|
||||
}
|
||||
|
||||
bundles.forEach(({babelOpts, entry, config, paths}) => (
|
||||
rollup({
|
||||
entry,
|
||||
plugins: getPlugins(entry, babelOpts, paths),
|
||||
external,
|
||||
}).then(({ write }) => write(config)).catch(console.error)
|
||||
));
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
'use strict';
|
||||
|
||||
const {
|
||||
babelOptsReact,
|
||||
} = require('./babel');
|
||||
|
||||
const bundles = [
|
||||
{
|
||||
config: {
|
||||
dest: 'build/rollup/react.js',
|
||||
format: 'umd',
|
||||
moduleName: 'React',
|
||||
sourceMap: false,
|
||||
},
|
||||
entry: 'src/umd/ReactUMDEntry.js',
|
||||
babelOpts: babelOptsReact,
|
||||
paths: [
|
||||
'src/umd/ReactUMDEntry.js',
|
||||
'src/umd/ReactWithAddonsUMDEntry.js',
|
||||
'src/umd/shims/**/*.js',
|
||||
|
||||
'src/isomorphic/**/*.js',
|
||||
'src/addons/**/*.js',
|
||||
|
||||
'src/ReactVersion.js',
|
||||
'src/shared/**/*.js',
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
module.exports = bundles;
|
||||
@@ -0,0 +1,33 @@
|
||||
"use strict";
|
||||
|
||||
const { resolve, basename } = require('path');
|
||||
const { sync } = require('glob');
|
||||
|
||||
const exclude = [
|
||||
'src/**/__benchmarks__/**/*.js',
|
||||
'src/**/__tests__/**/*.js',
|
||||
'src/**/__mocks__/**/*.js',
|
||||
]
|
||||
|
||||
function createModuleMap(paths) {
|
||||
const moduleMap = {};
|
||||
|
||||
paths.forEach(path => {
|
||||
const files = sync(path, exclude);
|
||||
|
||||
files.forEach(file => {
|
||||
const moduleName = basename(file, '.js');
|
||||
|
||||
if (moduleName === 'ReactElementSymbol') {
|
||||
console.log(file)
|
||||
}
|
||||
|
||||
moduleMap[moduleName] = resolve(file);
|
||||
});
|
||||
});
|
||||
return moduleMap;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
createModuleMap,
|
||||
};
|
||||
Reference in New Issue
Block a user