Hand-rolled starter similar to Create React App but without complexity that confronts you after ejecting. Aim is too keep tooling simple, know what each package does, and include specific core libraries. This makes it easier to understand and customize the tooling and provide patterns and components that use the core libraries.
Webpack 4 JavaScript bundler that also compiles JavaScript to ES6 using Babel.
React 16 brings new context
api, ref
apis, and lifecycle methods with initial steps to start deprecating some existing lifecycle methods:
- React v16.3
- JSX Fragment syntax
<>...</>
support requires Babel 7.
- Express Node.js web application framework
- Apollo Server GraphQL server for Express
- Apollo GraphQL Open source GraphQL platform
- Styled Components, styled-theming, and stylelint
- i18n with eay way to allow translation contributions. Which i18n framework to choose?
- Logging.
- Testing with Jest (unit + integration), Cypress (e2e), react-test-library
- styled-system provides design system utilities for styled-components and other css-in-js libraries
- Tachyons functional CSS Utility-First CSS
- Sentry looks like a good hosted logging service in a crowded space. Since it's hosted may not be suitable for all projects.
- Web workers when it makes sense using workerize
After configuring Flow (static type checker for JavaScript) I decided, as I have before, not to use type checking with Flow or TypeScript. It adds unnecessary complexity with few benefits for a small project and team. I prefer to stick vanilla JavaScript and use React PropTypes.
- Use modern JavaScript as supported by Babel Stage 2.
- Semicolons
;
are required, do not rely on automatic semicolon insertion. - Use Prettier with minor changes to the default configuration for code formatting.
- We do not enforce but prefer the Airbnb JavaScript Style Guide.
- We like these noteworthy points from the Google JavaScript style guide.
- Prefer functional programming where possible (map, filter, reduce).
- Use CSS-in-JS with Styled Components and Polished.
We support popular cross-platform evergreen web browsers which means Chrome and Firefox. The application should work in other platform specific browsers such as Apple Safari and Microsoft Edge.