From 2d16e492cf3b58c1f3ce6c6237b44d0cb8a34364 Mon Sep 17 00:00:00 2001 From: Patrick Sauerborn Date: Mon, 24 Feb 2020 03:38:37 +0100 Subject: [PATCH] [feature/redux] Merge master in feature/redux (#1877) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update to webpack-assets-manifest v3.0.0 (#1594) * Update packages (#1595) * chore: Update packages * fix: "Deprecation warning for String based operators" sequelize/sequelize#8417 * Let Yarn handle package.json formatting, not lint-staged (#1614) * Upgrade dependencies for Node v10 compatibility (#1613) * Enable Yarn caching on Travis (#1629) See https://docs.travis-ci.com/user/languages/javascript-with-nodejs/#Caching-with-yarn * Remove unused dependency core-js (#1631) It was added in 79e5575 to work around an npm issue, but we instead use yarn as of 78868e6. * Remove unused dependency bluebird (#1630) It looks like we stopped using it in 1ed83b6 (#1237). * Upgrade packages (#1637) * chore: upgrade packages * chore: make babel and jest working after upgrade * Updated tests from Mocha and Chai to Jest (#1624) * Updated from Mocha to Jest Still need to update React-intl * modified tests to jest instead of mocha and chai * left react-intl example the same due to yarn eval * Sets NODE_ENV environment var to `production` when building docker image. (#1173) * Add a line linked to `feature/apollo-pure` branch * small README.md grammar change (#1675) * Upgrade all dependencies including Babel 7 (#1673) * Upgrade all dependencies including Babel 7 1. ncu --upgradeAll 4. Leave "graphql" to be "^13.2.0" that apollo packages depend on 2. Apply patch of "npx babel-upgrade" output 3. Leave only necessary babel plugins 4. Pass "yarn fix" by disabling stricter rules fixes #1654 #1626 #1607 * Also ignore babel config file from webpack.config.js * remove mocha form docs (getting started) (#1729) * fix: support Node 12 (#1730) * Update sqlite3 * Add Ci builds against the latest active LTS (10) * Fix styles error in Home.css and deprecation warnings (#1726) * Fix styles error in Home.css * Fix deprecation warnings * Introduce PostCSS Preset Env (#1733) Fixes #1731 * Change node from 6.5 to 6.9 on README (#1735) * fix: change node from 6.5 to 6.9 * fix: change node 6.5 -> 6.9 on getting-started * describe TypeScript integration in readme (#1745) * Update PR link to feature/apollo-pure (#1748) * Bump sequelize from 4.38.1 to 5.15.1 (#1751) Bumps [sequelize](https://github.com/sequelize/sequelize) from 4.38.1 to 5.15.1. - [Release notes](https://github.com/sequelize/sequelize/releases) - [Commits](https://github.com/sequelize/sequelize/compare/v4.38.1...v5.15.1) Signed-off-by: dependabot[bot] * Upgrade react, react-dom and isomorphic-style-loader (#1759) * yarn add react@latest react-dom@latest * yarn add isomorphic-style-loader@latest * git cherry-pick 812d8ac9a414209333e8cbd586e71bca33bb4a77 With respect I used @mglace 's react-starter-kit folk * change deps versions (adopted higher ones) * include minimum change of react-style-guide.md Fixes kriasoft/react-starter-kit#1715 * fix: update react-test-renderer too * Bump webpack-bundle-analyzer from 3.0.2 to 3.3.2 (#1752) Bumps [webpack-bundle-analyzer](https://github.com/webpack-contrib/webpack-bundle-analyzer) from 3.0.2 to 3.3.2. - [Release notes](https://github.com/webpack-contrib/webpack-bundle-analyzer/releases) - [Changelog](https://github.com/webpack-contrib/webpack-bundle-analyzer/blob/master/CHANGELOG.md) - [Commits](https://github.com/webpack-contrib/webpack-bundle-analyzer/compare/v3.0.2...v3.3.2) Signed-off-by: dependabot[bot] * Bump merge from 1.2.0 to 1.2.1 (#1753) Bumps [merge](https://github.com/yeikos/js.merge) from 1.2.0 to 1.2.1. - [Release notes](https://github.com/yeikos/js.merge/releases) - [Commits](https://github.com/yeikos/js.merge/compare/v1.2.0...v1.2.1) Signed-off-by: dependabot[bot] * Bump handlebars from 4.0.11 to 4.5.1 (#1754) Bumps [handlebars](https://github.com/wycats/handlebars.js) from 4.0.11 to 4.5.1. - [Release notes](https://github.com/wycats/handlebars.js/releases) - [Changelog](https://github.com/wycats/handlebars.js/blob/v4.5.1/release-notes.md) - [Commits](https://github.com/wycats/handlebars.js/compare/v4.0.11...v4.5.1) Signed-off-by: dependabot[bot] * Bump mixin-deep from 1.3.1 to 1.3.2 (#1755) Bumps [mixin-deep](https://github.com/jonschlinkert/mixin-deep) from 1.3.1 to 1.3.2. - [Release notes](https://github.com/jonschlinkert/mixin-deep/releases) - [Commits](https://github.com/jonschlinkert/mixin-deep/compare/1.3.1...1.3.2) Signed-off-by: dependabot[bot] * Bump eslint-utils from 1.3.1 to 1.4.3 (#1756) Bumps [eslint-utils](https://github.com/mysticatea/eslint-utils) from 1.3.1 to 1.4.3. - [Release notes](https://github.com/mysticatea/eslint-utils/releases) - [Commits](https://github.com/mysticatea/eslint-utils/compare/v1.3.1...v1.4.3) Signed-off-by: dependabot[bot] * Bump url-parse from 1.4.1 to 1.4.7 (#1757) Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.4.1 to 1.4.7. - [Release notes](https://github.com/unshiftio/url-parse/releases) - [Commits](https://github.com/unshiftio/url-parse/compare/1.4.1...1.4.7) Signed-off-by: dependabot[bot] * Bump lodash.template from 4.4.0 to 4.5.0 (#1758) Bumps [lodash.template](https://github.com/lodash/lodash) from 4.4.0 to 4.5.0. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/compare/4.4.0...4.5.0) Signed-off-by: dependabot[bot] * Prettier **/*.md (#1761) ``` find . -path ./node_modules -prune -o -name '*.md' | xargs yarn prettier --write ``` * Bump js-yaml from 3.12.0 to 3.13.1 (#1760) Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.12.0 to 3.13.1. - [Release notes](https://github.com/nodeca/js-yaml/releases) - [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md) - [Commits](https://github.com/nodeca/js-yaml/compare/3.12.0...3.13.1) Signed-off-by: dependabot[bot] * [Security] Bump extend from 3.0.1 to 3.0.2 (#1764) Bumps [extend](https://github.com/justmoon/node-extend) from 3.0.1 to 3.0.2. **This update includes a security fix.** - [Release notes](https://github.com/justmoon/node-extend/releases) - [Changelog](https://github.com/justmoon/node-extend/blob/master/CHANGELOG.md) - [Commits](https://github.com/justmoon/node-extend/compare/v3.0.1...v3.0.2) Signed-off-by: dependabot-preview[bot] * Stop supporting Node v6 (#1769) * [Node v6 has already ended being maintained by April 2019](https://nodejs.org/en/blog/release/v6.9.0/) * Add v12 to support all versions of v8+ * Some dependencies stops supporting Node v6 * [eslint-loader](https://travis-ci.org/kriasoft/react-starter-kit/builds/606828978?utm_source=github_status&utm_medium=notification) * [lint-staged](https://travis-ci.org/kriasoft/react-starter-kit/builds/606829247?utm_source=github_status&utm_medium=notification) * By the end of 2019, v8 ends by the way * Bump body-parser from 1.18.3 to 1.19.0 (#1763) Bumps [body-parser](https://github.com/expressjs/body-parser) from 1.18.3 to 1.19.0. - [Release notes](https://github.com/expressjs/body-parser/releases) - [Changelog](https://github.com/expressjs/body-parser/blob/master/HISTORY.md) - [Commits](https://github.com/expressjs/body-parser/compare/1.18.3...1.19.0) Signed-off-by: dependabot-preview[bot] * Bump eslint-loader from 2.1.1 to 3.0.2 (#1765) Bumps [eslint-loader](https://github.com/webpack-contrib/eslint-loader) from 2.1.1 to 3.0.2. - [Release notes](https://github.com/webpack-contrib/eslint-loader/releases) - [Changelog](https://github.com/webpack-contrib/eslint-loader/blob/master/CHANGELOG.md) - [Commits](https://github.com/webpack-contrib/eslint-loader/compare/2.1.1...v3.0.2) Signed-off-by: dependabot-preview[bot] * Bump sequelize from 5.15.1 to 5.21.2 (#1766) Bumps [sequelize](https://github.com/sequelize/sequelize) from 5.15.1 to 5.21.2. - [Release notes](https://github.com/sequelize/sequelize/releases) - [Commits](https://github.com/sequelize/sequelize/compare/v5.15.1...v5.21.2) Signed-off-by: dependabot-preview[bot] * Bump lint-staged from 7.3.0 to 9.4.2 (#1767) * Bump lint-staged from 7.3.0 to 9.4.2 Bumps [lint-staged](https://github.com/okonet/lint-staged) from 7.3.0 to 9.4.2. - [Release notes](https://github.com/okonet/lint-staged/releases) - [Commits](https://github.com/okonet/lint-staged/compare/v7.3.0...v9.4.2) Signed-off-by: dependabot-preview[bot] * yarn fix with the new lint-staged * Bump jest from 23.6.0 to 24.9.0 (#1768) Bumps [jest](https://github.com/facebook/jest) from 23.6.0 to 24.9.0. - [Release notes](https://github.com/facebook/jest/releases) - [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md) - [Commits](https://github.com/facebook/jest/compare/v23.6.0...v24.9.0) Signed-off-by: dependabot-preview[bot] * Bump file-loader from 2.0.0 to 4.2.0 (#1771) Bumps [file-loader](https://github.com/webpack-contrib/file-loader) from 2.0.0 to 4.2.0. - [Release notes](https://github.com/webpack-contrib/file-loader/releases) - [Changelog](https://github.com/webpack-contrib/file-loader/blob/master/CHANGELOG.md) - [Commits](https://github.com/webpack-contrib/file-loader/compare/v2.0.0...v4.2.0) Signed-off-by: dependabot-preview[bot] * Bump rimraf from 2.7.1 to 3.0.0 (#1773) Bumps [rimraf](https://github.com/isaacs/rimraf) from 2.7.1 to 3.0.0. - [Release notes](https://github.com/isaacs/rimraf/releases) - [Changelog](https://github.com/isaacs/rimraf/blob/master/CHANGELOG.md) - [Commits](https://github.com/isaacs/rimraf/compare/v2.7.1...v3.0.0) Signed-off-by: dependabot-preview[bot] * Bump raw-loader from 0.5.1 to 3.1.0 (#1772) Bumps [raw-loader](https://github.com/webpack-contrib/raw-loader) from 0.5.1 to 3.1.0. - [Release notes](https://github.com/webpack-contrib/raw-loader/releases) - [Changelog](https://github.com/webpack-contrib/raw-loader/blob/master/CHANGELOG.md) - [Commits](https://github.com/webpack-contrib/raw-loader/commits/v3.1.0) Signed-off-by: dependabot-preview[bot] * Bump css-loader from 1.0.1 to 3.2.0 (#1774) * Bump css-loader from 1.0.1 to 3.2.0 Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 1.0.1 to 3.2.0. - [Release notes](https://github.com/webpack-contrib/css-loader/releases) - [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md) - [Commits](https://github.com/webpack-contrib/css-loader/compare/v1.0.1...v3.2.0) Signed-off-by: dependabot-preview[bot] * Update css-loader option structure * Use cssnano inside of the postcss-loader options * Bump front-matter from 2.3.0 to 3.0.2 (#1775) Bumps [front-matter](https://github.com/jxson/front-matter) from 2.3.0 to 3.0.2. - [Release notes](https://github.com/jxson/front-matter/releases) - [Commits](https://github.com/jxson/front-matter/compare/v2.3.0...v3.0.2) Signed-off-by: dependabot-preview[bot] * Bump markdown-it from 8.4.2 to 10.0.0 (#1776) Bumps [markdown-it](https://github.com/markdown-it/markdown-it) from 8.4.2 to 10.0.0. - [Release notes](https://github.com/markdown-it/markdown-it/releases) - [Changelog](https://github.com/markdown-it/markdown-it/blob/master/CHANGELOG.md) - [Commits](https://github.com/markdown-it/markdown-it/compare/8.4.2...10.0.0) Signed-off-by: dependabot-preview[bot] * Bump stylelint-order from 1.0.0 to 2.2.1 (#1777) Bumps [stylelint-order](https://github.com/hudochenkov/stylelint-order) from 1.0.0 to 2.2.1. - [Release notes](https://github.com/hudochenkov/stylelint-order/releases) - [Changelog](https://github.com/hudochenkov/stylelint-order/blob/master/CHANGELOG.md) - [Commits](https://github.com/hudochenkov/stylelint-order/compare/1.0.0...2.2.1) Signed-off-by: dependabot-preview[bot] * Bump eslint-plugin-prettier from 2.7.0 to 3.1.1 (#1778) Bumps [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) from 2.7.0 to 3.1.1. - [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases) - [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/master/CHANGELOG.md) - [Commits](https://github.com/prettier/eslint-plugin-prettier/compare/v2.7.0...v3.1.1) Signed-off-by: dependabot-preview[bot] * Bump husky from 1.3.1 to 3.0.9 (#1779) Bumps [husky](https://github.com/typicode/husky) from 1.3.1 to 3.0.9. - [Release notes](https://github.com/typicode/husky/releases) - [Changelog](https://github.com/typicode/husky/blob/master/CHANGELOG.md) - [Commits](https://github.com/typicode/husky/compare/v1.3.1...v3.0.9) Signed-off-by: dependabot-preview[bot] * Bump eslint-config-prettier from 3.6.0 to 6.5.0 (#1780) Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 3.6.0 to 6.5.0. - [Release notes](https://github.com/prettier/eslint-config-prettier/releases) - [Changelog](https://github.com/prettier/eslint-config-prettier/blob/master/CHANGELOG.md) - [Commits](https://github.com/prettier/eslint-config-prettier/compare/v3.6.0...v6.5.0) Signed-off-by: dependabot-preview[bot] * Bump serialize-javascript from 1.9.1 to 2.1.0 (#1781) Bumps [serialize-javascript](https://github.com/yahoo/serialize-javascript) from 1.9.1 to 2.1.0. - [Release notes](https://github.com/yahoo/serialize-javascript/releases) - [Commits](https://github.com/yahoo/serialize-javascript/compare/v1.9.1...v2.1.0) Signed-off-by: dependabot-preview[bot] * Bump @babel/preset-env from 7.6.3 to 7.7.1 (#1782) Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.6.3 to 7.7.1. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md) - [Commits](https://github.com/babel/babel/compare/v7.6.3...v7.7.1) Signed-off-by: dependabot-preview[bot] * Bump babel-jest from 23.6.0 to 24.9.0 (#1783) Bumps [babel-jest](https://github.com/facebook/jest/tree/HEAD/packages/babel-jest) from 23.6.0 to 24.9.0. - [Release notes](https://github.com/facebook/jest/releases) - [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md) - [Commits](https://github.com/facebook/jest/commits/v24.9.0/packages/babel-jest) Signed-off-by: dependabot-preview[bot] * Bump flow-bin from 0.81.0 to 0.111.3 (#1784) Bumps [flow-bin](https://github.com/flowtype/flow-bin) from 0.81.0 to 0.111.3. - [Release notes](https://github.com/flowtype/flow-bin/releases) - [Commits](https://github.com/flowtype/flow-bin/compare/v0.81.0...v0.111.3) Signed-off-by: dependabot-preview[bot] * Bump passport-facebook from 2.1.1 to 3.0.0 (#1785) Bumps [passport-facebook](https://github.com/jaredhanson/passport-facebook) from 2.1.1 to 3.0.0. - [Release notes](https://github.com/jaredhanson/passport-facebook/releases) - [Commits](https://github.com/jaredhanson/passport-facebook/compare/v2.1.1...v3.0.0) Signed-off-by: dependabot-preview[bot] * Bump svg-url-loader from 2.3.3 to 3.0.2 (#1786) Bumps [svg-url-loader](https://github.com/bhovhannes/svg-url-loader) from 2.3.3 to 3.0.2. - [Release notes](https://github.com/bhovhannes/svg-url-loader/releases) - [Commits](https://github.com/bhovhannes/svg-url-loader/compare/v2.3.3...v3.0.2) Signed-off-by: dependabot-preview[bot] * Bump @babel/node from 7.6.3 to 7.7.0 (#1787) Bumps [@babel/node](https://github.com/babel/babel) from 7.6.3 to 7.7.0. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md) - [Commits](https://github.com/babel/babel/compare/v7.6.3...v7.7.0) Signed-off-by: dependabot-preview[bot] * Bump eslint-plugin-flowtype from 2.50.3 to 3.13.0 (#1788) Bumps [eslint-plugin-flowtype](https://github.com/gajus/eslint-plugin-flowtype) from 2.50.3 to 3.13.0. - [Release notes](https://github.com/gajus/eslint-plugin-flowtype/releases) - [Commits](https://github.com/gajus/eslint-plugin-flowtype/compare/v2.50.3...v3.13.0) Signed-off-by: dependabot-preview[bot] * Bump null-loader from 0.1.1 to 3.0.0 (#1789) Bumps [null-loader](https://github.com/webpack-contrib/null-loader) from 0.1.1 to 3.0.0. - [Release notes](https://github.com/webpack-contrib/null-loader/releases) - [Changelog](https://github.com/webpack-contrib/null-loader/blob/master/CHANGELOG.md) - [Commits](https://github.com/webpack-contrib/null-loader/commits/v3.0.0) Signed-off-by: dependabot-preview[bot] * Bump react-error-overlay from 4.0.1 to 6.0.3 (#1790) Bumps [react-error-overlay](https://github.com/facebook/create-react-app/tree/HEAD/packages/react-error-overlay) from 4.0.1 to 6.0.3. - [Release notes](https://github.com/facebook/create-react-app/releases) - [Changelog](https://github.com/facebook/create-react-app/blob/master/CHANGELOG-1.x.md) - [Commits](https://github.com/facebook/create-react-app/commits/react-error-overlay@6.0.3/packages/react-error-overlay) Signed-off-by: dependabot-preview[bot] * Bump @babel/core from 7.6.4 to 7.7.2 (#1792) Bumps [@babel/core](https://github.com/babel/babel) from 7.6.4 to 7.7.2. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md) - [Commits](https://github.com/babel/babel/compare/v7.6.4...v7.7.2) Signed-off-by: dependabot-preview[bot] * Bump opn-cli from 3.1.0 to 5.0.0 (#1793) Bumps [opn-cli](https://github.com/sindresorhus/open-cli) from 3.1.0 to 5.0.0. - [Release notes](https://github.com/sindresorhus/open-cli/releases) - [Commits](https://github.com/sindresorhus/open-cli/compare/v3.1.0...v5.0.0) Signed-off-by: dependabot-preview[bot] * Bump @babel/plugin-proposal-class-properties from 7.5.5 to 7.7.0 (#1794) Bumps [@babel/plugin-proposal-class-properties](https://github.com/babel/babel) from 7.5.5 to 7.7.0. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md) - [Commits](https://github.com/babel/babel/compare/v7.5.5...v7.7.0) Signed-off-by: dependabot-preview[bot] * Bump express-graphql from 0.6.12 to 0.8.0 (#1795) Bumps [express-graphql](https://github.com/graphql/express-graphql) from 0.6.12 to 0.8.0. - [Release notes](https://github.com/graphql/express-graphql/releases) - [Commits](https://github.com/graphql/express-graphql/compare/v0.6.12...v0.8.0) Signed-off-by: dependabot-preview[bot] * Bump @babel/polyfill from 7.6.0 to 7.7.0 (#1796) Bumps [@babel/polyfill](https://github.com/babel/babel) from 7.6.0 to 7.7.0. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md) - [Commits](https://github.com/babel/babel/compare/v7.6.0...v7.7.0) Signed-off-by: dependabot-preview[bot] * Bump stylelint from 9.10.1 to 10.1.0 (#1798) Bumps [stylelint](https://github.com/stylelint/stylelint) from 9.10.1 to 10.1.0. - [Release notes](https://github.com/stylelint/stylelint/releases) - [Changelog](https://github.com/stylelint/stylelint/blob/master/CHANGELOG.md) - [Commits](https://github.com/stylelint/stylelint/compare/9.10.1...10.1.0) Signed-off-by: dependabot-preview[bot] * Bump @babel/preset-react from 7.6.3 to 7.7.0 (#1799) Bumps [@babel/preset-react](https://github.com/babel/babel) from 7.6.3 to 7.7.0. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md) - [Commits](https://github.com/babel/babel/compare/v7.6.3...v7.7.0) Signed-off-by: dependabot-preview[bot] * Bump pixrem from 4.0.1 to 5.0.0 (#1800) Bumps [pixrem](https://github.com/robwierzbowski/node-pixrem) from 4.0.1 to 5.0.0. - [Release notes](https://github.com/robwierzbowski/node-pixrem/releases) - [Changelog](https://github.com/robwierzbowski/node-pixrem/blob/master/CHANGELOG.md) - [Commits](https://github.com/robwierzbowski/node-pixrem/commits) Signed-off-by: dependabot-preview[bot] * Bump chokidar from 2.1.8 to 3.3.0 (#1801) Bumps [chokidar](https://github.com/paulmillr/chokidar) from 2.1.8 to 3.3.0. - [Release notes](https://github.com/paulmillr/chokidar/releases) - [Commits](https://github.com/paulmillr/chokidar/commits/3.3.0) Signed-off-by: dependabot-preview[bot] * Bump prettier from 1.18.2 to 1.19.1 (#1802) Bumps [prettier](https://github.com/prettier/prettier) from 1.18.2 to 1.19.1. - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/master/CHANGELOG.md) - [Commits](https://github.com/prettier/prettier/compare/1.18.2...1.19.1) Signed-off-by: dependabot-preview[bot] * Use Function Components and Hooks (#1797) * Use function component and hooks * update docs * Bump url-loader from 1.1.2 to 2.2.0 (#1805) Bumps [url-loader](https://github.com/webpack-contrib/url-loader) from 1.1.2 to 2.2.0. - [Release notes](https://github.com/webpack-contrib/url-loader/releases) - [Changelog](https://github.com/webpack-contrib/url-loader/blob/master/CHANGELOG.md) - [Commits](https://github.com/webpack-contrib/url-loader/compare/v1.1.2...v2.2.0) Signed-off-by: dependabot-preview[bot] * Bump universal-router from 6.0.0 to 8.3.0 (#1807) Bumps [universal-router](https://github.com/kriasoft/universal-router) from 6.0.0 to 8.3.0. - [Release notes](https://github.com/kriasoft/universal-router/releases) - [Changelog](https://github.com/kriasoft/universal-router/blob/master/CHANGELOG.md) - [Commits](https://github.com/kriasoft/universal-router/compare/v6.0.0...v8.3.0) Signed-off-by: dependabot-preview[bot] * Bump glob from 7.1.5 to 7.1.6 (#1809) Bumps [glob](https://github.com/isaacs/node-glob) from 7.1.5 to 7.1.6. - [Release notes](https://github.com/isaacs/node-glob/releases) - [Changelog](https://github.com/isaacs/node-glob/blob/master/changelog.md) - [Commits](https://github.com/isaacs/node-glob/compare/v7.1.5...v7.1.6) Signed-off-by: dependabot-preview[bot] * Bump stylelint-config-standard from 18.3.0 to 19.0.0 (#1806) Bumps [stylelint-config-standard](https://github.com/stylelint/stylelint-config-standard) from 18.3.0 to 19.0.0. - [Release notes](https://github.com/stylelint/stylelint-config-standard/releases) - [Changelog](https://github.com/stylelint/stylelint-config-standard/blob/master/CHANGELOG.md) - [Commits](https://github.com/stylelint/stylelint-config-standard/compare/18.3.0...19.0.0) Signed-off-by: dependabot-preview[bot] * Bump stylelint-order from 2.2.1 to 3.1.1 (#1808) Bumps [stylelint-order](https://github.com/hudochenkov/stylelint-order) from 2.2.1 to 3.1.1. - [Release notes](https://github.com/hudochenkov/stylelint-order/releases) - [Changelog](https://github.com/hudochenkov/stylelint-order/blob/master/CHANGELOG.md) - [Commits](https://github.com/hudochenkov/stylelint-order/compare/2.2.1...3.1.1) Signed-off-by: dependabot-preview[bot] * Bump stylelint from 10.1.0 to 11.1.1 (#1810) Bumps [stylelint](https://github.com/stylelint/stylelint) from 10.1.0 to 11.1.1. - [Release notes](https://github.com/stylelint/stylelint/releases) - [Changelog](https://github.com/stylelint/stylelint/blob/master/CHANGELOG.md) - [Commits](https://github.com/stylelint/stylelint/compare/10.1.0...11.1.1) Signed-off-by: dependabot-preview[bot] * Bump flow-bin from 0.111.3 to 0.112.0 (#1811) Bumps [flow-bin](https://github.com/flowtype/flow-bin) from 0.111.3 to 0.112.0. - [Release notes](https://github.com/flowtype/flow-bin/releases) - [Commits](https://github.com/flowtype/flow-bin/compare/v0.111.3...v0.112.0) Signed-off-by: dependabot-preview[bot] * Bump react-dev-utils from 5.0.3 to 9.1.0 (#1812) Bumps [react-dev-utils](https://github.com/facebook/create-react-app/tree/HEAD/packages/react-dev-utils) from 5.0.3 to 9.1.0. - [Release notes](https://github.com/facebook/create-react-app/releases) - [Changelog](https://github.com/facebook/create-react-app/blob/master/CHANGELOG-1.x.md) - [Commits](https://github.com/facebook/create-react-app/commits/react-dev-utils@9.1.0/packages/react-dev-utils) Signed-off-by: dependabot-preview[bot] * Bump postcss-calc from 6.0.2 to 7.0.1 (#1813) Bumps [postcss-calc](https://github.com/postcss/postcss-calc) from 6.0.2 to 7.0.1. - [Release notes](https://github.com/postcss/postcss-calc/releases) - [Changelog](https://github.com/postcss/postcss-calc/blob/master/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss-calc/compare/6.0.2...7.0.1) Signed-off-by: dependabot-preview[bot] * Bump babel-eslint from 9.0.0 to 10.0.3 (#1814) Bumps [babel-eslint](https://github.com/babel/babel-eslint) from 9.0.0 to 10.0.3. - [Release notes](https://github.com/babel/babel-eslint/releases) - [Commits](https://github.com/babel/babel-eslint/compare/v9.0.0...v10.0.3) Signed-off-by: dependabot-preview[bot] * Bump graphql from 0.13.2 to 14.5.8 (#1815) Bumps [graphql](https://github.com/graphql/graphql-js) from 0.13.2 to 14.5.8. - [Release notes](https://github.com/graphql/graphql-js/releases) - [Commits](https://github.com/graphql/graphql-js/compare/v0.13.2...v14.5.8) Signed-off-by: dependabot-preview[bot] * Bump lint-staged from 9.4.2 to 9.4.3 (#1816) Bumps [lint-staged](https://github.com/okonet/lint-staged) from 9.4.2 to 9.4.3. - [Release notes](https://github.com/okonet/lint-staged/releases) - [Commits](https://github.com/okonet/lint-staged/compare/v9.4.2...v9.4.3) Signed-off-by: dependabot-preview[bot] * Bump query-string from 6.8.3 to 6.9.0 (#1817) Bumps [query-string](https://github.com/sindresorhus/query-string) from 6.8.3 to 6.9.0. - [Release notes](https://github.com/sindresorhus/query-string/releases) - [Commits](https://github.com/sindresorhus/query-string/compare/v6.8.3...v6.9.0) Signed-off-by: dependabot-preview[bot] * Bump express-graphql from 0.8.0 to 0.9.0 (#1818) Bumps [express-graphql](https://github.com/graphql/express-graphql) from 0.8.0 to 0.9.0. - [Release notes](https://github.com/graphql/express-graphql/releases) - [Commits](https://github.com/graphql/express-graphql/compare/v0.8.0...v0.9.0) Signed-off-by: dependabot-preview[bot] * Bump react-dom from 16.11.0 to 16.12.0 (#1819) Bumps [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) from 16.11.0 to 16.12.0. - [Release notes](https://github.com/facebook/react/releases) - [Changelog](https://github.com/facebook/react/blob/master/CHANGELOG.md) - [Commits](https://github.com/facebook/react/commits/v16.12.0/packages/react-dom) Signed-off-by: dependabot-preview[bot] * Bump react from 16.11.0 to 16.12.0 (#1820) Bumps [react](https://github.com/facebook/react/tree/HEAD/packages/react) from 16.11.0 to 16.12.0. - [Release notes](https://github.com/facebook/react/releases) - [Changelog](https://github.com/facebook/react/blob/master/CHANGELOG.md) - [Commits](https://github.com/facebook/react/commits/v16.12.0/packages/react) Signed-off-by: dependabot-preview[bot] * Bump react-test-renderer from 16.11.0 to 16.12.0 (#1821) Bumps [react-test-renderer](https://github.com/facebook/react/tree/HEAD/packages/react-test-renderer) from 16.11.0 to 16.12.0. - [Release notes](https://github.com/facebook/react/releases) - [Changelog](https://github.com/facebook/react/blob/master/CHANGELOG.md) - [Commits](https://github.com/facebook/react/commits/v16.12.0/packages/react-test-renderer) Signed-off-by: dependabot-preview[bot] * Test "yarn start" (#1828) * mod: Use execa * mod: Connect IO to the front process by default * Test "yarn start" * "starts GraphiQL" should fail. Should downgrade express-graphql to 0.8.9. * Downgrade express-graphql for quick fix for #1822 * chore(deps-dev): bump husky from 3.0.9 to 3.1.0 (#1824) Bumps [husky](https://github.com/typicode/husky) from 3.0.9 to 3.1.0. - [Release notes](https://github.com/typicode/husky/releases) - [Changelog](https://github.com/typicode/husky/blob/master/CHANGELOG.md) - [Commits](https://github.com/typicode/husky/compare/v3.0.9...v3.1.0) Signed-off-by: dependabot-preview[bot] * chore(deps-dev): bump eslint-config-prettier from 6.5.0 to 6.6.0 (#1826) Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 6.5.0 to 6.6.0. - [Release notes](https://github.com/prettier/eslint-config-prettier/releases) - [Changelog](https://github.com/prettier/eslint-config-prettier/blob/master/CHANGELOG.md) - [Commits](https://github.com/prettier/eslint-config-prettier/compare/v6.5.0...v6.6.0) Signed-off-by: dependabot-preview[bot] * chore(deps-dev): bump postcss from 7.0.21 to 7.0.23 (#1827) Bumps [postcss](https://github.com/postcss/postcss) from 7.0.21 to 7.0.23. - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/master/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss/compare/7.0.21...7.0.23) Signed-off-by: dependabot-preview[bot] * chore(deps-dev): bump stylelint from 11.1.1 to 12.0.0 (#1825) Bumps [stylelint](https://github.com/stylelint/stylelint) from 11.1.1 to 12.0.0. - [Release notes](https://github.com/stylelint/stylelint/releases) - [Changelog](https://github.com/stylelint/stylelint/blob/master/CHANGELOG.md) - [Commits](https://github.com/stylelint/stylelint/compare/11.1.1...12.0.0) Signed-off-by: dependabot-preview[bot] * Update getting-started.md (#1829) From Yarn 1.0 onwards, scripts don't require "--" for options to be forwarded * chore(deps-dev): bump @babel/preset-env from 7.7.1 to 7.7.4 (#1832) Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.7.1 to 7.7.4. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md) - [Commits](https://github.com/babel/babel/compare/v7.7.1...v7.7.4) Signed-off-by: dependabot-preview[bot] * chore(deps-dev): bump @babel/core from 7.7.2 to 7.7.4 (#1831) Bumps [@babel/core](https://github.com/babel/babel) from 7.7.2 to 7.7.4. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md) - [Commits](https://github.com/babel/babel/compare/v7.7.2...v7.7.4) Signed-off-by: dependabot-preview[bot] * chore(deps-dev): bump @babel/preset-flow from 7.0.0 to 7.7.4 (#1833) Bumps [@babel/preset-flow](https://github.com/babel/babel) from 7.0.0 to 7.7.4. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md) - [Commits](https://github.com/babel/babel/compare/v7.0.0...v7.7.4) Signed-off-by: dependabot-preview[bot] * chore(deps-dev): bump @babel/preset-react from 7.7.0 to 7.7.4 (#1834) Bumps [@babel/preset-react](https://github.com/babel/babel) from 7.7.0 to 7.7.4. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md) - [Commits](https://github.com/babel/babel/compare/v7.7.0...v7.7.4) Signed-off-by: dependabot-preview[bot] * chore(deps-dev): bump @babel/node from 7.7.0 to 7.7.4 (#1837) Bumps [@babel/node](https://github.com/babel/babel) from 7.7.0 to 7.7.4. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md) - [Commits](https://github.com/babel/babel/compare/v7.7.0...v7.7.4) Signed-off-by: dependabot-preview[bot] * chore(deps-dev): bump @babel/plugin-transform-react-inline-elements (#1836) Bumps [@babel/plugin-transform-react-inline-elements](https://github.com/babel/babel) from 7.2.0 to 7.7.4. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md) - [Commits](https://github.com/babel/babel/compare/v7.2.0...v7.7.4) Signed-off-by: dependabot-preview[bot] * chore(deps-dev): bump eslint-config-prettier from 6.6.0 to 6.7.0 (#1830) Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 6.6.0 to 6.7.0. - [Release notes](https://github.com/prettier/eslint-config-prettier/releases) - [Changelog](https://github.com/prettier/eslint-config-prettier/blob/master/CHANGELOG.md) - [Commits](https://github.com/prettier/eslint-config-prettier/commits) Signed-off-by: dependabot-preview[bot] * chore(deps-dev): bump @babel/plugin-proposal-class-properties (#1838) Bumps [@babel/plugin-proposal-class-properties](https://github.com/babel/babel) from 7.7.0 to 7.7.4. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md) - [Commits](https://github.com/babel/babel/compare/v7.7.0...v7.7.4) Signed-off-by: dependabot-preview[bot] * chore(deps-dev): bump url-loader from 2.2.0 to 2.3.0 (#1839) Bumps [url-loader](https://github.com/webpack-contrib/url-loader) from 2.2.0 to 2.3.0. - [Release notes](https://github.com/webpack-contrib/url-loader/releases) - [Changelog](https://github.com/webpack-contrib/url-loader/blob/master/CHANGELOG.md) - [Commits](https://github.com/webpack-contrib/url-loader/compare/v2.2.0...v2.3.0) Signed-off-by: dependabot-preview[bot] * Use test-watch instead of test:watch (#1851) According to the read me it should go: yarn run test-watch # Run unit tests in watch mode * chore(deps): [security] bump serialize-javascript from 2.1.0 to 2.1.1 (#1866) Bumps [serialize-javascript](https://github.com/yahoo/serialize-javascript) from 2.1.0 to 2.1.1. **This update includes a security fix.** - [Release notes](https://github.com/yahoo/serialize-javascript/releases) - [Commits](https://github.com/yahoo/serialize-javascript/compare/v2.1.0...v2.1.1) Signed-off-by: dependabot-preview[bot] * Update Dockerfile (#1870) * Update node base image to 8.16.2 Update node alpine image to fix the engine "node" incompatible error. * Set permissions for "node" user Fix SequelizeConnectionError: SQLITE_CANTOPEN: unable to open database file Co-authored-by: Maksim Markelov Co-authored-by: Joseph Frazier <1212jtraceur@gmail.com> Co-authored-by: Pavel Lang Co-authored-by: wwendyc Co-authored-by: Paweł Małolepszy Co-authored-by: Soichi Takamura Co-authored-by: Ryan Whitworth Co-authored-by: Agustina Chaer Co-authored-by: Alexey Kutalo Co-authored-by: Fabricio Asfora Lira <32206134+minggas@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> Co-authored-by: Mаартен - Maarten Co-authored-by: Milagros Gómez Co-authored-by: Tan Shuai <7anshuai@gmail.com> --- .eslintrc.js | 6 +- .prettierignore | 1 + .travis.yml | 4 +- CHANGELOG.md | 3 + CONTRIBUTING.md | 16 +- Dockerfile | 9 +- README.md | 74 +- .babelrc.js => babel.config.js | 5 +- docs/README.md | 26 +- docs/data-fetching.md | 26 +- docs/getting-started.md | 18 +- docs/how-to-configure-text-editors.md | 32 +- docs/react-style-guide.md | 46 +- docs/recipes/how-to-implement-routing.md | 78 +- docs/recipes/how-to-integrate-disqus.md | 25 +- docs/recipes/how-to-integrate-react-intl.md | 16 +- docs/recipes/how-to-integrate-redux.md | 6 +- docs/testing-your-application.md | 43 +- jest.config.js | 2 +- package.json | 205 +- src/client.js | 25 +- src/components/App.js | 59 +- src/components/ApplicationContext.js | 9 + src/components/Feedback/Feedback.js | 45 +- src/components/Footer/Footer.js | 54 +- src/components/Header/Header.js | 47 +- src/components/Html.js | 142 +- src/components/Layout/Layout.js | 31 +- src/components/Layout/Layout.test.js | 2 +- .../Layout/__snapshots__/Layout.test.js.snap | 12 +- src/components/Link/Link.js | 69 +- src/components/Navigation/Navigation.js | 45 +- src/components/Page/Page.js | 38 +- src/data/sequelize.js | 3 +- src/history.js | 2 +- src/passport.js | 8 +- src/routes/admin/Admin.js | 29 +- src/routes/contact/Contact.js | 29 +- src/routes/error/ErrorPage.js | 60 +- src/routes/home/Home.css | 34 +- src/routes/home/Home.js | 63 +- src/routes/login/Login.js | 208 +- src/routes/not-found/NotFound.js | 28 +- src/routes/register/Register.js | 29 +- src/server.js | 5 +- tools/README.md | 25 +- tools/__tests__/start.js | 79 + tools/deploy.js | 5 +- tools/lib/cp.js | 33 +- tools/lib/fs.js | 25 +- tools/lib/test-fns.js | 50 + tools/postcss.config.js | 52 +- tools/start.js | 3 + tools/webpack.config.js | 55 +- yarn.lock | 11985 ++++++++++------ 55 files changed, 8311 insertions(+), 5718 deletions(-) create mode 100644 .prettierignore rename .babelrc.js => babel.config.js (84%) create mode 100644 src/components/ApplicationContext.js create mode 100644 tools/__tests__/start.js create mode 100644 tools/lib/test-fns.js diff --git a/.eslintrc.js b/.eslintrc.js index d5f44b0b5..3efc19186 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -21,7 +21,7 @@ module.exports = { 'prettier/react', ], - plugins: ['flowtype', 'css-modules', 'prettier'], + plugins: ['flowtype', 'css-modules', 'prettier', 'jest'], globals: { __DEV__: true, @@ -29,6 +29,7 @@ module.exports = { env: { browser: true, + jest: true, }, rules: { @@ -87,6 +88,9 @@ module.exports = { // ESLint plugin for prettier formatting // https://github.com/prettier/eslint-plugin-prettier 'prettier/prettier': 'error', + + 'react/forbid-prop-types': 'off', + 'react/destructuring-assignment': 'off', }, settings: { diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 000000000..ec6d3cdd7 --- /dev/null +++ b/.prettierignore @@ -0,0 +1 @@ +package.json diff --git a/.travis.yml b/.travis.yml index 89f8b988f..6105d4a58 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,9 @@ language: node_js node_js: - 'stable' + - '12' + - '10' - '8' - - '6' env: - CXX=g++-4.8 addons: @@ -11,6 +12,7 @@ addons: - ubuntu-toolchain-r-test packages: - g++-4.8 +cache: yarn script: - yarn lint - yarn test diff --git a/CHANGELOG.md b/CHANGELOG.md index 8cb72826b..d6803765d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,7 @@ All notable changes to this project will be documented in this file. - Move page / screen components into the `src/routes` folder along with the routing information for them (BREAKING CHANGE). [6553936](https://github.com/kriasoft/react-starter-kit/commit/6553936e693e24a8ac6178f4962af15e0ea87dfd) ### [v0.5.1] + > 2016-03-02 - Remove `Html` React component in favor of compiled Jade templates (`src/views`) (BREAKING CHANGE). [e188388](https://github.com/kriasoft/react-starter-kit/commit/e188388f87069cdc7d501b385d6b0e46c98fed60) @@ -34,6 +35,7 @@ All notable changes to this project will be documented in this file. - Add support for Markdown and HTML for static pages. [#469](https://github.com/kriasoft/react-starter-kit/pull/469), [#477](https://github.com/kriasoft/react-starter-kit/pull/477) ### [v0.5.0] + > 2016-02-27 - Replace RESTful API endpoint (`src/api`) with GraphQL (`src/data`) @@ -54,6 +56,7 @@ All notable changes to this project will be documented in this file. - Add `CHANGELOG.md` file with a list of notable changes to this project ### [v0.4.1] + > 2015-10-04 - Replace React Hot Loader (deprecated) with React Transform diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index aab3a8774..24e66a167 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -33,10 +33,10 @@ files right from GitHub website as described [here](https://help.github.com/arti Before opening an issue, please: -* Check the [Getting Started](https://github.com/kriasoft/react-starter-kit/blob/master/docs/getting-started.md) guide. -* Search the [issue tracker](https://github.com/kriasoft/react-starter-kit/issues) to make sure +- Check the [Getting Started](https://github.com/kriasoft/react-starter-kit/blob/master/docs/getting-started.md) guide. +- Search the [issue tracker](https://github.com/kriasoft/react-starter-kit/issues) to make sure your issue hasn’t already been reported. -* If your issue sounds more like a question, please post it on StackOverflow.com instead with the +- If your issue sounds more like a question, please post it on StackOverflow.com instead with the tag [react-starter-kit](http://stackoverflow.com/questions/tagged/react-starter-kit). ### Pull Requests @@ -44,12 +44,12 @@ Before opening an issue, please: Before you submit a [pull request](https://help.github.com/articles/using-pull-requests/) from your forked repo, check that it meets these guidelines: -* If the pull request adds functionality, the docs should be updated as part of the same PR. -* Create a separate PR for each small feature or bug fix. -* [Squash](http://stackoverflow.com/questions/5189560/squash-my-last-x-commits-together-using-git) +- If the pull request adds functionality, the docs should be updated as part of the same PR. +- Create a separate PR for each small feature or bug fix. +- [Squash](http://stackoverflow.com/questions/5189560/squash-my-last-x-commits-together-using-git) your commits into one for each PR. -* Run `yarn test` to make sure that your code style is OK and there are no any regression bugs. -* When contributing to an opt-in feature, apply the `[feature/...]` tag as a prefix to your PR title +- Run `yarn test` to make sure that your code style is OK and there are no any regression bugs. +- When contributing to an opt-in feature, apply the `[feature/...]` tag as a prefix to your PR title #### Style Guide diff --git a/Dockerfile b/Dockerfile index 5f1f823cc..d8f277125 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:8.10.0-alpine +FROM node:8.16.2-alpine # Set a working directory WORKDIR /usr/src/app @@ -12,7 +12,14 @@ RUN yarn install --production --no-progress # Copy application files COPY ./build . +# Set permissions for "node" user +RUN chown -R node:node /usr/src/app +RUN chmod 755 /usr/src/app + # Run the container under "node" user by default USER node +# Set NODE_ENV env variable to "production" for faster expressjs +ENV NODE_ENV production + CMD [ "node", "server.js" ] diff --git a/README.md b/README.md index 11f6722da..7e33bc201 100644 --- a/README.md +++ b/README.md @@ -21,29 +21,29 @@ and newcomers to the industry. Hiring

- ### Getting Started - * Follow the [getting started guide](./docs/getting-started.md) to download and run the project - ([Node.js](https://nodejs.org/) >= 6.5) - * Check the [code recipes](./docs/recipes) used in this boilerplate, or share yours - +- Follow the [getting started guide](./docs/getting-started.md) to download and run the project + ([Node.js](https://nodejs.org/) >= 8.16.2) +- Check the [code recipes](./docs/recipes) used in this boilerplate, or share yours ### Customization The `master` branch of React Starter Kit doesn't include a Flux implementation or any other -advanced integrations. Nevertheless, we have some integrations available to you in *feature* +advanced integrations. Nevertheless, we have some integrations available to you in _feature_ branches that you can use either as a reference or merge into your project: - * [feature/redux](https://github.com/kriasoft/react-starter-kit/tree/feature/redux) ([PR](https://github.com/kriasoft/react-starter-kit/pull/1084)) - — isomorphic Redux by [Pavel Lang](https://github.com/langpavel) - (see [how to integrate Redux](./docs/recipes/how-to-integrate-redux.md)) (based on `master`) - * [feature/apollo](https://github.com/kriasoft/react-starter-kit/tree/feature/apollo) ([PR](https://github.com/kriasoft/react-starter-kit/pull/1147)) - — isomorphic Apollo Client by [Pavel Lang](https://github.com/langpavel) - (see [Tracking PR #1147](https://github.com/kriasoft/react-starter-kit/pull/1147)) (based on `feature/redux`) - * [feature/react-intl](https://github.com/kriasoft/react-starter-kit/tree/feature/react-intl) ([PR](https://github.com/kriasoft/react-starter-kit/pull/1135)) - — isomorphic Redux and React Intl by [Pavel Lang](https://github.com/langpavel) - (see [how to integrate React Intl](./docs/recipes/how-to-integrate-react-intl.md)) (based on `feature/apollo`) +- [feature/redux](https://github.com/kriasoft/react-starter-kit/tree/feature/redux) ([PR](https://github.com/kriasoft/react-starter-kit/pull/1084)) + — isomorphic Redux by [Pavel Lang](https://github.com/langpavel) + (see [how to integrate Redux](./docs/recipes/how-to-integrate-redux.md)) (based on `master`) +- [feature/apollo](https://github.com/kriasoft/react-starter-kit/tree/feature/apollo) ([PR](https://github.com/kriasoft/react-starter-kit/pull/1147)) + — isomorphic Apollo Client by [Pavel Lang](https://github.com/langpavel) + (see [Tracking PR #1147](https://github.com/kriasoft/react-starter-kit/pull/1147)) (based on `feature/redux`) +- [feature/react-intl](https://github.com/kriasoft/react-starter-kit/tree/feature/react-intl) ([PR](https://github.com/kriasoft/react-starter-kit/pull/1135)) + — isomorphic Redux and React Intl by [Pavel Lang](https://github.com/langpavel) + (see [how to integrate React Intl](./docs/recipes/how-to-integrate-react-intl.md)) (based on `feature/apollo`) +- [feature/apollo-pure](https://github.com/kriasoft/react-starter-kit/tree/feature/apollo-pure) ([PR](https://github.com/kriasoft/react-starter-kit/pull/1666)) + — Apollo devtools and TypeScript integration by [piglovesyou](https://github.com/piglovesyou) (based on `master`) You can see status of most reasonable merge combination as [PRs labeled as `TRACKING`](https://github.com/kriasoft/react-starter-kit/labels/TRACKING) @@ -51,7 +51,6 @@ If you think that any of these features should be on `master`, or vice versa, so removed from the `master` branch, please [let us know](https://gitter.im/kriasoft/react-starter-kit). We love your feedback! - ### Comparison @@ -149,7 +148,6 @@ We love your feedback!
- ### Backers ♥ React Starter Kit? Help us keep it alive by donating funds to cover project @@ -178,45 +176,40 @@ expenses via [OpenCollective](https://opencollective.com/react-starter-kit) or - ### How to Contribute Anyone and everyone is welcome to [contribute](CONTRIBUTING.md) to this project. The best way to start is by checking our [open issues](https://github.com/kriasoft/react-starter-kit/issues), -[submit a new issues](https://github.com/kriasoft/react-starter-kit/issues/new?labels=bug) or +[submit a new issue](https://github.com/kriasoft/react-starter-kit/issues/new?labels=bug) or [feature request](https://github.com/kriasoft/react-starter-kit/issues/new?labels=enhancement), participate in discussions, upvote or downvote the issues you like or dislike, send [pull requests](CONTRIBUTING.md#pull-requests). - ### Learn More - * [Getting Started with React.js](http://facebook.github.io/react/) - * [Getting Started with GraphQL and Relay](https://quip.com/oLxzA1gTsJsE) - * [React.js Questions on StackOverflow](http://stackoverflow.com/questions/tagged/reactjs) - * [React.js Discussion Board](https://discuss.reactjs.org/) - * [Flux Architecture for Building User Interfaces](http://facebook.github.io/flux/) - * [Enzyme — JavaScript Testing utilities for React](http://airbnb.io/enzyme/) - * [Flow — A static type checker for JavaScript](http://flowtype.org/) - * [The Future of React](https://github.com/reactjs/react-future) - * [Learn ES6](https://babeljs.io/docs/learn-es6/), [ES6 Features](https://github.com/lukehoban/es6features#readme) - +- [Getting Started with React.js](http://facebook.github.io/react/) +- [Getting Started with GraphQL and Relay](https://quip.com/oLxzA1gTsJsE) +- [React.js Questions on StackOverflow](http://stackoverflow.com/questions/tagged/reactjs) +- [React.js Discussion Board](https://discuss.reactjs.org/) +- [Flux Architecture for Building User Interfaces](http://facebook.github.io/flux/) +- [Enzyme — JavaScript Testing utilities for React](http://airbnb.io/enzyme/) +- [Flow — A static type checker for JavaScript](http://flowtype.org/) +- [The Future of React](https://github.com/reactjs/react-future) +- [Learn ES6](https://babeljs.io/docs/learn-es6/), [ES6 Features](https://github.com/lukehoban/es6features#readme) ### Related Projects - * [GraphQL Starter Kit](https://github.com/kriasoft/graphql-starter-kit) — Boilerplate for building data APIs with Node.js, JavaScript (via Babel) and GraphQL - * [Membership Database](https://github.com/membership/membership.db) — SQL schema boilerplate for user accounts, profiles, roles, and auth claims - * [Babel Starter Kit](https://github.com/kriasoft/babel-starter-kit) — Boilerplate for authoring JavaScript/React.js libraries - +- [GraphQL Starter Kit](https://github.com/kriasoft/graphql-starter-kit) — Boilerplate for building data APIs with Node.js, JavaScript (via Babel) and GraphQL +- [Membership Database](https://github.com/membership/membership.db) — SQL schema boilerplate for user accounts, profiles, roles, and auth claims +- [Babel Starter Kit](https://github.com/kriasoft/babel-starter-kit) — Boilerplate for authoring JavaScript/React.js libraries ### Support - * [#react-starter-kit](http://stackoverflow.com/questions/tagged/react-starter-kit) on Stack Overflow — Questions and answers - * [#react-starter-kit](https://gitter.im/kriasoft/react-starter-kit) on Gitter — Watch announcements, share ideas and feedback - * [GitHub issues](https://github.com/kriasoft/react-starter-kit/issues), or [Scrum board](https://waffle.io/kriasoft/react-starter-kit) — File issues, send feature requests - * [appear.in/react](https://appear.in/react) — Open hours! Exchange ideas and experiences (React, GraphQL, startups and pet projects) - * [@koistya](https://twitter.com/koistya) on [Codementor](https://www.codementor.io/koistya), or [Skype](http://hatscripts.com/addskype?koistya) — Private consulting - +- [#react-starter-kit](http://stackoverflow.com/questions/tagged/react-starter-kit) on Stack Overflow — Questions and answers +- [#react-starter-kit](https://gitter.im/kriasoft/react-starter-kit) on Gitter — Watch announcements, share ideas and feedback +- [GitHub issues](https://github.com/kriasoft/react-starter-kit/issues), or [Scrum board](https://waffle.io/kriasoft/react-starter-kit) — File issues, send feature requests +- [appear.in/react](https://appear.in/react) — Open hours! Exchange ideas and experiences (React, GraphQL, startups and pet projects) +- [@koistya](https://twitter.com/koistya) on [Codementor](https://www.codementor.io/koistya), or [Skype](http://hatscripts.com/addskype?koistya) — Private consulting ### License @@ -226,6 +219,7 @@ file. The documentation to the project is licensed under the [CC BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/) license. --- + Made with ♥ by Konstantin Tarkus ([@koistya](https://twitter.com/koistya)) and [contributors](https://github.com/kriasoft/react-starter-kit/graphs/contributors) [rsk]: https://www.reactstarterkit.com diff --git a/.babelrc.js b/babel.config.js similarity index 84% rename from .babelrc.js rename to babel.config.js index afe37b061..fdbbc882a 100644 --- a/.babelrc.js +++ b/babel.config.js @@ -19,9 +19,12 @@ module.exports = { }, }, ], - '@babel/preset-stage-2', '@babel/preset-flow', '@babel/preset-react', ], + plugins: [ + '@babel/plugin-proposal-class-properties', + '@babel/plugin-syntax-dynamic-import', + ], ignore: ['node_modules', 'build'], }; diff --git a/docs/README.md b/docs/README.md index 99f478a28..b261f203b 100644 --- a/docs/README.md +++ b/docs/README.md @@ -2,22 +2,22 @@ ### General -* [Getting Started](./getting-started.md) -* [React Style Guide](./react-style-guide.md) -* [How to configure text editors and IDEs](./how-to-configure-text-editors.md) -* [Data fetching with WHATWG Fetch](./data-fetching.md) -* [Testing your application](./testing-your-application.md) +- [Getting Started](./getting-started.md) +- [React Style Guide](./react-style-guide.md) +- [How to configure text editors and IDEs](./how-to-configure-text-editors.md) +- [Data fetching with WHATWG Fetch](./data-fetching.md) +- [Testing your application](./testing-your-application.md) ### Questions -* [Which module bundler should I use?](https://github.com/kriasoft/react-starter-kit/issues/3) -* [Which Flux implementation should I use?](https://github.com/kriasoft/react-starter-kit/issues/22) +- [Which module bundler should I use?](https://github.com/kriasoft/react-starter-kit/issues/3) +- [Which Flux implementation should I use?](https://github.com/kriasoft/react-starter-kit/issues/22) ### Recipes -* [How to Implement Routing and Navigation](./recipes/how-to-implement-routing.md) -* [How to Integrate Redux](./recipes/how-to-integrate-redux.md) -* [How to Integrate React Intl](./recipes/how-to-integrate-react-intl.md) -* [How to Integrate Disqus](./recipes/how-to-integrate-disqus.md) -* [How to Use Sass/SCSS](./recipes/how-to-use-sass.md) -* [How to Configure Facebook Login](./recipes/how-to-configure-facebook-login.md) +- [How to Implement Routing and Navigation](./recipes/how-to-implement-routing.md) +- [How to Integrate Redux](./recipes/how-to-integrate-redux.md) +- [How to Integrate React Intl](./recipes/how-to-integrate-react-intl.md) +- [How to Integrate Disqus](./recipes/how-to-integrate-disqus.md) +- [How to Use Sass/SCSS](./recipes/how-to-use-sass.md) +- [How to Configure Facebook Login](./recipes/how-to-configure-facebook-login.md) diff --git a/docs/data-fetching.md b/docs/data-fetching.md index 1ce808b16..cdb0eb9e5 100644 --- a/docs/data-fetching.md +++ b/docs/data-fetching.md @@ -41,20 +41,28 @@ React components as follows: #### React Component ```js -class Post extends React.Component { - static contextTypes = { fetch: PropTypes.func.isRequired }; - handleDelete = (event) => { - event.preventDefault(); - const id = event.target.dataset['id']; - this.context.fetch(`/api/posts/${id}`, { method: 'DELETE' }).then(...); - }; - render() { ... } +import {useContext} from 'react'; +import ApplicationContext from '../ApplicationContext'; + +function Post() { + const {context} = useContext(ApplicationContext); + return ( + + ); } ``` #### Related articles -* [That's so fetch!](https://jakearchibald.com/2015/thats-so-fetch/) by +- [That's so fetch!](https://jakearchibald.com/2015/thats-so-fetch/) by [Jake Archibald](https://twitter.com/jaffathecake) [fetch]: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch diff --git a/docs/getting-started.md b/docs/getting-started.md index b1a86d22c..a461a1d44 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -2,10 +2,10 @@ ### Requirements -* Mac OS X, Windows, or Linux -* [Yarn](https://yarnpkg.com/) package + [Node.js](https://nodejs.org/) v6.5 or +- Mac OS X, Windows, or Linux +- [Yarn](https://yarnpkg.com/) package + [Node.js](https://nodejs.org/) v8.16.2 or newer -* Text editor or IDE pre-configured with React/JSX/Flow/ESlint +- Text editor or IDE pre-configured with React/JSX/Flow/ESlint ([learn more](./how-to-configure-text-editors.md)) ### Directory Layout @@ -99,7 +99,7 @@ compiled output files are not optimized and minimized in this case. You can use (production) mode: ```shell -$ yarn start -- --release +$ yarn start --release ``` _NOTE: double dashes are required_ @@ -115,13 +115,13 @@ $ yarn run build or, for a production build: ```shell -$ yarn run build -- --release +$ yarn run build --release ``` or, for a production docker build: ```shell -$ yarn run build -- --release --docker +$ yarn run build --release --docker ``` _NOTE: double dashes are required_ @@ -139,11 +139,11 @@ $ yarn run lint To launch unit tests: ```shell -$ yarn run test # Run unit tests with Mocha -$ yarn run test:watch # Launch unit test runner and start watching for changes +$ yarn run test # Run unit tests with Jest +$ yarn run test-watch # Launch unit test runner and start watching for changes ``` -By default, [Mocha](https://mochajs.org/) test runner is looking for test files +By default, [Jest](https://jestjs.io/) test runner is looking for test files matching the `src/**/*.test.js` pattern. Take a look at `src/components/Layout/Layout.test.js` as an example. diff --git a/docs/how-to-configure-text-editors.md b/docs/how-to-configure-text-editors.md index 21d536b7a..786dc041d 100644 --- a/docs/how-to-configure-text-editors.md +++ b/docs/how-to-configure-text-editors.md @@ -32,10 +32,10 @@ Enable **CSSComb** by following the instructions Install atom packages -* [linter](https://atom.io/packages/linter) -* [linter-eslint](https://atom.io/packages/linter-eslint) -* [linter-stylelint](https://atom.io/packages/linter-stylelint) -* [react](https://atom.io/packages/react) +- [linter](https://atom.io/packages/linter) +- [linter-eslint](https://atom.io/packages/linter-eslint) +- [linter-stylelint](https://atom.io/packages/linter-stylelint) +- [react](https://atom.io/packages/react) ```shell apm install linter linter-eslint react linter-stylelint @@ -43,10 +43,10 @@ apm install linter linter-eslint react linter-stylelint Install local npm packages -* [eslint](https://www.npmjs.com/package/eslint) -* [babel-eslint](https://www.npmjs.com/package/babel-eslint) -* [eslint-plugin-react](https://www.npmjs.com/package/eslint-plugin-react) -* [stylelint](https://www.npmjs.com/package/stylelint) +- [eslint](https://www.npmjs.com/package/eslint) +- [babel-eslint](https://www.npmjs.com/package/babel-eslint) +- [eslint-plugin-react](https://www.npmjs.com/package/eslint-plugin-react) +- [stylelint](https://www.npmjs.com/package/stylelint) ```shell yarn add --dev eslint babel-eslint eslint-plugin-react stylelint @@ -60,10 +60,10 @@ Install SublimeText packages\ Easiest with [Package Control](https://packagecontrol.io/) and then "Package Control: Install Package" (Ctrl+Shift+P) -* [Babel](https://packagecontrol.io/packages/Babel) -* [Sublime-linter](http://www.sublimelinter.com/en/latest/) -* [SublimeLinter-contrib-eslint](https://packagecontrol.io/packages/SublimeLinter-contrib-eslint) -* [SublimeLinter-contrib-stylelint](https://packagecontrol.io/packages/SublimeLinter-contrib-stylelint) +- [Babel](https://packagecontrol.io/packages/Babel) +- [Sublime-linter](http://www.sublimelinter.com/en/latest/) +- [SublimeLinter-contrib-eslint](https://packagecontrol.io/packages/SublimeLinter-contrib-eslint) +- [SublimeLinter-contrib-stylelint](https://packagecontrol.io/packages/SublimeLinter-contrib-stylelint) You can also use [SublimeLinter-contrib-eslint_d](https://packagecontrol.io/packages/SublimeLinter-contrib-eslint_d) @@ -71,11 +71,11 @@ for faster linting. Set Babel as default syntax for a particular extension: -* Open a file with that extension, -* Select `View` from the menu, -* Then `Syntax` `->` `Open all with current extension as...` `->` `Babel` `->` +- Open a file with that extension, +- Select `View` from the menu, +- Then `Syntax` `->` `Open all with current extension as...` `->` `Babel` `->` `JavaScript (Babel)`. -* Repeat this for each extension (e.g.: .js and .jsx). +- Repeat this for each extension (e.g.: .js and .jsx). Install local npm packages diff --git a/docs/react-style-guide.md b/docs/react-style-guide.md index 280641a66..c4d71fe53 100644 --- a/docs/react-style-guide.md +++ b/docs/react-style-guide.md @@ -6,21 +6,21 @@ ### Table of Contents -* [Separate folder per UI component](#separate-folder-per-ui-component) -* [Prefer using functional components](#prefer-using-functional-components) -* [Use CSS Modules](#use-css-modules) -* [Use higher-order components](#use-higher-order-components) +- [Separate folder per UI component](#separate-folder-per-ui-component) +- [Prefer using functional components](#prefer-using-functional-components) +- [Use CSS Modules](#use-css-modules) +- [Use higher-order components](#use-higher-order-components) ### Separate folder per UI component -* Place each major UI component along with its resources in a separate folder\ +- Place each major UI component along with its resources in a separate folder\ This will make it easier to find related resources for any particular UI element (CSS, images, unit tests, localization files etc.). Removing such components during refactorings should also be easy. -* Avoid having CSS, images and other resource files shared between multiple +- Avoid having CSS, images and other resource files shared between multiple components.\ This will make your code more maintainable, easy to refactor. -* Add `package.json` file into each component's folder.\ +- Add `package.json` file into each component's folder.\ This will allow to easily reference such components from other places in your code.\ Use `import Nav from '../Navigation'` instead of `import Nav from '../Navigation/Navigation.js'` @@ -46,7 +46,7 @@ For more information google for ### Prefer using functional components -* Prefer using stateless functional components whenever possible.\ +- Prefer using stateless functional components whenever possible.\ Components that don't use state are better to be written as simple pure functions. ```jsx @@ -69,16 +69,16 @@ Navigation.propTypes = { items: PropTypes.array.isRequired }; ### Use CSS Modules -* Use CSS Modules\ +- Use CSS Modules\ This will allow using short CSS class names and at the same time avoid conflicts. -* Keep CSS simple and declarative. Avoid loops, mixins etc. -* Feel free to use variables in CSS via +- Keep CSS simple and declarative. Avoid loops, mixins etc. +- Feel free to use variables in CSS via [precss](https://github.com/jonathantneal/precss) plugin for [PostCSS](https://github.com/postcss/postcss) -* Prefer CSS class selectors instead of element and `id` selectors (see +- Prefer CSS class selectors instead of element and `id` selectors (see [BEM](https://bem.info/)) -* Avoid nested CSS selectors (see [BEM](https://bem.info/)) -* When in doubt, use `.root { }` class name for the root elements of your +- Avoid nested CSS selectors (see [BEM](https://bem.info/)) +- When in doubt, use `.root { }` class name for the root elements of your components ```scss @@ -127,10 +127,11 @@ Navigation.propTypes = { items: PropTypes.array.isRequired }; // Navigation.js import React from 'react'; import PropTypes from 'prop-types'; -import withStyles from 'isomorphic-style-loader/lib/withStyles'; +import useStyles from 'isomorphic-style-loader/useStyles'; import s from './Navigation.scss'; -function Navigation() { +export default function Navigation() { + useStyles(s); return (