Skip to content

IDETECT-5134 : fix(pnpm): use UTF-8 encoding when reading pnpm-lock.yaml to handle emojis and non-ASCII characters#1793

Open
bd-spratikbharti wants to merge 4 commits into
masterfrom
IDETECT-5134
Open

IDETECT-5134 : fix(pnpm): use UTF-8 encoding when reading pnpm-lock.yaml to handle emojis and non-ASCII characters#1793
bd-spratikbharti wants to merge 4 commits into
masterfrom
IDETECT-5134

Conversation

@bd-spratikbharti

Copy link
Copy Markdown
Collaborator

Description

FileReader uses the JVM's platform-default charset, which can garble
emojis and non-ASCII characters in pnpm-lock.yaml on Windows or
non-UTF-8 systems, causing SnakeYAML to fail.

Replaced both FileReader usages with InputStreamReader +
StandardCharsets.UTF_8 to explicitly enforce UTF-8.

No logic changes.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR addresses pnpm lockfile parsing failures on systems where the JVM default charset is not UTF-8 (notably Windows), by explicitly reading pnpm-lock.yaml as UTF-8 before passing it to SnakeYAML.

Changes:

  • Replace FileReader with InputStreamReader + StandardCharsets.UTF_8 for pnpm-lock.yaml parsing.
  • Update the project snapshot version string in build.gradle.

Reviewed changes

Copilot reviewed 1 out of 2 changed files in this pull request and generated 1 comment.

File Description
detectable/src/main/java/com/blackduck/integration/detectable/detectables/pnpm/lockfile/process/PnpmLockYamlParserInitial.java Enforces UTF-8 when reading pnpm-lock.yaml for SnakeYAML parsing.
build.gradle Bumps snapshot version identifier for this change.

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

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.

2 participants