Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 0 additions & 2 deletions .eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,7 @@ node_modules/
/example/build/
/lib/
/dist/
/docs/
/.git/
**/*.sh
vendor/
*.md
.docz
18 changes: 7 additions & 11 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
{
"root": true,
"plugins": ["babel", "sonarjs", "prettier", "react-hooks", "jest-dom", "jest"],
"plugins": ["@babel", "sonarjs", "prettier", "react-hooks", "jest-dom", "jest"],
"extends": [
"eslint:recommended",
"plugin:prettier/recommended",
"plugin:react/recommended",
"plugin:sonarjs/recommended",
"plugin:mdx/recommended",
"plugin:jest/recommended",
"plugin:jest-dom/recommended"
],
Expand All @@ -22,24 +21,25 @@
"prefer-const": 1,
"no-underscore-dangle": [2, { "allowAfterThis": true }],
"object-shorthand": 1,
"babel/no-invalid-this": 2,
"@babel/no-invalid-this": 2,
"array-callback-return": 2,
"valid-typeof": 2,
"arrow-body-style": 2,
"require-await": 2,
"react/prop-types": 0,
"react/no-unknown-property": ["error", { "ignore": ["sx"] }],
"no-var": 2,
"linebreak-style": [2, "unix"],
"sonarjs/cognitive-complexity": ["error", 35],
"sonarjs/no-duplicate-string": ["error", 5],
"sonarjs/no-duplicate-string": ["error", { "threshold": 5 }],
"semi": [1, "always"]
},
"env": {
"es6": true,
"node": true,
"browser": true
},
"parser": "babel-eslint",
"parser": "@babel/eslint-parser",
"parserOptions": {
"sourceType": "module",
"ecmaVersion": 2018,
Expand Down Expand Up @@ -86,13 +86,9 @@
}
},
{
"files": ["*.md", "*.mdx"],
"extends": ["plugin:mdx/overrides"],
"files": ["**/*.test.{js,jsx,ts,tsx}"],
"rules": {
"react/jsx-no-undef": 0,
"react/react-in-jsx-scope": 0,
"semi": 0,
"no-undef": 0
"react/display-name": 0
}
}
],
Expand Down
28 changes: 0 additions & 28 deletions .github/workflows/docs.yml

This file was deleted.

1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ node_modules
/example/build
dist
lib
.docz

# misc
.DS_Store
Expand Down
2 changes: 0 additions & 2 deletions .yarnrc.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
approvedGitRepositories:
- '**'

enableScripts: true

Expand Down
36 changes: 34 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

Security-hardening and tooling-modernization work from the `securitize` branch. These
changes clear the outstanding `yarn npm audit` findings and bring the build, CI, and
Security-hardening, tooling-modernization, and dependency-modernization work from the
`securitize` and `modernize` branches. These changes clear the outstanding `yarn npm
audit` findings, add React 18 support, and bring the build, CI, dependencies, and
toolchain up to date without changing the public component API.

### Feature

- Support React 18 while keeping 17/16.8 compatibility by widening the `react` and
`react-dom` peer-dependency ranges to `^18 || ^17 || ^16.8.0`.

### Fix

- `linkify`'s hashtag linking is restored. `init()` is now called _after_ both the
Expand Down Expand Up @@ -47,6 +53,32 @@ toolchain up to date without changing the public component API.
- Require modern Node (`engines.node: >=20`).
- Use modern GitHub `actions/checkout@v4` and `actions/cache@v4` in CI workflows.
- ESLint clean-up across the project.
- Modernize the ESLint toolchain: upgrade to `eslint@^8` with `@typescript-eslint@^8`,
replace the deprecated `babel-eslint`/`eslint-plugin-babel` with `@babel/eslint-parser`
and `@babel/eslint-plugin`, and bump the supporting plugins (`eslint-plugin-import`,
`-jest@^29`, `-jest-dom@^5`, `-mdx@^3`, `-prettier@^4`, `-promise@^7`,
`-react-hooks@^5`, `-sonarjs@^0.25`, `-typescript-sort-keys@^3`,
`eslint-config-prettier@^10`, `eslint-config-react-app@^7`).
- Update `.eslintrc.json` for the new toolchain: switch the parser/plugin to `@babel`,
move `sonarjs/no-duplicate-string` to its object-option form, ignore the `sx` prop in
`react/no-unknown-property`, and disable `react/display-name` in test files.
- Bump runtime dependencies (`getstream@^7.4.1`, `i18next@^20.6.1`,
`@webscopeio/react-textarea-autocomplete@^4.9.2`, `classnames@^2.5.1`,
`dayjs@^1.11.21`, `linkifyjs`/`linkify-plugin-mention@^4.3.3`,
`react-file-utils@^1.2.0`, `react-image-lightbox@^5.1.4`, `stream-analytics@^3.4.4`,
`tslib@^2.8.1`, `url-parse@^1.5.10`) and add an explicit `prop-types` dependency.
- Upgrade `@types/node` to `^24`, bump `babel-plugin-i18next-extract` to `^0.10`, and
relax the remaining dev-dependency pins to caret-major ranges.
- Add `resolutions` to consolidate transitive versions and remediate advisories: pin
`axios@^1`, `lodash`/`lodash-es@^4.18.1`, `@babel/core`, `@types/jest`, and
`@types/node`, and override the abandoned `request` with `postman-request`.
- Speed up and stabilize the Jest run: disable Watchman and run `ts-jest` in
`isolatedModules` (transpile-only) mode, leaving type-checking to `tsc` (`yarn types`).
- Refresh inline snapshots for the `react-file-utils` upgrade — the icon button now
renders a semantic `<button type="button">` with `aria-label`/`data-testid` instead of
a `<div role="button">`.
- Reformat source and tests under the upgraded Prettier/ESLint (trailing commas in type
parameter lists, collapsed JSX expressions).

## 1.4.0 - 2022-03-11

Expand Down
1 change: 0 additions & 1 deletion docs/.gitkeep

This file was deleted.

2 changes: 0 additions & 2 deletions docs/36559585-b7cb65aa8e307ac4958b.js

This file was deleted.

1 change: 0 additions & 1 deletion docs/36559585-b7cb65aa8e307ac4958b.js.map

This file was deleted.

1 change: 0 additions & 1 deletion docs/404.html

This file was deleted.

1 change: 0 additions & 1 deletion docs/404/index.html

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

2 changes: 0 additions & 2 deletions docs/8050e1a2-ffd1e2ed3bd805b866cf.js

This file was deleted.

1 change: 0 additions & 1 deletion docs/8050e1a2-ffd1e2ed3bd805b866cf.js.map

This file was deleted.

3 changes: 0 additions & 3 deletions docs/app-2047e0f11b24eac8f33a.js

This file was deleted.

Loading
Loading