Skip to content

chore: modernize deps, pnpm 11 config, and CI hardening#958

Open
EhabY wants to merge 3 commits into
mainfrom
chore/modernize-deps-and-ci
Open

chore: modernize deps, pnpm 11 config, and CI hardening#958
EhabY wants to merge 3 commits into
mainfrom
chore/modernize-deps-and-ci

Conversation

@EhabY
Copy link
Copy Markdown
Collaborator

@EhabY EhabY commented May 17, 2026

Three-commit modernization pass.

chore(deps): bump non-major dependencies and migrate to pnpm 11

  • Patch/minor bumps across prod + dev + catalog.
  • Replace removed onlyBuiltDependencies / ignoredBuiltDependencies with the unified allowBuilds; enable dedupePeers.
  • Corepack-integrity-pin packageManager: pnpm@11.1.2+sha224.6d287705....

fix(types): widen fflate entries to Zippable in supportBundleLogs
fflate 0.8.3 tightened Unzipped's index signature; widening to Zippable (which zipAsync already consumes) restores the read/modify/write flow without a cast.

ci: SHA-pin actions, modernize runners, and tune Dependabot

  • SHA-pin every action with a # version comment (GitHub's hardening guidance; Dependabot updates both atomically). Versions bumped while pinning. Fixes a chromaui/action SHA whose comment had drifted.
  • ubuntu-22.04ubuntu-24.04 across release workflows; pnpm/action-setup v5 → v6 in the setup composite.
  • Replace archived marvinpinto/action-automatic-releases@latest with softprops/action-gh-release@v3. Enable generate_release_notes (auto-populated draft body) and fail_on_unmatched_files.
  • Consolidate manual setup steps in pre-release.yaml / release.yaml to the existing ./.github/actions/setup composite.
  • Dependabot: monthly + group-all for github-actions and docker; weekly for npm with minor+patch batched, majors individual; per-semver cooldowns (3/5/7).

EhabY added 3 commits May 17, 2026 19:55
- Bump production deps: axios 1.16.1, fflate 0.8.3, semver 7.8.0, ws
  8.20.1, zod 4.4.3.
- Bump devDeps: eslint 10.4.0, @eslint-react 5.8.0, @typescript-eslint
  8.59.3, vitest 4.1.6, chromatic 16.10.1, plus storybook 10.4.0,
  vite 8.0.13, @tanstack/react-query 5.100.10 in the catalog.
- Migrate to pnpm 11 config: replace removed onlyBuiltDependencies /
  ignoredBuiltDependencies with the unified allowBuilds map; enable
  dedupePeers to collapse peer chains in the React 19 / Storybook /
  Vite tree.
- Pin pnpm itself by Corepack integrity:
  pnpm@11.1.2+sha224.6d287705... so local Corepack flows verify the
  tarball hash on install.
fflate 0.8.3 tightened the Unzipped index signature to
Uint8Array<ArrayBuffer>, so assigning Buffer values from fs.readFile
(typed Uint8Array<ArrayBufferLike>) into the unzipped map no longer
type-checks.

Widen the variable to Zippable - which is what zipAsync consumes
anyway and accepts the broader Uint8Array - to keep the read/modify/
write flow without a cast.
- Pin every GitHub Action by full commit SHA with a # version comment,
  matching GitHub's security-hardening guidance and what chromaui/
  action already does. Dependabot recognizes the format and updates
  both the SHA and comment together. Bump versions while pinning:
  checkout v6.0.2, setup-node v6.4.0, upload-artifact v7.0.1,
  download-artifact v8.0.1, pnpm/action-setup v6.0.8, chromaui/action
  v16.10.1 (also fixes a stale SHA whose tag comment no longer
  matched).
- Move all release-workflow runners from ubuntu-22.04 to ubuntu-24.04
  for consistency with CI; bump pnpm/action-setup from v5 to v6 in
  the setup composite to match.
- Replace the archived marvinpinto/action-automatic-releases@latest
  with softprops/action-gh-release@v3, pinned by SHA. Enable
  generate_release_notes so draft releases ship with the PR/commit
  changelog populated, and fail_on_unmatched_files so a missing
  VSIX glob fails loudly instead of publishing an empty release.
- Consolidate manual checkout + pnpm-action-setup + setup-node +
  pnpm install in pre-release.yaml and release.yaml down to the
  existing ./.github/actions/setup composite, removing duplicated
  SHA pins.
- Tune Dependabot: monthly + group-all for github-actions and
  docker (low-risk, rarely time-sensitive); weekly for npm with
  minor+patch batched and majors as individual PRs; per-semver-
  level cooldown days (3/5/7) to ride out compromised or yanked
  releases. Security advisories still bypass both cooldown and
  groups.
@EhabY EhabY self-assigned this May 17, 2026
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.

1 participant