--- name: verify-csp description: Scan popup HTML and JS for Alpine.js CSP violations after editing popup code --- Scan `popup/popup.html` and `popup/popup.js` for Alpine.js CSP compliance violations. The extension runs under a Content Security Policy that forbids JavaScript evaluation, so Alpine.js attributes must never contain inline expressions. **Check for these violation patterns in HTML attributes (`x-show`, `x-if`, `x-text`, `x-bind:*`, `:attr`, `@event`, etc.):** - Equality/comparison operators: `===`, `!==`, `==`, `!=`, `>`, `<` - Method or function calls: `foo()`, `this.bar()` - Ternary expressions: `condition ? a : b` - Logical operators used to compute values: `a && b`, `a || b` - String concatenation or arithmetic **What is allowed:** - Simple property access: `x-show="isOpen"`, `:class="activeClass"` - `$el`, `$refs`, `$store` access without calling methods - Negation of a boolean property: `x-show="!isOpen"` (acceptable) For each violation found, report: 1. File and line number 2. The offending attribute and its current value 3. The compliant fix — typically moving the logic into `Alpine.data()` as a computed property or method, then binding the property name in the template If no violations are found, confirm the popup is CSP-compliant.