mirror of
https://github.com/ant-design/ant-design.git
synced 2024-11-30 06:09:34 +08:00
Merge pull request #1257 from ant-design/chore-webpack
chore: merge webpack config into one file
This commit is contained in:
commit
03df6b5a35
@ -140,10 +140,10 @@
|
||||
"scripts": {
|
||||
"babel": "babel components index.js --out-dir lib",
|
||||
"clean-build": "rm -rf _site _data && ./scripts/build-website.js",
|
||||
"dora": "dora -p 8001 --plugins \"webpack?disableNpmInstall&config=webpack.website.config.js,hmr?config=webpack.website.config.js\"",
|
||||
"dora": "ANTD=WEBSITE dora -p 8001 --plugins webpack?disableNpmInstall,hmr",
|
||||
"start": "npm run clean-build && npm run dora",
|
||||
"copy-html": "cp ./index.html ./_site/index.html && mkdir ./_site/_site && mv ./_site/demo-* ./_site/_site",
|
||||
"site": "npm run clean-build && atool-build -o ./_site --config webpack.website.config.js && npm run copy-html",
|
||||
"site": "npm run clean-build && ANTD=WEBSITE atool-build -o ./_site && npm run copy-html && ANTD=PRODUCTION atool-build && cp -R dist _site/dist",
|
||||
"deploy": "rm -rf node_modules && node scripts/install.js && npm run just-deploy",
|
||||
"just-deploy": "npm run site && node scripts/deploy.js",
|
||||
"lint": "npm run srclint && npm run mdlint && npm run lesshint",
|
||||
|
@ -1,22 +0,0 @@
|
||||
module.exports = function(webpackConfig) {
|
||||
webpackConfig.entry = {
|
||||
'antd': ['./style/index.less', './index.js']
|
||||
};
|
||||
webpackConfig.externals = {
|
||||
'react': {
|
||||
root: 'React',
|
||||
commonjs2: 'react',
|
||||
commonjs: 'react',
|
||||
amd: 'react'
|
||||
},
|
||||
'react-dom': {
|
||||
root: 'ReactDOM',
|
||||
commonjs2: 'react-dom',
|
||||
commonjs: 'react-dom',
|
||||
amd: 'react-dom'
|
||||
}
|
||||
};
|
||||
webpackConfig.output.library = 'antd';
|
||||
webpackConfig.output.libraryTarget = 'umd';
|
||||
return webpackConfig;
|
||||
};
|
@ -1,71 +1,36 @@
|
||||
var webpack = require('webpack');
|
||||
var ExtractTextPlugin = require("extract-text-webpack-plugin");
|
||||
var path = require('path');
|
||||
var pkg = require('./package');
|
||||
var autoprefixer = require('autoprefixer');
|
||||
module.exports = function(webpackConfig) {
|
||||
if (process.env.ANTD === 'WEBSITE') {
|
||||
webpackConfig.entry = {
|
||||
index: './site/entry/index.jsx',
|
||||
};
|
||||
webpackConfig.resolve.root = process.cwd();
|
||||
webpackConfig.resolve.alias = {
|
||||
antd: 'index',
|
||||
BrowserDemo: 'site/component/BrowserDemo',
|
||||
};
|
||||
}
|
||||
|
||||
var entry = {};
|
||||
entry['demo'] = ['./scripts/demo.js', 'webpack-hot-middleware/client'];
|
||||
|
||||
module.exports = {
|
||||
entry: entry,
|
||||
|
||||
cache: true,
|
||||
|
||||
resolve: {
|
||||
extensions: ['', '.js', '.jsx'],
|
||||
unsafeCache: true
|
||||
},
|
||||
|
||||
noParse: /_site|node_modules/,
|
||||
|
||||
output: {
|
||||
path: path.join(process.cwd(), 'dist'),
|
||||
publicPath: '/dist/',
|
||||
filename: '[name].js'
|
||||
},
|
||||
|
||||
module: {
|
||||
loaders: [{
|
||||
test: /\.jsx?$/,
|
||||
exclude: /node_modules/,
|
||||
loader: 'es3ify'
|
||||
}, {
|
||||
test: /\.jsx?$/,
|
||||
exclude: /node_modules/,
|
||||
loader: 'babel',
|
||||
query: {
|
||||
cacheDirectory: true,
|
||||
presets: ['es2015', 'react', 'stage-0', 'react-hmre'],
|
||||
plugins: ['add-module-exports']
|
||||
if (process.env.ANTD === 'PRODUCTION') {
|
||||
webpackConfig.entry = {
|
||||
'antd': ['./style/index.less', './index.js']
|
||||
};
|
||||
webpackConfig.externals = {
|
||||
'react': {
|
||||
root: 'React',
|
||||
commonjs2: 'react',
|
||||
commonjs: 'react',
|
||||
amd: 'react'
|
||||
},
|
||||
'react-dom': {
|
||||
root: 'ReactDOM',
|
||||
commonjs2: 'react-dom',
|
||||
commonjs: 'react-dom',
|
||||
amd: 'react-dom'
|
||||
}
|
||||
}, {
|
||||
test: /\.json$/,
|
||||
exclude: /node_modules/,
|
||||
loader: 'json-loader'
|
||||
}, {
|
||||
test: /\.less$/,
|
||||
exclude: /node_modules/,
|
||||
loader: ExtractTextPlugin.extract(
|
||||
'css?sourceMap&-minimize!' + 'postcss-loader!' + 'less?sourceMap'
|
||||
)
|
||||
}, {
|
||||
test: /\.css$/,
|
||||
exclude: /node_modules/,
|
||||
loader: ExtractTextPlugin.extract(
|
||||
'css?sourceMap&-minimize!' + 'postcss-loader'
|
||||
)
|
||||
}]
|
||||
},
|
||||
};
|
||||
webpackConfig.output.library = 'antd';
|
||||
webpackConfig.output.libraryTarget = 'umd';
|
||||
}
|
||||
|
||||
postcss: [autoprefixer],
|
||||
|
||||
plugins: [
|
||||
new ExtractTextPlugin('[name].css'),
|
||||
new webpack.optimize.OccurenceOrderPlugin(),
|
||||
new webpack.HotModuleReplacementPlugin(),
|
||||
new webpack.NoErrorsPlugin()
|
||||
],
|
||||
|
||||
devtool: 'cheap-module-source-map'
|
||||
return webpackConfig;
|
||||
};
|
||||
|
@ -1,25 +0,0 @@
|
||||
var webpack = require('webpack');
|
||||
var config = require('./webpack.config');
|
||||
|
||||
delete config.devtool;
|
||||
config.entry.demo = [config.entry.demo[0]];
|
||||
|
||||
config.plugins = [config.plugins[0], new webpack.optimize.UglifyJsPlugin({
|
||||
sourceMap: false,
|
||||
output: {
|
||||
ascii_only: true
|
||||
},
|
||||
compress: {
|
||||
warnings: false
|
||||
}
|
||||
})];
|
||||
|
||||
config.module.loaders.forEach(function(loader) {
|
||||
if (loader.loader === 'babel') {
|
||||
// remove preset hmre
|
||||
loader.query.presets = loader.query.presets.slice(0, 3);
|
||||
}
|
||||
return loader;
|
||||
});
|
||||
|
||||
module.exports = config;
|
@ -1,12 +0,0 @@
|
||||
module.exports = function(webpackConfig) {
|
||||
webpackConfig.entry = {
|
||||
index: './site/entry/index.jsx',
|
||||
};
|
||||
webpackConfig.resolve.root = process.cwd();
|
||||
webpackConfig.resolve.alias = {
|
||||
antd: 'index',
|
||||
BrowserDemo: 'site/component/BrowserDemo',
|
||||
};
|
||||
|
||||
return webpackConfig;
|
||||
};
|
Loading…
Reference in New Issue
Block a user