Repository navigation
fix(yaml): preserve numeric mapping keys - #2030
Open
sricharanreddycheruku wants to merge 3 commits into
Open
sricharanreddycheruku wants to merge 3 commits into
sricharanreddycheruku wants to merge 3 commits into
Conversation
|
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.
Rollup Plugin Name:
@rollup/plugin-yamlThis PR contains:
Are tests included?
Breaking Changes?
If yes, then include "BREAKING CHANGES:" in the first commit message body, followed by a description of what is breaking.
List any relevant issue numbers:
Resolves #1992
Description
Quoted YAML mapping keys such as '01' currently become unquoted JavaScript numeric keys, causing Rollup to reject the generated ES module in strict mode. Large numeric strings can also round to a different property name.
Serialize mappings and arrays with quoted property names while retaining the existing serializer for special values. Tests build the YAML through Rollup and check nested numeric keys, large numeric keys, timestamps, non-finite numbers, aliases, named export identity and special values returned by a transform. Compatibility coverage also checks boxed objects, sparse arrays and circular containers.
Arrays with trailing holes retain the existing tosource behavior, which drops one trailing hole. The compatibility test checks array lengths and missing indexes and also passes with unchanged master.
Validation: pnpm test in packages/yaml passed all 111 tests. Root pnpm lint and pnpm prettier:check passed. The numeric-key regression failed on unchanged master with the reported strict-mode error.