Skip to content

Add React hooks #31

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

Merged
merged 18 commits into from
Sep 24, 2019
183 changes: 183 additions & 0 deletions .eslintrc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,183 @@
env:
browser: true
es6: true
jest: true
extends:
- eslint:recommended
globals:
React: readonly
parser: babel-eslint
parserOptions:
ecmaFeatures:
jsx: true
ecmaVersion: 10
sourceType: module
root: true
rules:
# Only list rules that are not in *:recommended set
# If rules are set to disable the one in *:recommended, please elaborate the reason

# Group - Best Practices
no-async-promise-executor: error
no-await-in-loop: error
no-console:
- error
- allow:
- error
- warn
# no-extra-parens: error # conflicts with prettier
no-misleading-character-class: error
no-template-curly-in-string: error
require-atomic-updates: error
accessor-pairs: error
block-scoped-var: error
class-methods-use-this:
- error
- exceptMethods:
- render
complexity: error
curly: error
default-case: error
dot-notation: error
eqeqeq: error
max-classes-per-file:
- error
- 2
no-alert: error
no-caller: error
no-div-regex: error
no-else-return: error
no-empty-function: error
no-eq-null: error
no-eval: error
no-extend-native: error
no-extra-bind: error
no-extra-label: error
no-implicit-globals: error
no-implied-eval: error
no-invalid-this: error
no-iterator: error
no-labels: error
no-lone-blocks: error
no-magic-numbers:
- error
- ignore:
- 0
- 1
no-multi-spaces:
- error
- ignoreEOLComments: true
no-multi-str: error
no-new: error
no-new-func: error
no-new-wrappers: error
no-octal-escape: error
no-proto: error
no-return-assign: error
no-return-await: error
no-script-url: error
no-self-compare: error
no-sequences: error
no-throw-literal: error
no-unmodified-loop-condition: error
no-unused-expressions:
- error
- allowShortCircuit: true
allowTernary: true
no-useless-call: error
no-useless-catch: error
no-useless-concat: error
no-useless-return: error
no-void: error
no-with: error
prefer-promise-reject-errors: error
radix: error
require-await: error
require-unicode-regexp: error
wrap-iife: error
yoda: error

# Group - Variables
no-label-var: error

# Re-enable later
# no-shadow:
# - error
# - builtinGlobals: true
# hoist: all

no-shadow-restricted-names: error
no-undef-init: error

# "undefined" is commonly used for defaults
# no-undefined: off

no-unused-vars:
- error
- argsIgnorePattern: ^_$
varsIgnorePattern: ^_
no-use-before-define: error

# Group - Node.js and CommonJS
callback-return: error
global-require: error
handle-callback-err: error
no-buffer-constructor: error
no-mixed-requires: error
no-new-require: error
no-path-concat: error
no-sync: error

# Group - ECMAScript 6
arrow-body-style:
- error
- as-needed
arrow-parens:
- error
- as-needed
arrow-spacing:
- error
- after: true
before: true
# generator-star-spacing: # conflicts with prettier
# - error
# - after

# Will produce shorter code if "off"
# no-confusing-arrow:
# - error
# - allowParens: true # This will conflict with no-extra-parens

no-duplicate-imports: error
no-useless-computed-key: error
no-useless-constructor: error
no-useless-rename: error
no-var: error
object-shorthand: error
prefer-arrow-callback: error
prefer-const: error
prefer-destructuring: error
prefer-rest-params: error
prefer-spread: error

# This will force, a + '', into, `${ a }`, which increase code length
# prefer-template: error

rest-spread-spacing:
- error
- never

# Cannot group global or local imports and sort in differently
# sort-imports:
# - error
# - ignoreCase: true

template-curly-spacing:
- error
- never
yield-star-spacing:
- error
- after
settings:
react:
version: detect
8 changes: 6 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
language: node_js

node_js:
- "10"
- "12"

before_install:
- npm install
- npm ci
- sudo apt-get install jq
- npx version-from-git --travis --no-git-tag-version
- git checkout -b temp-ci
Expand All @@ -14,6 +14,10 @@ install:
- npm run bootstrap
- npm run build

script:
- npm run eslint
- npm test

deploy:
- provider: script
script: bash scripts/lerna_publish
Expand Down
23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,37 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Breaking changes
- We moved to React Hooks and it requires React 16.8.6 or up
- Hooks will allow us to write simpler and more maintainable code
- Developers can use our React Hooks to perform various operations

### Changed
- Moved all code to React functional components, in PR [#31](https://github.com/compulim/react-scroll-to-bottom/pull/31)
- `*`: bump dependencies, in PR [#31](https://github.com/compulim/react-scroll-to-bottom/pull/31)
- [@babel/cli@^7.6.2](https://www.npmjs.com/package/@babel/cli)
- [@babel/core@^7.6.2](https://www.npmjs.com/package/@babel/core)
- [@babel/plugin-proposal-object-rest-spread@^7.6.2](https://www.npmjs.com/package/@babel/plugin-proposal-object-rest-spread)
- [@babel/preset-env@^7.6.2](https://www.npmjs.com/package/@babel/preset-env)
- [babel-jest@^24.9.0](https://www.npmjs.com/package/babel-jest)
- [jest@^24.9.0](https://www.npmjs.com/package/jest)
- [react-dom@16.8.6](https://www.npmjs.com/package/react-dom)
- [react@16.8.6](https://www.npmjs.com/package/react)
- `*`: bump dependencies, in PR [#27](https://github.com/compulim/react-scroll-to-bottom/pull/27)
- [@babel/cli@^7.5.5](https://www.npmjs.com/package/@babel/cli)
- [@babel/core@^7.5.5](https://www.npmjs.com/package/@babel/core)
- [@babel/plugin-proposal-object-rest-spread@^7.5.5](https://www.npmjs.com/package/@babel/plugin-proposal-object-rest-spread)
- [@babel/preset-env@^7.5.5](https://www.npmjs.com/package/@babel/preset-env)
- [rimraf@^2.6.3](https://www.npmjs.com/package/rimraf)

### Added
- Added React Hooks, in PR [#31](https://github.com/compulim/react-scroll-to-bottom/pull/31)
- Added [ESLint](https://www.npmjs.com/package/eslint) and [Prettier](https://www.npmjs.com/package/prettier), in PR [#31](https://github.com/compulim/react-scroll-to-bottom/pull/31)

### Fixed
- Fix `atStart` was not reporting correctly, in PR [#31](https://github.com/compulim/react-scroll-to-bottom/pull/31)

## [1.3.2] - 2019-06-20
### Changed
- `*`: bumped to `babel-jest@24.8.0`, `lerna@3.15.0`, and `jest@24.8.0`, in PR [#22](https://github.com/compulim/react-scroll-to-bottom/pull/22)
Expand Down
Loading