Skip to content

Conversation

@charles4221
Copy link
Collaborator

  • Rewrote the entire library from plain JavaScript to TypeScript
  • Dropped support for end-of-life Node versions (below 20.x) and React versions (below 18.x)
  • Replaced rollup with tsup for providing both ESM and CJS exports from one TypeScript source
  • Removed prop-types in favour of colocated typings for React component props
  • Upgraded eslint from v6 to v9, rewrote config as Flat Config, modernised ESLint config, plugins and rules
  • Refactored all unit tests from the deprecated react-test-renderer to the industry standard @testing-library/react
  • Upgraded all other development dependencies to latest versions as of 2025-07-29

@charles4221
Copy link
Collaborator Author

NOTE: this is currently targeting 0.2.x in order to show a proper diff between the existing code and my changes, however this upgrade would obviously be best as a major version bump.

I have (for now) included updates for the version from 0.2.3 to 1.0.0 however I am open to discussion around what the next major version should be (e.g. we could go with 0.3.0 or even 3.0.0)

@charles4221 charles4221 marked this pull request as draft July 29, 2025 04:01
@charles4221 charles4221 force-pushed the feat/typescript-rewrite branch 4 times, most recently from cbb4b88 to ff72b73 Compare July 30, 2025 04:23
@olmobrutall
Copy link

Looking forward for this merge. Is is published in npm already?

Thanks for the greate work @charles4221

@charles4221
Copy link
Collaborator Author

Looking forward for this merge. Is is published in npm already?

Thanks for the greate work @charles4221

@olmobrutall it is not published to npm yet as this is still a draft PR. It is 99% ready, we just need to have a discussion around what the next major version will be (e.g. 0.3.0, or 1.0.0, or 3.0.0)

I will be looking to take on maintainer duties for this repository but still need to discuss the details of that with the FontAwesome team before anything happens.

@charles4221 charles4221 force-pushed the feat/typescript-rewrite branch 2 times, most recently from baf61cc to 6c166ad Compare August 15, 2025 00:37
@charles4221 charles4221 self-assigned this Aug 15, 2025
@charles4221 charles4221 changed the base branch from 0.2.x to main August 15, 2025 01:33
@charles4221 charles4221 force-pushed the feat/typescript-rewrite branch 11 times, most recently from 9b43bfd to 61b2f6d Compare August 15, 2025 03:50
@charles4221 charles4221 added this to the v3.0.0 milestone Aug 15, 2025
@charles4221 charles4221 linked an issue Aug 15, 2025 that may be closed by this pull request
@charles4221 charles4221 force-pushed the feat/typescript-rewrite branch from 5d42a50 to 26ee89a Compare August 19, 2025 23:50
@charles4221 charles4221 force-pushed the feat/typescript-rewrite branch 3 times, most recently from 0a4e55f to 1391726 Compare August 21, 2025 05:24
@charles4221 charles4221 force-pushed the feat/typescript-rewrite branch from 1391726 to fce9a20 Compare August 21, 2025 05:58
@charles4221 charles4221 force-pushed the feat/typescript-rewrite branch from dc4ee57 to 6f57fc7 Compare August 21, 2025 06:44
@charles4221 charles4221 marked this pull request as ready for review August 21, 2025 06:52
Copy link
Member

@robmadole robmadole left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Absolutely fantastic! Great attention to detail here.

I can't thank you enough @charles4221. I think and hope the community "reacts" well to this. (Sorry for the Dad joke)

@charles4221 charles4221 merged commit b82c3cc into FortAwesome:main Aug 22, 2025
1 check passed
olmobrutall referenced this pull request in signumsoftware/framework Aug 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment