biomejs
biome
BlogDocsChangelog

feat: implement noScriptUrl rule

#8232Merged
Comparing
ruidosujeira:feat/add-no-script-url-rule
(
900c708
) with
main
(
cc2a62e
)
CodSpeed Performance Gauge
0%
Untouched
58
Ignored
2
Skipped
95

Benchmarks

Skipped (95)

Passed

d3.min_16009850199655599998.js[cached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
+2%
104.3 ms101.8 ms
pixi.min_8151088792683739606.js[uncached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
+2%
128.1 ms126.1 ms
math_5920422916221598348.js[cached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
+1%
195.5 ms193 ms
react.production.min_3378072959512366797.js[cached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
+1%
1.8 ms1.8 ms
dojo_11880045762646467684.js[uncached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
+1%
8.7 ms8.6 ms
checker_6456328407951392140.ts[uncached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
+1%
268.5 ms266.4 ms
js_analyzer[router_17129688031671448157.ts]
crates/biome_js_analyze/benches/js_analyzer.rs::js_analyzer::bench_analyzer
CodSpeed Performance Gauge
+1%
27.8 ms27.6 ms
tex-chtml-full_561698452596513081.js[uncached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
+1%
271.7 ms270 ms
d3.min_16009850199655599998.js[uncached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
+1%
111.1 ms110.5 ms
js_formatter[parser_13571644119461115204.ts]
crates/biome_js_formatter/benches/js_formatter.rs::js_formatter::bench_js_formatter
CodSpeed Performance Gauge
0%
19.4 ms19.3 ms
jquery.min_16034160674129647344.js[uncached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
0%
27.5 ms27.4 ms
compiler_3469143416596620219.js[uncached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
0%
159.8 ms159.2 ms
parser_13571644119461115204.ts[cached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
0%
5.9 ms5.9 ms
react.production.min_3378072959512366797.js[uncached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
0%
2 ms2 ms
js_formatter[checker_6456328407951392140.ts]
crates/biome_js_formatter/benches/js_formatter.rs::js_formatter::bench_js_formatter
CodSpeed Performance Gauge
0%
901.9 ms900.1 ms
tex-chtml-full_561698452596513081.js[cached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
0%
260.7 ms260.2 ms
js_formatter[typescript_5583633924076080079.js]
crates/biome_js_formatter/benches/js_formatter.rs::js_formatter::bench_js_formatter
CodSpeed Performance Gauge
0%
3.4 s3.4 s
parser_13571644119461115204.ts[uncached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
0%
6.6 ms6.6 ms
js_formatter[react-dom.production.min_7131952758041326366.js]
crates/biome_js_formatter/benches/js_formatter.rs::js_formatter::bench_js_formatter
CodSpeed Performance Gauge
0%
137 ms136.8 ms
js_analyzer[lint_13640784270757307929.ts]
crates/biome_js_analyze/benches/js_analyzer.rs::js_analyzer::bench_analyzer
CodSpeed Performance Gauge
0%
56.9 ms56.9 ms
js_formatter[jquery.min_16034160674129647344.js]
crates/biome_js_formatter/benches/js_formatter.rs::js_formatter::bench_js_formatter
CodSpeed Performance Gauge
0%
113.4 ms113.3 ms
js_formatter[tex-chtml-full_561698452596513081.js]
crates/biome_js_formatter/benches/js_formatter.rs::js_formatter::bench_js_formatter
CodSpeed Performance Gauge
0%
1.1 s1.1 s
js_formatter[three.min_17199329737537001178.js]
crates/biome_js_formatter/benches/js_formatter.rs::js_formatter::bench_js_formatter
CodSpeed Performance Gauge
0%
570 ms570 ms
js_analyzer[css_16118272471217147034.js]
crates/biome_js_analyze/benches/js_analyzer.rs::js_analyzer::bench_analyzer
CodSpeed Performance Gauge
0%
25.3 ms25.3 ms
class_strings[variant_classes]
crates/biome_js_analyze/benches/use_sorted_classes_parser.rs::use_sorted_classes_parser::bench_use_sorted_classes_parser::use_sorted_classes_parser
CodSpeed Performance Gauge
0%
37.3 µs37.3 µs
class_strings[stress]
crates/biome_js_analyze/benches/use_sorted_classes_parser.rs::use_sorted_classes_parser::bench_use_sorted_classes_parser::use_sorted_classes_parser
CodSpeed Performance Gauge
0%
375.6 µs375.6 µs
class_strings[arbitrary_classes]
crates/biome_js_analyze/benches/use_sorted_classes_parser.rs::use_sorted_classes_parser::bench_use_sorted_classes_parser::use_sorted_classes_parser
CodSpeed Performance Gauge
0%
33.2 µs33.2 µs
class_strings[extreme_stress]
crates/biome_js_analyze/benches/use_sorted_classes_parser.rs::use_sorted_classes_parser::bench_use_sorted_classes_parser::use_sorted_classes_parser
CodSpeed Performance Gauge
0%
151.9 µs151.9 µs
class_strings[simple_classes]
crates/biome_js_analyze/benches/use_sorted_classes_parser.rs::use_sorted_classes_parser::bench_use_sorted_classes_parser::use_sorted_classes_parser
CodSpeed Performance Gauge
0%
20.1 µs20.1 µs
js_analyzer[index_3894593175024091846.js]
crates/biome_js_analyze/benches/js_analyzer.rs::js_analyzer::bench_analyzer
CodSpeed Performance Gauge
0%
60.4 ms60.4 ms
typescript_5583633924076080079.js[uncached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
0%
1 s1 s
js_formatter[router_17129688031671448157.ts]
crates/biome_js_formatter/benches/js_formatter.rs::js_formatter::bench_js_formatter
CodSpeed Performance Gauge
0%
6.5 ms6.5 ms
js_formatter[react.production.min_3378072959512366797.js]
crates/biome_js_formatter/benches/js_formatter.rs::js_formatter::bench_js_formatter
CodSpeed Performance Gauge
0%
6.8 ms6.8 ms
compiler_3469143416596620219.js[cached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
0%
140.3 ms140.3 ms
js_formatter[vue.global.prod_4065256639735990520.js]
crates/biome_js_formatter/benches/js_formatter.rs::js_formatter::bench_js_formatter
CodSpeed Performance Gauge
0%
173.2 ms173.3 ms
js_analyzer[typescript_3735799142832611563.ts]
crates/biome_js_analyze/benches/js_analyzer.rs::js_analyzer::bench_analyzer
CodSpeed Performance Gauge
0%
137.7 ms137.8 ms
js_formatter[pixi.min_8151088792683739606.js]
crates/biome_js_formatter/benches/js_formatter.rs::js_formatter::bench_js_formatter
CodSpeed Performance Gauge
0%
467.3 ms467.8 ms
dojo_11880045762646467684.js[cached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
0%
7.8 ms7.8 ms
vue.global.prod_4065256639735990520.js[uncached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
0%
44.5 ms44.6 ms
js_analyzer[parser_13571644119461115204.ts]
crates/biome_js_analyze/benches/js_analyzer.rs::js_analyzer::bench_analyzer
CodSpeed Performance Gauge
0%
102.1 ms102.3 ms
js_formatter[math_5920422916221598348.js]
crates/biome_js_formatter/benches/js_formatter.rs::js_formatter::bench_js_formatter
CodSpeed Performance Gauge
0%
839.4 ms841.9 ms
typescript_5583633924076080079.js[cached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
0%
920.2 ms922.9 ms
js_formatter[compiler_3469143416596620219.js]
crates/biome_js_formatter/benches/js_formatter.rs::js_formatter::bench_js_formatter
CodSpeed Performance Gauge
0%
526.8 ms528.8 ms
js_formatter[d3.min_16009850199655599998.js]
crates/biome_js_formatter/benches/js_formatter.rs::js_formatter::bench_js_formatter
CodSpeed Performance Gauge
0%
428.6 ms430.3 ms
checker_6456328407951392140.ts[cached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
-1%
244.6 ms245.8 ms
js_formatter[dojo_11880045762646467684.js]
crates/biome_js_formatter/benches/js_formatter.rs::js_formatter::bench_js_formatter
CodSpeed Performance Gauge
-1%
27.1 ms27.3 ms
react-dom.production.min_7131952758041326366.js[uncached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
-1%
36.8 ms37.1 ms
react-dom.production.min_7131952758041326366.js[cached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
-1%
34.2 ms34.4 ms
ios.d_12216376241674358710.d.ts[cached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
-1%
247.9 ms249.8 ms
ios.d_12216376241674358710.d.ts[uncached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
-1%
270.5 ms272.9 ms
js_formatter[ios.d_12216376241674358710.d.ts]
crates/biome_js_formatter/benches/js_formatter.rs::js_formatter::bench_js_formatter
CodSpeed Performance Gauge
-1%
750.3 ms757.4 ms
js_analyzer[statement_263793315104667298.ts]
crates/biome_js_analyze/benches/js_analyzer.rs::js_analyzer::bench_analyzer
CodSpeed Performance Gauge
-1%
86.8 ms87.6 ms
vue.global.prod_4065256639735990520.js[cached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
-1%
41.7 ms42.1 ms
three.min_17199329737537001178.js[uncached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
-2%
143.4 ms145.8 ms
math_5920422916221598348.js[uncached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
-2%
201.5 ms206 ms
jquery.min_16034160674129647344.js[cached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
-2%
25.8 ms26.4 ms
three.min_17199329737537001178.js[cached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
-2%
130.9 ms134 ms
pixi.min_8151088792683739606.js[cached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
-3%
116.6 ms120.8 ms

Ignored

router_17129688031671448157.ts[cached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
Ignored
CodSpeed Performance Gauge
0%
2 ms2 ms
router_17129688031671448157.ts[uncached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
Ignored
CodSpeed Performance Gauge
+6%
2.4 ms2.3 ms

Commits

Click on a commit to change the comparison range
Base
main
cc2a62e
-0.07%
[autofix.ci] apply automated fixes
ba19a93
1 month ago
by autofix-ci[bot]
+0.08%
chore(security/noScriptUrl): resolve rebase conflict, enforce Severity::Error and to_lowercase_cow
1ac0f42
1 month ago
by ruidosujeira
+0.04%
[autofix.ci] apply automated fixes
3976669
1 month ago
by autofix-ci[bot]
-0.04%
feat(js-analyze): add noScriptUrl rule to disallow 'javascript:' URLs in href attributes and React props
cfe9818
1 month ago
by ruidosujeira
-0.23%
[autofix.ci] apply automated fixes
5e5c305
1 month ago
by autofix-ci[bot]
+0.17%
feat(security): add noScriptUrl lint rule to detect and error on javascript: URLs in href attributes and React.createElement props; includes diagnostics and tests passing
60d6fc8
1 month ago
by ruidosujeira
+0.05%
Update .changeset/add-no-script-url-rule.md Co-authored-by: Carson McManus <dyc3@users.noreply.github.com>
5218579
1 month ago
by ruidosujeira
-0.05%
test: run and update snapshots; chore: move noScriptUrl to nursery, add HTML analyzer rule, update sources; fix: add missing semicolons in JSX tests; codegen: regenerate nursery groups; docs: update changeset with separated invalid/valid examples
a708f90
1 month ago
by ruidosujeira
-0.1%
Apply suggestion from @ematipico Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
c00c728
1 month ago
by ruidosujeira
+0.14%
fix(security): register noScriptUrl diagnostic category and fix clippy warnings in HTML nursery rule - Register lint/security/noScriptUrl in diagnostics categories to fix build error - Refactor HTML no_script_url rule to satisfy clippy (use , collapse nested if) Verified with cargo check and targeted tests
9145019
1 month ago
by ruidosujeira
-0.27%
[autofix.ci] apply automated fixes
5fc2b33
1 month ago
by autofix-ci[bot]
+0.31%
[autofix.ci] apply automated fixes
1867fd9
1 month ago
by autofix-ci[bot]
+0.01%
chore(changeset): update changeset to remove duplicate line and shorten content to only show invalid code
0587bd3
1 month ago
by ruidosujeira
+0.14%
chore(changeset): commit latest changeset adjustment
e1fe8dd
1 month ago
by ruidosujeira
-0.04%
chore(changeset): commit latest changes before push
0358506
1 month ago
by ruidosujeira
-0.19%
refactor: apply review feedback for noScriptUrl rule - set recommended + error severity - remove security variant - use biome_rule_options - add Vue/Svelte/Astro tests - update snapshots and changeset
1879ed7
1 month ago
by ruidosujeira
+0.01%
Merge branch 'main' into feat/add-no-script-url-rule
726b356
1 month ago
by ruidosujeira
-0.11%
[autofix.ci] apply automated fixes
a576948
1 month ago
by autofix-ci[bot]
+0.1%
fix(noScriptUrl): remove security variant, use biome_rule_options and make rule recommended
0201aaa
1 month ago
by ruidosujeira
-0.09%
[autofix.ci] apply automated fixes
f6d8dd7
1 month ago
by autofix-ci[bot]
0%
fix: cicd
900c708
21 days ago
by Netail
© 2025 CodSpeed Technology
Home Terms Privacy Docs