File tree 2 files changed +15
-12
lines changed
src/compiler/compile/nodes
test/validator/samples/security-anchor-rel-noreferrer
2 files changed +15
-12
lines changed Original file line number Diff line number Diff line change @@ -620,17 +620,18 @@ export default class Element extends Node {
620
620
621
621
if ( href_static_value === null || href_static_value . match ( / ^ ( h t t p s ? : ) ? \/ \/ / i) ) {
622
622
const rel = attribute_map . get ( 'rel' ) ;
623
- const rel_values = rel ? rel . get_static_value ( ) . split ( ' ' ) : [ ] ;
624
- const expected_values = [ 'noreferrer' ] ;
625
-
626
- expected_values . forEach ( expected_value => {
627
- if ( ! rel || rel && rel_values . indexOf ( expected_value ) < 0 ) {
628
- component . warn ( this , {
629
- code : `security-anchor-rel-${ expected_value } ` ,
630
- message : `Security: Anchor with "target=_blank" should have rel attribute containing the value "${ expected_value } "`
631
- } ) ;
632
- }
633
- } ) ;
623
+ if ( rel == null || rel . is_static ) {
624
+ const rel_values = rel ? rel . get_static_value ( ) . split ( ' ' ) : [ ] ;
625
+ const expected_values = [ 'noreferrer' ] ;
626
+ expected_values . forEach ( expected_value => {
627
+ if ( ! rel || rel && rel_values . indexOf ( expected_value ) < 0 ) {
628
+ component . warn ( this , {
629
+ code : `security-anchor-rel-${ expected_value } ` ,
630
+ message : `Security: Anchor with "target=_blank" should have rel attribute containing the value "${ expected_value } "`
631
+ } ) ;
632
+ }
633
+ } ) ;
634
+ }
634
635
}
635
636
}
636
637
Original file line number Diff line number Diff line change 28
28
<a href =" HTTPS://svelte.dev" target =" _blank" rel =" noreferrer" >svelte website (valid)</a >
29
29
<a href =" HTTPS://svelte.dev" target =" _blank" rel =" noreferrer noopener" >svelte website (valid)</a >
30
30
<a href =" //svelte.dev" target =" _blank" rel =" noreferrer" >svelte website (valid)</a >
31
- <a href =" //svelte.dev" target =" _blank" rel =" noreferrer noopener" >svelte website (valid)</a >
31
+ <a href =" //svelte.dev" target =" _blank" rel =" noreferrer noopener" >svelte website (valid)</a >
32
+ <!-- dynamic rel value should not warn-->
33
+ <a href ="//svelte.dev" target ="_blank" rel ={` ${Math .random ()} ` }>svelte website (valid)</a >
You can’t perform that action at this time.
0 commit comments