-
-
Notifications
You must be signed in to change notification settings - Fork 698
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
🦋 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 expressions like `$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 function This allows users to configure patterns like `^\$sanitize\(` to match function call 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.
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 the ignorePattern option in the no-v-html rule to support matching complex expressions like CallExpression (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 | Introduced shouldIgnore 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.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
@FloEdelmann |
ota-meshi
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.
LGTM! Thank you!
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\(.