Repository - API - Source
This project strictly adheres to semver and will err on the side of releasing majors when changes could possibly introduce breaking changes. This changelog is dynamically generated with Semantic Release configured with @crystal-ball/semantic-release-base.
Changelog tags
- ๐ฅ - Breaking change
- ๐ - Release notes
- ๐ - New feature
- โจ - Updates
- ๐ - Fixes
Rename any configuration using eloquence/webpack
to eloquence/react
. This
better reflects the project type rather than the tools used for the project.
This release cleans up the dependencies and rule definitions for Eloquence, most importantly the dependency on the Airbnb package is removed and those rules are copied into this repo. Reasons for this include:
Going forward this also has the benefit of consolidating all of the lint rules applied for each set to this repo, allowing this repo to serve as the manager of ESLint dependencies and rules.
The flow plugin and rules are no longer included. The project type must be configured in the project .eslintrc.js
process.env.ELOQUENCE_PROJECT_TYPE
Package v7 includes two important updates:
console.log
for
outputting to stdout.specialLink
value to
to jsx-a11y/anchor-is-valid
so that React
Router <Link/>
components validate correctly.v6 updates the linting configurations to match the convention for typing in general and typing for React component props specifically.
The preferred method of adding static typing is with Flow. Support for TypeScript is dropped. Integration with Flow has proven to provide nearly all the benefits of TS with less overhead.
React component prop types should be typed using Flow. This removes the need for
using hoisted function names to declare types before component definitions.
Class properties or type definitions can be declared at the beginning of
component files/definitions. This allows removal of the no-use-before-define
customization.