Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(selectors): refactor selectors #1205

Merged
merged 4 commits into from
Dec 8, 2016

Conversation

Dattaya
Copy link
Member

@Dattaya Dattaya commented Nov 6, 2016

  • Simplified regular selectors
  • Gave names recommended by the reselect docs to selector factories (proposed by @kachkaev, thanks!)

@coveralls
Copy link

coveralls commented Nov 6, 2016

Coverage Status

Coverage remained the same at 98.605% when pulling 6772d30 on Dattaya:selector-factories into dd8f9a6 on mxstbr:dev.

@spen
Copy link
Contributor

spen commented Nov 9, 2016

Awesome work :) I feel this gives a lot more clarity so should help people avoid falling in to anti-patterns :D

I do have one more thing to ask / suggest...

I'm not particularly sold on the naming: makeSelectLocationState.
I feel this is a little confusing since make & select are both verbs.

My suggestion would be something like:
create______Selector

so makeSelectLocationState becomes createLocationStateSelector

I feel that might either be confused with createSelector() or could actually be more inline with it... honestly it's all fairly new to me so I could be way off the mark.
Any thoughts?

Edit: I see that reselect give the example of makeGetVisibleTodos here
So it makes sense to stay true to that example - I still find the verb-verb thing a bit icky though! :P

@Dattaya
Copy link
Member Author

Dattaya commented Nov 10, 2016

@spen, makes sense, two consecutive verbs do sound weird, if more people are in favor of "createLocationStateSelector" I'll redo the naming in this PR.

@coveralls
Copy link

coveralls commented Nov 13, 2016

Coverage Status

Coverage remained the same at 98.605% when pulling 2b40821 on Dattaya:selector-factories into ead6cb8 on mxstbr:dev.

@Dattaya
Copy link
Member Author

Dattaya commented Nov 13, 2016

Everyone here (@spen, @gihrig, and I) is in favor of create...Selector names for selector factories, in reduxjs/reselect#190 @jimbolla said that the naming in the reselect's docs is an established practice, so I'll leave the final say to @mxstbr.
Otherwise it should be good to go; I tested generated templates and didn't notice any issues.

@coveralls
Copy link

coveralls commented Nov 17, 2016

Coverage Status

Coverage remained the same at 98.605% when pulling e659628 on Dattaya:selector-factories into 33485f4 on mxstbr:dev.

@kachkaev
Copy link
Contributor

I'd stick to an established practice. New users of react-boilerplate will otherwise struggle because of a mismatch in naming. IMHO the goal of this boilerplate is to glue the best practices rather than reinventing the wheel :–)

@coveralls
Copy link

coveralls commented Nov 21, 2016

Coverage Status

Coverage remained the same at 98.605% when pulling 8f3710a on Dattaya:selector-factories into f0eb229 on mxstbr:dev.

@Dattaya
Copy link
Member Author

Dattaya commented Nov 28, 2016

It would be nice to get two reviews from collaborators, because this one could've been merged long time ago.

@coveralls
Copy link

Coverage Status

Coverage remained the same at 98.578% when pulling 7e8325b on Dattaya:selector-factories into 7652c6d on mxstbr:dev.

1 similar comment
@coveralls
Copy link

coveralls commented Nov 28, 2016

Coverage Status

Coverage remained the same at 98.578% when pulling 7e8325b on Dattaya:selector-factories into 7652c6d on mxstbr:dev.

Copy link
Member

@mxstbr mxstbr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for taking so long, this LGTM!

@mxstbr
Copy link
Member

mxstbr commented Dec 8, 2016

/cc @gihrig @jwinn @justingreenberg LGTY?

@jwinn
Copy link
Collaborator

jwinn commented Dec 8, 2016

I haven't pulled and tested locally, but the naming changes LGTM and seem inline with reselect conventions. 👍

@mxstbr
Copy link
Member

mxstbr commented Dec 8, 2016

Same, let's :shipit: then!

Thanks @Dattaya!

@mxstbr mxstbr merged commit 50fef95 into react-boilerplate:dev Dec 8, 2016
@Dattaya Dattaya deleted the selector-factories branch December 8, 2016 17:12
@gihrig
Copy link
Contributor

gihrig commented Dec 8, 2016

Late to the show, but, I discovered a bug...

As of this PR, a cleaned project fails on npm start

To reproduce:

git clone https://github.com/mxstbr/react-boilerplate.git react-bp && cd react-bp
git checkout 50fef95d9f2e589385174250e2855fbbdd6907fb
yarn <-- note that npm start will work as expected here.
npm run clean
npm start

In the terminal I get:
image

In the browser console:
image

@Dattaya
Copy link
Member Author

Dattaya commented Dec 9, 2016

Sorry about that, and thanks for the detailed report, @gihrig, more than enough information for me to fix it immediately.

AnhHT added a commit to AnhHT/react-boilerplate that referenced this pull request Jan 18, 2017
* feat(docs): Extracting packages into their own modules (react-boilerplate#979)

* fix(internals): Fix babel relative preset

Fix webpack issue with relative babel preset paths:
babel/babel-loader#149

* feat(docs): Add docs for extracting components

Add draft version of docs describing how to extract components to their own
npm packages.

* feat(core): Move to Jest for testing (react-boilerplate#980)

* Add Jest

collect coverage

* fix(tests): set config and globals

add coverage and script

update coveralls script

update chai to jest syntax

args should return an array

chore(tests): add babel-jest, tweak config

chore(tests): update coverage settings

feat(cov): remove untested closure

chore(core): update watch script, use jest-cli

fix(watch): add no-cache and watchAll flags

* Remove generator test

* jest-cli@16

* chore(jest): Remove rootDir

* rebase against 3.3.0

* fix(commands): Fix 'npm run clean' breaking (react-boilerplate#1185) (react-boilerplate#1186)

Added a constants.js file to templates that contains the DEFAULT_LOCALE
export to be added to containers/App/constants on 'npm run clean'.

* fix(example): Fix i18n button not updating (react-boilerplate#1187)

* feat(docs): Faq: staying updated with boilerplate (react-boilerplate#1192)

* fix(example): Fix console error on lang change (react-boilerplate#1200)

* fix(core): npm run generate language is not properly created. (react-boilerplate#1199)

* rerun extract-intl

* add default language to language provider

* feat(webpack): new query object syntax (react-boilerplate#1198)

* feat(ci): Node v7 support (react-boilerplate#1197)

* Node version support update

* Update CI node versions

* fix(docs): Replace start:prod with independent start:production (react-boilerplate#1204)

* fix(example): Fix default Intl polyfill language (react-boilerplate#1208)

* fix(docs): Fix typo in file name (react-boilerplate#1211)

* fix(example): Use `createStructuredSelector` instead of `createSelector` (react-boilerplate#1212)

* chore(deps): update deps roll-up Nov-12-2016 (react-boilerplate#1225)

* chore(deps): update deps roll-up Nov-19-2016 (react-boilerplate#1252)

* Prevent language duplication (react-boilerplate#1253)

* Satisfy ESLint rule: no-restricted-syntax (react-boilerplate#1243)

* feat(webpack) Add circular dependency plugin for Webpack. (react-boilerplate#1262)

* feat(webpack) Add circular dependency plugin for Webpack.

This plugin detects circular dependencies and shows a warning or fails.
It is less obtrusive to just show a warning. That's why it defaults to
that.

* small fix to webpack config

* Remove webpack DedupePlugin (react-boilerplate#1218)

* Fix typo in container generator (react-boilerplate#1242)

* fix(eslint config): resolve numerous invalid lint errors seen in Atom editor (react-boilerplate#1261)

* Disable ESLint rule: no-confusing-arrow (react-boilerplate#1238)

* Fix links to styled-components doc (react-boilerplate#1289)

* Add missing document (Using Sass section CSS) to table content (react-boilerplate#1271)

* fix react-boilerplate#1270

* add brackets to document Using Sass

* Remove '#if wantCSS' from generator templates (react-boilerplate#1260)

Remove '#if wantCSS' from container generator

Remove '#if wantCSS' from es6 pure generator template

* feat(core): Don't import all of lodash

* fix(package.json): Required npm version (react-boilerplate#1219)

* Fix wrong npm version introduced with d202b07

Commit d202b07 introduced a not existing npm version of >= 5 which does not exist. The correct npm version is checked during installation which might otherwise lead to an error. Conclusion might be that this was meant to be node >= 5 like mentioned in react-boilerplate#1197

* Add the supported version of node

* chore(deps): update deps roll-up Dec-03-2016 (react-boilerplate#1301)

* chore(deps): update deps roll-up Dec-03-2016

* fix(deps): sagas loaded twice - roll back react-router-redux 4.0.7 -> 4.0.6

* chore(test config): expand Jest moduleNameMapper key to include common file types (react-boilerplate#1293)

* chore(selectors): refactor selectors (react-boilerplate#1205)

* Improve .editorconfig, change insert_final_newline to true, add trim_trailing_whitespace (react-boilerplate#1239)

* fix(scripts): make LocaleToggle's massages compatible with `extract-intl` script (react-boilerplate#1251)

Fixes react-boilerplate#1221
Reverts back react-boilerplate#813

* feat(example): Extracted ReposList (react-boilerplate#1285)

* Bfix/reorder imports (react-boilerplate#1275)

* Reorder imports

* Track package.json

* Reorder remaining imports

* Revert few changes in app/app.js

* Add .ico extension to file-loader regex

* Revert favicon, manifest, .htaccess imports

* Revert favicon, manifest, .htaccess imports

* Remove ico from image-webpack loader extensions

* Move offline-plugin import to the top in templates/app.js

* Match templates/app.js with app/app.js

* Remove import/first from package.json

* Reorder webpack alias imports

* Reorder imports in internals/generators

* Remove German from templates/app.js

* fix(templates): use correct name of a selector (react-boilerplate#1321)

* chore(generators): clean up generator templates (react-boilerplate#1304)

Follow up to react-boilerplate#1260

* fix(generator):  react-boilerplate#1231 'generate container' produces unnecessary return (react-boilerplate#1327)

* chore(internal): fix indentation in 'routeWithReducer' (react-boilerplate#1329)

* fix(HomePage): react-boilerplate#1232 Saga effects should be yielded (react-boilerplate#1328)

* fix(generator): 'generate container' produces unnecessary return - better solution (react-boilerplate#1333)

* fix(generator):  react-boilerplate#1231 'generate container' produces unnecessary return

* fix(generator): improved solution to 'generate container' produces unnecessary return react-boilerplate#1327

* feat(ci): allow for linting of the templates (react-boilerplate#1223)

* feat(ci): allow for linting of the templates

*  Add comment at the top describing the purpose of generate-templates-for-linting.js

* Use __dirname instead of process.cwd()

* Update yarn.lock

* Test coverage updates (react-boilerplate#1334)

* Exclude test files from test coverage

* Add coverage threshold

* Update css readme (react-boilerplate#1338)

* fix(generators, templates): add example app functionality into project templates and generators (react-boilerplate#1331)

* fix(generators, templates): add existing example app functionality into project templates and generators

* fix(generators, templates): add existing example app functionality into project templates and generators

* split messages import to avoid disabling an eslint rule

* feat(server): Add host command line parameter to start (react-boilerplate#1249)

* add host parameter to logger

* add host parameter to server

* update docs to include host command line parameter

* update host port command doc based on suggesitons

* Rollback image-webpack-loader (react-boilerplate#1342)

* Remove babel-jest expicit dependency (react-boilerplate#1345)

implements react-boilerplate#1344

* Make  compatible with other babel plugins (react-boilerplate#1355)

* Remove psi and pagespeed (react-boilerplate#1352)

* removing psi, pagespeed, and doc references

* remove psi from yarn.lock

* Trigger full page reload when hmr fails (react-boilerplate#1357)

Fixes react-boilerplate#1353

* refactor(server): remove console.log causing server screen clutter (react-boilerplate#1361)

* feat(example): Add route loading progress bar (react-boilerplate#1008)

* Add ProgressBar, modify App and write tests

* fix eslint warnings

* Prevent memory leak in App/index, Fix animation of ProgressBar, Add more tests

* Add more tests for ProgressBar life cycle methods

* Rename css class names, remove eslint-disable, add comments

* Remove comments from ProgressBar tests

* Prevent re-rendering of ProgressBar

* Fix failing test

* Add one more condition to complete progress

* Update index.test.js

Bring import order in line with react-boilerplate#1275

* Update App/index.js

* Update App/index.js

* Fix re-rendering and make tests pass

* Move progress route hooks out of <App />, update tests

* Reset progress bar speed

* Move <ProgressBar /> out of <App />

* Update tests

* Move withProgressBar to components/ProgressBar

* Rename withProgressBar -> index.js.

* Add docs for ProgressBar working/usage

* Update progress bar.md

* Split ProgressBar/styles.js into two separate files

* chore(package.json): update dependecy

The test/build failed due to a regressed dependency. 

"react-addons-test-utils": "15.3.2", ->  "react-addons-test-utils": "15.4.1",

* feat(docs) a beginner's guide to RBP (react-boilerplate#1366)

* Create introduction.md

* Update introduction.md

Minor edits for grammar and structure.

Overall, really really good. The hours of dedicated effort you put in will be appreciated by many to come! Very well done 😄

* Update introduction.md

Here I have implemented the changes mentioned by @web2style and @lamoglia Thanks guys! :spakles:

* Host workflow.png internally

* Reference local image in markdown

* Rename Workflow.png -> workflow.png

* Move to Jest Documentation (react-boilerplate#1390)

* Move to Jest Documentation

- Move from Mocha to Jest documentation
- Remove rewire docs and replace with Jest snapshot information

* Minor edits

Overall very good, only a few minor edits for style.

* Remove jest-cli cmd

* Update commands.md

* Update deployment.md

* fix(core): ngrok not working (react-boilerplate#1399)

Node's http.Server#listen does some smart choosing for default host '::' or '0.0.0.0' depending on IPv6 support. Use that instead of binding to localhost specifically. This mimics previous server functionality and allows ngrok access to work again.

* chore(deps): updated redux-saga version (react-boilerplate#1388)

* Update Changelog.md

* Update package.json

* 3.4.0

* 3.4.0

* 3.4.0

* docs(toc): include link to new intor document (react-boilerplate#1401)

* Update Changelog

* chore(deps): update webpack (react-boilerplate#1358)

* chore(deps): update webpack

* Update 'Introduction'

* Cache again

* Fix warning during generation of webpack dll file

* Describe how to turn off the warnings in production

* Bump webpack

* Improve the docs

* Reorg some templates and add tests (react-boilerplate#1414)

* Reorg some templates and add tests

- Also make sure that we keep LanguageProvider tests after clean

* Move to container structure for internals

* Remove old filename ref

* Actually remove folders, thanks @Dattaya

* Fix react-boilerplate#1300 broken link (react-boilerplate#1429)

* Fix react-boilerplate#1435 comment (react-boilerplate#1437)

* Add AWS documentation to deployment.md (react-boilerplate#1442)

* Add AWS documentation to deployment.md

* Minor changes

* feature(nginx): integrating mozillas nginx secure tls configuration i… (react-boilerplate#1393)

* feature(nginx): integrating mozillas nginx secure tls configuration into .nginx.conf

* feature(nginx): updating server-config docs for apache and nginx to reflect security configurations

* Update .nginx.conf

Add Link for DHE Handshake and minor edits for style/grammar

* Update server-configs.md

Minor edits for style/grammar

* RFC: chore(ci): switch to yarn (react-boilerplate#1415)

* chore(ci): switch to yarn

* Remove 'yarn version' because: 'Can't answer a question unless a user TTY'

* chore(deps): remove chai and chai-enzyme (react-boilerplate#1441)

* react-boilerplate#1406 remove lint:css documentation references (react-boilerplate#1445)

* Removed redundant lint:css

Remove lint:css references

* Removed redundant lint:js reference

* docs(ISSUE_TEMPLATE): add request for RBP version (react-boilerplate#1425)

As there are often several version in various state of completion and we attempt to release often. It's vital to know what version of RBP is involved in issues.

* chore(internals): do not check file sizes of main chunk and favicon (react-boilerplate#1424)

* chore(internals): do not check file sizes of main chunk and favicon

* Reword explanation in the docs

* Move test (react-boilerplate#1432)

* feature(test): enable build without test

Git pre-commit hook still prevents submit failing code

* docs(test): updated documentation

Clarified test, build and start:production

* test(selector test generator): change 'test case' to 'true'

This make it easier 'cheat' on the test (double-click to select). Useful when manually testing generator output.

* docs(test): updated documentation

Clarified start:production

* remove erroneous single quote

* test(travis): revert yarn calls to npm

Travis does not directly support yarn

As described at https://blog.travis-ci.com/2016-11-21-travis-ci-now-supports-yarn
Travis looks for yarn.lock and maps npm calls to yarn, if present.

* config(travis.yaml): move test and build to script section (react-boilerplate#1455)

* chore(docs): cleanup of introduction

* chore(docs): cleanup of introduction

* chore(readme): add hitchhikers guide to the readme

* Several minor edits...

* Remove (in no particular order)

* docs(servers): update server conf files for offline-first per react-boilerplate#645 (react-boilerplate#1381)

* docs(servers): update server conf files for offline-first per react-boilerplate#645

re caching see react-boilerplate#645 (comment)

Apache
http://stackoverflow.com/a/33287352/522756

Nginx
https://www.nginx.com/blog/nginx-caching-guide/

* Update .gitattributes

added "." to nginx.conf

* Remove empty line in list

* Picked a nit :-)

* chore(core): Move mocks/ folder to internals/ (react-boilerplate#1460)

* Update CHANGELOG
AnhHT added a commit to AnhHT/react-boilerplate that referenced this pull request Jan 20, 2017
* feat(docs): Extracting packages into their own modules (react-boilerplate#979)

* fix(internals): Fix babel relative preset

Fix webpack issue with relative babel preset paths:
babel/babel-loader#149

* feat(docs): Add docs for extracting components

Add draft version of docs describing how to extract components to their own
npm packages.

* feat(core): Move to Jest for testing (react-boilerplate#980)

* Add Jest

collect coverage

* fix(tests): set config and globals

add coverage and script

update coveralls script

update chai to jest syntax

args should return an array

chore(tests): add babel-jest, tweak config

chore(tests): update coverage settings

feat(cov): remove untested closure

chore(core): update watch script, use jest-cli

fix(watch): add no-cache and watchAll flags

* Remove generator test

* jest-cli@16

* chore(jest): Remove rootDir

* rebase against 3.3.0

* fix(commands): Fix 'npm run clean' breaking (react-boilerplate#1185) (react-boilerplate#1186)

Added a constants.js file to templates that contains the DEFAULT_LOCALE
export to be added to containers/App/constants on 'npm run clean'.

* fix(example): Fix i18n button not updating (react-boilerplate#1187)

* feat(docs): Faq: staying updated with boilerplate (react-boilerplate#1192)

* fix(example): Fix console error on lang change (react-boilerplate#1200)

* fix(core): npm run generate language is not properly created. (react-boilerplate#1199)

* rerun extract-intl

* add default language to language provider

* feat(webpack): new query object syntax (react-boilerplate#1198)

* feat(ci): Node v7 support (react-boilerplate#1197)

* Node version support update

* Update CI node versions

* fix(docs): Replace start:prod with independent start:production (react-boilerplate#1204)

* fix(example): Fix default Intl polyfill language (react-boilerplate#1208)

* fix(docs): Fix typo in file name (react-boilerplate#1211)

* fix(example): Use `createStructuredSelector` instead of `createSelector` (react-boilerplate#1212)

* chore(deps): update deps roll-up Nov-12-2016 (react-boilerplate#1225)

* chore(deps): update deps roll-up Nov-19-2016 (react-boilerplate#1252)

* Prevent language duplication (react-boilerplate#1253)

* Satisfy ESLint rule: no-restricted-syntax (react-boilerplate#1243)

* feat(webpack) Add circular dependency plugin for Webpack. (react-boilerplate#1262)

* feat(webpack) Add circular dependency plugin for Webpack.

This plugin detects circular dependencies and shows a warning or fails.
It is less obtrusive to just show a warning. That's why it defaults to
that.

* small fix to webpack config

* Remove webpack DedupePlugin (react-boilerplate#1218)

* Fix typo in container generator (react-boilerplate#1242)

* fix(eslint config): resolve numerous invalid lint errors seen in Atom editor (react-boilerplate#1261)

* Disable ESLint rule: no-confusing-arrow (react-boilerplate#1238)

* Fix links to styled-components doc (react-boilerplate#1289)

* Add missing document (Using Sass section CSS) to table content (react-boilerplate#1271)

* fix react-boilerplate#1270

* add brackets to document Using Sass

* Remove '#if wantCSS' from generator templates (react-boilerplate#1260)

Remove '#if wantCSS' from container generator

Remove '#if wantCSS' from es6 pure generator template

* feat(core): Don't import all of lodash

* fix(package.json): Required npm version (react-boilerplate#1219)

* Fix wrong npm version introduced with d202b07

Commit d202b07 introduced a not existing npm version of >= 5 which does not exist. The correct npm version is checked during installation which might otherwise lead to an error. Conclusion might be that this was meant to be node >= 5 like mentioned in react-boilerplate#1197

* Add the supported version of node

* chore(deps): update deps roll-up Dec-03-2016 (react-boilerplate#1301)

* chore(deps): update deps roll-up Dec-03-2016

* fix(deps): sagas loaded twice - roll back react-router-redux 4.0.7 -> 4.0.6

* chore(test config): expand Jest moduleNameMapper key to include common file types (react-boilerplate#1293)

* chore(selectors): refactor selectors (react-boilerplate#1205)

* Improve .editorconfig, change insert_final_newline to true, add trim_trailing_whitespace (react-boilerplate#1239)

* fix(scripts): make LocaleToggle's massages compatible with `extract-intl` script (react-boilerplate#1251)

Fixes react-boilerplate#1221
Reverts back react-boilerplate#813

* feat(example): Extracted ReposList (react-boilerplate#1285)

* Bfix/reorder imports (react-boilerplate#1275)

* Reorder imports

* Track package.json

* Reorder remaining imports

* Revert few changes in app/app.js

* Add .ico extension to file-loader regex

* Revert favicon, manifest, .htaccess imports

* Revert favicon, manifest, .htaccess imports

* Remove ico from image-webpack loader extensions

* Move offline-plugin import to the top in templates/app.js

* Match templates/app.js with app/app.js

* Remove import/first from package.json

* Reorder webpack alias imports

* Reorder imports in internals/generators

* Remove German from templates/app.js

* fix(templates): use correct name of a selector (react-boilerplate#1321)

* chore(generators): clean up generator templates (react-boilerplate#1304)

Follow up to react-boilerplate#1260

* fix(generator):  react-boilerplate#1231 'generate container' produces unnecessary return (react-boilerplate#1327)

* chore(internal): fix indentation in 'routeWithReducer' (react-boilerplate#1329)

* fix(HomePage): react-boilerplate#1232 Saga effects should be yielded (react-boilerplate#1328)

* fix(generator): 'generate container' produces unnecessary return - better solution (react-boilerplate#1333)

* fix(generator):  react-boilerplate#1231 'generate container' produces unnecessary return

* fix(generator): improved solution to 'generate container' produces unnecessary return react-boilerplate#1327

* feat(ci): allow for linting of the templates (react-boilerplate#1223)

* feat(ci): allow for linting of the templates

*  Add comment at the top describing the purpose of generate-templates-for-linting.js

* Use __dirname instead of process.cwd()

* Update yarn.lock

* Test coverage updates (react-boilerplate#1334)

* Exclude test files from test coverage

* Add coverage threshold

* Update css readme (react-boilerplate#1338)

* fix(generators, templates): add example app functionality into project templates and generators (react-boilerplate#1331)

* fix(generators, templates): add existing example app functionality into project templates and generators

* fix(generators, templates): add existing example app functionality into project templates and generators

* split messages import to avoid disabling an eslint rule

* feat(server): Add host command line parameter to start (react-boilerplate#1249)

* add host parameter to logger

* add host parameter to server

* update docs to include host command line parameter

* update host port command doc based on suggesitons

* Rollback image-webpack-loader (react-boilerplate#1342)

* Remove babel-jest expicit dependency (react-boilerplate#1345)

implements react-boilerplate#1344

* Make  compatible with other babel plugins (react-boilerplate#1355)

* Remove psi and pagespeed (react-boilerplate#1352)

* removing psi, pagespeed, and doc references

* remove psi from yarn.lock

* Trigger full page reload when hmr fails (react-boilerplate#1357)

Fixes react-boilerplate#1353

* refactor(server): remove console.log causing server screen clutter (react-boilerplate#1361)

* feat(example): Add route loading progress bar (react-boilerplate#1008)

* Add ProgressBar, modify App and write tests

* fix eslint warnings

* Prevent memory leak in App/index, Fix animation of ProgressBar, Add more tests

* Add more tests for ProgressBar life cycle methods

* Rename css class names, remove eslint-disable, add comments

* Remove comments from ProgressBar tests

* Prevent re-rendering of ProgressBar

* Fix failing test

* Add one more condition to complete progress

* Update index.test.js

Bring import order in line with react-boilerplate#1275

* Update App/index.js

* Update App/index.js

* Fix re-rendering and make tests pass

* Move progress route hooks out of <App />, update tests

* Reset progress bar speed

* Move <ProgressBar /> out of <App />

* Update tests

* Move withProgressBar to components/ProgressBar

* Rename withProgressBar -> index.js.

* Add docs for ProgressBar working/usage

* Update progress bar.md

* Split ProgressBar/styles.js into two separate files

* chore(package.json): update dependecy

The test/build failed due to a regressed dependency. 

"react-addons-test-utils": "15.3.2", ->  "react-addons-test-utils": "15.4.1",

* feat(docs) a beginner's guide to RBP (react-boilerplate#1366)

* Create introduction.md

* Update introduction.md

Minor edits for grammar and structure.

Overall, really really good. The hours of dedicated effort you put in will be appreciated by many to come! Very well done 😄

* Update introduction.md

Here I have implemented the changes mentioned by @web2style and @lamoglia Thanks guys! :spakles:

* Host workflow.png internally

* Reference local image in markdown

* Rename Workflow.png -> workflow.png

* Move to Jest Documentation (react-boilerplate#1390)

* Move to Jest Documentation

- Move from Mocha to Jest documentation
- Remove rewire docs and replace with Jest snapshot information

* Minor edits

Overall very good, only a few minor edits for style.

* Remove jest-cli cmd

* Update commands.md

* Update deployment.md

* fix(core): ngrok not working (react-boilerplate#1399)

Node's http.Server#listen does some smart choosing for default host '::' or '0.0.0.0' depending on IPv6 support. Use that instead of binding to localhost specifically. This mimics previous server functionality and allows ngrok access to work again.

* chore(deps): updated redux-saga version (react-boilerplate#1388)

* Update Changelog.md

* Update package.json

* 3.4.0

* 3.4.0

* 3.4.0

* docs(toc): include link to new intor document (react-boilerplate#1401)

* Update Changelog

* chore(deps): update webpack (react-boilerplate#1358)

* chore(deps): update webpack

* Update 'Introduction'

* Cache again

* Fix warning during generation of webpack dll file

* Describe how to turn off the warnings in production

* Bump webpack

* Improve the docs

* Reorg some templates and add tests (react-boilerplate#1414)

* Reorg some templates and add tests

- Also make sure that we keep LanguageProvider tests after clean

* Move to container structure for internals

* Remove old filename ref

* Actually remove folders, thanks @Dattaya

* Fix react-boilerplate#1300 broken link (react-boilerplate#1429)

* Fix react-boilerplate#1435 comment (react-boilerplate#1437)

* Add AWS documentation to deployment.md (react-boilerplate#1442)

* Add AWS documentation to deployment.md

* Minor changes

* feature(nginx): integrating mozillas nginx secure tls configuration i… (react-boilerplate#1393)

* feature(nginx): integrating mozillas nginx secure tls configuration into .nginx.conf

* feature(nginx): updating server-config docs for apache and nginx to reflect security configurations

* Update .nginx.conf

Add Link for DHE Handshake and minor edits for style/grammar

* Update server-configs.md

Minor edits for style/grammar

* RFC: chore(ci): switch to yarn (react-boilerplate#1415)

* chore(ci): switch to yarn

* Remove 'yarn version' because: 'Can't answer a question unless a user TTY'

* chore(deps): remove chai and chai-enzyme (react-boilerplate#1441)

* react-boilerplate#1406 remove lint:css documentation references (react-boilerplate#1445)

* Removed redundant lint:css

Remove lint:css references

* Removed redundant lint:js reference

* docs(ISSUE_TEMPLATE): add request for RBP version (react-boilerplate#1425)

As there are often several version in various state of completion and we attempt to release often. It's vital to know what version of RBP is involved in issues.

* chore(internals): do not check file sizes of main chunk and favicon (react-boilerplate#1424)

* chore(internals): do not check file sizes of main chunk and favicon

* Reword explanation in the docs

* Move test (react-boilerplate#1432)

* feature(test): enable build without test

Git pre-commit hook still prevents submit failing code

* docs(test): updated documentation

Clarified test, build and start:production

* test(selector test generator): change 'test case' to 'true'

This make it easier 'cheat' on the test (double-click to select). Useful when manually testing generator output.

* docs(test): updated documentation

Clarified start:production

* remove erroneous single quote

* test(travis): revert yarn calls to npm

Travis does not directly support yarn

As described at https://blog.travis-ci.com/2016-11-21-travis-ci-now-supports-yarn
Travis looks for yarn.lock and maps npm calls to yarn, if present.

* config(travis.yaml): move test and build to script section (react-boilerplate#1455)

* chore(docs): cleanup of introduction

* chore(docs): cleanup of introduction

* chore(readme): add hitchhikers guide to the readme

* Several minor edits...

* Remove (in no particular order)

* docs(servers): update server conf files for offline-first per react-boilerplate#645 (react-boilerplate#1381)

* docs(servers): update server conf files for offline-first per react-boilerplate#645

re caching see react-boilerplate#645 (comment)

Apache
http://stackoverflow.com/a/33287352/522756

Nginx
https://www.nginx.com/blog/nginx-caching-guide/

* Update .gitattributes

added "." to nginx.conf

* Remove empty line in list

* Picked a nit :-)

* chore(core): Move mocks/ folder to internals/ (react-boilerplate#1460)

* Update CHANGELOG
@siberianguy
Copy link

I'm confused about this change. makeXXX syntax is recommended in reselect docs not as a default approach but as a solution to a specific problem. Do we really need to push it for our app that even doesn't have selectors depending on props (that where selector factories shine)?

@Dattaya
Copy link
Member Author

Dattaya commented Jan 22, 2017

@alexidsa, agreed, selector factories like makeSelectUsername make more sense as regular selectors. These too, because as you said we don't depend on props:

createStructuredSelector({
  repos: makeSelectRepos(),
  username: makeSelectUsername(),
  loading: makeSelectLoading(),
  error: makeSelectError(),
})

but @mxstbr probably wanted to bring more awareness to this interesting approach.

Note that they were recreated on each call before, I just renamed them in this PR, if you want, you can create a new issue for discussion, or event better, send a PR.

@siberianguy
Copy link

siberianguy commented Jan 22, 2017

I agree that this approach is better than a previous one (before your PR we had factories without good naming).

agreed, selector factories like makeSelectUsername make more sense as regular selectors

What do you mean by that? My point was quite the opposite. I think factories make sense only when we actually need them (i. e. we depend on props) not as regular/ordinary selectors.

May be a good compromise would be use normal selectors as default but use factories in case when it's really needed. We need a component that is rendered multiple times for that. Repository component seems like a good option for that.

@Dattaya
Copy link
Member Author

Dattaya commented Jan 22, 2017

May be a good compromise would be use normal selectors as default but use factories in case when it's really needed.

Definitely! I don't know about other collaborators, but I completely support this idea.

@siberianguy
Copy link

I'm still getting used to the codebase but I'll try to make a PR in near future.

@tomasfrancisco
Copy link

tomasfrancisco commented Mar 16, 2017

I found an inconsistency between selectors.js.hbs and selectors.test.js.hbs.

Or the domain selector function should be named with

makeSelect{{ properCase name }}Domain

at selectors.js.hbs, or the import on respectively test should be

import { select{{ properCase name }}Domain } from '../selectors';

at selectors.test.js.hbs, instead of

import { makeSelect{{ properCase name }}Domain } from '../selectors';

at selectors.test.js.hbs.

What is the option that should be took?

@lock
Copy link

lock bot commented May 29, 2018

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@lock lock bot locked as resolved and limited conversation to collaborators May 29, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants