fix(no-v-html): add CallExpression support to ignorePattern option#2950
fix(no-v-html): add CallExpression support to ignorePattern option#2950ota-meshi merged 3 commits intovuejs:masterfrom
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.
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.
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 |
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\(.