Commit ebb009f7 by Ari Rizzitano

basic build

parent f9221d99
......@@ -9,7 +9,11 @@
"react/no-array-index-key": "off"
},
"settings": {
"import/resolver": "webpack"
"import/resolver": {
"node": {
"extensions": [".js", ".jsx"]
}
}
},
"env": {
"jest": true
......
......@@ -65,6 +65,7 @@
"eslint-import-resolver-webpack": "^0.8.1",
"eslint-plugin-jsx-a11y": "^5.1.0",
"eslint-plugin-react": "^7.1.0",
"extract-text-webpack-plugin": "^3.0.1",
"file-loader": "^1.1.4",
"greenkeeper-lockfile": "^1.7.1",
"husky": "^0.14.1",
......
import asInput from './asInput';
import Button from './Button';
import CheckBox from './CheckBox';
import Dropdown from './Dropdown';
import InputSelect from './InputSelect';
import InputText from './InputText';
import Modal from './Modal';
import StatusAlert from './StatusAlert';
import Table from './Table';
import Tabs from './Tabs';
import RadioButtonGroup, { RadioButton } from './RadioButtonGroup';
import Hyperlink from './Hyperlink';
export {
asInput,
Button,
CheckBox,
Dropdown,
InputSelect,
InputText,
Modal,
StatusAlert,
Table,
Tabs,
RadioButtonGroup,
RadioButton,
......
const path = require('path');
const MinifyPlugin = require('babel-minify-webpack-plugin');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const env = process.env.NODE_ENV || 'dev';
const base = {
module.exports = {
devtool: 'source-map',
entry: {
polyfill: 'babel-polyfill',
main: path.resolve('./docs/App.js'),
main: path.resolve('./src/index.js'),
},
output: {
filename: 'bundle.js',
path: path.resolve('./docs'),
filename: 'dist/index.js',
library: 'paragon',
libraryTarget: 'umd',
},
resolve: {
extensions: ['.js', '.jsx'],
},
plugins: [
new ExtractTextPlugin('dist/paragon.min.css'),
new MinifyPlugin(),
],
module: {
......@@ -37,78 +37,52 @@ const base = {
},
{
test: /\.scss$/,
use: [
{
loader: 'style-loader',
},
{
loader: 'css-loader',
options: {
modules: true,
localIdentName: '[name]__[local]___[hash:base64:5]',
use: ExtractTextPlugin.extract({
use: [
{
loader: 'css-loader',
options: {
modules: true,
localIdentName: '[name]__[local]___[hash:base64:5]',
},
},
},
{
loader: 'sass-loader',
options: {
data: '@import "paragon-reset";',
includePaths: [
path.join(__dirname, './src/utils'),
path.join(__dirname, './node_modules'),
],
{
loader: 'sass-loader',
options: {
data: '@import "paragon-reset";',
includePaths: [
path.join(__dirname, './src/utils'),
path.join(__dirname, './node_modules'),
],
},
},
},
],
],
}),
},
],
},
};
const additionalConfig = {
// production builds the library for external consumption
production: {
entry: {
Dropdown: path.resolve('./src/Dropdown.jsx'),
},
output: {
path: path.resolve('./dist'),
filename: '[name].js',
library: 'paragon',
libraryTarget: 'umd',
},
externals: [{
react: {
root: 'React',
commonjs2: 'react',
commonjs: 'react',
amd: 'react',
},
},
{
'react-dom': {
root: 'ReactDOM',
commonjs2: 'react-dom',
commonjs: 'react-dom',
amd: 'react-dom',
},
externals: [{
react: {
root: 'React',
commonjs2: 'react',
commonjs: 'react',
amd: 'react',
},
{
'react-addons-transition-group': {
commonjs: 'react-addons-transition-group',
commonjs2: 'react-addons-transition-group',
amd: 'react-addons-transition-group',
root: ['React', 'addons', 'TransitionGroup'],
},
},
{
'react-dom': {
root: 'ReactDOM',
commonjs2: 'react-dom',
commonjs: 'react-dom',
amd: 'react-dom',
},
{
'react-addons-css-transition-group': {
commonjs: 'react-addons-css-transition-group',
commonjs2: 'react-addons-css-transition-group',
amd: 'react-addons-css-transition-group',
root: ['React', 'addons', 'CSSTransitionGroup'],
},
}],
},
{
'react-transition-group': {
root: 'ReactTransitionGroup',
commonjs2: 'react-transition-group',
commonjs: 'react-transition-group',
amd: 'react-transition-group',
},
}],
};
module.exports = Object.assign(base, additionalConfig[env]);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment