microsoft / microsoft/skill-recorder
Bump sharp to 0.35.x to resolve Dependabot alert (requires libvips compliance review)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 4k
- Forks
- 412
- Avg merge
- 3h 16m
- Merged PRs (30d)
- 10
Description
Background
PR #34 resolves 14 of the 15 open Dependabot alerts (tar, adm-zip, fast-uri). The remaining alert — sharp (high severity) — was intentionally split out because it cannot be landed mechanically.
Why sharp needs its own PR
Bumping sharp ^0.34.5 → ^0.35.x also bumps the bundled libvips native library (@img/sharp-libvips-*) from 1.2.4 → 1.3.2. This trips the deliberate license-compliance gate:
third_party/compliance-policy.jsonpins the exact reviewed versions (sharp: 0.34.5,sharpLibvips.version: 1.2.4).scripts/compliance.mjs(validateReviewedVersions) fails CI withsharp versions have not been reviewed: 0.35.x; expected 0.34.5.RELEASING.mddocuments that Sharp / sharp-libvips bumps require human review of licenses, native dependency versions, patches, source archives, and relinking.
What the sharp PR must do
- Bump
sharpto the target 0.35.x inpackage.jsonand add"sharp": "$sharp"tooverrides(forces the transitive copy under@huggingface/transformersto match). - Update
third_party/compliance-policy.json:sharpversion,sharpLibvips.version(1.3.2), and the ~40sourceMaterialsSHA-256 hashes for the new libvips component versions (aom, cairo, glib, vips, etc.). - Regenerate
THIRD-PARTY-NOTICES.md. - Fix the frame extractor type for the sharp 0.35 export split:
electron/frames/extractor.tsneedstype Sharp = (typeof import("sharp"))["default"];(0.35 splits theimport/requireexport conditions, so the namespace form is no longer callable). - Add a regression test in
electron/frames/extractor.test.tsguarding thecreateRequireload path stays a callable factory (.extract().jpeg()pipeline). - Run
npm run typecheck,npm test, andnpm run compliance:licenses; confirm the version-review gate passes.
References
- Dependabot alerts: https://github.com/microsoft/skill-recorder/security/dependabot
- Split rationale: PR #34
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with package.json, third_party/compliance-policy.json, scripts/compliance.mjs, and RELEASING.md to understand the reviewed-version gate and required source materials. Inspect electron/frames/extractor.ts and extractor.test.ts, then run npm run typecheck, npm test, and npm run compliance:licenses. Done means the Sharp 0.35.x review data, notices, callable extraction regression test, and all checks are complete.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- electron, typescript
- Domain
- build-system, desktop, security, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 45/100