Skip to content
This repository has been archived by the owner on Jun 3, 2019. It is now read-only.

Commit

Permalink
next -> redux opinionated (#366)
Browse files Browse the repository at this point in the history
* Adds modernizr with illustrative example. closes #256

* Linting now occurs on config, src and tools. closes #314

* Updates dependencies.

* update broken feature/flow link in docs

* Updates dependencies.

* Updated CSP to add backwards compatibility to nonce. (#344)

* Updated CSP for nonce backwards compatibility

* Documented

* Updates comments

*  - Renamed environment variables:
   - `SERVER_PORT` to `PORT`
   - `SERVER_HOST` to `HOST`
   - `CLIENT_DEVSERVER_PORT` to `CLIENT_DEV_PORT`
 - Replaces `code-split-component` with `react-async-component`
 - Renames the `nodeBundlesIncludeNodeModuleFileTypes` config property to `nodeExternalsFileTypeWhitelist`
 - Refactors the server and serviceworker offline page generation. We now use a set of React components (`ServerHTML` and `HTML`) to manage our HTML in a uniform fashion.
 - Refactors how we resolve environment specific configuration values. `NODE_ENV` is reserved for specifying a `development` or `production` build now. Use `CONF_ENV` to specify a target environment if you would like to resolve an environment specific .env file.
 - Refactors the client configuration filter rule to be contained within the main configuration and moves the configuration object creation into the server middleware.
 - Renames the `safeGetConfig` to `config`, and made it a default export.
 - Removes the `cross-env` library.

 - All server/client/shared code all use the shared config helper.
 - Updated dependencies, including to the latest Webpack official 2 release.

 - New babel plugins to optimise React production build performance.
 - Adds new icon sets.

 - Chrome favicon request issue.
 - Cleans up the package scripts.
 - Service worker would fail if a subfolder was added to the public folder.

* fix sw to exclude directory (#305)

* Adds Dion Dirza as a contributor 🎉

* Fixes analyze.

* Docs and cleaning up.

* Updates docs and version.

* Removes code-split-component.

* Updates deps and fixes config refs.

* Huuuuuge refactor of project structure.  The 'src/' was always unnecessary.  Everything internal (tooling/docs) has been moved to an "internal" folder.  The rest lives at root.
The configuration has been given a massive once over too.  I really disliked how there were multiple ways the config values were being read throughout the project.  Everything has been changed now to use a config helper that lives in the '<projectroot>/config/' folder.  All things config lives in that folder now too.

* Fixes offline page.

* Cleans up and centralises util functions.

* Minor fixes.

* Renames config/get to config/getConfig
Removes CONF_ENV and refactors environment variable resolution to use NODE_ENV again.

* fixes typo: laoder -> loader (#353)

* fixes typo: server -> serve (#354)

* Huuuuuuuge update. Getting closer to v13.

* Fixes incorrect import path in Menu.test.js (#360)

* Updates Error 404 component so that we can set 404 status on SSR renders (#357)

* Updates dependencies.

* Updates contributors and comments.

* Restructures and fixes tests.

* Cleaning up comments and docs.

* Fixes deprecated fallbackLoader (#365)

* Changes default host config to bind to all hosts (0.0.0.0) by default (#361)

* fix typo flag (#369)

* removing flow from branch

* Missing default polyfill.io features

* Updated react-router-dom to beta 7 (#381)

* Updates node version.
Adds check for none-support of HTML 5 browserhistory on the router.

* Synchronises the react-router-dom dep into yarn.lock

* Updates dependencies.

* Removes onlyIf and replaces with ifElse helper. fixes #362

* Update README.md

* Update README.md

* Fixes breaking context changes in RR4

* Rollback disableSSR. TODO: EnvVars this

* Changes polyfill.io into a features array specification.

* Upgrade react-router-dom@4.0.0 and other deps (#396)

* update deps

* Using babel-env instead, still produce same result

* Fix not found implementation for stable react-router v4.0.0

* Restore and update deps

* Syncs yarn.lock with package.json

* Fix Error404 test

* Upgrades to latest react-async-component.
Reintroduces React Hot Loader 🎉
Adds milligram for some basic styling out of the box.
Adds a counter route for testing state based hot reloading.
Restructures route components.

* Adds 'es6' features to polyfill.io config.

* Removes aliasing of React libs and instead makes NODE_ENV get set to either 'development' or 'production' via the webpack config.
Introduces DEPLOYMENT environment variable to allow for the specification of target environment configuration files.

* Updates comments.

* Removes babel-preset-latest.

* staticContext on 404 route not required.

* Refactors async components structure.

* Adds prettier 💄

* Updates nvm

* Adds prepush hook to run jest.

* Fixes prettier config to use prettier-eslint. Woops\!

* Removes unused eslint-flowtype plugin.

* Updates dependencies.

* Updates docs

* Moves all html page elements to DemoApp component. closes #390

* Removes 'host' from server start. closes #398

* Changes process.env build flags to be inline with expected string type of typical process.env member. closes #395

* Preps v13 release

* Update README.md

* Update README.md

* Updates dependencies.

* Update breaking changes

* Adds birkir to contributors list

* Adds @birkir to contributors on about us route.

* Changes over to all-contributors

* Orders contributors by name

* fix the "collectCoverageFrom" config of jest

* updating asyncPosts

* Prepare React 15.5 (#413)

* Update dependecies, change component prop-types.

* Helmet now has prop-types support.

* Update yarn lockfile

* Bumped react-router and forgot prop types in clientconfig.

* Bump enzyme and prop-types

* Bump react-async-component and enzyme

* Updates deps.

* Another bug fixes, tweaks (#422)

* Fix lint

* code split naming strategy sample

* remove HTTP protocol to be more flexible

* Refactor polyfill.io
Due to counter route become broken in mobile device, use only default feature instead

* Fix lint while prettier revert changes

* update deps

* Add es6 back by default. (#429)

* Windows (#415)

* update eslintrc line-breaks for windows

* add prop-types as a dependency to prevent react-hot-loader from breaking build.
add cross-env for starting tasks which break on Windows.
add FAQ for when running develop and javascript files aren't loading even though the build is successful.
modify the clean task to execute a function rather than use the ${npm bin} exec command, which doesnst work on Windows.

* save exact package.json

* add cross-env to npm scripts

* dev server host always 0.0.0.0, not host config

* merge with universally/master - updating snapshots

* merge/next - adding async posts

* merge/next - updating dependencies + updating async components + removing counter component

* merge/next - updating server side state

* merge/next - fixing server async functions

* universally/merge - fixing async posts route

* chore: add redux, react-redux, redux-thunk to vendorDLL

* Fix configuration for extracted style hash (#438)

* Fix broken link to Feature Branches docs. (#419)

* Fix CORS host (#432)

* Removes reference to deprecated react PropTypes import and replaces with the prop-types package. Adds tests for Post route, post reducers and additional tests to home and about route.

* update snapshot

* Fix Router v2 Implementation

* Add color support for stdout (#443)

Passing colors from server to console in develop.

* master -> redux: fixing store problem

* fixing stores
  • Loading branch information
sergiokopplin authored and ctrlplusb committed Jun 21, 2017
1 parent 0026b2d commit 9ee484c
Show file tree
Hide file tree
Showing 176 changed files with 5,302 additions and 4,771 deletions.
224 changes: 224 additions & 0 deletions .all-contributorsrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,224 @@
{
"projectName": "react-universally",
"projectOwner": "ctrlplusb",
"files": [
"README.md"
],
"imageSize": 100,
"commit": true,
"contributors": [
{
"login": "aoc",
"name": "Andrés Calabrese",
"avatar_url": "https://avatars3.githubusercontent.com/u/243161?v=3",
"profile": "https://github.com/aoc",
"contributions": [
"code"
]
},
{
"login": "andreyluiz",
"name": "Andrey Luiz",
"avatar_url": "https://avatars3.githubusercontent.com/u/1965897?v=3",
"profile": "https://andreyluiz.github.io/",
"contributions": [
"code"
]
},
{
"login": "alinporumb",
"name": "Alin Porumb",
"avatar_url": "https://avatars3.githubusercontent.com/u/3148205?v=3",
"profile": "https://github.com/alinporumb",
"contributions": [
"code"
]
},
{
"login": "bkniffler",
"name": "Benjamin Kniffler",
"avatar_url": "https://avatars0.githubusercontent.com/u/4349324?v=3",
"profile": "https://github.com/bkniffler",
"contributions": [
"code"
]
},
{
"login": "birkir",
"name": "Birkir Rafn Guðjónsson",
"avatar_url": "https://avatars0.githubusercontent.com/u/180773?v=3",
"profile": "https://medium.com/@birkir.gudjonsson",
"contributions": [
"question",
"bug",
"code",
"review"
]
},
{
"login": "carsonperrotti",
"name": "Carson Perrotti",
"avatar_url": "https://avatars0.githubusercontent.com/u/2063102?v=3",
"profile": "http://carsonperrotti.com",
"contributions": [
"question",
"code",
"doc",
"review"
]
},
{
"login": "LorbusChris",
"name": "Christian Glombek",
"avatar_url": "https://avatars1.githubusercontent.com/u/13365531?v=3",
"profile": "https://github.com/LorbusChris",
"contributions": [
"bug",
"code"
]
},
{
"login": "codepunkt",
"name": "Christoph Werner",
"avatar_url": "https://avatars3.githubusercontent.com/u/603683?v=3",
"profile": "https://twitter.com/code_punkt",
"contributions": [
"question",
"bug",
"code",
"review"
]
},
{
"login": "threehams",
"name": "David Edmondson",
"avatar_url": "https://avatars0.githubusercontent.com/u/1399894?v=3",
"profile": "https://github.com/threehams",
"contributions": [
"code"
]
},
{
"login": "diondirza",
"name": "Dion Dirza",
"avatar_url": "https://avatars0.githubusercontent.com/u/10954870?v=3",
"profile": "https://github.com/diondirza",
"contributions": [
"question",
"bug",
"code",
"doc",
"review"
]
},
{
"login": "evgenyboxer",
"name": "Evgeny Boxer",
"avatar_url": "https://avatars0.githubusercontent.com/u/254095?v=3",
"profile": "https://github.com/evgenyboxer",
"contributions": [
"bug",
"code"
]
},
{
"login": "kohlmannj",
"name": "Joe Kohlmann",
"avatar_url": "https://avatars2.githubusercontent.com/u/191304?v=3",
"profile": "http://kohlmannj.com",
"contributions": [
"bug",
"code"
]
},
{
"login": "lucianlature",
"name": "Lucian Lature",
"avatar_url": "https://avatars2.githubusercontent.com/u/24992?v=3",
"profile": "https://www.linkedin.com/in/lucianlature/",
"contributions": [
"bug",
"code",
"review"
]
},
{
"login": "markshlick",
"name": "Mark Shlick",
"avatar_url": "https://avatars1.githubusercontent.com/u/1624703?v=3",
"profile": "https://github.com/markshlick",
"contributions": [
"code"
]
},
{
"login": "rlindskog",
"name": "Ryan Lindskog",
"avatar_url": "https://avatars1.githubusercontent.com/u/7436773?v=3",
"profile": "https://www.RyanLindskog.com/",
"contributions": [
"code"
]
},
{
"login": "enten",
"name": "Steven Enten",
"avatar_url": "https://avatars1.githubusercontent.com/u/977713?v=3",
"profile": "http://enten.fr",
"contributions": [
"question",
"bug",
"code",
"review"
]
},
{
"login": "ctrlplusb",
"name": "Sean Matheson",
"avatar_url": "https://avatars1.githubusercontent.com/u/12164768?v=3",
"profile": "http://www.ctrlplusb.com",
"contributions": [
"question",
"bug",
"code",
"doc",
"example",
"review",
"test",
"tool"
]
},
{
"login": "strues",
"name": "Steven Truesdell",
"avatar_url": "https://avatars0.githubusercontent.com/u/6218853?v=3",
"profile": "https://steventruesdell.com",
"contributions": [
"question",
"bug",
"code",
"doc",
"test"
]
},
{
"login": "datoml",
"name": "Thomas Leitgeb",
"avatar_url": "https://avatars0.githubusercontent.com/u/10552487?v=3",
"profile": "https://twitter.com/_datoml",
"contributions": [
"bug",
"code"
]
},
{
"login": "tsnieman",
"name": "Tyler Nieman",
"avatar_url": "https://avatars0.githubusercontent.com/u/595711?v=3",
"profile": "http://tsnieman.net/",
"contributions": [
"code"
]
}
]
}
6 changes: 3 additions & 3 deletions .env_example
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@
# ==============================================================================

# The host on which to run the server.
SERVER_HOST=localhost
HOST=localhost

# The port on which to run the server.
SERVER_PORT=1337
PORT=1337

# The port on which to run the client bundle dev server (i.e. used during
# development only).
CLIENT_DEVSERVER_PORT=7331
CLIENT_DEV_PORT=7331
2 changes: 0 additions & 2 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,2 @@
flow-typed/
tools/flow/
node_modules/
build/
17 changes: 6 additions & 11 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
{
"parser": "babel-eslint",
"extends": "airbnb",
"plugins": [
"flowtype"
],
"env": {
"browser": true,
"es6": true,
Expand All @@ -14,15 +11,13 @@
"defaultParams": true
},
"rules": {
// We use the 'import' plugin which allows for cases "flow" awareness.
"no-duplicate-imports": 0,
// A .jsx extension is not required for files containing jsx.
// A jsx extension is not required for files containing jsx
"react/jsx-filename-extension": 0,
// This rule struggles with flow and class properties.
// This rule struggles with flow and class properties
"react/sort-comp": 0,
// This rule struggles with flow.
"react/prop-types": 0,
// We use global requires in various places, e.g. code splitting instances.
"global-require": 0
// ignore linebreak style. the CRLF / LF endings wont matter
// if a windows user correctly converts CRLF to LF upon commits otherwise
// there are errors every line.
"linebreak-style": 0
}
}
35 changes: 0 additions & 35 deletions .flowconfig

This file was deleted.

9 changes: 3 additions & 6 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,8 @@ npm-debug.log
.vscode
.history

# flow-typed Lib Defs
flow-typed/

# Flow Coverage Report
flow-coverage/

# Happypack
.happypack

# OSX Files
.DS_Store
7 changes: 7 additions & 0 deletions .modernizrrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"minify": true,
"options": [],
"feature-detects": [
"elem/picture"
]
}
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v6.9.2
v6.10.1
41 changes: 41 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,47 @@ I'll map them as follows:
- Minor: New features or changes to the build tools. Could contain some things that are traditionally know as breaking changes, however, I believe the upgrade path to minor.
- Patch: Small(ish) fixes/restructuring that I expect will take minimal effort to merge in.

# [13.0.0] - 2017-04-05

### BREAKING

- Renames the 'development' command to 'develop'.
- Big folder structure refactor, moving items from src/* into the root of the project.
- Renames the CONF_ENV variable to DEPLOYMENT for targetting of .env.{environment} environment files.
- Upgrades to `react-router` v4.
- Replaces `code-split-component` with `react-async-component`
- Complete restructure of the DefinePlugin special flags, they have been prefixed with "BUILD_FLAG_" to make them more obvious when used in the code. This also helps us distinguish these build-time values from other runtime provided process.env values.
- Removes cross-env and refactors the script commands. You can assign NODE_ENV as and when you need now (for example, to target a .env.production environment configuration file).
- Renamed environment variables:
- `SERVER_PORT` to `PORT`
- `SERVER_HOST` to `HOST`
- `CLIENT_DEVSERVER_PORT` to `CLIENT_DEV_PORT`
- Renames the `nodeBundlesIncludeNodeModuleFileTypes` config property to `nodeExternalsFileTypeWhitelist`
- Refactors the server and serviceworker offline page generation. We now use a set of React components (`ServerHTML` and `HTML`) to manage our HTML in a uniform fashion.
- Refactors the client configuration filter rule to be contained within the main configuration and moves the configuration object creation into the server middleware.
- Refactors the config folder in various ways. Cleaning up, restructuring, etc.
- Renames the `environmentVars` file and helpers.
- Moves all the HTML head tags into the DemoApp helmet configuration.

### Changed

- All server/client/shared code all use the shared config helper.
- Updated dependencies, including to the latest Webpack official 2 release.

### Added

- New babel plugins to optimise React production build performance.
- Adds new icon sets.
- Prettier
- Some basic global styling via milligram

### Fixed

- Chrome favicon request issue.
- Cleans up the package scripts.
- Service worker would fail if a subfolder was added to the public folder.
- Tons of other things. :)

# [12.0.0] - 2017-01-09

### BREAKING
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2016 Sean Matheson
Copyright (c) 2017 Sean Matheson

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
Loading

0 comments on commit 9ee484c

Please sign in to comment.