-
Notifications
You must be signed in to change notification settings - Fork 0
Ack/dev #3
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
Ack/dev #3
Changes from all commits
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
8f884c0
format
Acktarius 1670428
rm jest
Acktarius 01b047a
add hmacSHA256 and hmacSHA512 to the library
Acktarius 0e8ad81
fix formating in Hmac.cpp
Acktarius 50bc368
add missing include
Acktarius 95945db
docs: add CLAUDE.md with repo commands + biome-update workflow
roomote 01d5114
chore(deps): override vulnerable transitive packages to clear Dependa…
roomote a9c1c2a
chore: pin RN 0.82 peers and tighten remaining npm overrides
Acktarius 1f50fef
ci: allow npm audit to fail in CI workflow
Acktarius File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,35 @@ | ||
| # CLAUDE.md | ||
|
|
||
| This file provides guidance to Claude Code (claude.ai/code) when working in this repository. | ||
|
|
||
| ## Repository | ||
|
|
||
| `react-native-conceal-crypto` — React Native native C++ crypto module for Conceal (CCX), wired through Nitro JSI. Bindings are generated by Nitro (`nitrogen/generated/`); the C++ implementation lives under `cpp/`. Android C++ builds use NDK 27.1.12297006 + CMake 3.22.1 + ninja. A full native build requires a host React Native app — this repo is a library, not a runnable app. | ||
|
|
||
| ## Commands | ||
|
|
||
| ```bash | ||
| npm ci # install deps (Node 18+) | ||
| npm run nitrogen:init # regenerate Nitro JSI bindings (cpp/ + nitrogen/generated/) | ||
| npm run clean # remove build artifacts | ||
| npm run lint # Biome lint (lint:fix to autofix) | ||
| npm run format # Biome format (format:fix to write) | ||
| npm run check # biome check . (check:fix to autofix) | ||
| npm run cpp # clang-format check on C++ (cpp:fix to autofix) | ||
| npm test # unit tests | ||
| ``` | ||
|
|
||
| Quality gate before completing changes: `npm run lint && npm run check && npm run cpp && npm test`. | ||
|
|
||
| ## Conventions & gotchas | ||
|
|
||
| - **Biome only** (no ESLint/Prettier) for TS/JS. **C++ uses `clang-format`** (`npm run cpp`). | ||
| - **Never hand-edit `nitrogen/generated/` or `cpp/` glue** — regenerate with `npm run nitrogen:init` after changing the Nitro spec. Hand-written source files live outside generated dirs. | ||
| - **Full native build needs a host RN app**, not available in this library repo; `npm run lint` / `npm run check` / `npm test` are the verifiable gates here. | ||
| - **On every `@biomejs/biome` update — follow this workflow in order:** | ||
| 1. **Plan** to update the `$schema` URL in `biome.json` to the new version in the same change. Dependabot only bumps `package.json` — it never touches `biome.json`, so this is always a manual follow-up. A stale `$schema` makes Biome emit an `info` diagnostic ("Expected X, Found Y … run `biome migrate`") on every lint run. | ||
| 2. **Before editing, check the web for the new schema:** fetch `https://biomejs.dev/schemas/<NEW_VERSION>/schema.json` and confirm it exists (HTTP 200), is valid JSON, and is a JSON Schema document (`$schema` key, non-trivial `properties`). This catches a missing/typo'd release doc and lets you diff structure for breaking changes. | ||
| 3. **Consider breaking changes** between old and new schema (removed/renamed properties, changed enums, new required fields). Patch bumps (x.y.Z) are config-compatible; minor (x.Y.0) and especially major (X.0.0) need a real diff. Read the Biome changelog + the schema diff. | ||
| 4. **If breaking changes are introduced:** try a PR with the updated `$schema` **and** adapt `biome.json` config keys to the new schema (rename/migrate/remove deprecated fields — run `biome migrate` if available, then hand-verify). Land both the schema URL and the config adaptation in one change. | ||
| 5. **If Biome still emits errors after adaptation** (lint/check/types fail on config the new Biome can't reconcile): consider **downgrading `@biomejs/biome` back** to the prior working version and **stop for admin review** — surface the exact errors, the version pair, and the unresolvable config conflict. Do not force a broken upgrade through. | ||
| 6. Always run `npm run lint && npm run check` after the schema edit to confirm the diagnostic clears and nothing regressed. |
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR removes jest, the
testscript, and the CInpm teststep, butCLAUDE.mdstill documentsnpm testin three places, including the required quality gatenpm run lint && npm run check && npm run cpp && npm test. After this changenpm testfails with "Missing script: test", so the documented contribution workflow is broken.If the goal was just to drop the unused jest dependency, consider a zero-dependency replacement (e.g.
node --test) so the quality gate stays green — that would also give the new HMAC code (see theHmac.cppcomment) a place for RFC 4231 vectors. Otherwise, updateCLAUDE.mdto remove thenpm testreferences.