Skip to content

build(deps-dev): bump jasmine-core from 5.8.0 to 7.0.2 in /lottery-web - #109

Closed
dependabot[bot] wants to merge 1 commit into
frontendfrom
dependabot/npm_and_yarn/lottery-web/frontend/jasmine-core-7.0.2
Closed

build(deps-dev): bump jasmine-core from 5.8.0 to 7.0.2 in /lottery-web#109
dependabot[bot] wants to merge 1 commit into
frontendfrom
dependabot/npm_and_yarn/lottery-web/frontend/jasmine-core-7.0.2

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 24, 2026

Copy link
Copy Markdown
Contributor

Bumps jasmine-core from 5.8.0 to 7.0.2.

Release notes

Sourced from jasmine-core's releases.

v7.0.1

Please see the release notes.

v7.0.0

Please see the release notes.

v7.0.0-pre.2

Please see the release notes.

v7.0.0-pre.0

Please see the release notes.

6.3.0

Please see the release notes.

v6.2.0

Please see the release notes.

v6.1.0

Please see the release notes.

v6.0.1

Please see the release notes.

v6.0.0

Please see the release notes.

v6.0.0-beta.1

Please see the release notes.

v6.0.0-beta.0

Please see the release notes.

v6.0.0-alpha.2

Please see the release notes.

v6.0.0-alpha.1

Please see the release notes.

v6.0.0-alpha.0

Please see the release notes.

v5.13.0

Please see the release notes.

v5.12.1

Please see the release notes.

v5.12.0

Please see the release notes.

... (truncated)

Commits
  • 390d31e Bump version to 7.0.2
  • c29ae9d Test that reset() rebinds globals
  • eb00d3a Fix Node reset() fn
  • 303e135 Test that the distribution is built after changing the version number
  • acb7a51 Bump version to 7.0.1
  • d539f62 Switch dev dependencies to published packages
  • 55f0b71 Bump version to 7.0.0
  • bf29001 Test against Node 26
  • f107aff Apply cooldown via npmrc settings instead of package-lock.json
  • d6318ce Obtain Saucelabs credentials from context
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Aug 24, 2026
@bgard68

bgard68 commented Aug 24, 2026

Copy link
Copy Markdown
Owner

This can't go green: karma-jasmine-html-reporter@2.2.0 declares peer jasmine-core@"^4.0.0 || ^5.0.0 || ^6.0.0", so npm ci fails on ERESOLVE with 7.0.2.

npm error peer jasmine-core@"^4.0.0 || ^5.0.0 || ^6.0.0" from karma-jasmine-html-reporter@2.2.0

I've added an ignore rule for jasmine-core major bumps on claude/lotteryapp-prs-security-quality-frze77-frontend, with a note to lift it when that reporter accepts 7.x. Minor and patch updates still flow.

Worth noting the karma/jasmine stack here is the older toolchain — if you ever move the SPA to the @angular/build:unit-test builder with Vitest, this whole peer-dependency knot goes away.

Suggest closing this PR once that branch merges.


Generated by Claude Code

bgard68 added a commit that referenced this pull request Aug 24, 2026
#116, #111 and #109 each bump a package that a peer or framework constraint
caps, so every one fails before its tests run and is re-proposed the next week:

* Microsoft.OpenApi 3.x - AspNetCore.OpenApi 10.0.x requires >= 2.7.5 && < 3.0.0,
  so the restore trips NU1608, which Directory.Build.props promotes to an error.
  This is the constraint #107 pinned 2.x for.
* typescript 7.x - @angular/build 22.x has peer typescript >= 6.0 < 6.1.
* jasmine-core 7.x - karma-jasmine-html-reporter 2.2 peers ^4 || ^5 || ^6.

Each ignore is scoped to semver-major and carries the condition for lifting it,
so minor and patch updates - security ones included - keep flowing.

Also adds the missing nuget entry for the frontend branch: that branch carries
src/Lottery.Api and its CI builds it, but the existing nuget entry has no
target-branch, so those packages were never bumped or scanned.
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 5.8.0 to 7.0.2.
- [Release notes](https://github.com/jasmine/jasmine/releases)
- [Changelog](https://github.com/jasmine/jasmine/blob/main/RELEASE.md)
- [Commits](jasmine/jasmine@v5.8.0...v7.0.2)

---
updated-dependencies:
- dependency-name: jasmine-core
  dependency-version: 7.0.2
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/lottery-web/frontend/jasmine-core-7.0.2 branch from 4823942 to 9c1f3ff Compare August 25, 2026 02:57
bgard68 added a commit that referenced this pull request Aug 25, 2026
… feed bug that 500s /internal/refresh (#117)

* build(deps): move both codeql-action steps to 4.37.8 in one commit

Dependabot bumps init and analyze in separate PRs (#110, #114), but the two
steps must run the same codeql-action version - a mismatched pair ends the
Analyze job in a configuration error. Same consolidation #105 did for 4.37.7.
Supersedes #110 and #114.

* build: add coverlet.collector and Mvc.Testing, register Lottery.Api.Tests

Coverage was not measurable at all - no collector was referenced by any test
project. Adds coverlet.collector to all four, Microsoft.AspNetCore.Mvc.Testing
for the new API integration tests, and the new project to the solution.

* test(api): add the host factory and offline feed fakes

Boots the real API over a throwaway SQLite file so migrations, seeding,
routing and middleware are all exercised for real; only the live feeds and the
timer-driven refresh loop are replaced, which keeps a test run offline.

* test(api): endpoints, security headers, refresh gate, health check, refresh loop

66 tests over the four API source files that previously had none.

* test(api): security headers, refresh key gate, health check, refresh loop

* test(api): health check verdicts and the refresh loop on virtual time

* ci: scope cleanup-runs' actions:write to its job, document CodeQL's grant

GHA002 flagged both as excessive token permissions. cleanup-runs genuinely was
- actions:write applied workflow-wide, so any job added later would inherit the
ability to delete runs; it now sits on the one job that needs it.

CodeQL's security-events:write is the floor rather than a convenience: code
scanning has no read-only ingest path, so analyze cannot upload its SARIF
without it. It was already job-scoped with the workflow default left read-only;
the comment records why so the finding is not re-raised.

* build: sync Lottery.Application.Tests lock file for coverlet.collector

CI restores with --locked-mode, so the lock file has to carry the new
reference or the restore fails NU1004.

* build: sync test lock files for coverlet.collector

CI restores with --locked-mode, so the lock files have to carry the new
reference or the restore fails NU1004. Lottery.Api.Tests is a new project,
so this is its initial lock file.

* ci: close gate-integrity gaps and tighten workflow permissions

Three checks could report success while proving nothing: era-check's live-feed
validation exited 0 when the API was unreachable (no set -e, and [ "" -gt 0 ]
returns 2, making the if false); gate-probes' third probe did not guard its
setup or check that the failure was the planted one; and the Start API wait
loops exit 0 whether or not the API came up.

Also scopes deploy-api's id-token:write to its job, grants dependency-review
the pull-requests:write its comment-summary-in-pr silently needed, passes
API_BASE_URL through env instead of interpolating it into a run line, adds
concurrency groups to the PR-triggered workflows, and stops gitleaks
allowlisting package-lock.json wholesale (npm lock files can carry inline
registry credentials in resolved URLs; only integrity hashes are excluded now).

Adds coverlet.runsettings so coverage measures our code rather than the
thousands of generated OpenAPI lines nothing we write can cover.

* ci: close gate-integrity gaps and tighten workflow permissions

Three checks could report success while proving nothing: era-check's live-feed
validation exited 0 when the API was unreachable (no set -e, and [ "" -gt 0 ]
returns 2, making the if false); gate-probes' third probe did not guard its
setup or check that the failure was the planted one; and the Start API wait
loops exit 0 whether or not the API came up.

Also scopes deploy-api's id-token:write to its job, grants dependency-review
the pull-requests:write its comment-summary-in-pr silently needed, passes
API_BASE_URL through env instead of interpolating it into a run line, adds
concurrency groups to the PR-triggered workflows, and stops gitleaks
allowlisting package-lock.json wholesale (npm lock files can carry inline
registry credentials in resolved URLs; only integrity hashes are excluded now).

Adds coverlet.runsettings so coverage measures our code rather than the
thousands of generated OpenAPI lines nothing we write can cover.

* build(deps): stop Dependabot re-proposing three PRs that cannot merge

#116, #111 and #109 each bump a package that a peer or framework constraint
caps, so every one fails before its tests run and is re-proposed the next week:

* Microsoft.OpenApi 3.x - AspNetCore.OpenApi 10.0.x requires >= 2.7.5 && < 3.0.0,
  so the restore trips NU1608, which Directory.Build.props promotes to an error.
  This is the constraint #107 pinned 2.x for.
* typescript 7.x - @angular/build 22.x has peer typescript >= 6.0 < 6.1.
* jasmine-core 7.x - karma-jasmine-html-reporter 2.2 peers ^4 || ^5 || ^6.

Each ignore is scoped to semver-major and carries the condition for lifting it,
so minor and patch updates - security ones included - keep flowing.

Also adds the missing nuget entry for the frontend branch: that branch carries
src/Lottery.Api and its CI builds it, but the existing nuget entry has no
target-branch, so those packages were never bumped or scanned.

* docs(tests): document Lottery.Api.Tests and the coverage settings

The README still said "109 tests across three projects". Adds the API layer's
66 tests and a note on coverlet.runsettings, which excludes the OpenAPI
generator's output so the coverage figure measures our own code.

* test(domain): cover Draw, RuleEra bounds, PrizeTier and the unknown-Game guards

* test(application): cover the jackpot-refresh and result-mapping paths

* test(infrastructure): cover the feeds, the import ledger and the DI wiring

* test(infrastructure): cover the feeds, the import ledger and the DI wiring

* fix(feeds): stop parse failures 500ing /internal/refresh

MegaMillionsJackpotFeed's own summary promises "any shape change degrades to
null rather than throwing", and both sibling jackpot feeds guard
HttpRequestException and JsonException. This one guarded nothing:
XDocument.Parse throws XmlException on a non-XML body and Deserialize throws
JsonException on a truncated one.

Neither type is matched by RefreshGame's catch filter, and CompositeJackpotFeed
passes them straight through, so they escape RefreshGame.ExecuteAsync.
/internal/refresh - the endpoint the keep-alive workflow calls - has no
try/catch, so the request 500s and any game after the failing one is skipped.

The trigger is the one this repo has already been bitten by: a bot-challenge
HTML page served with a 200, which is what retired powerball.com's API.

SocrataWinningNumbersFeed had the same escape by a different route. It still
refuses the whole batch - a silently short batch would let gap-repair skip real
draws - but now as InvalidOperationException with the cause kept, which is the
type the caller already handles.

The ten tests that pinned the previous behaviour now assert the corrected
contract. 316 tests pass; coverage unchanged.

* fix(feeds): restore the real MmPayload/MmJackpot shape

The previous commit rewrote these DTOs while adding the exception guard. That
was not part of the fix and it was wrong: the JSON property is Winners, not
JackpotWinners, so deserialization would have silently produced a null winner
count and lost the rollover flag. Restores the file to the tested version -
the guard, and nothing else, changed.

* fix(feeds): report Socrata parse failures as a handled feed error

A malformed payload, or a row whose winning_numbers is short or non-numeric,
escaped as JsonException / FormatException / ArgumentOutOfRangeException. None
of those match RefreshGame's catch filter, so one bad row 500s
/internal/refresh instead of being reported.

The batch is still refused - delivering a silently short batch would let
gap-repair skip real draws - but as InvalidOperationException with the cause
kept, which is the type the caller already handles.

* test(feeds): assert the corrected degradation contract

These ten tests previously pinned the pre-fix behaviour, deliberately written
so a fix would fail them loudly rather than pass silently. MegaMillions now
degrades to null on a non-XML body, a truncated payload and a 5xx, matching its
class comment and both sibling feeds; Socrata still refuses a batch containing
a bad row but reports it as InvalidOperationException with the cause kept.

* build: sync Lottery.Api.Tests lock file for OpenApi 2.12.2

#113 bumped Microsoft.OpenApi 2.12.0 -> 2.12.2 and regenerated the lock files
that existed at the time. Lottery.Api.Tests is new on this branch, so its lock
file still pinned 2.12.0 and locked-mode restore failed NU1004.

Regenerated with dotnet restore --force-evaluate; no other lock file changed.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AWkVh7cyAz1gWapBH1CY8n

---------

Co-authored-by: Claude <noreply@anthropic.com>
@dependabot @github

dependabot Bot commented on behalf of github Aug 25, 2026

Copy link
Copy Markdown
Contributor Author

Looks like jasmine-core is no longer being updated by Dependabot, so this is no longer needed.

@dependabot dependabot Bot closed this Aug 25, 2026
@dependabot
dependabot Bot deleted the dependabot/npm_and_yarn/lottery-web/frontend/jasmine-core-7.0.2 branch August 25, 2026 03:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant