Modernize: React 18 support and dependency refresh#4
Open
randytarampi wants to merge 6 commits into
Open
Conversation
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
8ddf119 to
6217bd7
Compare
There was a problem hiding this comment.
Review completed against the latest diff
Reply with feedback, questions, or to request a fix.
Fix all with cubic | Re-trigger cubic
591bcb9 to
b1dc6b6
Compare
There was a problem hiding this comment.
Review completed against the latest diff
Not reviewed (too large): docs/page-data/sq/d/1635659820.json (~2 lines) - if these are generated or fixture files, add them to ignored paths to exclude them from future reviews.
Reply with feedback, questions, or to request a fix.
Fix all with cubic | Re-trigger cubic
randytarampi
added a commit
that referenced
this pull request
Jul 10, 2026
- Remove all docz-related assets: docs/ directory, .docz/ cache, doczrc.js, gatsby-node.js, all .mdx source files, gatsby-theme-docz/, and .github/workflows/docs.yml. - Move test helpers from src/components/docz.tsx to src/components/testUtils.tsx and update Notification.test.tsx import. - Remove docz, eslint-plugin-mdx from devDependencies. - Remove get-intrinsic and tough-cookie resolutions (only needed for the docz/gatsby build). - Remove mdx plugin and overrides from .eslintrc.json. - Remove .docz from .gitignore and docs/ from .eslintignore. - Remove gatsby-theme-docz from tsconfig.json exclude. - Bump engines.node from >=20 to >=20.12.0 (eslint-plugin-jest@^29 requires Node ^20.12.0 || ^22.0.0 || >=24.0.0). - Rebuild yarn.lock without docz/gatsby dependencies.
Support `react@^18`, force `node@>=20`, and rebuild the `yarn.lock` with new dependencies. Let's not plan on touching this for another couple years...
docz v2 / Gatsby v2 / webpack v4 is fundamentally incompatible with the ESM-first dependencies on the modernize branch. The docs build passes on securitize (and will pass on main once securitize merges), but modernize's newer dependency tree introduces too many broken transitive deps for the abandoned docz v2 to handle. The docs build step now uses continue-on-error when the head ref is 'modernize'. Also pin tough-cookie to ^4.1.4 (CJS-compatible) for the modernize branch.
…hardened mode. The lockfile previously merged diff@npm:5.0.0 and diff@npm:^5.0.0 into a single entry resolving to 5.2.2, which doesn't satisfy mocha@8's exact diff@5.0.0 dependency. Regenerating from scratch produces separate entries: - diff@npm:5.0.0 → 5.0.0 (for mocha@8) - diff@npm:^5.0.0 → 5.2.2 (for other consumers)
- Remove all docz-related assets: docs/ directory, .docz/ cache, doczrc.js, gatsby-node.js, all .mdx source files, gatsby-theme-docz/, and .github/workflows/docs.yml. - Move test helpers from src/components/docz.tsx to src/components/testUtils.tsx and update Notification.test.tsx import. - Remove docz, eslint-plugin-mdx from devDependencies. - Remove get-intrinsic and tough-cookie resolutions (only needed for the docz/gatsby build). - Remove mdx plugin and overrides from .eslintrc.json. - Remove .docz from .gitignore and docs/ from .eslintignore. - Remove gatsby-theme-docz from tsconfig.json exclude. - Bump engines.node from >=20 to >=20.12.0 (eslint-plugin-jest@^29 requires Node ^20.12.0 || ^22.0.0 || >=24.0.0). - Rebuild yarn.lock without docz/gatsby dependencies.
- Run prettier on FeedManager.tsx, immutable.ts, tsconfig.json - Add @types/lodash devDependency — was transitive via docz/gatsby on securitize, but the docz removal dropped it from the lockfile - Restore @ts-ignore comments on actor objects in testUtils.tsx — these were present in the original docz.tsx but dropped during the rename. The actor objects lack required EnrichedUser fields (created_at, id, updated_at)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Builds on the
securitizebranch (PR #3) with a final modernization pass. Adds React 18 peer dependency support, rebuilds theyarn.lockwith updated dependencies, and bumps devDependencies to their latest majors.Important
This branch includes all commits from
securitize. If PR #3 merges first, this PR will automatically reduce to just the single modernization commit below.Changes
peerDependencieswidened toreact: ^18 || ^17 || ^16.8.0andreact-dom: ^18 || ^17 || ^16.8.0yarn.lockrebuild: Regenerated with the new dependency ranges@babel/*^7.13–7.14^7@typescript-eslint/*^4.22^8eslint^7.25^8eslint-config-prettier^8.3^10eslint-config-react-app^6^7eslint-plugin-jest^24^29eslint-plugin-jest-dom^3.8^5eslint-plugin-mdx^1.13^3eslint-plugin-prettier^3.4^4eslint-plugin-promise^5.1^7eslint-plugin-react-hooks^4.2^5eslint-plugin-sonarjs^0.7^0.25.1eslint-plugin-typescript-sort-keys^1.6^3@types/node^15^24babel-plugin-i18next-extract^0.8.3^0.10.0prop-types: ^15@babel/core: ^7.29.7,@types/jest: ^29,@types/node: ^24,axios: ^1,lodash: ^4.18.1,lodash-es: ^4.18.1,request: npm:postman-request@2.88.1-postman.48getstream ^7.4.1,react-file-utils ^1.2.0,linkifyjs ^4.3.3,linkify-plugin-mention ^4.3.3,react-image-lightbox ^5.1.4,stream-analytics ^3.4.4,tslib ^2.8.1,url-parse ^1.5.10,i18next ^20.6.1,classnames ^2.5.1,dayjs ^1.11.21,@webscopeio/react-textarea-autocomplete ^4.9.2Changed files (41 files, +7472 / −5368)
Full diff:
securitize...modernize— touches most component files (React 18 compatibility adjustments),package.json,yarn.lock,jest.config.js,.eslintrc.json, andCHANGELOG.md.Summary by cubic
Adds React 18 support and modernizes tooling (Node, Yarn, Jest, TS, ESLint) while refreshing dependencies to clear security advisories, with no public API changes. On
modernize, the docs build continues-on-error due to legacydocz/Gatsby v2/webpackv4 incompatibilities.Bug Fixes
linkifyjsafter registeringmentionandhashtagplugins.stageandpathfromgatsby-node.jsto silence ESLint.Dependencies
react,react-dom^18 || ^17 || ^16.8.0; new depprop-types.packageManager: yarn@4.17.0), rebuiltyarn.lock; require Node>=20.^29(jest-environment-jsdom,watchman: false,ts-jestisolatedModules: true). TypeScript^5. ESLint^8with@babel/eslint-parser/@babel/eslint-pluginand@typescript-eslint@^8; rule tweaks (ignoresxinreact/no-unknown-property, object form forsonarjs/no-duplicate-string).lodash@^4.18.1,immutable@^4.3.8,moment@^2.30.1,postcss@^8,rollup@^2,karma@^6; resolutions foraxios@^1,jsonwebtoken@^9.0.2,lodash@^4.18.1,lodash-es@^4.18.1,request -> postman-request,tough-cookie@^4.1.4.react-file-utils@^1.2.0semantic<button>icon control; cast bridging forReactTextareaAutocomplete; defaultLoadercast inInfiniteScrollPaginator.modernizewithcontinue-on-error; addedwebpackv4 fallbacks and anassertmock ingatsby-node.js.diff@5.0.0formocha@8in Yarn Berry hardened mode.Written for commit 63c694c. Summary will update on new commits.