Maintain dependencies, CI, tests, and repository hygiene - #199
Draft
ashfame wants to merge 59 commits into
Draft
Conversation
- preserve the approved maintenance and remediation scope verbatim - establish the integration branch before child work begins
- map 124 Dependabot alerts to locked causal dependency families - inventory fourteen stale branches with recovery evidence - preserve the approved plan text and record validation
…n-baseline Document the maintenance execution baseline
- upgrade @wp-playground/client to the first source-secure 3.1.38 release - remove vulnerable Playground lockfile paths without unrelated version changes - document resolved, partial, and upstream-blocked alerts
…nd-client Remediate Playground client dependency paths
- upgrade @wordpress/scripts to the first clean 30.7.0 boundary - refresh three compatible security transitives without overrides - document 32 resolved alerts and remaining upstream constraints
…s-scripts Remediate WordPress scripts critical dependency paths
Update web-ext security boundary
…s-blocks Upgrade WordPress Blocks security boundary
…uter Document React Router remediation blocker
Update PHPUnit security baseline
…pack-plugin Update copy-webpack-plugin security path
- document why every newer stable release retains the affected archive path - record candidate audits and the new applicable brace-expansion advisory - preserve the approved plan prefix and retained dependency state
- replace the temporary child branch reference with pull request 208 - preserve the reviewed blocker evidence and approved plan prefix
…ger-webpack-plugin Document filemanager webpack security blocker
- document the minimum vulnerable-path fix and its new Firefox add-on warning - retain package and source state after security and bundle review - record candidate and retained Node 24 validation
- replace temporary branch references with pull request 209 - preserve the reviewed blocker evidence and retained-state results
…s-block-library Document WordPress block library security blocker
- remove the deprecated DefinitelyTyped root and declare runtime Components explicitly - select the first patched Components and YAML dependency boundaries - record audit, build, and rejected-candidate evidence
- replace temporary branch references with pull request 210 - preserve the reviewed causal replacement evidence
…s-block-types Replace obsolete WordPress block types dependency
- correct packaged icons and add Firefox identity and consent metadata - validate target-specific references and exact Firefox lint output - document the provisional identity, data flow, and support floor
- replace the temporary branch record with pull request 211 - preserve the reviewed manifest and validation evidence
…n-manifests Validate extension manifests and Firefox identity
Standardize local and CI Node execution on Node 24 with lockfile caching and npm ci. Run schema-aware type checking, linting, both production builds, and extension package validation on pull requests and trunk pushes.
CI: make Node checks reproducible
Make aggregate development and production builds emit both browser targets. Replace abandoned frontend test guidance with the repository's actual validation commands.
…-and-jest Maintenance: fix build commands and remove Jest scaffolding
Use latest stable WordPress with PHP 8.4 locally and test PHP 8.3 and 8.4 against MySQL 8.0 in CI. Freeze the resolved WordPress version per job so core and PHPUnit fixtures stay matched.
CI: align WordPress, PHP, and MySQL test targets
Configure monthly dependency updates
…-and-ignores Complete package metadata and backup ignores
…anch-triage Document and complete stale branch triage
…conciliation Reconcile final maintenance security state
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This draft integration PR implements the approved maintenance program recorded in plan.md through merged child PRs #200 through #218. It upgrades causal dependencies where safe, makes Node/PHP CI reproducible, validates both browser packages and Firefox metadata, aligns local and hosted test environments, removes abandoned Jest scaffolding, adds dependency upkeep and package metadata, and completes the authorized stale-branch cleanup.
This PR remains draft and unmerged for owner testing and explicit residual-security decisions.
Security outcome
Range-, scope-, and path-aware reconciliation resolves 84 of the 124 baseline Dependabot rows on the integration lock, including all five critical rows and the Composer alert. Forty baseline npm rows remain: 26 WPS, five React Router, three Concurrently plus WPS, two block-library, two Babel plus WPS, one web-ext, and one web-ext plus WPS.
The final npm audit reports 111 affected package/effect keys across 60 GHSAs: 87 high, 15 moderate, nine low, and zero critical. Seven applicable npm-audit GHSAs are not represented in the unchanged default-branch 124-alert set and are mapped in plan.md. The published Playground client also hides an upstream bundled
body-parser@1.20.5source risk even though alert 171 is resolved under the repository lock-path rule.No override, downgrade, alert dismissal, extra ignored Firefox bundle, or silent broad migration was used. The retained rows are documented blockers where available upgrades retain affected paths, add another applicable advisory or extension-security warning, or require a broad migration.
GitHub continues to show all 124 original alerts because Dependabot evaluates default-branch manifests; recalculation cannot occur until this draft reaches
trunk.Developer-facing changes
.nvmrcand enforced as>=24 <25; CI uses lockfile caching andnpm ci.attempt-twitter,fix-test-wix, andnpm_package_updatesremain preserved at their exact recorded SHAs.No application public API, stored-data schema, application behavior, license file, or license metadata change is intended.
Automated validation
The final child and current integration head run Node 24 clean install, JavaScript/style lint, schema-aware type-check, Firefox and Chrome production builds, nine-reference validation for each package, and Firefox lint with zero errors/notices and only the exact allowed side-panel API warning while ignoring only generated
app.js.PHP 8.3 and 8.4 jobs run clean locked Composer installation/audit, deterministic schema and WordPress test setup against MySQL 8.0, complete PHPCS, and the full PHPUnit suite. The final child PR #218 passed all five hosted checks; this integration head is running the same gates.
Manual testing required
build/production/firefoxandbuild/production/chromeunpacked; verify the Firefox sidebar and Chrome side panel open without console errors.After manual testing, explicitly decide how to handle the documented 40 baseline residual rows, seven audit-only advisories, and hidden Playground source risk before marking this PR ready or merging it.