Skip to content

Commit 219a738

Browse files
authoredApr 15, 2023
fix(es): Allow extra comments after sourceMappingURL (#7262)
1 parent 5f06606 commit 219a738

File tree

4 files changed

+44
-1
lines changed

4 files changed

+44
-1
lines changed
 

‎crates/swc/src/lib.rs

+9-1
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,15 @@ impl Compiler {
309309
let read_sourcemap = || -> Result<Option<sourcemap::SourceMap>, Error> {
310310
let s = "sourceMappingURL=";
311311
let idx = fm.src.rfind(s);
312-
let data_url = idx.map(|idx| &fm.src[idx + s.len()..]);
312+
313+
let data_url = idx.map(|idx| {
314+
let data_idx = idx + s.len();
315+
if let Some(end) = fm.src[data_idx..].find('\n').map(|i| i + data_idx + 1) {
316+
&fm.src[data_idx..end]
317+
} else {
318+
&fm.src[data_idx..]
319+
}
320+
});
313321

314322
match read_inline_sourcemap(data_url) {
315323
Ok(r) => Ok(r),

‎crates/swc/tests/source_map.rs

+5
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,11 @@ fn case_inline() {
7474
inline("tests/srcmap/case-inline/index.js");
7575
}
7676

77+
#[test]
78+
fn case_inline_extra_content() {
79+
inline("tests/srcmap/case-inline-extra-content/index.js");
80+
}
81+
7782
#[test]
7883
fn issue_622() {
7984
file("tests/srcmap/issue-622/index.js", Default::default()).unwrap();
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"inputSourceMap": true,
3+
}

‎crates/swc/tests/srcmap/case-inline-extra-content/index.js

+27
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

1 commit comments

Comments
 (1)

github-actions[bot] commented on Apr 15, 2023

@github-actions[bot]

Benchmark

Benchmark suite Current: 219a738 Previous: beefdd4 Ratio
es/full/bugs-1 304403 ns/iter (± 13604) 315341 ns/iter (± 11010) 0.97
es/full/minify/libraries/antd 1715397201 ns/iter (± 52660990) 1752783878 ns/iter (± 27556112) 0.98
es/full/minify/libraries/d3 303205229 ns/iter (± 11401382) 325973123 ns/iter (± 9390149) 0.93
es/full/minify/libraries/echarts 1253251574 ns/iter (± 23722406) 1322669207 ns/iter (± 16524826) 0.95
es/full/minify/libraries/jquery 92085659 ns/iter (± 2915833) 96099639 ns/iter (± 2205601) 0.96
es/full/minify/libraries/lodash 108115859 ns/iter (± 2785229) 112528632 ns/iter (± 2274154) 0.96
es/full/minify/libraries/moment 53494670 ns/iter (± 600044) 54964676 ns/iter (± 833704) 0.97
es/full/minify/libraries/react 19246595 ns/iter (± 309687) 19677363 ns/iter (± 145700) 0.98
es/full/minify/libraries/terser 248582338 ns/iter (± 2888778) 271359604 ns/iter (± 3689083) 0.92
es/full/minify/libraries/three 452888437 ns/iter (± 10798276) 482027767 ns/iter (± 5543603) 0.94
es/full/minify/libraries/typescript 3148207308 ns/iter (± 41975054) 3236163789 ns/iter (± 39727062) 0.97
es/full/minify/libraries/victory 702215914 ns/iter (± 12606552) 728791062 ns/iter (± 14638314) 0.96
es/full/minify/libraries/vue 131447906 ns/iter (± 2481055) 138469264 ns/iter (± 2299962) 0.95
es/full/codegen/es3 28509 ns/iter (± 58) 28864 ns/iter (± 73) 0.99
es/full/codegen/es5 28580 ns/iter (± 60) 28953 ns/iter (± 52) 0.99
es/full/codegen/es2015 28680 ns/iter (± 90) 28964 ns/iter (± 52) 0.99
es/full/codegen/es2016 28645 ns/iter (± 57) 28973 ns/iter (± 69) 0.99
es/full/codegen/es2017 28635 ns/iter (± 79) 28942 ns/iter (± 161) 0.99
es/full/codegen/es2018 28564 ns/iter (± 40) 28943 ns/iter (± 75) 0.99
es/full/codegen/es2019 28594 ns/iter (± 58) 28910 ns/iter (± 82) 0.99
es/full/codegen/es2020 28613 ns/iter (± 51) 28972 ns/iter (± 79) 0.99
es/full/all/es3 183518087 ns/iter (± 5591848) 180109940 ns/iter (± 1863234) 1.02
es/full/all/es5 177489629 ns/iter (± 3702949) 172360639 ns/iter (± 2041043) 1.03
es/full/all/es2015 136458754 ns/iter (± 3441632) 135007833 ns/iter (± 2320926) 1.01
es/full/all/es2016 134983857 ns/iter (± 3034810) 133741440 ns/iter (± 2229520) 1.01
es/full/all/es2017 133221278 ns/iter (± 885721) 132752894 ns/iter (± 2694783) 1.00
es/full/all/es2018 131971157 ns/iter (± 4371243) 126669835 ns/iter (± 2626322) 1.04
es/full/all/es2019 127114369 ns/iter (± 4513031) 124816270 ns/iter (± 2822347) 1.02
es/full/all/es2020 120027050 ns/iter (± 2615648) 117735822 ns/iter (± 1245030) 1.02
es/full/parser 516625 ns/iter (± 9934) 516581 ns/iter (± 7782) 1.00
es/full/base/fixer 22573 ns/iter (± 28) 23985 ns/iter (± 43) 0.94
es/full/base/resolver_and_hygiene 84348 ns/iter (± 140) 84066 ns/iter (± 132) 1.00
serialization of serde 122 ns/iter (± 0) 122 ns/iter (± 0) 1
css/minify/libraries/bootstrap 27449725 ns/iter (± 179998) 28558097 ns/iter (± 303055) 0.96
css/visitor/compare/clone 2116103 ns/iter (± 27169) 2141344 ns/iter (± 21257) 0.99
css/visitor/compare/visit_mut_span 2325107 ns/iter (± 3573) 2759207 ns/iter (± 213255) 0.84
css/visitor/compare/visit_mut_span_panic 2363610 ns/iter (± 4777) 2497302 ns/iter (± 47067) 0.95
css/visitor/compare/fold_span 3125298 ns/iter (± 16595) 3384724 ns/iter (± 94061) 0.92
css/visitor/compare/fold_span_panic 3280943 ns/iter (± 16277) 3637139 ns/iter (± 51769) 0.90
css/lexer/bootstrap_5_1_3 5134322 ns/iter (± 12649) 5163473 ns/iter (± 12659) 0.99
css/lexer/foundation_6_7_4 4414890 ns/iter (± 2107) 4346624 ns/iter (± 1581) 1.02
css/lexer/tailwind_3_1_1 837224 ns/iter (± 211) 826475 ns/iter (± 358) 1.01
css/parser/bootstrap_5_1_3 21308638 ns/iter (± 178557) 22573007 ns/iter (± 159537) 0.94
css/parser/foundation_6_7_4 16870170 ns/iter (± 98322) 17510532 ns/iter (± 179656) 0.96
css/parser/tailwind_3_1_1 3252479 ns/iter (± 5640) 3371600 ns/iter (± 22718) 0.96
es/codegen/colors 326413 ns/iter (± 184990) 325584 ns/iter (± 184787) 1.00
es/codegen/large 1113776 ns/iter (± 569241) 1264428 ns/iter (± 663754) 0.88
es/codegen/with-parser/colors 47471 ns/iter (± 434) 46979 ns/iter (± 361) 1.01
es/codegen/with-parser/large 510434 ns/iter (± 1846) 511100 ns/iter (± 1165) 1.00
es/minify/libraries/antd 1470634416 ns/iter (± 32323302) 1490891797 ns/iter (± 19689611) 0.99
es/minify/libraries/d3 260442750 ns/iter (± 7399988) 282116668 ns/iter (± 4267334) 0.92
es/minify/libraries/echarts 1127737087 ns/iter (± 22720789) 1160630173 ns/iter (± 9454827) 0.97
es/minify/libraries/jquery 81534027 ns/iter (± 1236927) 81643872 ns/iter (± 793094) 1.00
es/minify/libraries/lodash 97212907 ns/iter (± 4660848) 96613278 ns/iter (± 1055630) 1.01
es/minify/libraries/moment 47007755 ns/iter (± 851896) 46510098 ns/iter (± 467464) 1.01
es/minify/libraries/react 17209424 ns/iter (± 543406) 17521705 ns/iter (± 135571) 0.98
es/minify/libraries/terser 213087624 ns/iter (± 3736852) 229108025 ns/iter (± 5717801) 0.93
es/minify/libraries/three 383325972 ns/iter (± 7495348) 412778478 ns/iter (± 9443330) 0.93
es/minify/libraries/typescript 2663447715 ns/iter (± 32842749) 2740941593 ns/iter (± 26357409) 0.97
es/minify/libraries/victory 605799574 ns/iter (± 20455318) 651336284 ns/iter (± 8552172) 0.93
es/minify/libraries/vue 121162511 ns/iter (± 5768101) 121371969 ns/iter (± 1623205) 1.00
es/visitor/compare/clone 2357856 ns/iter (± 6927) 2392189 ns/iter (± 8182) 0.99
es/visitor/compare/visit_mut_span 2759521 ns/iter (± 35648) 2764832 ns/iter (± 19620) 1.00
es/visitor/compare/visit_mut_span_panic 2806750 ns/iter (± 13344) 2842734 ns/iter (± 24270) 0.99
es/visitor/compare/fold_span 3875346 ns/iter (± 18961) 3968223 ns/iter (± 48850) 0.98
es/visitor/compare/fold_span_panic 3996697 ns/iter (± 7122) 4118887 ns/iter (± 51336) 0.97
es/lexer/colors 13103 ns/iter (± 53) 13105 ns/iter (± 22) 1.00
es/lexer/angular 6367540 ns/iter (± 2206) 6390073 ns/iter (± 2193) 1.00
es/lexer/backbone 787696 ns/iter (± 575) 790406 ns/iter (± 319) 1.00
es/lexer/jquery 4397574 ns/iter (± 1979) 4438544 ns/iter (± 1224) 0.99
es/lexer/jquery mobile 6873729 ns/iter (± 1774) 6962118 ns/iter (± 3870) 0.99
es/lexer/mootools 3462725 ns/iter (± 2218) 3461875 ns/iter (± 769) 1.00
es/lexer/underscore 650337 ns/iter (± 608) 650630 ns/iter (± 268) 1.00
es/lexer/three 20808541 ns/iter (± 13563) 20904729 ns/iter (± 12975) 1.00
es/lexer/yui 3852800 ns/iter (± 2109) 3856275 ns/iter (± 3338) 1.00
es/parser/colors 29314 ns/iter (± 67) 29317 ns/iter (± 62) 1.00
es/parser/angular 15394396 ns/iter (± 236542) 15957572 ns/iter (± 125462) 0.96
es/parser/backbone 2175014 ns/iter (± 17469) 2180485 ns/iter (± 9280) 1.00
es/parser/jquery 11911283 ns/iter (± 157510) 12347346 ns/iter (± 238447) 0.96
es/parser/jquery mobile 18772172 ns/iter (± 302477) 19976192 ns/iter (± 232232) 0.94
es/parser/mootools 8951062 ns/iter (± 28050) 9158501 ns/iter (± 80555) 0.98
es/parser/underscore 1834395 ns/iter (± 13496) 1829875 ns/iter (± 9449) 1.00
es/parser/three 55150067 ns/iter (± 507064) 56430895 ns/iter (± 447102) 0.98
es/parser/yui 9170221 ns/iter (± 75467) 9508458 ns/iter (± 142949) 0.96
es/preset-env/usage/builtin_type 142581 ns/iter (± 34594) 141168 ns/iter (± 34573) 1.01
es/preset-env/usage/property 20334 ns/iter (± 78) 20200 ns/iter (± 101) 1.01
es/resolver/typescript 121745395 ns/iter (± 2445803) 122365865 ns/iter (± 1634838) 0.99
es/fixer/typescript 87968382 ns/iter (± 1053889) 88017488 ns/iter (± 3874190) 1.00
es/hygiene/typescript 189680981 ns/iter (± 2234691) 191131143 ns/iter (± 2778478) 0.99
es/resolver_with_hygiene/typescript 333395480 ns/iter (± 6456515) 340467862 ns/iter (± 11999350) 0.98
es/visitor/base-perf/module_clone 80440 ns/iter (± 383) 80456 ns/iter (± 642) 1.00
es/visitor/base-perf/fold_empty 90538 ns/iter (± 479) 90627 ns/iter (± 482) 1.00
es/visitor/base-perf/fold_noop_impl_all 91203 ns/iter (± 208) 90759 ns/iter (± 384) 1.00
es/visitor/base-perf/fold_noop_impl_vec 90989 ns/iter (± 393) 91229 ns/iter (± 442) 1.00
es/visitor/base-perf/boxing_boxed_clone 56 ns/iter (± 0) 56 ns/iter (± 0) 1
es/visitor/base-perf/boxing_unboxed_clone 41 ns/iter (± 0) 41 ns/iter (± 0) 1
es/visitor/base-perf/boxing_boxed 102 ns/iter (± 0) 101 ns/iter (± 0) 1.01
es/visitor/base-perf/boxing_unboxed 79 ns/iter (± 0) 78 ns/iter (± 0) 1.01
es/visitor/base-perf/visit_contains_this 3522 ns/iter (± 99) 3532 ns/iter (± 76) 1.00
es/base/parallel/resolver/typescript 6251617113 ns/iter (± 483526036) 6017919788 ns/iter (± 454540961) 1.04
es/base/parallel/hygiene/typescript 2215962388 ns/iter (± 25535503) 2219515544 ns/iter (± 26997200) 1.00
misc/visitors/time-complexity/time 5 102 ns/iter (± 0) 101 ns/iter (± 0) 1.01
misc/visitors/time-complexity/time 10 317 ns/iter (± 6) 316 ns/iter (± 2) 1.00
misc/visitors/time-complexity/time 15 643 ns/iter (± 0) 645 ns/iter (± 9) 1.00
misc/visitors/time-complexity/time 20 1198 ns/iter (± 1) 1222 ns/iter (± 15) 0.98
misc/visitors/time-complexity/time 40 6700 ns/iter (± 104) 6601 ns/iter (± 42) 1.01
misc/visitors/time-complexity/time 60 16905 ns/iter (± 36) 17027 ns/iter (± 120) 0.99
es/full-target/es2016 253128 ns/iter (± 1759) 254907 ns/iter (± 597) 0.99
es/full-target/es2017 246766 ns/iter (± 288) 247526 ns/iter (± 447) 1.00
es/full-target/es2018 235879 ns/iter (± 414) 236821 ns/iter (± 363) 1.00
es2020_nullish_coalescing 93704 ns/iter (± 365) 93533 ns/iter (± 410) 1.00
es2020_optional_chaining 124742 ns/iter (± 236) 125162 ns/iter (± 240) 1.00
es2022_class_properties 149281 ns/iter (± 380) 150034 ns/iter (± 296) 0.99
es2018_object_rest_spread 96440 ns/iter (± 264) 96824 ns/iter (± 245) 1.00
es2019_optional_catch_binding 85869 ns/iter (± 206) 85823 ns/iter (± 234) 1.00
es2017_async_to_generator 86467 ns/iter (± 250) 86228 ns/iter (± 238) 1.00
es2016_exponentiation 90561 ns/iter (± 207) 90650 ns/iter (± 279) 1.00
es2015_arrow 94423 ns/iter (± 235) 94942 ns/iter (± 240) 0.99
es2015_block_scoped_fn 92480 ns/iter (± 197) 92854 ns/iter (± 200) 1.00
es2015_block_scoping 169984 ns/iter (± 334) 170991 ns/iter (± 276) 0.99

This comment was automatically generated by workflow using github-action-benchmark.

Please sign in to comment.