Skip to content

Commit

Permalink
refactor(es/types): Extract @swc/types as a small, reusable package (
Browse files Browse the repository at this point in the history
…#7834)

**Related issue:**

 - Closes #7828
  • Loading branch information
kdy1 committed Aug 18, 2023
1 parent f87581f commit f713f1b
Show file tree
Hide file tree
Showing 15 changed files with 3,897 additions and 2,823 deletions.
2 changes: 1 addition & 1 deletion node-swc/src/Visitor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ import {
WhileStatement,
WithStatement,
YieldExpression,
} from "./types";
} from "@swc/types";

export class Visitor {
visitProgram(n: Program): Program {
Expand Down
6 changes: 3 additions & 3 deletions node-swc/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { resolve } from "path";
import {
import type {
Plugin,
ParseOptions,
Module,
Expand All @@ -8,8 +8,8 @@ import {
Script,
Program,
JsMinifyOptions,
} from "./types";
export * from "./types";
} from "@swc/types";
export * from "@swc/types";
import { BundleInput, compileBundleOptions } from "./spack";
import * as assert from "assert";

Expand Down
2 changes: 1 addition & 1 deletion node-swc/src/spack.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as path from 'path';

import { Options } from "./types";
import { Options } from "@swc/types";

export type BundleInput = BundleOptions | BundleOptions[];

Expand Down

1 comment on commit f713f1b

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark

Benchmark suite Current: f713f1b Previous: 1ab406c Ratio
es/full/bugs-1 288248 ns/iter (± 6766) 291928 ns/iter (± 4369) 0.99
es/full/minify/libraries/antd 1284305173 ns/iter (± 7284154) 1332122829 ns/iter (± 15598304) 0.96
es/full/minify/libraries/d3 272155149 ns/iter (± 3467534) 280586004 ns/iter (± 5344692) 0.97
es/full/minify/libraries/echarts 1029503819 ns/iter (± 10819324) 1069130806 ns/iter (± 10527559) 0.96
es/full/minify/libraries/jquery 82762382 ns/iter (± 63516) 83781495 ns/iter (± 426690) 0.99
es/full/minify/libraries/lodash 96109857 ns/iter (± 235891) 96917913 ns/iter (± 433654) 0.99
es/full/minify/libraries/moment 48917564 ns/iter (± 66811) 49275716 ns/iter (± 378434) 0.99
es/full/minify/libraries/react 17769138 ns/iter (± 40588) 17860655 ns/iter (± 57166) 0.99
es/full/minify/libraries/terser 214093595 ns/iter (± 292194) 217468960 ns/iter (± 1748709) 0.98
es/full/minify/libraries/three 378671498 ns/iter (± 1921119) 391029627 ns/iter (± 3969412) 0.97
es/full/minify/libraries/typescript 2600568186 ns/iter (± 13469813) 2669270797 ns/iter (± 18265978) 0.97
es/full/minify/libraries/victory 552144412 ns/iter (± 5664247) 574824476 ns/iter (± 6691878) 0.96
es/full/minify/libraries/vue 117577143 ns/iter (± 196804) 119222557 ns/iter (± 661937) 0.99
es/full/codegen/es3 34110 ns/iter (± 76) 34585 ns/iter (± 79) 0.99
es/full/codegen/es5 34098 ns/iter (± 90) 34489 ns/iter (± 132) 0.99
es/full/codegen/es2015 34039 ns/iter (± 63) 34435 ns/iter (± 120) 0.99
es/full/codegen/es2016 34126 ns/iter (± 92) 34456 ns/iter (± 169) 0.99
es/full/codegen/es2017 34007 ns/iter (± 82) 34428 ns/iter (± 159) 0.99
es/full/codegen/es2018 34151 ns/iter (± 103) 34440 ns/iter (± 204) 0.99
es/full/codegen/es2019 34216 ns/iter (± 139) 34503 ns/iter (± 122) 0.99
es/full/codegen/es2020 34043 ns/iter (± 99) 34436 ns/iter (± 152) 0.99
es/full/all/es3 166829261 ns/iter (± 870405) 169053627 ns/iter (± 1394430) 0.99
es/full/all/es5 160172167 ns/iter (± 1641897) 160790133 ns/iter (± 811569) 1.00
es/full/all/es2015 119638582 ns/iter (± 633574) 120484155 ns/iter (± 951003) 0.99
es/full/all/es2016 118384474 ns/iter (± 755649) 119795619 ns/iter (± 354720) 0.99
es/full/all/es2017 117356155 ns/iter (± 428157) 118692812 ns/iter (± 413883) 0.99
es/full/all/es2018 115402677 ns/iter (± 637116) 116523012 ns/iter (± 628270) 0.99
es/full/all/es2019 114535529 ns/iter (± 849494) 116341452 ns/iter (± 654528) 0.98
es/full/all/es2020 110766964 ns/iter (± 751169) 111305152 ns/iter (± 509346) 1.00
es/full/parser 493570 ns/iter (± 5839) 496255 ns/iter (± 5432) 0.99
es/full/base/fixer 17994 ns/iter (± 168) 20248 ns/iter (± 126) 0.89
es/full/base/resolver_and_hygiene 80199 ns/iter (± 206) 80664 ns/iter (± 350) 0.99
serialization of serde 300 ns/iter (± 3) 298 ns/iter (± 0) 1.01
css/minify/libraries/bootstrap 28574074 ns/iter (± 66713) 29124635 ns/iter (± 54849) 0.98
css/visitor/compare/clone 1634124 ns/iter (± 4345) 1644554 ns/iter (± 13993) 0.99
css/visitor/compare/visit_mut_span 1758648 ns/iter (± 2027) 1776181 ns/iter (± 4087) 0.99
css/visitor/compare/visit_mut_span_panic 1827832 ns/iter (± 5625) 1848401 ns/iter (± 5308) 0.99
css/visitor/compare/fold_span 2596313 ns/iter (± 16907) 2577216 ns/iter (± 16883) 1.01
css/visitor/compare/fold_span_panic 2745610 ns/iter (± 18149) 2751025 ns/iter (± 10981) 1.00
css/lexer/bootstrap_5_1_3 4497025 ns/iter (± 11474) 4891164 ns/iter (± 3655) 0.92
css/lexer/foundation_6_7_4 3851538 ns/iter (± 10697) 4140025 ns/iter (± 3866) 0.93
css/lexer/tailwind_3_1_1 731978 ns/iter (± 2896) 778255 ns/iter (± 900) 0.94
css/parser/bootstrap_5_1_3 18961604 ns/iter (± 28481) 19286031 ns/iter (± 140896) 0.98
css/parser/foundation_6_7_4 15109265 ns/iter (± 51768) 15415596 ns/iter (± 34273) 0.98
css/parser/tailwind_3_1_1 2918639 ns/iter (± 22637) 2967497 ns/iter (± 3423) 0.98
es/codegen/colors 744292 ns/iter (± 405106) 728383 ns/iter (± 397205) 1.02
es/codegen/large 3110296 ns/iter (± 1659203) 2914729 ns/iter (± 1531970) 1.07
es/codegen/with-parser/colors 44959 ns/iter (± 391) 45656 ns/iter (± 112) 0.98
es/codegen/with-parser/large 483365 ns/iter (± 21626) 485564 ns/iter (± 494) 1.00
es/minify/libraries/antd 1128632308 ns/iter (± 10206206) 1159027942 ns/iter (± 9629493) 0.97
es/minify/libraries/d3 238504059 ns/iter (± 413427) 241548165 ns/iter (± 2567713) 0.99
es/minify/libraries/echarts 889162946 ns/iter (± 2961276) 927060435 ns/iter (± 6700904) 0.96
es/minify/libraries/jquery 73016337 ns/iter (± 118089) 73947601 ns/iter (± 231448) 0.99
es/minify/libraries/lodash 86685646 ns/iter (± 233932) 87652017 ns/iter (± 144565) 0.99
es/minify/libraries/moment 43477129 ns/iter (± 59650) 43851984 ns/iter (± 153647) 0.99
es/minify/libraries/react 16024172 ns/iter (± 35639) 16184413 ns/iter (± 59655) 0.99
es/minify/libraries/terser 184490473 ns/iter (± 445815) 188827003 ns/iter (± 720127) 0.98
es/minify/libraries/three 319566488 ns/iter (± 925337) 330482662 ns/iter (± 2284505) 0.97
es/minify/libraries/typescript 2205122345 ns/iter (± 10383273) 2285011485 ns/iter (± 14230215) 0.97
es/minify/libraries/victory 465469361 ns/iter (± 1411206) 487580651 ns/iter (± 3154619) 0.95
es/minify/libraries/vue 106059198 ns/iter (± 180330) 108328752 ns/iter (± 853301) 0.98
es/visitor/compare/clone 1951228 ns/iter (± 2245) 1959123 ns/iter (± 6633) 1.00
es/visitor/compare/visit_mut_span 2269529 ns/iter (± 25671) 2263183 ns/iter (± 9221) 1.00
es/visitor/compare/visit_mut_span_panic 2324915 ns/iter (± 10175) 2337452 ns/iter (± 6869) 0.99
es/visitor/compare/fold_span 3373279 ns/iter (± 5405) 3376930 ns/iter (± 9223) 1.00
es/visitor/compare/fold_span_panic 3501474 ns/iter (± 14236) 3486660 ns/iter (± 9042) 1.00
es/lexer/colors 12980 ns/iter (± 87) 13285 ns/iter (± 16) 0.98
es/lexer/angular 6109566 ns/iter (± 13595) 6148395 ns/iter (± 10333) 0.99
es/lexer/backbone 788068 ns/iter (± 2669) 791739 ns/iter (± 863) 1.00
es/lexer/jquery 4490542 ns/iter (± 33577) 4523980 ns/iter (± 4442) 0.99
es/lexer/jquery mobile 6835292 ns/iter (± 13899) 6893582 ns/iter (± 10589) 0.99
es/lexer/mootools 3535743 ns/iter (± 17795) 3580557 ns/iter (± 6253) 0.99
es/lexer/underscore 652702 ns/iter (± 5021) 666055 ns/iter (± 300) 0.98
es/lexer/three 21205175 ns/iter (± 39725) 21715328 ns/iter (± 38214) 0.98
es/lexer/yui 3804579 ns/iter (± 25513) 3885888 ns/iter (± 3070) 0.98
es/parser/colors 27160 ns/iter (± 101) 27241 ns/iter (± 58) 1.00
es/parser/angular 13465626 ns/iter (± 97380) 13444286 ns/iter (± 123409) 1.00
es/parser/backbone 1994719 ns/iter (± 12058) 1987225 ns/iter (± 5261) 1.00
es/parser/jquery 10908712 ns/iter (± 51713) 10857393 ns/iter (± 59813) 1.00
es/parser/jquery mobile 16703227 ns/iter (± 86506) 16692840 ns/iter (± 116124) 1.00
es/parser/mootools 8398667 ns/iter (± 47938) 8363628 ns/iter (± 17229) 1.00
es/parser/underscore 1727533 ns/iter (± 9501) 1724535 ns/iter (± 11416) 1.00
es/parser/three 46856753 ns/iter (± 296134) 47210237 ns/iter (± 429211) 0.99
es/parser/yui 8209107 ns/iter (± 89933) 8233716 ns/iter (± 35787) 1.00
es/preset-env/usage/builtin_type 136643 ns/iter (± 32674) 139033 ns/iter (± 33091) 0.98
es/preset-env/usage/property 16364 ns/iter (± 105) 16981 ns/iter (± 64) 0.96
es/resolver/typescript 87898306 ns/iter (± 778101) 90015225 ns/iter (± 1114642) 0.98
es/fixer/typescript 62595748 ns/iter (± 650458) 65152501 ns/iter (± 855238) 0.96
es/hygiene/typescript 127850871 ns/iter (± 695367) 132364794 ns/iter (± 2477137) 0.97
es/resolver_with_hygiene/typescript 235826748 ns/iter (± 1900140) 245411306 ns/iter (± 2459203) 0.96
es/visitor/base-perf/module_clone 59692 ns/iter (± 488) 60790 ns/iter (± 424) 0.98
es/visitor/base-perf/fold_empty 63781 ns/iter (± 449) 65332 ns/iter (± 393) 0.98
es/visitor/base-perf/fold_noop_impl_all 64172 ns/iter (± 435) 65272 ns/iter (± 337) 0.98
es/visitor/base-perf/fold_noop_impl_vec 64373 ns/iter (± 582) 65099 ns/iter (± 249) 0.99
es/visitor/base-perf/boxing_boxed_clone 56 ns/iter (± 0) 57 ns/iter (± 0) 0.98
es/visitor/base-perf/boxing_unboxed_clone 40 ns/iter (± 0) 40 ns/iter (± 0) 1
es/visitor/base-perf/boxing_boxed 111 ns/iter (± 1) 111 ns/iter (± 0) 1
es/visitor/base-perf/boxing_unboxed 79 ns/iter (± 1) 79 ns/iter (± 0) 1
es/visitor/base-perf/visit_empty 0 ns/iter (± 0) 0 ns/iter (± 0) NaN
es/visitor/base-perf/visit_contains_this 2668 ns/iter (± 15) 2726 ns/iter (± 31) 0.98
es/base/parallel/resolver/typescript 3711749713 ns/iter (± 247675849) 3838871565 ns/iter (± 334996328) 0.97
es/base/parallel/hygiene/typescript 1436577374 ns/iter (± 13601764) 1440597234 ns/iter (± 22747408) 1.00
misc/visitors/time-complexity/time 5 132 ns/iter (± 7) 133 ns/iter (± 3) 0.99
misc/visitors/time-complexity/time 10 381 ns/iter (± 1) 271 ns/iter (± 33) 1.41
misc/visitors/time-complexity/time 15 718 ns/iter (± 14) 516 ns/iter (± 1) 1.39
misc/visitors/time-complexity/time 20 1031 ns/iter (± 68) 1057 ns/iter (± 17) 0.98
misc/visitors/time-complexity/time 40 3516 ns/iter (± 11) 4117 ns/iter (± 6) 0.85
misc/visitors/time-complexity/time 60 7321 ns/iter (± 33) 8770 ns/iter (± 4) 0.83
es/full-target/es2016 235152 ns/iter (± 931) 232657 ns/iter (± 589) 1.01
es/full-target/es2017 223726 ns/iter (± 1292) 220624 ns/iter (± 590) 1.01
es/full-target/es2018 211665 ns/iter (± 784) 210273 ns/iter (± 1011) 1.01
es2020_nullish_coalescing 71999 ns/iter (± 436) 71311 ns/iter (± 245) 1.01
es2020_optional_chaining 82108 ns/iter (± 156) 81994 ns/iter (± 422) 1.00
es2022_class_properties 117147 ns/iter (± 453) 114961 ns/iter (± 364) 1.02
es2018_object_rest_spread 75859 ns/iter (± 265) 75448 ns/iter (± 337) 1.01
es2019_optional_catch_binding 65740 ns/iter (± 241) 65207 ns/iter (± 119) 1.01
es2017_async_to_generator 64624 ns/iter (± 116) 64023 ns/iter (± 263) 1.01
es2016_exponentiation 70238 ns/iter (± 496) 69663 ns/iter (± 67) 1.01
es2015_arrow 73879 ns/iter (± 366) 72844 ns/iter (± 128) 1.01
es2015_block_scoped_fn 69584 ns/iter (± 143) 69515 ns/iter (± 195) 1.00
es2015_block_scoping 123392 ns/iter (± 533) 124701 ns/iter (± 767) 0.99

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

Please sign in to comment.