Skip to content

chore(deps-js): update all pnpm dependencies#327

Merged
Ryan-Millard merged 22 commits into
mainfrom
chore/deps/js
Apr 29, 2026
Merged

chore(deps-js): update all pnpm dependencies#327
Ryan-Millard merged 22 commits into
mainfrom
chore/deps/js

Conversation

@Ryan-Millard
Copy link
Copy Markdown
Owner

@Ryan-Millard Ryan-Millard commented Apr 23, 2026

What was changed & why

JS dependencies updated to fix vulnerabilities and hush irrelevant warnings.

Fixes: #none

Changes

  • Update all deps.
  • Switch to React-Helmet-Async from React-Helmet -> it is the new standard
  • Lucide broke the API, so I downloaded the GitHub icon and installed SVGR to allow us to continue using it

Testing & Verification

Additional Resources

Summary by CodeRabbit

  • New Features

    • Custom SVG GitHub icon for the navbar
    • Added a reusable DocsLink component used in API docs
  • Chores

    • Upgraded React app dependencies and dev tooling
    • Replaced react-helmet with react-helmet-async and wrapped app with its provider
    • Added SVGR support to the build
    • Updated formatting/quotation style and ignore rules across docs and examples
    • Minor package manifest and tooling config updates

- React-Helmet changed to React-Helmet-Async
- Lucide API broke, so SVGR was added to allow us to keep example app's GitHub icon in the Navbar
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 23, 2026

Warning

Rate limit exceeded

@Ryan-Millard has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 25 minutes and 4 seconds before requesting another review.

To keep reviews running without waiting, you can enable usage-based add-on for your organization. This allows additional reviews beyond the hourly cap. Account admins can enable it under billing.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: c0edfbd1-9e87-45f5-937c-4ee06fdb5956

📥 Commits

Reviewing files that changed from the base of the PR and between 5d40e73 and 4efcdc7.

⛔ Files ignored due to path filters (2)
  • example-apps/react-js/src/assets/GitHub.svg is excluded by !**/*.svg
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (51)
  • .prettierignore
  • .prettierrc
  • bindings/c/src/cimg2num.cpp
  • bindings/py/src/img2num_pybind.cpp
  • core/include/img2num.h
  • core/src/internal/labels_to_svg.cpp
  • docs/blog/2025-12-05-launch.md
  • docs/docs/c/api-reference.md
  • docs/docs/c/docs/index.md
  • docs/docs/c/index.md
  • docs/docs/contributing/setup-and-dependencies/index.md
  • docs/docs/cpp/api-reference.md
  • docs/docs/cpp/docs/index.md
  • docs/docs/cpp/index.md
  • docs/docs/internal/example-apps/console-c-and-console-cpp/index.md
  • docs/docs/internal/example-apps/react-js/css/global/variables/theme/dark.md
  • docs/docs/internal/example-apps/react-js/css/global/variables/theme/light.md
  • docs/docs/internal/packages/js/index.md
  • docs/docs/js/docs/index.md
  • docs/docs/js/index.md
  • docs/docusaurus.config.js
  • docs/package.json
  • docs/src/md/_partials/IntsallingCoreOrCFromSrc.md
  • docs/src/pages/credits.md
  • docs/src/pages/index.md
  • docs/versioned_docs/version-old/introduction/getting-started.md
  • docs/versioned_docs/version-old/reference/react/css/global/variables/theme/dark.md
  • docs/versioned_docs/version-old/reference/react/css/global/variables/theme/light.md
  • docs/versioned_docs/version-old/reference/react/workers/wasmWorker.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/bilateral_filter/color-spaces.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/bilateral_filter/implementation.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/fft_iterative/prerequisite-theory/continuous-fourier-transform/index.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/fft_iterative/prerequisite-theory/fourier-series--the-bridge/index.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/fft_iterative/prerequisite-theory/how-fourier-transforms-work/index.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/fft_iterative/prerequisite-theory/introduction/index.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/fft_iterative/prerequisite-theory/keywords.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/graph/explained.md
  • docs/versioned_docs/version-old/reference/wasm/setup-and-dependencies.md
  • example-apps/console-c/main.c
  • example-apps/console-cpp/main.cpp
  • example-apps/react-js/package.json
  • example-apps/react-js/src/components/NavBar.jsx
  • example-apps/react-js/src/main.jsx
  • example-apps/react-js/src/pages/About/AboutHelmet.jsx
  • example-apps/react-js/src/pages/Credits/CreditsHelmet.jsx
  • example-apps/react-js/src/pages/Editor/EditorHelmet.jsx
  • example-apps/react-js/src/pages/Home/HomeHelmet.jsx
  • example-apps/react-js/vite.config.js
  • package.json
  • packages/js/package.json
  • scripts/format-cpp.js
📝 Walkthrough

Walkthrough

Upgrades React app dependencies, migrates from react-helmet to react-helmet-async (provider + imports), replaces Lucide Github icon with an SVG component, adds vite-plugin-svgr, applies formatting/refactoring across C/C++/bindings, and updates tooling/configs and documentation import quoting and prettier settings.

Changes

Cohort / File(s) Summary
React app deps & build
example-apps/react-js/package.json, example-apps/react-js/vite.config.js
Bumped React and related libraries; added vite-plugin-svgr to Vite plugins.
React provider & helmet migration
example-apps/react-js/src/main.jsx, example-apps/react-js/src/pages/.../AboutHelmet.jsx, .../CreditsHelmet.jsx, .../EditorHelmet.jsx, .../HomeHelmet.jsx
Wrapped App with HelmetProvider and changed Helmet imports from react-helmet to react-helmet-async across pages; no JSX content changes.
NavBar icon change
example-apps/react-js/src/components/NavBar.jsx
Replaced lucide-react Github icon with a custom SVG GitHub component imported via SVGR; updated EXTERNAL_LINKS entry.
Docs: API references & MDX imports
docs/docs/c/api-reference.md, docs/docs/cpp/api-reference.md, docs/** (multiple MDX/MD files)
Introduced exported DocsLink component in c/cpp API pages; consolidated FullscreenIframe JSX; standardized many imports to double quotes and adjusted MDX formatting.
C/C++ examples & formatting
example-apps/console-c/main.c, example-apps/console-cpp/main.cpp, bindings/py/src/img2num_pybind.cpp
Reordered includes and reformatted calls/argument wrapping for readability; pybind bindings rewrapped only (no signature/behavior changes).
Tooling, lint, prettier, scripts
package.json, packages/js/package.json, .prettierrc, .prettierignore, scripts/format-cpp.js
Bumped ESLint/Prettier/globals versions; added MDX parser override; expanded .prettierignore patterns; added empty dependencies field in packages/js/package.json; extended C/C++ globs to include example-apps in format script.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested labels

tooling

Poem

🐰 Hopped in to swap an icon bright,
Helmet went async to keep heads light,
SVGR let SVGs take flight,
Docs and C/C++ got tidy at night,
A little rabbit's code-hop—what a sight! 🥕

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the main change: updating JavaScript dependencies via pnpm. It directly relates to the majority of the changeset, which involves dependency version upgrades, library replacements, and configuration updates across the React example app and supporting tooling.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/deps/js

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
Review rate limit: 0/1 reviews remaining, refill in 25 minutes and 4 seconds.

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions Bot added js/ts example-app Updates to code related to demonstration (example) applications scripts docs labels Apr 23, 2026
@Ryan-Millard Ryan-Millard changed the title @coderabbitai chore(deps-js): update all pnpm dependencies Apr 23, 2026
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 7

🧹 Nitpick comments (1)
example-apps/react-js/src/components/NavBar.jsx (1)

2-2: Nit: stray double space in import.

Minor formatting: there's a double space between Info, and SquareArrowOutUpRight.

-import { Home, Users, Info,  SquareArrowOutUpRight, Menu, X } from "lucide-react";
+import { Home, Users, Info, SquareArrowOutUpRight, Menu, X } from "lucide-react";
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@example-apps/react-js/src/components/NavBar.jsx` at line 2, Remove the stray
double space in the import list in NavBar.jsx so the import statement is
consistently formatted; specifically, fix the spacing between the Info and
SquareArrowOutUpRight symbols in the import of Home, Users, Info,
SquareArrowOutUpRight, Menu, X from "lucide-react" (update the import containing
the Home/Users/Info/SquareArrowOutUpRight/Menu/X identifiers).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/package.json`:
- Line 119: The dotenv upgrade changed default logging; locate the dotenv
.config() call in docs/docusaurus.config.js (the import and the .config()
invocation) and update the invocation to pass the quiet option (i.e., call
.config({ quiet: true })) so dotenv won’t print "injected env" messages to
stdout during builds.
- Line 132: The `@docusaurus/faster` package was added but not enabled in the
Docusaurus config; update docusaurus.config.js to set future.faster to true (in
addition to the existing future: { v4: true }) so the faster build pipeline is
activated, or remove the "@docusaurus/faster" dependency from package.json if
you don't intend to use it; edit the future block in docusaurus.config.js (where
future: { v4: true } is defined) to include faster: true.

In `@example-apps/react-js/src/App.jsx`:
- Line 3: Remove the unused import of HelmetProvider from App.jsx: the symbol
HelmetProvider is declared in the import list but never used inside the App
component, so delete that import line and run lint to confirm no other
references to HelmetProvider remain; ensure the actual provider wiring that
wraps the app (where HelmetProvider is intentionally used) is left unchanged.

In `@example-apps/react-js/src/components/NavBar.jsx`:
- Line 8: The imported GitHub SVG hardcodes width/height and won't respect the
lucide-style size prop used when rendering via React.createElement(icon, { size
}), so remove the fixed width/height attributes from src/assets/GitHub.svg and
replace the direct import with a small wrapper component (e.g., GitHubIcon) that
accepts a size prop and forwards it as width/height to the SVG (matching lucide
API), then update usages in INTERNAL_LINKS/EXTERNAL_LINKS (the places calling
React.createElement(icon, { size: ... })) to import the wrapper instead of the
raw SVGR component; alternatively implement an SVGR template that maps size →
width/height globally if you prefer.

In `@example-apps/react-js/src/main.jsx`:
- Line 6: Remove the unused HelmetProvider import from App.jsx: locate the
import statement that imports HelmetProvider from "react-helmet-async" in the
App.jsx module and delete it (or replace with only needed imports); confirm
there are no references to HelmetProvider inside the App component and run the
linter to ensure the warning is gone to avoid accidental double-wrapping at the
root where HelmetProvider is already applied.

In `@packages/js/package.json`:
- Around line 38-40: Remove the runtime dependency addition of
"react-helmet-async" from package.json: delete the "react-helmet-async" entry
under the "dependencies" object so the published img2num package does not force
React peer installs; since the package's files (index.js, safeWasmWrappers.js,
wasmClient.js, wasmWorker.js, imageToUint8ClampedArray.js) do not use
Helmet/React, ensure no other code references "react-helmet-async" (search for
that string) and leave any dev/test-only tooling as devDependencies instead of
runtime dependencies.

In `@scripts/img2num-dev-scripts/package.json`:
- Line 8: Remove the unused "react-helmet-async" dependency from the
img2num-dev-scripts package.json (delete the "react-helmet-async": "^3.0.0"
entry) so the CLI package no longer declares an unnecessary React peer
dependency; ensure you update either "dependencies" or "devDependencies" where
that entry lives and run a reinstall to verify no peer-dep warnings remain.

---

Nitpick comments:
In `@example-apps/react-js/src/components/NavBar.jsx`:
- Line 2: Remove the stray double space in the import list in NavBar.jsx so the
import statement is consistently formatted; specifically, fix the spacing
between the Info and SquareArrowOutUpRight symbols in the import of Home, Users,
Info, SquareArrowOutUpRight, Menu, X from "lucide-react" (update the import
containing the Home/Users/Info/SquareArrowOutUpRight/Menu/X identifiers).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: e9d97dca-48b6-4e83-a11b-89747531d204

📥 Commits

Reviewing files that changed from the base of the PR and between 0f70613 and 0f0c4d5.

⛔ Files ignored due to path filters (2)
  • example-apps/react-js/src/assets/GitHub.svg is excluded by !**/*.svg
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (13)
  • docs/package.json
  • example-apps/react-js/package.json
  • example-apps/react-js/src/App.jsx
  • example-apps/react-js/src/components/NavBar.jsx
  • example-apps/react-js/src/main.jsx
  • example-apps/react-js/src/pages/About/AboutHelmet.jsx
  • example-apps/react-js/src/pages/Credits/CreditsHelmet.jsx
  • example-apps/react-js/src/pages/Editor/EditorHelmet.jsx
  • example-apps/react-js/src/pages/Home/HomeHelmet.jsx
  • example-apps/react-js/vite.config.js
  • package.json
  • packages/js/package.json
  • scripts/img2num-dev-scripts/package.json

Comment thread docs/package.json
Comment thread docs/package.json Outdated
Comment thread example-apps/react-js/src/App.jsx Outdated
Comment thread example-apps/react-js/src/components/NavBar.jsx Outdated
Comment thread example-apps/react-js/src/main.jsx
Comment thread packages/js/package.json Outdated
Comment thread scripts/img2num-dev-scripts/package.json Outdated
@github-actions github-actions Bot added the c/cpp Changes to C or C++ files label Apr 25, 2026
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🧹 Nitpick comments (1)
scripts/format-cpp.js (1)

16-16: Minor: rename RECURSE_C_OR_CPP_FILES to reflect that it's a glob pattern.

The constant holds a glob, not a recursion behavior. Something like C_CPP_FILES_GLOB or CPP_GLOB_SUFFIX reads more accurately at the call sites (core/${...}).

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@scripts/format-cpp.js` at line 16, The constant RECURSE_C_OR_CPP_FILES is
misnamed because it holds a glob pattern; rename it to a clearer identifier like
C_CPP_FILES_GLOB (or CPP_GLOB_SUFFIX) everywhere in scripts/format-cpp.js and
any importers/call sites so usage reads accurately (e.g.,
core/${C_CPP_FILES_GLOB}) — update the declaration and all references to the new
symbol name to keep behavior unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/docs/c/index.md`:
- Line 7: The JSX comment {/* DO NOT CHANGE THE TITLE (see
`@site/src/md/_partials/IntsallingCoreOrCFromSrc.md` and the C++ version of this
page to understand why */} triggers MD037 due to spaces inside the
brace-delimited comment; replace it with the same comment text but without
surrounding spaces inside the braces (i.e., use the exact comment body "DO NOT
CHANGE THE TITLE (see `@site/src/md/_partials/IntsallingCoreOrCFromSrc.md` and the
C++ version of this page to understand why)" wrapped immediately by {/*...*/})
so the comment matches MD style and removes the lint warning.

In `@docs/docs/contributing/setup-and-dependencies/index.md`:
- Around line 125-127: The TabItem blocks for values "root", "docs", and
"react-example" contain malformed inline code spans and should be converted into
proper fenced code blocks: replace the inline backtick usage inside each
<TabItem value="root">, <TabItem value="docs">, and <TabItem
value="react-example"> with a triple-backtick fenced block using the bash title
metadata (e.g. ```bash title="Fuzzy find scripts local to the root project") and
include the full command line starting with ./img2num (preserve the Docker-first
./img2num prefix) on the following line, then close with ``` before </TabItem>;
ensure no extra spaces or pseudo-fence text remain so the command renders as a
code block and removes MD038 warnings.

In `@docs/docs/cpp/index.md`:
- Line 7: The JSX block comment on the line containing {/* DO NOT CHANGE THE
TITLE (see `@site/src/md/_partials/IntsallingCoreOrCFromSrc.md` and the C version
of this page to understand why */} triggers markdownlint MD037 due to spaces
inside the comment tokens; remove the extra spaces so the comment uses tight
tokens (e.g. {/*DO NOT CHANGE THE TITLE (see
`@site/src/md/_partials/IntsallingCoreOrCFromSrc.md` and the C version of this
page to understand why*/}) to satisfy MD037 while preserving the exact text and
intent of the comment.

---

Nitpick comments:
In `@scripts/format-cpp.js`:
- Line 16: The constant RECURSE_C_OR_CPP_FILES is misnamed because it holds a
glob pattern; rename it to a clearer identifier like C_CPP_FILES_GLOB (or
CPP_GLOB_SUFFIX) everywhere in scripts/format-cpp.js and any importers/call
sites so usage reads accurately (e.g., core/${C_CPP_FILES_GLOB}) — update the
declaration and all references to the new symbol name to keep behavior
unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 5e9d608c-f086-47c8-b8de-ee9e1ed72593

📥 Commits

Reviewing files that changed from the base of the PR and between 0f0c4d5 and ff415ed.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (41)
  • .prettierignore
  • .prettierrc
  • bindings/py/src/img2num_pybind.cpp
  • docs/blog/2025-12-05-launch.md
  • docs/docs/c/api-reference.md
  • docs/docs/c/docs/index.md
  • docs/docs/c/index.md
  • docs/docs/contributing/setup-and-dependencies/index.md
  • docs/docs/cpp/api-reference.md
  • docs/docs/cpp/docs/index.md
  • docs/docs/cpp/index.md
  • docs/docs/internal/example-apps/console-c-and-console-cpp/index.md
  • docs/docs/internal/example-apps/react-js/css/global/variables/theme/dark.md
  • docs/docs/internal/example-apps/react-js/css/global/variables/theme/light.md
  • docs/docs/internal/packages/js/index.md
  • docs/docs/js/docs/index.md
  • docs/docs/js/index.md
  • docs/docusaurus.config.js
  • docs/package.json
  • docs/src/md/_partials/IntsallingCoreOrCFromSrc.md
  • docs/src/pages/credits.md
  • docs/src/pages/index.md
  • docs/versioned_docs/version-old/introduction/getting-started.md
  • docs/versioned_docs/version-old/reference/react/css/global/variables/theme/dark.md
  • docs/versioned_docs/version-old/reference/react/css/global/variables/theme/light.md
  • docs/versioned_docs/version-old/reference/react/workers/wasmWorker.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/bilateral_filter/color-spaces.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/bilateral_filter/implementation.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/fft_iterative/prerequisite-theory/continuous-fourier-transform/index.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/fft_iterative/prerequisite-theory/fourier-series--the-bridge/index.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/fft_iterative/prerequisite-theory/how-fourier-transforms-work/index.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/fft_iterative/prerequisite-theory/introduction/index.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/fft_iterative/prerequisite-theory/keywords.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/graph/explained.md
  • docs/versioned_docs/version-old/reference/wasm/setup-and-dependencies.md
  • example-apps/console-c/main.c
  • example-apps/console-cpp/main.cpp
  • example-apps/react-js/src/components/NavBar.jsx
  • example-apps/react-js/vite.config.js
  • packages/js/package.json
  • scripts/format-cpp.js
✅ Files skipped from review due to trivial changes (31)
  • docs/blog/2025-12-05-launch.md
  • docs/src/pages/index.md
  • docs/docs/cpp/docs/index.md
  • docs/docs/c/docs/index.md
  • .prettierrc
  • docs/docs/internal/example-apps/react-js/css/global/variables/theme/light.md
  • docs/docs/internal/example-apps/react-js/css/global/variables/theme/dark.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/bilateral_filter/implementation.md
  • docs/docusaurus.config.js
  • docs/versioned_docs/version-old/reference/wasm/modules/image/fft_iterative/prerequisite-theory/keywords.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/bilateral_filter/color-spaces.md
  • docs/versioned_docs/version-old/reference/react/css/global/variables/theme/dark.md
  • docs/docs/internal/example-apps/console-c-and-console-cpp/index.md
  • docs/versioned_docs/version-old/reference/react/workers/wasmWorker.md
  • docs/docs/internal/packages/js/index.md
  • docs/versioned_docs/version-old/reference/react/css/global/variables/theme/light.md
  • docs/docs/js/docs/index.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/fft_iterative/prerequisite-theory/how-fourier-transforms-work/index.md
  • packages/js/package.json
  • docs/src/pages/credits.md
  • docs/versioned_docs/version-old/introduction/getting-started.md
  • docs/docs/cpp/api-reference.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/graph/explained.md
  • .prettierignore
  • docs/versioned_docs/version-old/reference/wasm/modules/image/fft_iterative/prerequisite-theory/introduction/index.md
  • docs/docs/js/index.md
  • docs/docs/c/api-reference.md
  • example-apps/console-c/main.c
  • docs/versioned_docs/version-old/reference/wasm/setup-and-dependencies.md
  • example-apps/console-cpp/main.cpp
  • bindings/py/src/img2num_pybind.cpp
🚧 Files skipped from review as they are similar to previous changes (3)
  • example-apps/react-js/vite.config.js
  • example-apps/react-js/src/components/NavBar.jsx
  • docs/package.json

Comment thread docs/docs/c/index.md
Comment thread docs/docs/contributing/setup-and-dependencies/index.md
Comment thread docs/docs/cpp/index.md
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

♻️ Duplicate comments (1)
docs/docs/contributing/setup-and-dependencies/index.md (1)

127-129: ⚠️ Potential issue | 🟡 Minor

Fix malformed command formatting in TabItem blocks (Lines 127-129).

The commands are currently inline code spans with pseudo-fence text, which breaks intended rendering and triggers MD038. Use proper fenced code blocks inside each TabItem.

Proposed fix
-    <TabItem value="root">`bash title="Fuzzy find scripts local to the root project" ./img2num pnpm run help `</TabItem>
-    <TabItem value="docs">`bash title="Fuzzy find scripts local to the documentation" ./img2num pnpm run -F docs help `</TabItem>
-    <TabItem value="react-example">`bash title="Fuzzy find scripts local to the React Example app" ./img2num pnpm run -F react-example help `</TabItem>
+    <TabItem value="root">
+      ```bash title="Fuzzy find scripts local to the root project"
+      ./img2num pnpm run help
+      ```
+    </TabItem>
+    <TabItem value="docs">
+      ```bash title="Fuzzy find scripts local to the documentation"
+      ./img2num pnpm run -F docs help
+      ```
+    </TabItem>
+    <TabItem value="react-example">
+      ```bash title="Fuzzy find scripts local to the React Example app"
+      ./img2num pnpm run -F react-example help
+      ```
+    </TabItem>

Based on learnings, Docker-first commands via ./img2num ... should be preserved in docs guidance.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/docs/contributing/setup-and-dependencies/index.md` around lines 127 -
129, The three <TabItem> blocks (values "root", "docs", "react-example") contain
malformed inline code spans instead of proper fenced code blocks; replace each
inline backtick string with a fenced code block using triple backticks (```bash
title="...") inside the corresponding <TabItem>, preserving the Docker-first
commands (e.g. ./img2num pnpm run help and ./img2num pnpm run -F docs help,
./img2num pnpm run -F react-example help) and close each block with ``` before
the </TabItem> to fix rendering and satisfy MD038.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In `@docs/docs/contributing/setup-and-dependencies/index.md`:
- Around line 127-129: The three <TabItem> blocks (values "root", "docs",
"react-example") contain malformed inline code spans instead of proper fenced
code blocks; replace each inline backtick string with a fenced code block using
triple backticks (```bash title="...") inside the corresponding <TabItem>,
preserving the Docker-first commands (e.g. ./img2num pnpm run help and ./img2num
pnpm run -F docs help, ./img2num pnpm run -F react-example help) and close each
block with ``` before the </TabItem> to fix rendering and satisfy MD038.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 86b157f4-f488-4418-87b4-0851bb92b80c

📥 Commits

Reviewing files that changed from the base of the PR and between b699bb1 and fea3df6.

📒 Files selected for processing (27)
  • docs/docs/c/docs/index.md
  • docs/docs/c/index.md
  • docs/docs/contributing/setup-and-dependencies/index.md
  • docs/docs/cpp/docs/index.md
  • docs/docs/cpp/index.md
  • docs/docs/internal/example-apps/console-c-and-console-cpp/index.md
  • docs/docs/internal/example-apps/react-js/css/global/variables/theme/dark.md
  • docs/docs/internal/example-apps/react-js/css/global/variables/theme/light.md
  • docs/docs/internal/packages/js/index.md
  • docs/docs/js/docs/index.md
  • docs/docs/js/index.md
  • docs/src/md/_partials/IntsallingCoreOrCFromSrc.md
  • docs/src/pages/credits.md
  • docs/src/pages/index.md
  • docs/versioned_docs/version-old/introduction/getting-started.md
  • docs/versioned_docs/version-old/reference/react/css/global/variables/theme/dark.md
  • docs/versioned_docs/version-old/reference/react/css/global/variables/theme/light.md
  • docs/versioned_docs/version-old/reference/react/workers/wasmWorker.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/bilateral_filter/color-spaces.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/bilateral_filter/implementation.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/fft_iterative/prerequisite-theory/continuous-fourier-transform/index.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/fft_iterative/prerequisite-theory/fourier-series--the-bridge/index.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/fft_iterative/prerequisite-theory/how-fourier-transforms-work/index.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/fft_iterative/prerequisite-theory/introduction/index.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/fft_iterative/prerequisite-theory/keywords.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/graph/explained.md
  • docs/versioned_docs/version-old/reference/wasm/setup-and-dependencies.md
✅ Files skipped from review due to trivial changes (24)
  • docs/docs/internal/example-apps/react-js/css/global/variables/theme/dark.md
  • docs/versioned_docs/version-old/reference/react/css/global/variables/theme/light.md
  • docs/docs/c/docs/index.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/fft_iterative/prerequisite-theory/keywords.md
  • docs/docs/cpp/docs/index.md
  • docs/src/pages/credits.md
  • docs/versioned_docs/version-old/reference/react/css/global/variables/theme/dark.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/bilateral_filter/color-spaces.md
  • docs/src/pages/index.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/fft_iterative/prerequisite-theory/how-fourier-transforms-work/index.md
  • docs/docs/c/index.md
  • docs/docs/internal/packages/js/index.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/bilateral_filter/implementation.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/fft_iterative/prerequisite-theory/fourier-series--the-bridge/index.md
  • docs/docs/js/docs/index.md
  • docs/docs/cpp/index.md
  • docs/versioned_docs/version-old/reference/react/workers/wasmWorker.md
  • docs/docs/js/index.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/fft_iterative/prerequisite-theory/introduction/index.md
  • docs/docs/internal/example-apps/react-js/css/global/variables/theme/light.md
  • docs/docs/internal/example-apps/console-c-and-console-cpp/index.md
  • docs/versioned_docs/version-old/reference/wasm/setup-and-dependencies.md
  • docs/versioned_docs/version-old/introduction/getting-started.md
  • docs/versioned_docs/version-old/reference/wasm/modules/image/graph/explained.md

Importantly, Markdown-style comments had to be changed to match the latest upgrades to Docusaurus.
We now use React-style comments for the MDX code.
@github-actions github-actions Bot added the core label Apr 29, 2026
@Ryan-Millard
Copy link
Copy Markdown
Owner Author

@coderabbitai full review

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 29, 2026

✅ Actions performed

Full review triggered.

@Ryan-Millard
Copy link
Copy Markdown
Owner Author

@coderabbitai, suggest a conventional commit message and description for this PR. I will be squashing it.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 29, 2026

Tip

For best results, initiate chat on the files or code changes.

@Ryan-Millard Here's a suggested conventional commit message and description for the squash:


Subject line:

chore(deps-js): update all pnpm dependencies

Body:

- Bump all pnpm dependencies to latest versions to address vulnerabilities
  and reduce irrelevant warnings
- Replace react-helmet with react-helmet-async; wrap App with HelmetProvider
  in main.jsx and update all Helmet imports across pages
- Handle Lucide API removal of the Github icon by downloading GitHub.svg and
  adding vite-plugin-svgr; update NavBar.jsx to consume the SVG as a React
  component
- Expand .prettierignore to exclude .venv, .img2num-state, .npmrc, LICENSE*,
  example-apps/*-py/, example-apps/*-cpp/, example-apps/*-c/, bindings/py/,
  bindings/c/, packages/py, and docs/static/
- Add .prettierrc override to parse docs/**/*.md files as MDX
- Normalize import quote style (single → double) across docs and source files
  per updated Prettier config
- Expand format-cpp.js glob patterns to include example-apps/ directory
- Add explicit empty dependencies field to packages/js/package.json
- Reformat bindings/py/src/img2num_pybind.cpp and example-apps C/C++ sources
  for consistency

🧠 Learnings used
Learnt from: Ryan-Millard
Repo: Ryan-Millard/Img2Num PR: 0
File: :0-0
Timestamp: 2026-04-01T20:45:20.732Z
Learning: In the Ryan-Millard/Img2Num repository, a PR body containing generic boilerplate such as "This contribution was made as part of an open-source documentation improvement initiative. All changes are meant to be helpful additions to the project." is a strong signal of an AI-generated slop PR and should be explicitly flagged during review.

Learnt from: Ryan-Millard
Repo: Ryan-Millard/Img2Num PR: 0
File: :0-0
Timestamp: 2026-04-23T18:48:02.712Z
Learning: In the Ryan-Millard/Img2Num repository, PR `#311` adds `.coderabbit.yaml` to main. PR `#307` (adding Python .py files) must rebase onto main after `#311` merges so that `.coderabbit.yaml` exists and can be updated with: `ruff: enabled: true`, `pylint: enabled: true`, `flake8: enabled: false` under `tools:`, and a `path_instructions` entry for `**/*.py` covering PEP 8, type annotations, exception handling, resource management, mutable default arguments, and Docker-first command suggestions via the `./img2num` wrapper. The "CodeRabbit Config Needs Update" custom check will automatically flag `#307` if the Python config is missing.

Learnt from: Ryan-Millard
Repo: Ryan-Millard/Img2Num PR: 0
File: :0-0
Timestamp: 2026-04-23T18:48:02.692Z
Learning: In the Ryan-Millard/Img2Num repository, PR `#311` adds `.coderabbit.yaml` to main. PR `#307` (adding Python .py files) must rebase onto main after `#311` merges so that `.coderabbit.yaml` exists and can be updated with: `ruff: enabled: true`, `pylint: enabled: true`, `flake8: enabled: false` under `tools:`, and a `path_instructions` entry for `**/*.py` covering PEP 8, type annotations, exception handling, resource management, mutable default arguments, and Docker-first command suggestions via the `./img2num` wrapper. The "CodeRabbit Config Needs Update" custom check will automatically flag `#307` if the Python config is missing.

Learnt from: Ryan-Millard
Repo: Ryan-Millard/Img2Num PR: 0
File: :0-0
Timestamp: 2026-04-23T18:35:01.229Z
Learning: In the Ryan-Millard/Img2Num repository, Python (.py files) is being added to the codebase via PR `#307`. The `.coderabbit.yaml` should include `ruff: enabled: true` and `pylint: enabled: true` under `tools:`, and a `path_instructions` entry for `**/*.py` covering PEP 8, type annotations, exception handling, resource management, mutable default arguments, and Docker-first command suggestions.

Learnt from: Ryan-Millard
Repo: Ryan-Millard/Img2Num PR: 0
File: :0-0
Timestamp: 2026-04-23T18:35:01.229Z
Learning: In the Ryan-Millard/Img2Num repository, Python (.py files) is being added to the codebase via PR `#307`. The `.coderabbit.yaml` should include `ruff: enabled: true` and `pylint: enabled: true` under `tools:`, and a `path_instructions` entry for `**/*.py` covering PEP 8, type annotations, exception handling, resource management, mutable default arguments, and Docker-first command suggestions via the `./img2num` wrapper.

Learnt from: Ryan-Millard
Repo: Ryan-Millard/Img2Num PR: 0
File: :0-0
Timestamp: 2026-04-18T17:26:42.396Z
Learning: In the Ryan-Millard/Img2Num repository, the `.coderabbit.yaml` includes a `pre_merge_checks.custom_checks` entry named "CodeRabbit Config Needs Update" (mode: warning) that checks if a PR introduces new languages, linter config files, new file extensions, or new CI tooling without a corresponding update to `.coderabbit.yaml`.

Learnt from: Ryan-Millard
Repo: Ryan-Millard/Img2Num PR: 0
File: :0-0
Timestamp: 2026-04-25T16:20:34.359Z
Learning: In the Ryan-Millard/Img2Num repository, the following follow-up issues were created after merging PR `#307` (Python bindings): `#328` (Python docstrings/docs), `#329` (numpy img.shape inference for width/height), `#330` (.coderabbit.yaml Python tooling config), `#331` (CI workflow for Python bindings build test).

Learnt from: Ryan-Millard
Repo: Ryan-Millard/Img2Num PR: 0
File: :0-0
Timestamp: 2026-04-01T20:45:20.732Z
Learning: In the Ryan-Millard/Img2Num repository, PRs that introduce documentation or code examples referencing functions or symbols not present in the codebase (e.g., a `vectorize` function from `img2num`) should be flagged as potential AI-generated slop. Always cross-reference newly introduced API names/symbols against actual codebase exports.

Learnt from: Ryan-Millard
Repo: Ryan-Millard/Img2Num PR: 0
File: :0-0
Timestamp: 2026-04-25T16:43:10.485Z
Learning: In Ryan-Millard/Img2Num, the Python documentation tool chosen is pdoc, mirroring the Doxygen pattern for C/C++. The plan: install python3-pip and pdoc in a new Dockerfile.dev layer (between layer 4 Doxygen and layer 5 pnpm), create docs/scripts/pdoc.js (mirrors doxygen.js), output to docs/static/docs/python/api/, update prebuild in docs/package.json to "pnpm doxygen && pnpm pdoc", scaffold docs/docs/python/index.md and docs/docs/python/api-reference.md (uses FullscreenIframe component pointing to /Img2Num/info/docs/python/api/).

Learnt from: Ryan-Millard
Repo: Ryan-Millard/Img2Num PR: 0
File: :0-0
Timestamp: 2026-04-25T16:31:13.204Z
Learning: In the Ryan-Millard/Img2Num repository, issue `#331` (CI workflow for Python bindings build test) was addressed in PR `#307` via the `build-py` job in `.github/workflows/cmake-build.yml`. That job runs `uv venv`, `uv sync --no-build-isolation`, a smoke test (`uv run python3 -c "import img2num;"`), and uploads artifacts.

Learnt from: Ryan-Millard
Repo: Ryan-Millard/Img2Num PR: 327
File: docs/package.json:132-132
Timestamp: 2026-04-25T22:11:21.799Z
Learning: In Ryan-Millard/Img2Num, `docusaurus/faster` is a required runtime dependency in `docs/package.json` for Docusaurus 3.10. It was added to fix build errors caused by the existing `future: { v4: true }` config in `docs/docusaurus.config.js`, which enables `fasterByDefault` and requires `docusaurus/faster` to be present. It is not an optional performance enhancement in this project.

@Ryan-Millard Ryan-Millard merged commit 7a2aa25 into main Apr 29, 2026
16 checks passed
@Ryan-Millard Ryan-Millard deleted the chore/deps/js branch April 29, 2026 19:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

c/cpp Changes to C or C++ files core docs example-app Updates to code related to demonstration (example) applications js/ts scripts

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant