Skip to content

fix: stabilize Dependabot — restore missing package.json, add dependabot.yml, regenerate lockfiles#815

Merged
jonobr1 merged 5 commits into
devfrom
copilot/diagnose-dependabot-error
Apr 24, 2026
Merged

fix: stabilize Dependabot — restore missing package.json, add dependabot.yml, regenerate lockfiles#815
jonobr1 merged 5 commits into
devfrom
copilot/diagnose-dependabot-error

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 23, 2026

All Dependabot runs were failing due to a combination of three independent root causes found in CI logs.

Root causes

  • dependency_file_not_found for /tests/types — directory had a package-lock.json but no package.json; Dependabot auto-detected it via lockfile scan and then crashed on the missing manifest
  • security_update_dependency_not_found on root.npmrc contained package-lock = false, silently preventing lockfile updates; the committed package-lock.json was stuck at lockfileVersion 1, too old for Dependabot's security resolution logic
  • tests/typescript dep tree invisible to Dependabot — its package-lock.json was explicitly gitignored

Changes

  • .github/dependabot.yml — added explicit config targeting /, /tests/types, /tests/typescript (npm) and / (github-actions) with weekly schedule and grouped PRs; replaces fragile auto-detection
  • tests/types/package.json — restored the missing manifest reconstructed from the existing lockfile's embedded metadata
  • .npmrc removed — sole content was package-lock = false; contradicted the checked-in lockfile and broke npm audit fix
  • Lockfiles regenerated — root package-lock.json upgraded from lockfileVersion 1 → 3; tests/types lockfile regenerated; tests/typescript lockfile generated and unignored
  • CI guardrail added (check-dependency-files job in lint.yml) — fails if any Dependabot-managed npm directory is missing its package.json or package-lock.json, preventing this class of regression

Copilot AI and others added 4 commits April 23, 2026 04:28
…ightening npm update scope

Agent-Logs-Url: https://github.com/jonobr1/two.js/sessions/cf6e28e3-9973-47b4-8806-5a4c9c7c5ee4

Co-authored-by: jonobr1 <220033+jonobr1@users.noreply.github.com>
Agent-Logs-Url: https://github.com/jonobr1/two.js/sessions/6e86b4bd-5c7f-40c3-8f01-e95d525e29c6

Co-authored-by: jonobr1 <220033+jonobr1@users.noreply.github.com>
…ackage.json, regenerate lockfiles, remove package-lock=false

Agent-Logs-Url: https://github.com/jonobr1/two.js/sessions/6e86b4bd-5c7f-40c3-8f01-e95d525e29c6

Co-authored-by: jonobr1 <220033+jonobr1@users.noreply.github.com>
Copilot AI review requested due to automatic review settings April 23, 2026 05:50
Copilot AI review requested due to automatic review settings April 23, 2026 05:50
@codacy-production
Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 0 complexity · 0 duplication

Metric Results
Complexity 0
Duplication 0

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes. Give us feedback

@jonobr1 jonobr1 requested a review from Copilot April 24, 2026 06:01
@jonobr1 jonobr1 marked this pull request as ready for review April 24, 2026 06:01
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Stabilizes Dependabot runs by making npm dependency sources explicit, restoring missing manifests, regenerating lockfiles, and adding CI guardrails to prevent future dependency-file regressions.

Changes:

  • Added explicit .github/dependabot.yml configuration for /, /tests/types, /tests/typescript, plus GitHub Actions updates.
  • Restored tests/types/package.json and regenerated/added npm lockfiles for test packages (and updated other lockfile metadata).
  • Removed .npmrc that disabled lockfile updates, un-ignored tests/typescript/package-lock.json, and added a CI job to assert package.json/package-lock.json pairs exist.

Reviewed changes

Copilot reviewed 6 out of 11 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
.github/dependabot.yml Explicit Dependabot configuration for npm workspaces and GitHub Actions to avoid fragile auto-detection.
.github/workflows/lint.yml Adds a CI job to verify each Dependabot-managed npm directory has both manifest + lockfile.
tests/types/package.json Restores missing npm manifest for the types test directory.
tests/types/package-lock.json Regenerated lockfile for tests/types (lockfile v3, updated local package metadata).
tests/typescript/package-lock.json Adds a committed lockfile for tests/typescript so Dependabot can see the dependency tree.
.gitignore Stops ignoring tests/typescript/package-lock.json so it can be committed/managed.
.npmrc Removes config that prevented lockfile generation/updates.
build/two.js Updates generated build output (PublishDate and related identifier renames).
build/two.module.js Updates generated build output (PublishDate and related identifier renames).
Files not reviewed (2)
  • tests/types/package-lock.json: Language not supported
  • tests/typescript/package-lock.json: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread tests/types/package.json Outdated
Comment thread build/two.js
Comment thread build/two.module.js
Delete the scripts section that defined the "test" script ("jest") from tests/types/package.json. The updated file also no longer has a trailing newline.
@jonobr1 jonobr1 merged commit 0bc6d08 into dev Apr 24, 2026
6 checks passed
@jonobr1 jonobr1 deleted the copilot/diagnose-dependabot-error branch April 24, 2026 16:29
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.

3 participants