Skip to content

Instantly share code, notes, and snippets.

View mobinni's full-sized avatar

Mo Binni mobinni

  • Zero To Mastery
  • Toronto, Ontario
View GitHub Profile
@mobinni
mobinni / webpack.js
Created December 16, 2015 21:42
A Modern Isomorphic Stack with Redux - Part 1
import WebPack from 'webpack';
import path from 'path';
import fs from 'fs';
import utils from '../utils';
import {StringDecoder} from 'string_decoder';
import webpackDevMiddleware from 'webpack-dev-middleware';
import HotReload from 'webpack-hot-middleware';
let webpackConfig = require(
`${__dirname}/../../webpack/webpack.${utils.env.isProduction ? 'prod' : 'dev'}.js`
@mobinni
mobinni / index.js
Created December 16, 2015 21:38
A Modern Isomorphic Stack with Redux - Part 1
import env from './environment';
export default {
env
}
@mobinni
mobinni / environment.js
Last active December 17, 2015 23:39
A Modern Isomorphic Stack with Redux - Part 1
'use strict';
const env = process.env.NODE_ENV || 'DEVELOPMENT';
// set env variable
const hasSSREnabled = (process.env.SSR || process.argv[2] === 'ssr') || false;
export default {
name: env,
isProduction: env === 'PRODUCTION',
isDevelopment: env === 'DEVELOPMENT',
ssrEnabled: hasSSREnabled
@mobinni
mobinni / server.js
Last active December 17, 2015 23:39
A Modern Isomorphic Stack with Redux - Part 1
'use strict';
/**
* Created by mobinni on 07/12/15.
*/
require("babel/register")({
ignore: /node_modules/
});
// Browser variable declaration should be ignored by server
delete process.env.BROWSER;
@mobinni
mobinni / Item.jsx
Created December 16, 2015 21:01
A Modern Isomorphic Stack with Redux - Part 1
import React, {Component} from 'react';
class Item extends Component {
constructor(props, context) {
super(props, context);
}
render() {
const {params} = this.props;
return (
<div>Item: {params.item}</div>
@mobinni
mobinni / Feed.jsx
Last active December 16, 2015 21:22
A Modern Isomorphic Stack with Redux - Part 1
/**
* Created by mobinni on 08/12/15.
*/
import React, {Component} from 'react';
import {Link} from 'react-router';
if(process.env.BROWSER) {
require( '../../../../styles/components/feed.scss');
}
class Feed extends Component {
constructor(props, context) {
@mobinni
mobinni / index.js
Created December 16, 2015 20:58
A Modern Isomorphic Stack with Redux - Part 1
import Feed from './components/Feed';
import Item from './components/Item';
export default {
index: {
path: 'feed',
getComponent(location, cb) {
cb(null, Feed);
}
},
@mobinni
mobinni / index.js
Created December 16, 2015 20:57
A Modern Isomorphic Stack with Redux - Part 1
// Components
import App from '../components/Main';
import feed from './feed';
export default {
path: '/',
component: App,
childRoutes: [
feed.index,
feed.item
@mobinni
mobinni / index.html
Last active December 16, 2015 21:22
A Modern Isomorphic Stack with Redux - Part 1
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link href="styles.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="root"><%- reactOutput %></div>
@mobinni
mobinni / app.js
Last active December 16, 2015 19:58
A Modern Isomorphic Stack with Redux - Part 1
// Your main stylesheet
import '../styles/general/styles.scss';
// Modules
import React from 'react';
import ReactDOM from 'react-dom';
import createBrowserHistory from 'history/lib/createBrowserHistory'
import Router from 'react-router';
import routes from './routes';