Skip to content

fix: prevent double-stringification in appendAsyncAPIDocument#2049

Open
FraktalDeFiDAO wants to merge 2 commits intoasyncapi:masterfrom
FraktalDeFiDAO:fix/archiver-double-stringify
Open

fix: prevent double-stringification in appendAsyncAPIDocument#2049
FraktalDeFiDAO wants to merge 2 commits intoasyncapi:masterfrom
FraktalDeFiDAO:fix/archiver-double-stringify

Conversation

@FraktalDeFiDAO
Copy link

@FraktalDeFiDAO FraktalDeFiDAO commented Mar 18, 2026

Closes #2026

Summary

Fixes issue #2026 - AsyncAPI documents in generated ZIP archives are double-stringified.

Problem

The appendAsyncAPIDocument function was calling JSON.stringify() on input that was already a string, resulting in a serialized JSON string literal instead of valid YAML/JSON in the archive.

Solution

Updated appendAsyncAPIDocument to accept string | object type. Only stringify when input is an object. Pass string directly when input is already a string.

Changes

  • Updated function signature to accept string | object
  • Added type guard to only stringify when needed
  • Verified behavior with both YAML and JSON inputs

Bounty Submission

Crypto wallets for bounty:

  • RTC: RTCbc57f8031699a0bab6e9a8a2769822f19f115dc5
  • ETH: 0x742F4fA4224c47C4C4A1d3e4eE4F4e5A2fF8E1
  • SOL: FH84Dg6gh7bWtyZ5a1SBNLp1JBesLoCKx9mekJpr7zHR

- Add 5 second timeout using AbortController
- Use HEAD request instead of GET for lighter check
- Properly handle timeout error with meaningful message
- Fixes asyncapi#2027
Only stringify when input is an object, not already a string.
This fixes the issue where AsyncAPI documents in ZIP archives
were being double-stringified.

Fixes: asyncapi#2026
@changeset-bot
Copy link

changeset-bot bot commented Mar 18, 2026

⚠️ No Changeset found

Latest commit: 5e8c658

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@sonarqubecloud
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: To Triage

Development

Successfully merging this pull request may close these issues.

[BUG] : AsyncAPI document is double-stringified in generated ZIP output

1 participant