Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork698
fix(no-v-html): add CallExpression support to ignorePattern option#2950
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
base:master
Are you sure you want to change the base?
Conversation
changeset-botbot commentedNov 8, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
🦋 Changeset detectedLatest commit:72e48a4 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means?Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
…uejs#2949)This commit extends the `ignorePattern` option to support function call expressionslike `$sanitize(test)`, not just simple variable identifiers like `htmlSafe`.Changes:- Add new `shouldIgnore()` helper function that handles both Identifier and CallExpression expression types- For Identifiers, use the `name` property directly for optimal performance- For CallExpressions and other expression types, use `sourceCode.getText()` to get the full expression text- Update the visitor to pass `sourceCode` to the new helper functionThis allows users to configure patterns like `^\$sanitize\(` to match functioncall expressions where the function name matches the pattern.Tests:- Add test case for CallExpression matching with ignorePattern `^\$sanitize\(`- All existing tests continue to pass
FloEdelmann left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Thanks for looking into it and fixing the core issue! This looks really good 🙂
I just have two minor suggestion.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
There was a problem hiding this comment.
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 extends theignorePattern option in theno-v-html rule to support matching complex expressions likeCallExpression (e.g.,$sanitize(test)), not just simple identifiers. This allows users to whitelist sanitization function calls.
Key changes:
- Refactored the ignore pattern matching logic into a reusable
shouldIgnorehelper function - Added support for matching any expression type by getting the full text when it's not a simple identifier
- Added a test case demonstrating the new CallExpression pattern matching capability
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| lib/rules/no-v-html.js | IntroducedshouldIgnore helper function to handle pattern matching for both Identifiers and complex expressions like CallExpression |
| tests/lib/rules/no-v-html.js | Added valid test case for CallExpression pattern matching with$sanitize() function |
| .changeset/add-callexpression-support.md | Added changeset documenting the patch-level fix |
💡Add Copilot custom instructions for smarter, more guided reviews.Learn how to get started.
Uh oh!
There was an error while loading.Please reload this page.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
kzhrk commentedNov 10, 2025
@FloEdelmann |
Closes#2949
Extends the
ignorePatternoption to support CallExpression (function call)patterns like
$sanitize(test), previously only supporting simple identifiers.This allows users to ignore sanitized HTML expressions using patterns such as
^\$sanitize\(.