Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 14 additions & 27 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
},
"devDependencies": {
"@redocly/cli": "2.40.0",
"js-yaml": "4.1.0",
"js-yaml": "4.3.1",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Automated checks still install the old library version, so the upgrade has no effect in CI

The version bump was applied to the project's dependency list but not to the continuous-integration step, which still installs the old 4.1.0 build (npm install ... js-yaml@4.1.0 at .github/workflows/foundation-gate.yml:59), so the checks keep running against the outdated copy.
Impact: The security and correctness fixes from the new version are never exercised in CI, and the version actually used there silently diverges from the one declared for the project.

Incomplete version bump: package.json vs foundation-gate workflow

package.json:13 and package-lock.json were updated to js-yaml@4.3.1, but the spec-lint job installs its own copy with npm install --no-save --no-audit --no-fund js-yaml@4.1.0 before running .github/scripts/assert-refs.mjs, which imports js-yaml (.github/scripts/assert-refs.mjs:36). The pinned CI version should be bumped in lockstep.

Prompt for agents
The dependency bump of js-yaml from 4.1.0 to 4.3.1 in package.json/package-lock.json was not applied to .github/workflows/foundation-gate.yml, where the spec-lint job explicitly installs js-yaml@4.1.0 (line 59) before running .github/scripts/assert-refs.mjs. Update the pinned version in the workflow so CI uses the same version as the project manifest, and check for any other hardcoded js-yaml versions in the repo.
Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔍 Behavior changes in 4.2.0 could affect spec parsing

The lockfile shows @redocly/cli also resolves to js-yaml@4.3.1, so both the direct dev dependency and the linter's transitive copy now share the newer parser. 4.2.0 changed scalar resolution (numbers with underscores are no longer numeric), added a maxDepth limit of 100, and rejects top-level block scalars without content indentation. openapi.yaml is parsed by .github/scripts/assert-refs.mjs:36 and by redocly, so if the spec ever contains deeply nested structures or underscore-formatted numeric literals the parse result could differ from before. Worth a quick CI run to confirm lint and $ref assertions still pass.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟨 CI still pins the pre-patch YAML parser version

The dependency was upgraded to 4.3.1 in package.json:13 (which includes DoS/quadratic-complexity fixes for YAML merge and !!omap), but the spec-lint CI job still installs the old 4.1.0 build (npm install ... js-yaml@4.1.0 at .github/workflows/foundation-gate.yml:59) before parsing openapi.yaml via .github/scripts/assert-refs.mjs. CI therefore keeps parsing repo YAML with the unpatched parser.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

"openapi-typescript": "7.13.0"
}
}
Loading