formatjs: initial integration#15471
Open
rootvector2 wants to merge 4 commits into
Open
Conversation
|
rootvector2 is integrating a new project: |
DavidKorczynski
requested changes
May 11, 2026
Collaborator
DavidKorczynski
left a comment
There was a problem hiding this comment.
Project looks good. Can we store harnesses and config in the upstream repo?
Awaiting maintainer approval as well
|
I'm formatjs maintainer and I approved |
github-merge-queue Bot
pushed a commit
to formatjs/formatjs
that referenced
this pull request
May 12, 2026
Adds an OSS-Fuzz integration that lives in this repo. Three Jazzer.js fuzz targets, each covering a separate parser layer: - fuzz_icu_messageformat_parser.js — @formatjs/icu-messageformat-parser parse() - fuzz_intl_messageformat.js — intl-messageformat IntlMessageFormat constructor + format + formatToParts across 10 locales - fuzz_icu_skeleton_parser.js — @formatjs/icu-skeleton-parser number and date-time skeleton parsers The fuzz workspace is independent of the Bazel/pnpm monorepo — it installs the published @formatjs/* packages from npm so the OSS-Fuzz build path doesn't have to reproduce the monorepo toolchain. See [fuzz/README.md](vscode-webview://0s8u1n493osbs19tnkijf6h16u03ho50ij87rh8d1fa71706a6fb/fuzz/README.md) for the ESM→CJS notes and the Jazzer.js ^2 pin (current OSS-Fuzz base images ship glibc 2.31; Jazzer 4's prebuilt addon needs 2.32). The companion OSS-Fuzz project entry is at google/oss-fuzz#15471 — it just clones this repo and runs fuzz/build.sh. #6484
Contributor
Author
|
@DavidKorczynski Can you review it.. we got the approval From upstream maintainer and also added the harnesses in repo |
Contributor
Author
|
@DavidKorczynski Any Update here |
Contributor
Author
|
@DavidKorczynski also this Ci is Green Now |
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.
Adds an initial OSS-Fuzz integration for formatjs (https://github.com/formatjs/formatjs).
Three fuzz targets, each covering a separate parser layer:
fuzz_icu_messageformat_parser—@formatjs/icu-messageformat-parserparse()fuzz_intl_messageformat—intl-messageformatIntlMessageFormatconstructor +format+formatToPartsacross 10 localesfuzz_icu_skeleton_parser—@formatjs/icu-skeleton-parsernumber and date-time skeleton parsersNotes:
@formatjs/*packages from npm rather than building from source.main_repostill points at the upstream repo.node_modules/@formatjs/*andnode_modules/intl-messageformat(other CJS deps are left alone).@jazzer.js/coreis pinned to^2because 4.0.0's prebuilt native addon needs GLIBC_2.32; the base images currently ship glibc 2.31. Comment in build.sh explains the pin.Verified locally:
python3 infra/helper.py build_fuzzers --clean formatjs✅python3 infra/helper.py check_build formatjs✅