Skip to content

WEB-801: Upgrade minor versions of WebApp dependencies - #3237

Merged
IOhacker merged 1 commit into
openMF:devfrom
YousufFFFF:WEB-801-upgrade-minor-versions
Feb 27, 2026
Merged

WEB-801: Upgrade minor versions of WebApp dependencies#3237
IOhacker merged 1 commit into
openMF:devfrom
YousufFFFF:WEB-801-upgrade-minor-versions

Conversation

@YousufFFFF

@YousufFFFF YousufFFFF commented Feb 27, 2026

Copy link
Copy Markdown
Member

Description

This PR upgrades minor versions of selected WebApp dependencies as requested in WEB-801. The update keeps the project aligned with the latest compatible releases while limiting changes to non-breaking minor updates.

Upgraded dependencies:

  • basic-ftp: 5.1.0 → 5.2.0
  • minimatch: 3.1.2 → 3.1.4
  • hono: 4.11.7 → 4.12.0
  • jspdf: 4.1.0 → 4.2.0
  • tar: 7.5.7 → 7.5.9
  • qs: 6.14.1 → 6.14.2

No functional changes were introduced.

Verification performed:

  • Verified against latest dev branch.
  • Production build (npm run build) succeeds.
  • Lint checks pass.
  • No additional test failures introduced (current failures reproducible on clean dev).
  • No new dependencies were added.

Related issues and discussion

#WEB-801

Screenshots, if any

N/A

Checklist

  • If you have multiple commits please combine them into one commit by squashing them.

  • Read and understood the contribution guidelines at web-app/.github/CONTRIBUTING.md.

Summary by CodeRabbit

  • Chores
    • Added several new runtime dependencies to support enhanced capabilities across file transfer, routing, pattern matching, query parsing, and packaging.
    • Updated the PDF generation library to the latest minor release to incorporate improvements and fixes.

@coderabbitai

coderabbitai Bot commented Feb 27, 2026

Copy link
Copy Markdown

Note

.coderabbit.yaml has unrecognized properties

CodeRabbit is using all valid settings from your configuration. Unrecognized properties (listed below) have been ignored and may indicate typos or deprecated fields that can be removed.

⚠️ Parsing warnings (1)
Validation error: Unrecognized key(s) in object: 'pre_merge_checks'
⚙️ Configuration instructions
  • Please see the configuration documentation for more information.
  • You can also validate your configuration using the online YAML validator.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 42e003e and 85e6fcb.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json and included by **/*
📒 Files selected for processing (1)
  • package.json
🚧 Files skipped from review as they are similar to previous changes (1)
  • package.json

Walkthrough

Updated package.json: added five dependencies (basic-ftp, hono, minimatch, qs, tar) and bumped jspdf from ^4.1.0 to ^4.2.0. No scripts or devDependencies changes. (50 words)

Changes

Cohort / File(s) Summary
Dependency Updates
package.json
Added dependencies: basic-ftp, hono, minimatch, qs, tar. Updated jspdf from ^4.1.0 to ^4.2.0. No script or devDependency edits.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested reviewers

  • IOhacker
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title accurately describes the main change: upgrading minor versions of WebApp dependencies, which aligns with the changeset showing version bumps for multiple packages (basic-ftp, hono, minimatch, qs, tar, jspdf).
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@package.json`:
- Line 63: Remove the listed unused packages from package.json dependencies
(basic-ftp, hono, minimatch, qs, tar): delete their entries, run npm install (or
yarn) to update lockfile, and rebuild; before committing, search the repo for
any imports/usages of "basic-ftp", "hono", "minimatch", "qs", and "tar" to
ensure nothing breaks and run the test suite and a production build to verify no
runtime errors.

ℹ️ Review info

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f6ef991 and 42e003e.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json and included by **/*
📒 Files selected for processing (1)
  • package.json

Comment thread package.json
"@tailwindcss/forms": "^0.5.4",
"@tinymce/tinymce-angular": "^9.1.1",
"angular-oauth2-oidc": "^20.0.0",
"basic-ftp": "^5.2.0",

@coderabbitai coderabbitai Bot Feb 27, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

cd /tmp && find . -name "package.json" -type f 2>/dev/null | head -5

Repository: openMF/web-app

Length of output: 40


🏁 Script executed:

# First, let's see the current state of package.json
cat -n package.json | sed -n '60,85p'

Repository: openMF/web-app

Length of output: 931


🏁 Script executed:

# Check if git history is available to see the diff
git diff HEAD~1 package.json 2>/dev/null | head -100

Repository: openMF/web-app

Length of output: 40


🏁 Script executed:

# Search for imports of the flagged packages
echo "=== Checking for imports of flagged packages ==="
for pkg in "basic-ftp" "hono" "minimatch" "qs" "tar"; do
  echo -e "\n--- Searching for imports of '$pkg' ---"
  rg -l "$pkg" --type ts --type js --type tsx --type jsx -g '!node_modules' -g '!*.spec.ts' 2>/dev/null || echo "No files found importing $pkg"
done

Repository: openMF/web-app

Length of output: 475


🏁 Script executed:

# Check if package-lock.json exists and what it shows
if [ -f "package-lock.json" ]; then
  echo "=== Checking package-lock.json ==="
  for pkg in "basic-ftp" "hono" "minimatch" "qs" "tar"; do
    if jq -e ".packages[\"node_modules/$pkg\"]" package-lock.json > /dev/null 2>&1; then
      echo "$pkg: Found in package-lock.json"
      jq -r ".packages[\"node_modules/$pkg\"].version" package-lock.json 2>/dev/null || echo "  (version info unavailable)"
    else
      echo "$pkg: Not found in package-lock.json"
    fi
  done
else
  echo "No package-lock.json found"
fi

Repository: openMF/web-app

Length of output: 296


🏁 Script executed:

# Check the structure of the project
ls -la
file_count=$(find src -type f \( -name "*.ts" -o -name "*.js" \) 2>/dev/null | wc -l)
echo "Source files found: $file_count"

Repository: openMF/web-app

Length of output: 2962


🏁 Script executed:

# Check if any of the flagged packages are listed as dependencies of other packages
echo "=== Checking if flagged packages are dependencies of other packages ==="
jq -r '.packages | to_entries[] | select(.value.dependencies | keys | any(. == ("basic-ftp" | "hono" | "minimatch" | "qs" | "tar"))) | .key' package-lock.json 2>/dev/null | head -20

Repository: openMF/web-app

Length of output: 130


🏁 Script executed:

# Let's check what depends on these packages
for pkg in "basic-ftp" "hono" "minimatch" "qs" "tar"; do
  echo -e "\n=== What depends on '$pkg'? ==="
  jq -r ".packages[] | select(.dependencies | has(\"$pkg\")) | .name" package-lock.json 2>/dev/null | head -10 || echo "No dependencies found"
done

Repository: openMF/web-app

Length of output: 389


🏁 Script executed:

# Check the "node_modules/*/package.json" dependencies for these packages
# to see if they're being pulled in as transitive dependencies
echo "=== Checking why these packages are in dependencies ==="
jq -r '.packages[""].dependencies | keys[]' package-lock.json | grep -E '(basic-ftp|hono|minimatch|qs|tar)'

Repository: openMF/web-app

Length of output: 145


Remove unused dependencies: basic-ftp, hono, minimatch, qs, tar.

These packages are listed in dependencies but are not imported or used anywhere in the codebase. They appear to be backend/Node.js utilities inappropriate for a browser-based Angular frontend:

  • basic-ftp: FTP client (server-side only)
  • hono: Web server framework (backend, not frontend)
  • tar: Archive handling (Node.js utility, no browser support)
  • minimatch: Glob matching (typically for build tooling, not runtime)
  • qs: Query string parsing (Angular provides built-in alternatives)

Removing these unused dependencies will reduce bundle size and maintenance burden.

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

In `@package.json` at line 63, Remove the listed unused packages from package.json
dependencies (basic-ftp, hono, minimatch, qs, tar): delete their entries, run
npm install (or yarn) to update lockfile, and rebuild; before committing, search
the repo for any imports/usages of "basic-ftp", "hono", "minimatch", "qs", and
"tar" to ensure nothing breaks and run the test suite and a production build to
verify no runtime errors.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@YousufFFFF could you please help me to review this comment, seems that the dependency alert received has some issue and only jspdf is required.

How we can exclude the others dependencies from the update alert?

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Seems like the humans are having a chat. I'll hop back into my burrow for now. If you need me again, just tag @coderabbitai in a new comment, and I'll come hopping out!

@YousufFFFF YousufFFFF Feb 27, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Hi @IOhacker,
After verifying with npm why, these packages are not standalone unused dependencies. They are either:

• Required transitively by Angular CLI and build tooling (pacote, node-gyp, express, webpack-dev-server, etc.)
• Peer dependencies of tooling (@modelcontextprotocol/sdk → hono)
• Or used by dev tooling such as Puppeteer, Cypress, Jest, ESLint

This PR is scoped strictly to minor version upgrades under WEB-801 and does not change the dependency surface.

If needed, we can open a dedicated cleanup PR to review whether some of these should be moved from dependencies to devDependencies, but removal in this PR would risk breaking the toolchain.

Keeping this PR limited to version upgrades ensures minimal risk.

@YousufFFFF
YousufFFFF force-pushed the WEB-801-upgrade-minor-versions branch from 42e003e to 85e6fcb Compare February 27, 2026 11:38
Comment thread package.json
"@tailwindcss/forms": "^0.5.4",
"@tinymce/tinymce-angular": "^9.1.1",
"angular-oauth2-oidc": "^20.0.0",
"basic-ftp": "^5.2.0",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@YousufFFFF could you please help me to review this comment, seems that the dependency alert received has some issue and only jspdf is required.

How we can exclude the others dependencies from the update alert?

@IOhacker IOhacker left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

@IOhacker
IOhacker merged commit 33cd601 into openMF:dev Feb 27, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants