Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix eslint error @typescript-eslint/no-base-to-string in common.ts #6114

Conversation

Shahir-47
Copy link

📑 Summary

This PR fixes the eslint error @typescript-eslint/no-base-to-string caused by the use of .toString() in the file /packages/mermaid/src/diagrams/common/common.ts on line 86. The error prevented pnpm test from running successfully. The issue is resolved by explicitly converting the sanitized text to a string using the String() method.

Resolves #6113

📏 Design Decisions

  • Replaced the .toString() method with String() to explicitly convert the result of DOMPurify.sanitize to a string, adhering to the eslint rule @typescript-eslint/no-base-to-string.
  • This ensures that the object is safely converted without relying on the default stringification format ([object Object]), which was causing the issue.
  • No functionality changes were introduced; the fix only resolves the linting error.

📋 Tasks

Make sure you

  • 📖 have read the contribution guidelines
  • 💻 have added necessary unit/e2e tests.
  • 📓 have added documentation. Make sure MERMAID_RELEASE_VERSION is used for all new features.
  • 🦋 If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. Changesets that add features should be minor and those that fix bugs should be patch. Please prefix changeset messages with feat:, fix:, or chore:.

Shahir-47 and others added 25 commits December 2, 2024 22:31
As [DOMPurify 3.2.0 added TypeScript types][1], this means that we can
remove our dependency on the `@types/dompurify` package.

[DOMPurify 3.2.0 also adds the `HTML_INTEGRATION_POINTS` option][2],
which adds back support for `<foreignObject>`,
[which broke in DOMPurify 3.1.7.][3]

[1]: https://github.com/cure53/DOMPurify/releases/tag/3.2.0
[2]: cure53/DOMPurify@e4caa67
[3]: mermaid-js@de2c05c
According to the [config schema docs](https://mermaid.js.org/config/schema-docs/config-defs-gantt-diagram-config.html#tickinterval-constraints), Gantt's `tickInterval` configuration must match the following regular expression, which does **not** allow any space:

```regexp
/^([1-9][0-9]*)(millisecond|second|minute|hour|day|week|month)$/
```
Copy link

changeset-bot bot commented Dec 5, 2024

⚠️ No Changeset found

Latest commit: 6c2e431

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

@github-actions github-actions bot added the Type: Bug / Error Something isn't working or is incorrect label Dec 5, 2024
Copy link

netlify bot commented Dec 5, 2024

Deploy Preview for mermaid-js ready!

Name Link
🔨 Latest commit 6c2e431
🔍 Latest deploy log https://app.netlify.com/sites/mermaid-js/deploys/6752406bd03d270008b434e9
😎 Deploy Preview https://deploy-preview-6114--mermaid-js.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

…aid into bug/6113_fix-eslint-no-base-to-string
Copy link

pkg-pr-new bot commented Dec 6, 2024

Open in Stackblitz

npm i https://pkg.pr.new/mermaid-js/mermaid@6114
npm i https://pkg.pr.new/mermaid-js/mermaid/@mermaid-js/mermaid-zenuml@6114
npm i https://pkg.pr.new/mermaid-js/mermaid/@mermaid-js/layout-elk@6114
npm i https://pkg.pr.new/mermaid-js/mermaid/@mermaid-js/parser@6114

commit: 6c2e431

Copy link

codecov bot commented Dec 6, 2024

Codecov Report

Attention: Patch coverage is 0% with 1 line in your changes missing coverage. Please review.

Project coverage is 4.48%. Comparing base (df636c6) to head (6c2e431).

Files with missing lines Patch % Lines
packages/mermaid/src/diagrams/common/common.ts 0.00% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##           develop   #6114   +/-   ##
=======================================
  Coverage     4.48%   4.48%           
=======================================
  Files          383     382    -1     
  Lines        54038   54028   -10     
  Branches       596     621   +25     
=======================================
  Hits          2425    2425           
+ Misses       51613   51603   -10     
Flag Coverage Δ
unit 4.48% <0.00%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
packages/mermaid/src/diagrams/common/common.ts 52.87% <0.00%> (-0.14%) ⬇️

... and 1 file with indirect coverage changes

Copy link
Contributor

autofix-ci bot commented Dec 6, 2024

Hi! I'm autofix logoautofix.ci, a bot that automatically fixes trivial issues such as code formatting in pull requests.

I would like to apply some automated changes to this pull request, but it looks like I don't have the necessary permissions to do so. To get this pull request into a mergeable state, please do one of the following two things:

  1. Allow edits by maintainers for your pull request, and then re-trigger CI (for example by pushing a new commit).
  2. Manually fix the issues identified for your pull request (see the GitHub Actions output for details on what I would like to change).

Copy link

argos-ci bot commented Dec 6, 2024

The latest updates on your projects. Learn more about Argos notifications ↗︎

Build Status Details Updated (UTC)
default (Inspect) ⚠️ Changes detected (Review) 339 added, 339 removed, 4 failures Dec 6, 2024, 12:19 AM

@Shahir-47 Shahir-47 closed this Dec 6, 2024
@Shahir-47 Shahir-47 deleted the bug/6113_fix-eslint-no-base-to-string branch December 6, 2024 00:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Bug / Error Something isn't working or is incorrect
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Fix eslint error @typescript-eslint/no-base-to-string causing test failures
9 participants