Skip to content

Instantly share code, notes, and snippets.

@joshuacrass
joshuacrass / react-starter-webpack-dev-server.js
Last active September 10, 2018 10:24
react-starter webpack dev server config
// webpack-dev-server.js
// dev-server is responsible for running your project locally
const WebpackDevServer = require("webpack-dev-server");
const webpack = require("webpack");
const paths = require("./paths");
const config = require("./webpack-dev-config.js");
// Change port to suit your preference
@joshuacrass
joshuacrass / react-starter-paths.js
Last active September 10, 2018 10:23
react-starter Webpack paths.js config file
// paths.js
// Paths will export some path variables that we'll
// use in other Webpack config and server files
const path = require("path");
const fs = require("fs");
const appDirectory = fs.realpathSync(process.cwd());
const resolveApp = relativePath => path.resolve(appDirectory, relativePath);
@joshuacrass
joshuacrass / react-starter-webpack-common-config.js
Last active September 10, 2018 11:03
react-starter webpack common config file
// webpack-common-config.js
// This file will contain configuration data that
// is shared between development and production builds.
const HtmlWebpackPlugin = require("html-webpack-plugin");
const path = require("path");
const paths = require("./paths");
@joshuacrass
joshuacrass / react-starter-webpack-dev-config.js
Last active December 12, 2022 18:42
react-starter Webpack development config file
// webpack-dev-config.js
// configuration data related to development only
const path = require("path");
const webpack = require("webpack");
const { merge } = require("webpack-merge");
const paths = require("./paths");
// import common webpack config
@joshuacrass
joshuacrass / react-starter-webpack-production-config.js
Last active September 10, 2018 11:00
react-starter Webpack production config
// webpack-prod-config.js
// contains configuration data related to prod build
const path = require("path");
const webpack = require("webpack");
const merge = require("webpack-merge");
const UglifyJSPlugin = require("uglifyjs-webpack-plugin");
const ExtractTextPlugin = require("extract-text-webpack-plugin");
@joshuacrass
joshuacrass / react-starter-package.json
Created September 9, 2018 13:44
react-starter package.json
{
"name": "react-starter",
"version": "1.0.0",
"description": "A React starter project",
"main": "index.jsx",
"author": "Joshua Crass <joshua.crass@gmail.com>",
"license": "UNLICENSED",
"private": true
}
@joshuacrass
joshuacrass / react-starter-index.html
Last active September 9, 2018 18:58
react-starter index.html
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width" />
<title>React Starter</title>
<script src="./index.jsx"></script>
</head>
import React from "react";
import ReactDOM from "react-dom";
import App from "./app";
ReactDOM.render(<App />, document.getElementById("root"));
@joshuacrass
joshuacrass / react-starter-app.jsx
Last active September 10, 2018 11:16
react-starter app.jsx
import React from "react";
import { hot } from "react-hot-loader";
import style from "./app.css";
const App = () => {
return <div className={style.app}>react Starter 🚀 </div>;
};
export default hot(module)(App);
"scripts": {
"build": "yarn clean; webpack --config config/webpack-prod-config.js",
"clean": "rm -rf build/*",
"start:dev": "node config/webpack-dev-server.js",
"start:prod": "yarn build; serve build"
},