You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Apr 11, 2019. It is now read-only.
Copy file name to clipboardExpand all lines: README.md
+26-23Lines changed: 26 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -43,8 +43,32 @@ Below are a few example apps that have been built with this project
43
43
44
44
__NOTE: if you are using this boilerplate in production, we want to know! Leave an issue, or submit a PR and we will merge it in. Thanks!__
45
45
46
-
## Performance
47
-
This framework takes performance to the extreme and includes a whole slew of performance optimizations out of the box. We have benchmarked the initial time to first byte at under 20ms!
46
+
# Main Features
47
+
### Styled Components
48
+
This framework employs both css-modules and styled-components. We feel that [styled-components](styled-components.com) is the best css-in-js library available.
49
+
50
+
### GraphQL / Apollo
51
+
This framework includes some basic setup for GraphQL and ApolloClient. You will have to setup your own GraphQL Server. Alternatively, take a look at the [GraphQL Anywhere](https://github.com/apollostack/graphql-anywhere) package (not installed), which would allow you to process GraphQL queries client-side.
52
+
53
+
The setup includes the ability to generate the boilerplate to create GraphQL / ApolloClient queries and mutations within your containers. It also adds the eslint-graphql-plugin to lint your collocated GraphQL queries / mutations. The way it works is to load a schema.json file to create an AST of your GraphQL schema. You will need to provide your own schema.json file and leave it in the `/config/schema/` folder.
54
+
55
+
Take a look at the [Example Apps](https://github.com/RyanCCollins/scalable-react-boilerplate#example-apps) section to see examples of GraphQL configuration in practice.
56
+
57
+
If you do not need to use graphql, take a look at the [sans-apollo](https://github.com/RyanCCollins/scalable-react-boilerplate/tree/sans-apollo) branch for a reference implementation without GraphQL / Apollo.
58
+
59
+
## Experimental Features
60
+
61
+
### Flow
62
+
Static types are all the rage in Front End JavaScript land right now.
63
+
64
+
We feel that the use of Static types is paramount in the evolution of JavaScript and as such have integrated the Flow static type-checking library.
65
+
66
+
The nice thing about Flow is that you can gradually introduce it into your app, much like we have done with the example code of this boilerplate. You can see a couple of examples of Flow in use in the project in the components directory. If this is not a feature you desire, then do not add the `// @flow` comment in any files.
67
+
68
+
We have provided library definitions within the [`config/flow-typed`](https://github.com/RyanCCollins/scalable-react-boilerplate/tree/master/config/flow-typed) folder and have also provided some useful configuration within the `.flowconfig` file.
69
+
70
+
## Performance Optimizations
71
+
This framework takes performance very seriously and includes a whole slew of performance optimizations out of the box. We have benchmarked the initial time to first byte at under 20ms! Below is a brief enumeration of the main performance optimizations we employ by default.
48
72
49
73
1. Webpack code chunking
50
74
@@ -64,26 +88,6 @@ This framework takes performance to the extreme and includes a whole slew of per
64
88
7. Immutable JS
65
89
- Immutable JS is installed by default, but not used in the example application. By combining React.PureComponent, reselect and immutable.js, you will get some serious rendering performance enhancements.
66
90
67
-
## Experimental Features
68
-
69
-
### GraphQL / Apollo Features
70
-
This framework includes some basic setup for GraphQL and ApolloClient. You will have to setup your own GraphQL Server. Alternatively, take a look at the [GraphQL Anywhere](https://github.com/apollostack/graphql-anywhere) package (not installed), which would allow you to process GraphQL queries client-side.
71
-
72
-
The setup includes the ability to generate the boilerplate to create GraphQL / ApolloClient queries and mutations within your containers. It also adds the eslint-graphql-plugin to lint your collocated GraphQL queries / mutations. The way it works is to load a schema.json file to create an AST of your GraphQL schema. You will need to provide your own schema.json file and leave it in the `/config/schema/` folder.
73
-
74
-
Take a look at the [Example Apps](https://github.com/RyanCCollins/scalable-react-boilerplate#example-apps) section to see examples of GraphQL configuration in practice.
75
-
76
-
If you do not need to use graphql, take a look at the [sans-apollo](https://github.com/RyanCCollins/scalable-react-boilerplate/tree/sans-apollo) branch for a reference implementation without GraphQL / Apollo.
77
-
78
-
### Flow
79
-
Static types are all the rage in Front End JavaScript land right now.
80
-
81
-
We feel that the use of Static types is paramount in the evolution of JavaScript and as such have integrated the Flow static type-checking library.
82
-
83
-
The nice thing about Flow is that you can gradually introduce it into your app, much like we have done with the example code of this boilerplate. You can see a couple of examples of Flow in use in the project in the components directory. If this is not a feature you desire, then do not add the `// @flow` comment in any files.
84
-
85
-
We have provided library definitions within the [`config/flow-typed`](https://github.com/RyanCCollins/scalable-react-boilerplate/tree/master/config/flow-typed) folder and have also provided some useful configuration within the `.flowconfig` file.
86
-
87
91
# Documentation
88
92
89
93
## Getting Started
@@ -277,7 +281,6 @@ npm run test
277
281
278
282
which will pick up any file with the .test.js postfix and run it through Jest.
0 commit comments