Skip to content

Instantly share code, notes, and snippets.

@ammark47
Created December 2, 2015 21:15
Show Gist options
  • Save ammark47/523e679d63b78b444c29 to your computer and use it in GitHub Desktop.
Save ammark47/523e679d63b78b444c29 to your computer and use it in GitHub Desktop.
{
"optional": [
"es7.classProperties",
"es7.decorators",
"es7.objectRestSpread"
],
"env": {
"start": {
"plugins": [
"react-transform"
],
"extra": {
"react-transform": {
"transforms": [
{
"transform": "react-transform-hmr",
"imports": ["react"],
"locals": ["module"]
}
]
}
}
}
}
}
var React = require('react');
var ReactRouter = require('react-router');
var Router = ReactRouter.Router;
var Link = Router.Link;
var Route = ReactRouter.Route;
var RouteHandler = ReactRouter.RouteHandler;
require('bootstrap-webpack');
var App = require('./app');
var HomeView = require('./HomeView');
var ga = require('react-google-analytics');
var GAInitiailizer = ga.Initializer;
render((
<ReactRouter history={history}>
<Route path="/" component={HomeView} />
<Route path="app" component={App} />
</ReactRouter>
), document.body)
// Router.run(routes, function(Handler) {
// React.render(<Router routes={routes}/>, document.body);
// });
ga('create', 'UA-XXXX-Y', 'auto');
ga('send', 'pageview');
var path = require('path');
var HtmlwebpackPlugin = require('html-webpack-plugin');
var HtmlwebpackPlugin = require('html-webpack-plugin');
var webpack = require('webpack');
var merge = require('webpack-merge');
var ROOT_PATH = path.resolve(__dirname);
const TARGET = process.env.npm_lifecycle_event;
const PATHS = {
app: path.join(__dirname, './app/js/RRouter.jsx'),
build: path.join(__dirname, 'build')
};
process.env.BABEL_ENV = TARGET;
var common = {
entry: PATHS.app,
resolve: {
extensions: ['', '.js', '.jsx'],
alias: {
css: path.resolve(__dirname, 'css')
}
},
module: {
loaders: [
{
test: /\.css$/,
loaders: ['style', 'css'],
include: PATHS.app
},
{ test: /bootstrap\/js\//, loader: 'imports?jQuery=jquery' },
// Needed for the css-loader when [bootstrap-webpack](https://github.com/bline/bootstrap-webpack)
// loads bootstrap's css.
{ test: /\.woff(\?v=\d+\.\d+\.\d+)?$/, loader: "url?limit=10000&mimetype=application/font-woff" },
{ test: /\.woff2(\?v=\d+\.\d+\.\d+)?$/, loader:"url?limit=10000&mimetype=application/font-woff" },
{ test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/, loader: "url?limit=10000&mimetype=application/octet-stream" },
{ test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, loader: "file" },
{ test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, loader: "url?limit=10000&mimetype=image/svg+xml" },
{ test: /\.css$/, loader: "style-loader!css-loader" },
{ test: /\.png$/, loader: "url-loader?limit=100000" },
{ test: /\.jpg$/, loader: "file-loader" },
{ test: /\.(woff|woff2)$/, loader:"url?prefix=font/&limit=5000" }
]
},
plugins: [
new HtmlwebpackPlugin({
title: 'Streets Ahead',
template: 'index.html', // Load a custom template
inject: 'body' // Inject all scripts into the body
})
]
};
if(TARGET === 'start' || !TARGET) {
module.exports = merge(common, {
devtool: 'eval-source-map',
devServer: {
historyApiFallback: true,
hot: true,
inline: true,
progress: true,
// display only errors to reduce the amount of output
stats: 'errors-only',
// parse host and port from env so this is easy
// to customize
host: process.env.HOST,
port: process.env.PORT
},
plugins: [
new webpack.HotModuleReplacementPlugin(),
new webpack.optimize.OccurenceOrderPlugin(),
new webpack.NoErrorsPlugin()
]
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment