v0.4.0
Changed
-
Upgrade to React 15.5.4. React 15.5.x adds several new deprecation warnings. Most of our dependencies have been updated to eliminate these, but not all of them. Specifically, react-toolbox and react-css-themr still cause these warnings to appear. While we prefer not to have any warnings in our apps, we'd rather be on the latest version of React, so we've decided to live with the warnings for now. We will update these dependencies as soon as we can once they've addressed these issues. (#55)
-
Upgrade to react-apollo 1.2.0. This version re-exports apollo-client and graphql-tag so host projects no longer need to depend on those packages. This involves a minor change to the import in
client/base/apolloClient.js
. (#55) -
Upgrade to Zeal's fork of react-scripts (v0.2.3). This version is based on create-react-app v0.9.5. (#53, #54, #63)
-
We've moved eslint and its plugins and configuration into the react-scripts fork. This means that everywhere eslint runs, it uses the same configuration and there is no duplication between react-scripts and the host project. This includes from the yarn script (
yarn lint:js
), from text editor integration, and fromyarn start
. We use eslint-config-zeal as a base configuration. Our fork of react-scripts doesn't provide its own eslint configuration; rather it looks in the host project for its configuration, which this generator provides. This allows the host project to override rule configurations locally. NOTE: The current design of this feature doesn't allow a host project to add new eslint plugins. We do not yet have a fix for this issue, but if this is important to you, see #60. (#54) -
The eslint configuration now uses an absolute path to the
client
directory when resolving imports. Previously, we used a relative path which doesn't work with Atom's linter-eslint plugin. The workaround we used before was to add an empty.eslintignore
file in the root of the project, but using an absolute path is a more correct solution. (#61) -
We've renamed the yarn scripts for running tests to be more consistent with our other projects. Now
yarn test
will run the tests one time, report coverage information, and exit.yarn test:watch
will start Jest in watch mode and continuously run the tests as files are changed. (#52) -
Minor upgrades to several packages in generated projects: babel-polyfill 6.23.0, enzyme 2.8.2, history 4.6.1, npm-run-all 4.0.2, react-css-themr 2.0.0, react-redux 5.0.4, redux-devtools-extension 2.13.2, and zeal-redux-utils 0.3.2. (#55)
Added
-
Include
yarn.lock
in generated projects. This means that newly-generated projects will use the exact same versions of our dependencies that we've tested. (#49) -
The generator now runs
yarn install
after generating the project. This saves a step and results in a client application that is ready to run. (#58) -
Include a test-specific eslint configuration file in the
__test__
directory. Unfortunately, every new__test__
directory needs a copy of the same file, but this allows us to customize a few lint rules for tests (using eslint-config-zeal'sjest
configuration). (#54)
Fixed
- The
createReducer
function provided by zeal-redux-utils raises an error when it encounters a Redux action that doesn't conform to the flux-standard-action specification. Unfortunately, Apollo's actions do not conform and so were triggering this exception. We've added a local version ofcreateReducer
that provides a whitelist function to bypass this check for Apollo's actions. (#55)
Removed
- Remove some dependencies that were no longer being used: immutability-helper and normalize.css. (#55)