Skip to content

⬆️ Refresh dependencies and pin GitHub Actions - #902

Merged
Robdel12 merged 1 commit into
mainfrom
rd/refresh-dependencies-actions
Nov 11, 2026
Merged

Robdel12 merged 1 commit into
mainfrom
rd/refresh-dependencies-actions

Conversation

@Robdel12

Copy link
Copy Markdown
Collaborator

Why

The build and test dependencies were behind current releases, and workflows still used Node 18/20 with mutable Action tags. CI also cached node_modules using a nonexistent yarn.lock, so dependency changes did not reliably invalidate the cache.

Approach

Refresh direct dependencies to their newest compatible releases and update the transitive lockfile. Move CI and publishing to Node 24 through .nvmrc, use npm ci with npm's lockfile-based download cache, and remove the redundant install job. Upgrade all seven Actions and pin all 15 references to verified upstream commit SHAs with version comments. Point release drafting at main and use its current token input and required permissions.

Keep Babel on the newest 7.x releases because the latest Rollup Babel plugin still declares a Babel 7 peer. Use TypeScript 6.0.3 because TypeScript 7's declaration output drops this library's augmented methods. Explicitly preserve the previous non-strict compiler behavior and annotate the test's custom context. Initialize the host coverage map so the newer test runner collects browser coverage, and remove an unused Rollup plugin dependency.

Evidence

A clean install passes lint, bundle/declaration builds, type checks, and all 128 Chrome tests. Coverage is 100% for statements, branches, functions, and lines, and the CI LCOV report contains 37 source files. The packed npm artifact includes its bundle and declarations, and a separate consumer successfully type-checks chained clicks, typing, and assertions against that package. All workflows pass actionlint.

Remaining dependency findings

The npm audit count falls from 21 to 13, with high-severity findings falling from 11 to 2. All remaining findings are in development dependencies, including upstream extract-zip, deepmerge, and glob/minimatch dependency chains; production audit reports zero. Resolving those remaining findings requires upstream fixes or separate tooling migrations.

Upgrade the compatible build, lint, type, and browser-test toolchain and refresh transitive dependencies. Preserve Babel 7 and TypeScript 6 where newer majors break plugin compatibility or generated public types.

Pin all workflow actions to verified release commits, share Node 24 across CI and releases, and replace stale node_modules caching with lockfile-based npm caching and clean installs. Restore browser coverage collection and adapt tests to the newer tooling.
@Robdel12
Robdel12 merged commit bbf29f8 into main Nov 11, 2026
7 checks passed
@Robdel12
Robdel12 deleted the rd/refresh-dependencies-actions branch November 11, 2026 06:10
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