├── .cargo └── config ├── .github ├── release-drafter.yml └── workflows │ ├── ci.yml │ ├── publish.yml │ └── release-drafter.yml ├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── LICENSE ├── README.md ├── example ├── .gitignore ├── README.md ├── app.json ├── next.config.js ├── package-lock.json ├── package.json └── pages │ ├── _app.js │ ├── _document.js │ ├── alternate.js │ └── index.js ├── package.json └── src ├── lib.rs ├── utils.rs └── utils ├── export_decl_visitor_utils.rs ├── get_dist_location.rs └── import_decl_visitor_utils.rs /.cargo/config: -------------------------------------------------------------------------------- 1 | # These command aliases are not final, may change 2 | [alias] 3 | # Alias to build actual plugin binary for the specified target. 4 | wasm-build = "build --target wasm32-wasi" 5 | -------------------------------------------------------------------------------- /.github/release-drafter.yml: -------------------------------------------------------------------------------- 1 | name-template: "Release v$RESOLVED_VERSION 🌈" 2 | tag-template: "v$RESOLVED_VERSION" 3 | categories: 4 | - title: "🚀 Features" 5 | label: "feature" 6 | - title: "🐛 Bug Fixes" 7 | label: "bug" 8 | - title: "♻️ Refactor" 9 | label: "refactor" 10 | - title: "📝 Documentation" 11 | label: "documentation" 12 | - title: "🧰 Maintenance" 13 | labels: 14 | - "chore" 15 | - "dependencies" 16 | change-template: "- $TITLE @$AUTHOR (#$NUMBER)" 17 | change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks. 18 | version-resolver: 19 | major: 20 | labels: 21 | - "major" 22 | minor: 23 | labels: 24 | - "minor" 25 | patch: 26 | labels: 27 | - "patch" 28 | default: patch 29 | template: | 30 | ## Changes 31 | 32 | $CHANGES 33 | autolabeler: 34 | - label: feature 35 | branch: 36 | - "/^feat(ure)?[/-].+/" 37 | - label: bug 38 | branch: 39 | - "/^fix[/-].+/" 40 | - label: refactor 41 | branch: 42 | - "/(refactor|refactoring)[/-].+/" 43 | - label: documentation 44 | branch: 45 | - "/doc(s|umentation)[/-].+/" 46 | - label: chore 47 | branch: 48 | - "/^chore[/-].+/" 49 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: Cargo Build & Test 2 | 3 | on: 4 | push: 5 | pull_request: 6 | 7 | env: 8 | CARGO_TERM_COLOR: always 9 | 10 | jobs: 11 | build_and_test: 12 | runs-on: ubuntu-latest 13 | steps: 14 | - name: Checkout 15 | uses: actions/checkout@v3 16 | - name: Setup Rust 17 | uses: actions-rs/toolchain@v1 18 | with: 19 | toolchain: nightly 20 | - name: Setup wasm 21 | run: rustup target add wasm32-wasi 22 | - name: build 23 | run: cargo wasm-build 24 | - name: Test 25 | run: cargo test 26 | -------------------------------------------------------------------------------- /.github/workflows/publish.yml: -------------------------------------------------------------------------------- 1 | name: npm publish 2 | 3 | on: 4 | release: 5 | types: [published] 6 | 7 | jobs: 8 | publish: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: Checkout 12 | uses: actions/checkout@v3 13 | - name: Setup Rust 14 | uses: actions-rs/toolchain@v1 15 | with: 16 | toolchain: nightly 17 | - name: Setup wasm 18 | run: rustup target add wasm32-wasi 19 | - name: Run build 20 | run: cargo wasm-build --release 21 | - uses: actions/setup-node@v3 22 | with: 23 | node-version: "16" 24 | registry-url: "https://registry.npmjs.org" 25 | - name: Publish 26 | run: npm publish --access public 27 | env: 28 | NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} 29 | -------------------------------------------------------------------------------- /.github/workflows/release-drafter.yml: -------------------------------------------------------------------------------- 1 | name: Release Drafter 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | # pull_request event is required only for autolabeler 8 | pull_request: 9 | # Only following types are handled by the action, but one can default to all as well 10 | types: [opened, reopened, synchronize] 11 | # pull_request_target event is required for autolabeler to support PRs from forks 12 | # pull_request_target: 13 | # types: [opened, reopened, synchronize] 14 | 15 | jobs: 16 | update_release_draft: 17 | runs-on: ubuntu-latest 18 | steps: 19 | - uses: release-drafter/release-drafter@v5 20 | env: 21 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 22 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | ^target/ 3 | target 4 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | version = 3 4 | 5 | [[package]] 6 | name = "Inflector" 7 | version = "0.11.4" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" 10 | dependencies = [ 11 | "lazy_static", 12 | "regex", 13 | ] 14 | 15 | [[package]] 16 | name = "addr2line" 17 | version = "0.17.0" 18 | source = "registry+https://github.com/rust-lang/crates.io-index" 19 | checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" 20 | dependencies = [ 21 | "gimli", 22 | ] 23 | 24 | [[package]] 25 | name = "adler" 26 | version = "1.0.2" 27 | source = "registry+https://github.com/rust-lang/crates.io-index" 28 | checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" 29 | 30 | [[package]] 31 | name = "ahash" 32 | version = "0.7.6" 33 | source = "registry+https://github.com/rust-lang/crates.io-index" 34 | checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" 35 | dependencies = [ 36 | "getrandom", 37 | "once_cell", 38 | "version_check", 39 | ] 40 | 41 | [[package]] 42 | name = "aho-corasick" 43 | version = "0.7.18" 44 | source = "registry+https://github.com/rust-lang/crates.io-index" 45 | checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" 46 | dependencies = [ 47 | "memchr", 48 | ] 49 | 50 | [[package]] 51 | name = "ansi_term" 52 | version = "0.12.1" 53 | source = "registry+https://github.com/rust-lang/crates.io-index" 54 | checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" 55 | dependencies = [ 56 | "winapi", 57 | ] 58 | 59 | [[package]] 60 | name = "anyhow" 61 | version = "1.0.65" 62 | source = "registry+https://github.com/rust-lang/crates.io-index" 63 | checksum = "98161a4e3e2184da77bb14f02184cdd111e83bbbcc9979dfee3c44b9a85f5602" 64 | 65 | [[package]] 66 | name = "ast_node" 67 | version = "0.8.6" 68 | source = "registry+https://github.com/rust-lang/crates.io-index" 69 | checksum = "cf94863c5fdfee166d0907c44e5fee970123b2b7307046d35d1e671aa93afbba" 70 | dependencies = [ 71 | "darling", 72 | "pmutil", 73 | "proc-macro2", 74 | "quote", 75 | "swc_macros_common", 76 | "syn", 77 | ] 78 | 79 | [[package]] 80 | name = "atty" 81 | version = "0.2.14" 82 | source = "registry+https://github.com/rust-lang/crates.io-index" 83 | checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" 84 | dependencies = [ 85 | "hermit-abi", 86 | "libc", 87 | "winapi", 88 | ] 89 | 90 | [[package]] 91 | name = "autocfg" 92 | version = "1.1.0" 93 | source = "registry+https://github.com/rust-lang/crates.io-index" 94 | checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" 95 | 96 | [[package]] 97 | name = "backtrace" 98 | version = "0.3.66" 99 | source = "registry+https://github.com/rust-lang/crates.io-index" 100 | checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7" 101 | dependencies = [ 102 | "addr2line", 103 | "cc", 104 | "cfg-if", 105 | "libc", 106 | "miniz_oxide", 107 | "object", 108 | "rustc-demangle", 109 | ] 110 | 111 | [[package]] 112 | name = "base64" 113 | version = "0.11.0" 114 | source = "registry+https://github.com/rust-lang/crates.io-index" 115 | checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" 116 | 117 | [[package]] 118 | name = "base64" 119 | version = "0.13.1" 120 | source = "registry+https://github.com/rust-lang/crates.io-index" 121 | checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" 122 | 123 | [[package]] 124 | name = "better_scoped_tls" 125 | version = "0.1.0" 126 | source = "registry+https://github.com/rust-lang/crates.io-index" 127 | checksum = "b73e8ecdec39e98aa3b19e8cd0b8ed8f77ccb86a6b0b2dc7cd86d105438a2123" 128 | dependencies = [ 129 | "scoped-tls", 130 | ] 131 | 132 | [[package]] 133 | name = "bitflags" 134 | version = "1.3.2" 135 | source = "registry+https://github.com/rust-lang/crates.io-index" 136 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 137 | 138 | [[package]] 139 | name = "block-buffer" 140 | version = "0.10.2" 141 | source = "registry+https://github.com/rust-lang/crates.io-index" 142 | checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324" 143 | dependencies = [ 144 | "generic-array", 145 | ] 146 | 147 | [[package]] 148 | name = "bytecheck" 149 | version = "0.6.9" 150 | source = "registry+https://github.com/rust-lang/crates.io-index" 151 | checksum = "d11cac2c12b5adc6570dad2ee1b87eff4955dac476fe12d81e5fdd352e52406f" 152 | dependencies = [ 153 | "bytecheck_derive", 154 | "ptr_meta", 155 | ] 156 | 157 | [[package]] 158 | name = "bytecheck_derive" 159 | version = "0.6.9" 160 | source = "registry+https://github.com/rust-lang/crates.io-index" 161 | checksum = "13e576ebe98e605500b3c8041bb888e966653577172df6dd97398714eb30b9bf" 162 | dependencies = [ 163 | "proc-macro2", 164 | "quote", 165 | "syn", 166 | ] 167 | 168 | [[package]] 169 | name = "cc" 170 | version = "1.0.73" 171 | source = "registry+https://github.com/rust-lang/crates.io-index" 172 | checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" 173 | 174 | [[package]] 175 | name = "cfg-if" 176 | version = "1.0.0" 177 | source = "registry+https://github.com/rust-lang/crates.io-index" 178 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 179 | 180 | [[package]] 181 | name = "cpufeatures" 182 | version = "0.2.2" 183 | source = "registry+https://github.com/rust-lang/crates.io-index" 184 | checksum = "59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b" 185 | dependencies = [ 186 | "libc", 187 | ] 188 | 189 | [[package]] 190 | name = "crypto-common" 191 | version = "0.1.6" 192 | source = "registry+https://github.com/rust-lang/crates.io-index" 193 | checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" 194 | dependencies = [ 195 | "generic-array", 196 | "typenum", 197 | ] 198 | 199 | [[package]] 200 | name = "ctor" 201 | version = "0.1.22" 202 | source = "registry+https://github.com/rust-lang/crates.io-index" 203 | checksum = "f877be4f7c9f246b183111634f75baa039715e3f46ce860677d3b19a69fb229c" 204 | dependencies = [ 205 | "quote", 206 | "syn", 207 | ] 208 | 209 | [[package]] 210 | name = "darling" 211 | version = "0.13.4" 212 | source = "registry+https://github.com/rust-lang/crates.io-index" 213 | checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c" 214 | dependencies = [ 215 | "darling_core", 216 | "darling_macro", 217 | ] 218 | 219 | [[package]] 220 | name = "darling_core" 221 | version = "0.13.4" 222 | source = "registry+https://github.com/rust-lang/crates.io-index" 223 | checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" 224 | dependencies = [ 225 | "fnv", 226 | "ident_case", 227 | "proc-macro2", 228 | "quote", 229 | "strsim", 230 | "syn", 231 | ] 232 | 233 | [[package]] 234 | name = "darling_macro" 235 | version = "0.13.4" 236 | source = "registry+https://github.com/rust-lang/crates.io-index" 237 | checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" 238 | dependencies = [ 239 | "darling_core", 240 | "quote", 241 | "syn", 242 | ] 243 | 244 | [[package]] 245 | name = "diff" 246 | version = "0.1.13" 247 | source = "registry+https://github.com/rust-lang/crates.io-index" 248 | checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" 249 | 250 | [[package]] 251 | name = "difference" 252 | version = "2.0.0" 253 | source = "registry+https://github.com/rust-lang/crates.io-index" 254 | checksum = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198" 255 | 256 | [[package]] 257 | name = "digest" 258 | version = "0.10.3" 259 | source = "registry+https://github.com/rust-lang/crates.io-index" 260 | checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506" 261 | dependencies = [ 262 | "block-buffer", 263 | "crypto-common", 264 | ] 265 | 266 | [[package]] 267 | name = "either" 268 | version = "1.6.1" 269 | source = "registry+https://github.com/rust-lang/crates.io-index" 270 | checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" 271 | 272 | [[package]] 273 | name = "enum-iterator" 274 | version = "1.1.3" 275 | source = "registry+https://github.com/rust-lang/crates.io-index" 276 | checksum = "45a0ac4aeb3a18f92eaf09c6bb9b3ac30ff61ca95514fc58cbead1c9a6bf5401" 277 | dependencies = [ 278 | "enum-iterator-derive", 279 | ] 280 | 281 | [[package]] 282 | name = "enum-iterator-derive" 283 | version = "1.1.0" 284 | source = "registry+https://github.com/rust-lang/crates.io-index" 285 | checksum = "828de45d0ca18782232dfb8f3ea9cc428e8ced380eb26a520baaacfc70de39ce" 286 | dependencies = [ 287 | "proc-macro2", 288 | "quote", 289 | "syn", 290 | ] 291 | 292 | [[package]] 293 | name = "enum_kind" 294 | version = "0.2.1" 295 | source = "registry+https://github.com/rust-lang/crates.io-index" 296 | checksum = "78b940da354ae81ef0926c5eaa428207b8f4f091d3956c891dfbd124162bed99" 297 | dependencies = [ 298 | "pmutil", 299 | "proc-macro2", 300 | "swc_macros_common", 301 | "syn", 302 | ] 303 | 304 | [[package]] 305 | name = "fastrand" 306 | version = "1.7.0" 307 | source = "registry+https://github.com/rust-lang/crates.io-index" 308 | checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf" 309 | dependencies = [ 310 | "instant", 311 | ] 312 | 313 | [[package]] 314 | name = "fnv" 315 | version = "1.0.7" 316 | source = "registry+https://github.com/rust-lang/crates.io-index" 317 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 318 | 319 | [[package]] 320 | name = "form_urlencoded" 321 | version = "1.0.1" 322 | source = "registry+https://github.com/rust-lang/crates.io-index" 323 | checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" 324 | dependencies = [ 325 | "matches", 326 | "percent-encoding", 327 | ] 328 | 329 | [[package]] 330 | name = "from_variant" 331 | version = "0.1.3" 332 | source = "registry+https://github.com/rust-lang/crates.io-index" 333 | checksum = "0951635027ca477be98f8774abd6f0345233439d63f307e47101acb40c7cc63d" 334 | dependencies = [ 335 | "pmutil", 336 | "proc-macro2", 337 | "swc_macros_common", 338 | "syn", 339 | ] 340 | 341 | [[package]] 342 | name = "generic-array" 343 | version = "0.14.5" 344 | source = "registry+https://github.com/rust-lang/crates.io-index" 345 | checksum = "fd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803" 346 | dependencies = [ 347 | "typenum", 348 | "version_check", 349 | ] 350 | 351 | [[package]] 352 | name = "getrandom" 353 | version = "0.2.7" 354 | source = "registry+https://github.com/rust-lang/crates.io-index" 355 | checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" 356 | dependencies = [ 357 | "cfg-if", 358 | "libc", 359 | "wasi", 360 | ] 361 | 362 | [[package]] 363 | name = "getset" 364 | version = "0.1.2" 365 | source = "registry+https://github.com/rust-lang/crates.io-index" 366 | checksum = "e45727250e75cc04ff2846a66397da8ef2b3db8e40e0cef4df67950a07621eb9" 367 | dependencies = [ 368 | "proc-macro-error", 369 | "proc-macro2", 370 | "quote", 371 | "syn", 372 | ] 373 | 374 | [[package]] 375 | name = "gimli" 376 | version = "0.26.2" 377 | source = "registry+https://github.com/rust-lang/crates.io-index" 378 | checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" 379 | 380 | [[package]] 381 | name = "glob" 382 | version = "0.3.0" 383 | source = "registry+https://github.com/rust-lang/crates.io-index" 384 | checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" 385 | 386 | [[package]] 387 | name = "hashbrown" 388 | version = "0.12.1" 389 | source = "registry+https://github.com/rust-lang/crates.io-index" 390 | checksum = "db0d4cf898abf0081f964436dc980e96670a0f36863e4b83aaacdb65c9d7ccc3" 391 | dependencies = [ 392 | "ahash", 393 | ] 394 | 395 | [[package]] 396 | name = "hermit-abi" 397 | version = "0.1.19" 398 | source = "registry+https://github.com/rust-lang/crates.io-index" 399 | checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" 400 | dependencies = [ 401 | "libc", 402 | ] 403 | 404 | [[package]] 405 | name = "hex" 406 | version = "0.4.3" 407 | source = "registry+https://github.com/rust-lang/crates.io-index" 408 | checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" 409 | 410 | [[package]] 411 | name = "ident_case" 412 | version = "1.0.1" 413 | source = "registry+https://github.com/rust-lang/crates.io-index" 414 | checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" 415 | 416 | [[package]] 417 | name = "idna" 418 | version = "0.2.3" 419 | source = "registry+https://github.com/rust-lang/crates.io-index" 420 | checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" 421 | dependencies = [ 422 | "matches", 423 | "unicode-bidi", 424 | "unicode-normalization", 425 | ] 426 | 427 | [[package]] 428 | name = "if_chain" 429 | version = "1.0.2" 430 | source = "registry+https://github.com/rust-lang/crates.io-index" 431 | checksum = "cb56e1aa765b4b4f3aadfab769793b7087bb03a4ea4920644a6d238e2df5b9ed" 432 | 433 | [[package]] 434 | name = "indexmap" 435 | version = "1.9.0" 436 | source = "registry+https://github.com/rust-lang/crates.io-index" 437 | checksum = "6c6392766afd7964e2531940894cffe4bd8d7d17dbc3c1c4857040fd4b33bdb3" 438 | dependencies = [ 439 | "autocfg", 440 | "hashbrown", 441 | ] 442 | 443 | [[package]] 444 | name = "instant" 445 | version = "0.1.12" 446 | source = "registry+https://github.com/rust-lang/crates.io-index" 447 | checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" 448 | dependencies = [ 449 | "cfg-if", 450 | ] 451 | 452 | [[package]] 453 | name = "is-macro" 454 | version = "0.2.1" 455 | source = "registry+https://github.com/rust-lang/crates.io-index" 456 | checksum = "1c068d4c6b922cd6284c609cfa6dec0e41615c9c5a1a4ba729a970d8daba05fb" 457 | dependencies = [ 458 | "Inflector", 459 | "pmutil", 460 | "proc-macro2", 461 | "quote", 462 | "syn", 463 | ] 464 | 465 | [[package]] 466 | name = "is_ci" 467 | version = "1.1.1" 468 | source = "registry+https://github.com/rust-lang/crates.io-index" 469 | checksum = "616cde7c720bb2bb5824a224687d8f77bfd38922027f01d825cd7453be5099fb" 470 | 471 | [[package]] 472 | name = "itoa" 473 | version = "1.0.2" 474 | source = "registry+https://github.com/rust-lang/crates.io-index" 475 | checksum = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d" 476 | 477 | [[package]] 478 | name = "lazy_static" 479 | version = "1.4.0" 480 | source = "registry+https://github.com/rust-lang/crates.io-index" 481 | checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" 482 | 483 | [[package]] 484 | name = "lexical" 485 | version = "6.1.1" 486 | source = "registry+https://github.com/rust-lang/crates.io-index" 487 | checksum = "c7aefb36fd43fef7003334742cbf77b243fcd36418a1d1bdd480d613a67968f6" 488 | dependencies = [ 489 | "lexical-core", 490 | ] 491 | 492 | [[package]] 493 | name = "lexical-core" 494 | version = "0.8.5" 495 | source = "registry+https://github.com/rust-lang/crates.io-index" 496 | checksum = "2cde5de06e8d4c2faabc400238f9ae1c74d5412d03a7bd067645ccbc47070e46" 497 | dependencies = [ 498 | "lexical-parse-float", 499 | "lexical-parse-integer", 500 | "lexical-util", 501 | "lexical-write-float", 502 | "lexical-write-integer", 503 | ] 504 | 505 | [[package]] 506 | name = "lexical-parse-float" 507 | version = "0.8.5" 508 | source = "registry+https://github.com/rust-lang/crates.io-index" 509 | checksum = "683b3a5ebd0130b8fb52ba0bdc718cc56815b6a097e28ae5a6997d0ad17dc05f" 510 | dependencies = [ 511 | "lexical-parse-integer", 512 | "lexical-util", 513 | "static_assertions", 514 | ] 515 | 516 | [[package]] 517 | name = "lexical-parse-integer" 518 | version = "0.8.6" 519 | source = "registry+https://github.com/rust-lang/crates.io-index" 520 | checksum = "6d0994485ed0c312f6d965766754ea177d07f9c00c9b82a5ee62ed5b47945ee9" 521 | dependencies = [ 522 | "lexical-util", 523 | "static_assertions", 524 | ] 525 | 526 | [[package]] 527 | name = "lexical-util" 528 | version = "0.8.5" 529 | source = "registry+https://github.com/rust-lang/crates.io-index" 530 | checksum = "5255b9ff16ff898710eb9eb63cb39248ea8a5bb036bea8085b1a767ff6c4e3fc" 531 | dependencies = [ 532 | "static_assertions", 533 | ] 534 | 535 | [[package]] 536 | name = "lexical-write-float" 537 | version = "0.8.5" 538 | source = "registry+https://github.com/rust-lang/crates.io-index" 539 | checksum = "accabaa1c4581f05a3923d1b4cfd124c329352288b7b9da09e766b0668116862" 540 | dependencies = [ 541 | "lexical-util", 542 | "lexical-write-integer", 543 | "static_assertions", 544 | ] 545 | 546 | [[package]] 547 | name = "lexical-write-integer" 548 | version = "0.8.5" 549 | source = "registry+https://github.com/rust-lang/crates.io-index" 550 | checksum = "e1b6f3d1f4422866b68192d62f77bc5c700bee84f3069f2469d7bc8c77852446" 551 | dependencies = [ 552 | "lexical-util", 553 | "static_assertions", 554 | ] 555 | 556 | [[package]] 557 | name = "libc" 558 | version = "0.2.126" 559 | source = "registry+https://github.com/rust-lang/crates.io-index" 560 | checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836" 561 | 562 | [[package]] 563 | name = "lock_api" 564 | version = "0.4.7" 565 | source = "registry+https://github.com/rust-lang/crates.io-index" 566 | checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53" 567 | dependencies = [ 568 | "autocfg", 569 | "scopeguard", 570 | ] 571 | 572 | [[package]] 573 | name = "log" 574 | version = "0.4.17" 575 | source = "registry+https://github.com/rust-lang/crates.io-index" 576 | checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" 577 | dependencies = [ 578 | "cfg-if", 579 | ] 580 | 581 | [[package]] 582 | name = "matchers" 583 | version = "0.1.0" 584 | source = "registry+https://github.com/rust-lang/crates.io-index" 585 | checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" 586 | dependencies = [ 587 | "regex-automata", 588 | ] 589 | 590 | [[package]] 591 | name = "matches" 592 | version = "0.1.9" 593 | source = "registry+https://github.com/rust-lang/crates.io-index" 594 | checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" 595 | 596 | [[package]] 597 | name = "memchr" 598 | version = "2.5.0" 599 | source = "registry+https://github.com/rust-lang/crates.io-index" 600 | checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" 601 | 602 | [[package]] 603 | name = "miette" 604 | version = "4.7.1" 605 | source = "registry+https://github.com/rust-lang/crates.io-index" 606 | checksum = "1c90329e44f9208b55f45711f9558cec15d7ef8295cc65ecd6d4188ae8edc58c" 607 | dependencies = [ 608 | "atty", 609 | "backtrace", 610 | "miette-derive", 611 | "once_cell", 612 | "owo-colors", 613 | "supports-color", 614 | "supports-hyperlinks", 615 | "supports-unicode", 616 | "terminal_size", 617 | "textwrap", 618 | "thiserror", 619 | "unicode-width", 620 | ] 621 | 622 | [[package]] 623 | name = "miette-derive" 624 | version = "4.7.1" 625 | source = "registry+https://github.com/rust-lang/crates.io-index" 626 | checksum = "6b5bc45b761bcf1b5e6e6c4128cd93b84c218721a8d9b894aa0aff4ed180174c" 627 | dependencies = [ 628 | "proc-macro2", 629 | "quote", 630 | "syn", 631 | ] 632 | 633 | [[package]] 634 | name = "miniz_oxide" 635 | version = "0.5.3" 636 | source = "registry+https://github.com/rust-lang/crates.io-index" 637 | checksum = "6f5c75688da582b8ffc1f1799e9db273f32133c49e048f614d22ec3256773ccc" 638 | dependencies = [ 639 | "adler", 640 | ] 641 | 642 | [[package]] 643 | name = "new_debug_unreachable" 644 | version = "1.0.4" 645 | source = "registry+https://github.com/rust-lang/crates.io-index" 646 | checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54" 647 | 648 | [[package]] 649 | name = "num-bigint" 650 | version = "0.4.3" 651 | source = "registry+https://github.com/rust-lang/crates.io-index" 652 | checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" 653 | dependencies = [ 654 | "autocfg", 655 | "num-integer", 656 | "num-traits", 657 | "serde", 658 | ] 659 | 660 | [[package]] 661 | name = "num-integer" 662 | version = "0.1.45" 663 | source = "registry+https://github.com/rust-lang/crates.io-index" 664 | checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" 665 | dependencies = [ 666 | "autocfg", 667 | "num-traits", 668 | ] 669 | 670 | [[package]] 671 | name = "num-traits" 672 | version = "0.2.15" 673 | source = "registry+https://github.com/rust-lang/crates.io-index" 674 | checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" 675 | dependencies = [ 676 | "autocfg", 677 | ] 678 | 679 | [[package]] 680 | name = "num_cpus" 681 | version = "1.13.1" 682 | source = "registry+https://github.com/rust-lang/crates.io-index" 683 | checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" 684 | dependencies = [ 685 | "hermit-abi", 686 | "libc", 687 | ] 688 | 689 | [[package]] 690 | name = "num_threads" 691 | version = "0.1.6" 692 | source = "registry+https://github.com/rust-lang/crates.io-index" 693 | checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" 694 | dependencies = [ 695 | "libc", 696 | ] 697 | 698 | [[package]] 699 | name = "object" 700 | version = "0.29.0" 701 | source = "registry+https://github.com/rust-lang/crates.io-index" 702 | checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" 703 | dependencies = [ 704 | "memchr", 705 | ] 706 | 707 | [[package]] 708 | name = "once_cell" 709 | version = "1.15.0" 710 | source = "registry+https://github.com/rust-lang/crates.io-index" 711 | checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1" 712 | 713 | [[package]] 714 | name = "output_vt100" 715 | version = "0.1.3" 716 | source = "registry+https://github.com/rust-lang/crates.io-index" 717 | checksum = "628223faebab4e3e40667ee0b2336d34a5b960ff60ea743ddfdbcf7770bcfb66" 718 | dependencies = [ 719 | "winapi", 720 | ] 721 | 722 | [[package]] 723 | name = "owo-colors" 724 | version = "3.4.0" 725 | source = "registry+https://github.com/rust-lang/crates.io-index" 726 | checksum = "decf7381921fea4dcb2549c5667eda59b3ec297ab7e2b5fc33eac69d2e7da87b" 727 | 728 | [[package]] 729 | name = "parking_lot" 730 | version = "0.12.1" 731 | source = "registry+https://github.com/rust-lang/crates.io-index" 732 | checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" 733 | dependencies = [ 734 | "lock_api", 735 | "parking_lot_core", 736 | ] 737 | 738 | [[package]] 739 | name = "parking_lot_core" 740 | version = "0.9.3" 741 | source = "registry+https://github.com/rust-lang/crates.io-index" 742 | checksum = "09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929" 743 | dependencies = [ 744 | "cfg-if", 745 | "libc", 746 | "redox_syscall", 747 | "smallvec", 748 | "windows-sys", 749 | ] 750 | 751 | [[package]] 752 | name = "percent-encoding" 753 | version = "2.1.0" 754 | source = "registry+https://github.com/rust-lang/crates.io-index" 755 | checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" 756 | 757 | [[package]] 758 | name = "phf" 759 | version = "0.10.1" 760 | source = "registry+https://github.com/rust-lang/crates.io-index" 761 | checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" 762 | dependencies = [ 763 | "phf_macros", 764 | "phf_shared", 765 | "proc-macro-hack", 766 | ] 767 | 768 | [[package]] 769 | name = "phf_generator" 770 | version = "0.10.0" 771 | source = "registry+https://github.com/rust-lang/crates.io-index" 772 | checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" 773 | dependencies = [ 774 | "phf_shared", 775 | "rand", 776 | ] 777 | 778 | [[package]] 779 | name = "phf_macros" 780 | version = "0.10.0" 781 | source = "registry+https://github.com/rust-lang/crates.io-index" 782 | checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0" 783 | dependencies = [ 784 | "phf_generator", 785 | "phf_shared", 786 | "proc-macro-hack", 787 | "proc-macro2", 788 | "quote", 789 | "syn", 790 | ] 791 | 792 | [[package]] 793 | name = "phf_shared" 794 | version = "0.10.0" 795 | source = "registry+https://github.com/rust-lang/crates.io-index" 796 | checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" 797 | dependencies = [ 798 | "siphasher", 799 | ] 800 | 801 | [[package]] 802 | name = "pin-project-lite" 803 | version = "0.2.9" 804 | source = "registry+https://github.com/rust-lang/crates.io-index" 805 | checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" 806 | 807 | [[package]] 808 | name = "pmutil" 809 | version = "0.5.3" 810 | source = "registry+https://github.com/rust-lang/crates.io-index" 811 | checksum = "3894e5d549cccbe44afecf72922f277f603cd4bb0219c8342631ef18fffbe004" 812 | dependencies = [ 813 | "proc-macro2", 814 | "quote", 815 | "syn", 816 | ] 817 | 818 | [[package]] 819 | name = "ppv-lite86" 820 | version = "0.2.16" 821 | source = "registry+https://github.com/rust-lang/crates.io-index" 822 | checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" 823 | 824 | [[package]] 825 | name = "precomputed-hash" 826 | version = "0.1.1" 827 | source = "registry+https://github.com/rust-lang/crates.io-index" 828 | checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" 829 | 830 | [[package]] 831 | name = "pretty_assertions" 832 | version = "1.2.1" 833 | source = "registry+https://github.com/rust-lang/crates.io-index" 834 | checksum = "c89f989ac94207d048d92db058e4f6ec7342b0971fc58d1271ca148b799b3563" 835 | dependencies = [ 836 | "ansi_term", 837 | "ctor", 838 | "diff", 839 | "output_vt100", 840 | ] 841 | 842 | [[package]] 843 | name = "proc-macro-error" 844 | version = "1.0.4" 845 | source = "registry+https://github.com/rust-lang/crates.io-index" 846 | checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" 847 | dependencies = [ 848 | "proc-macro-error-attr", 849 | "proc-macro2", 850 | "quote", 851 | "syn", 852 | "version_check", 853 | ] 854 | 855 | [[package]] 856 | name = "proc-macro-error-attr" 857 | version = "1.0.4" 858 | source = "registry+https://github.com/rust-lang/crates.io-index" 859 | checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" 860 | dependencies = [ 861 | "proc-macro2", 862 | "quote", 863 | "version_check", 864 | ] 865 | 866 | [[package]] 867 | name = "proc-macro-hack" 868 | version = "0.5.19" 869 | source = "registry+https://github.com/rust-lang/crates.io-index" 870 | checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" 871 | 872 | [[package]] 873 | name = "proc-macro2" 874 | version = "1.0.39" 875 | source = "registry+https://github.com/rust-lang/crates.io-index" 876 | checksum = "c54b25569025b7fc9651de43004ae593a75ad88543b17178aa5e1b9c4f15f56f" 877 | dependencies = [ 878 | "unicode-ident", 879 | ] 880 | 881 | [[package]] 882 | name = "ptr_meta" 883 | version = "0.1.4" 884 | source = "registry+https://github.com/rust-lang/crates.io-index" 885 | checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1" 886 | dependencies = [ 887 | "ptr_meta_derive", 888 | ] 889 | 890 | [[package]] 891 | name = "ptr_meta_derive" 892 | version = "0.1.4" 893 | source = "registry+https://github.com/rust-lang/crates.io-index" 894 | checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" 895 | dependencies = [ 896 | "proc-macro2", 897 | "quote", 898 | "syn", 899 | ] 900 | 901 | [[package]] 902 | name = "quote" 903 | version = "1.0.19" 904 | source = "registry+https://github.com/rust-lang/crates.io-index" 905 | checksum = "f53dc8cf16a769a6f677e09e7ff2cd4be1ea0f48754aac39520536962011de0d" 906 | dependencies = [ 907 | "proc-macro2", 908 | ] 909 | 910 | [[package]] 911 | name = "rand" 912 | version = "0.8.5" 913 | source = "registry+https://github.com/rust-lang/crates.io-index" 914 | checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 915 | dependencies = [ 916 | "libc", 917 | "rand_chacha", 918 | "rand_core", 919 | ] 920 | 921 | [[package]] 922 | name = "rand_chacha" 923 | version = "0.3.1" 924 | source = "registry+https://github.com/rust-lang/crates.io-index" 925 | checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" 926 | dependencies = [ 927 | "ppv-lite86", 928 | "rand_core", 929 | ] 930 | 931 | [[package]] 932 | name = "rand_core" 933 | version = "0.6.3" 934 | source = "registry+https://github.com/rust-lang/crates.io-index" 935 | checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" 936 | dependencies = [ 937 | "getrandom", 938 | ] 939 | 940 | [[package]] 941 | name = "redox_syscall" 942 | version = "0.2.13" 943 | source = "registry+https://github.com/rust-lang/crates.io-index" 944 | checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42" 945 | dependencies = [ 946 | "bitflags", 947 | ] 948 | 949 | [[package]] 950 | name = "regex" 951 | version = "1.5.6" 952 | source = "registry+https://github.com/rust-lang/crates.io-index" 953 | checksum = "d83f127d94bdbcda4c8cc2e50f6f84f4b611f69c902699ca385a39c3a75f9ff1" 954 | dependencies = [ 955 | "aho-corasick", 956 | "memchr", 957 | "regex-syntax", 958 | ] 959 | 960 | [[package]] 961 | name = "regex-automata" 962 | version = "0.1.10" 963 | source = "registry+https://github.com/rust-lang/crates.io-index" 964 | checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" 965 | dependencies = [ 966 | "regex-syntax", 967 | ] 968 | 969 | [[package]] 970 | name = "regex-syntax" 971 | version = "0.6.26" 972 | source = "registry+https://github.com/rust-lang/crates.io-index" 973 | checksum = "49b3de9ec5dc0a3417da371aab17d729997c15010e7fd24ff707773a33bddb64" 974 | 975 | [[package]] 976 | name = "relative-path" 977 | version = "1.7.0" 978 | source = "registry+https://github.com/rust-lang/crates.io-index" 979 | checksum = "b4e112eddc95bbf25365df3b5414354ad2fe7ee465eddb9965a515faf8c3b6d9" 980 | 981 | [[package]] 982 | name = "remove_dir_all" 983 | version = "0.5.3" 984 | source = "registry+https://github.com/rust-lang/crates.io-index" 985 | checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" 986 | dependencies = [ 987 | "winapi", 988 | ] 989 | 990 | [[package]] 991 | name = "rend" 992 | version = "0.3.6" 993 | source = "registry+https://github.com/rust-lang/crates.io-index" 994 | checksum = "79af64b4b6362ffba04eef3a4e10829718a4896dac19daa741851c86781edf95" 995 | dependencies = [ 996 | "bytecheck", 997 | ] 998 | 999 | [[package]] 1000 | name = "rkyv" 1001 | version = "0.7.37" 1002 | source = "registry+https://github.com/rust-lang/crates.io-index" 1003 | checksum = "1f08c8062c1fe1253064043b8fc07bfea1b9702b71b4a86c11ea3588183b12e1" 1004 | dependencies = [ 1005 | "bytecheck", 1006 | "hashbrown", 1007 | "ptr_meta", 1008 | "rend", 1009 | "rkyv_derive", 1010 | "seahash", 1011 | ] 1012 | 1013 | [[package]] 1014 | name = "rkyv_derive" 1015 | version = "0.7.37" 1016 | source = "registry+https://github.com/rust-lang/crates.io-index" 1017 | checksum = "e289706df51226e84814bf6ba1a9e1013112ae29bc7a9878f73fce360520c403" 1018 | dependencies = [ 1019 | "proc-macro2", 1020 | "quote", 1021 | "syn", 1022 | ] 1023 | 1024 | [[package]] 1025 | name = "rustc-demangle" 1026 | version = "0.1.21" 1027 | source = "registry+https://github.com/rust-lang/crates.io-index" 1028 | checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" 1029 | 1030 | [[package]] 1031 | name = "rustc-hash" 1032 | version = "1.1.0" 1033 | source = "registry+https://github.com/rust-lang/crates.io-index" 1034 | checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" 1035 | 1036 | [[package]] 1037 | name = "rustc_version" 1038 | version = "0.2.3" 1039 | source = "registry+https://github.com/rust-lang/crates.io-index" 1040 | checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" 1041 | dependencies = [ 1042 | "semver", 1043 | ] 1044 | 1045 | [[package]] 1046 | name = "rustversion" 1047 | version = "1.0.9" 1048 | source = "registry+https://github.com/rust-lang/crates.io-index" 1049 | checksum = "97477e48b4cf8603ad5f7aaf897467cf42ab4218a38ef76fb14c2d6773a6d6a8" 1050 | 1051 | [[package]] 1052 | name = "ryu" 1053 | version = "1.0.10" 1054 | source = "registry+https://github.com/rust-lang/crates.io-index" 1055 | checksum = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695" 1056 | 1057 | [[package]] 1058 | name = "scoped-tls" 1059 | version = "1.0.0" 1060 | source = "registry+https://github.com/rust-lang/crates.io-index" 1061 | checksum = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2" 1062 | 1063 | [[package]] 1064 | name = "scopeguard" 1065 | version = "1.1.0" 1066 | source = "registry+https://github.com/rust-lang/crates.io-index" 1067 | checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" 1068 | 1069 | [[package]] 1070 | name = "seahash" 1071 | version = "4.1.0" 1072 | source = "registry+https://github.com/rust-lang/crates.io-index" 1073 | checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" 1074 | 1075 | [[package]] 1076 | name = "semver" 1077 | version = "0.9.0" 1078 | source = "registry+https://github.com/rust-lang/crates.io-index" 1079 | checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" 1080 | dependencies = [ 1081 | "semver-parser", 1082 | ] 1083 | 1084 | [[package]] 1085 | name = "semver-parser" 1086 | version = "0.7.0" 1087 | source = "registry+https://github.com/rust-lang/crates.io-index" 1088 | checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" 1089 | 1090 | [[package]] 1091 | name = "serde" 1092 | version = "1.0.137" 1093 | source = "registry+https://github.com/rust-lang/crates.io-index" 1094 | checksum = "61ea8d54c77f8315140a05f4c7237403bf38b72704d031543aa1d16abbf517d1" 1095 | dependencies = [ 1096 | "serde_derive", 1097 | ] 1098 | 1099 | [[package]] 1100 | name = "serde_derive" 1101 | version = "1.0.137" 1102 | source = "registry+https://github.com/rust-lang/crates.io-index" 1103 | checksum = "1f26faba0c3959972377d3b2d306ee9f71faee9714294e41bb777f83f88578be" 1104 | dependencies = [ 1105 | "proc-macro2", 1106 | "quote", 1107 | "syn", 1108 | ] 1109 | 1110 | [[package]] 1111 | name = "serde_json" 1112 | version = "1.0.81" 1113 | source = "registry+https://github.com/rust-lang/crates.io-index" 1114 | checksum = "9b7ce2b32a1aed03c558dc61a5cd328f15aff2dbc17daad8fb8af04d2100e15c" 1115 | dependencies = [ 1116 | "itoa", 1117 | "ryu", 1118 | "serde", 1119 | ] 1120 | 1121 | [[package]] 1122 | name = "sha-1" 1123 | version = "0.10.0" 1124 | source = "registry+https://github.com/rust-lang/crates.io-index" 1125 | checksum = "028f48d513f9678cda28f6e4064755b3fbb2af6acd672f2c209b62323f7aea0f" 1126 | dependencies = [ 1127 | "cfg-if", 1128 | "cpufeatures", 1129 | "digest", 1130 | ] 1131 | 1132 | [[package]] 1133 | name = "sharded-slab" 1134 | version = "0.1.4" 1135 | source = "registry+https://github.com/rust-lang/crates.io-index" 1136 | checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" 1137 | dependencies = [ 1138 | "lazy_static", 1139 | ] 1140 | 1141 | [[package]] 1142 | name = "siphasher" 1143 | version = "0.3.10" 1144 | source = "registry+https://github.com/rust-lang/crates.io-index" 1145 | checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" 1146 | 1147 | [[package]] 1148 | name = "smallvec" 1149 | version = "1.8.0" 1150 | source = "registry+https://github.com/rust-lang/crates.io-index" 1151 | checksum = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83" 1152 | 1153 | [[package]] 1154 | name = "smawk" 1155 | version = "0.3.1" 1156 | source = "registry+https://github.com/rust-lang/crates.io-index" 1157 | checksum = "f67ad224767faa3c7d8b6d91985b78e70a1324408abcb1cfcc2be4c06bc06043" 1158 | 1159 | [[package]] 1160 | name = "sourcemap" 1161 | version = "6.0.2" 1162 | source = "registry+https://github.com/rust-lang/crates.io-index" 1163 | checksum = "a2ca89636b276071e7276488131f531dbf43ad1c19bc4bd5a04f6a0ce1ddc138" 1164 | dependencies = [ 1165 | "base64 0.11.0", 1166 | "if_chain", 1167 | "lazy_static", 1168 | "regex", 1169 | "rustc_version", 1170 | "serde", 1171 | "serde_json", 1172 | "url", 1173 | ] 1174 | 1175 | [[package]] 1176 | name = "stable_deref_trait" 1177 | version = "1.2.0" 1178 | source = "registry+https://github.com/rust-lang/crates.io-index" 1179 | checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" 1180 | 1181 | [[package]] 1182 | name = "static_assertions" 1183 | version = "1.1.0" 1184 | source = "registry+https://github.com/rust-lang/crates.io-index" 1185 | checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" 1186 | 1187 | [[package]] 1188 | name = "string_cache" 1189 | version = "0.8.4" 1190 | source = "registry+https://github.com/rust-lang/crates.io-index" 1191 | checksum = "213494b7a2b503146286049378ce02b482200519accc31872ee8be91fa820a08" 1192 | dependencies = [ 1193 | "new_debug_unreachable", 1194 | "once_cell", 1195 | "parking_lot", 1196 | "phf_shared", 1197 | "precomputed-hash", 1198 | "serde", 1199 | ] 1200 | 1201 | [[package]] 1202 | name = "string_cache_codegen" 1203 | version = "0.5.2" 1204 | source = "registry+https://github.com/rust-lang/crates.io-index" 1205 | checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" 1206 | dependencies = [ 1207 | "phf_generator", 1208 | "phf_shared", 1209 | "proc-macro2", 1210 | "quote", 1211 | ] 1212 | 1213 | [[package]] 1214 | name = "string_enum" 1215 | version = "0.3.2" 1216 | source = "registry+https://github.com/rust-lang/crates.io-index" 1217 | checksum = "994453cd270ad0265796eb24abf5540091ed03e681c5f3c12bc33e4db33253e1" 1218 | dependencies = [ 1219 | "pmutil", 1220 | "proc-macro2", 1221 | "quote", 1222 | "swc_macros_common", 1223 | "syn", 1224 | ] 1225 | 1226 | [[package]] 1227 | name = "strsim" 1228 | version = "0.10.0" 1229 | source = "registry+https://github.com/rust-lang/crates.io-index" 1230 | checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" 1231 | 1232 | [[package]] 1233 | name = "supports-color" 1234 | version = "1.3.0" 1235 | source = "registry+https://github.com/rust-lang/crates.io-index" 1236 | checksum = "4872ced36b91d47bae8a214a683fe54e7078875b399dfa251df346c9b547d1f9" 1237 | dependencies = [ 1238 | "atty", 1239 | "is_ci", 1240 | ] 1241 | 1242 | [[package]] 1243 | name = "supports-hyperlinks" 1244 | version = "1.2.0" 1245 | source = "registry+https://github.com/rust-lang/crates.io-index" 1246 | checksum = "590b34f7c5f01ecc9d78dba4b3f445f31df750a67621cf31626f3b7441ce6406" 1247 | dependencies = [ 1248 | "atty", 1249 | ] 1250 | 1251 | [[package]] 1252 | name = "supports-unicode" 1253 | version = "1.0.2" 1254 | source = "registry+https://github.com/rust-lang/crates.io-index" 1255 | checksum = "a8b945e45b417b125a8ec51f1b7df2f8df7920367700d1f98aedd21e5735f8b2" 1256 | dependencies = [ 1257 | "atty", 1258 | ] 1259 | 1260 | [[package]] 1261 | name = "swc-plugin-react-native-web" 1262 | version = "0.1.0" 1263 | dependencies = [ 1264 | "serde", 1265 | "serde_json", 1266 | "swc_core", 1267 | ] 1268 | 1269 | [[package]] 1270 | name = "swc_atoms" 1271 | version = "0.4.33" 1272 | source = "registry+https://github.com/rust-lang/crates.io-index" 1273 | checksum = "93a49e93996e1c1cfdb641cd94888da545d440ff6cada04155ef118adee620c1" 1274 | dependencies = [ 1275 | "once_cell", 1276 | "rkyv", 1277 | "rustc-hash", 1278 | "serde", 1279 | "string_cache", 1280 | "string_cache_codegen", 1281 | "triomphe", 1282 | ] 1283 | 1284 | [[package]] 1285 | name = "swc_common" 1286 | version = "0.29.27" 1287 | source = "registry+https://github.com/rust-lang/crates.io-index" 1288 | checksum = "90a2c285d33b47a5e532a662c178dc91956534ff52207892918d3034a534ae12" 1289 | dependencies = [ 1290 | "ahash", 1291 | "anyhow", 1292 | "ast_node", 1293 | "atty", 1294 | "better_scoped_tls", 1295 | "cfg-if", 1296 | "either", 1297 | "from_variant", 1298 | "new_debug_unreachable", 1299 | "num-bigint", 1300 | "once_cell", 1301 | "parking_lot", 1302 | "rkyv", 1303 | "rustc-hash", 1304 | "serde", 1305 | "siphasher", 1306 | "sourcemap", 1307 | "string_cache", 1308 | "swc_atoms", 1309 | "swc_eq_ignore_macros", 1310 | "swc_visit", 1311 | "termcolor", 1312 | "tracing", 1313 | "unicode-width", 1314 | "url", 1315 | ] 1316 | 1317 | [[package]] 1318 | name = "swc_core" 1319 | version = "0.48.40" 1320 | source = "registry+https://github.com/rust-lang/crates.io-index" 1321 | checksum = "5df312d4172937c513ef33c70ee6043e63bb69c482ed6db97e72e5b624119208" 1322 | dependencies = [ 1323 | "once_cell", 1324 | "swc_atoms", 1325 | "swc_common", 1326 | "swc_ecma_ast", 1327 | "swc_ecma_parser", 1328 | "swc_ecma_transforms_base", 1329 | "swc_ecma_transforms_testing", 1330 | "swc_ecma_visit", 1331 | "swc_plugin", 1332 | "swc_plugin_macro", 1333 | "swc_plugin_proxy", 1334 | "vergen", 1335 | ] 1336 | 1337 | [[package]] 1338 | name = "swc_ecma_ast" 1339 | version = "0.95.11" 1340 | source = "registry+https://github.com/rust-lang/crates.io-index" 1341 | checksum = "81e5ff66d8aa3c21c32ffcdd871712f78a50819118690ba8195974d665d008b4" 1342 | dependencies = [ 1343 | "bitflags", 1344 | "is-macro", 1345 | "num-bigint", 1346 | "rkyv", 1347 | "scoped-tls", 1348 | "serde", 1349 | "string_enum", 1350 | "swc_atoms", 1351 | "swc_common", 1352 | "unicode-id", 1353 | ] 1354 | 1355 | [[package]] 1356 | name = "swc_ecma_codegen" 1357 | version = "0.128.18" 1358 | source = "registry+https://github.com/rust-lang/crates.io-index" 1359 | checksum = "ecb5143ce3b7089539fb55875a43b6111e4e1af1bb505e54c9cd4095ce12ab09" 1360 | dependencies = [ 1361 | "memchr", 1362 | "num-bigint", 1363 | "once_cell", 1364 | "rustc-hash", 1365 | "serde", 1366 | "sourcemap", 1367 | "swc_atoms", 1368 | "swc_common", 1369 | "swc_ecma_ast", 1370 | "swc_ecma_codegen_macros", 1371 | "tracing", 1372 | ] 1373 | 1374 | [[package]] 1375 | name = "swc_ecma_codegen_macros" 1376 | version = "0.7.1" 1377 | source = "registry+https://github.com/rust-lang/crates.io-index" 1378 | checksum = "0159c99f81f52e48fe692ef7af1b0990b45d3006b14c6629be0b1ffee1b23aea" 1379 | dependencies = [ 1380 | "pmutil", 1381 | "proc-macro2", 1382 | "quote", 1383 | "swc_macros_common", 1384 | "syn", 1385 | ] 1386 | 1387 | [[package]] 1388 | name = "swc_ecma_parser" 1389 | version = "0.123.16" 1390 | source = "registry+https://github.com/rust-lang/crates.io-index" 1391 | checksum = "928c148fee43281df26871a2d1f242092734622e70aa3ea7ad474723537c702d" 1392 | dependencies = [ 1393 | "either", 1394 | "enum_kind", 1395 | "lexical", 1396 | "num-bigint", 1397 | "serde", 1398 | "smallvec", 1399 | "swc_atoms", 1400 | "swc_common", 1401 | "swc_ecma_ast", 1402 | "tracing", 1403 | "typed-arena", 1404 | ] 1405 | 1406 | [[package]] 1407 | name = "swc_ecma_testing" 1408 | version = "0.20.8" 1409 | source = "registry+https://github.com/rust-lang/crates.io-index" 1410 | checksum = "25198f96ef93c4bb4cc8fa13c9b22a018cf2c0c7609ee91f7abc7968ebc2e2df" 1411 | dependencies = [ 1412 | "anyhow", 1413 | "hex", 1414 | "sha-1", 1415 | "tracing", 1416 | ] 1417 | 1418 | [[package]] 1419 | name = "swc_ecma_transforms_base" 1420 | version = "0.112.24" 1421 | source = "registry+https://github.com/rust-lang/crates.io-index" 1422 | checksum = "8136889c97ee3c8fd9409f836e30f01c97e1ee0ca01d74a887a1943e2a92d41f" 1423 | dependencies = [ 1424 | "better_scoped_tls", 1425 | "bitflags", 1426 | "once_cell", 1427 | "phf", 1428 | "rustc-hash", 1429 | "serde", 1430 | "smallvec", 1431 | "swc_atoms", 1432 | "swc_common", 1433 | "swc_ecma_ast", 1434 | "swc_ecma_parser", 1435 | "swc_ecma_utils", 1436 | "swc_ecma_visit", 1437 | "tracing", 1438 | ] 1439 | 1440 | [[package]] 1441 | name = "swc_ecma_transforms_testing" 1442 | version = "0.115.25" 1443 | source = "registry+https://github.com/rust-lang/crates.io-index" 1444 | checksum = "3d8181c096938b93cf20c35833074dbe0e58f1f994b8682069e23e25f2bd7dbd" 1445 | dependencies = [ 1446 | "ansi_term", 1447 | "anyhow", 1448 | "base64 0.13.1", 1449 | "hex", 1450 | "serde", 1451 | "serde_json", 1452 | "sha-1", 1453 | "sourcemap", 1454 | "swc_common", 1455 | "swc_ecma_ast", 1456 | "swc_ecma_codegen", 1457 | "swc_ecma_parser", 1458 | "swc_ecma_testing", 1459 | "swc_ecma_transforms_base", 1460 | "swc_ecma_utils", 1461 | "swc_ecma_visit", 1462 | "tempfile", 1463 | "testing", 1464 | ] 1465 | 1466 | [[package]] 1467 | name = "swc_ecma_utils" 1468 | version = "0.106.18" 1469 | source = "registry+https://github.com/rust-lang/crates.io-index" 1470 | checksum = "6bdb27e68d2c658204efd98c506ea2ecf942737b513f5b2140b8d81d04fcedc1" 1471 | dependencies = [ 1472 | "indexmap", 1473 | "num_cpus", 1474 | "once_cell", 1475 | "rustc-hash", 1476 | "swc_atoms", 1477 | "swc_common", 1478 | "swc_ecma_ast", 1479 | "swc_ecma_visit", 1480 | "tracing", 1481 | "unicode-id", 1482 | ] 1483 | 1484 | [[package]] 1485 | name = "swc_ecma_visit" 1486 | version = "0.81.11" 1487 | source = "registry+https://github.com/rust-lang/crates.io-index" 1488 | checksum = "aeee9de2cf4e80f0c6802f9a44989e6b1ad973b94849e76b1745f6d87144f517" 1489 | dependencies = [ 1490 | "num-bigint", 1491 | "swc_atoms", 1492 | "swc_common", 1493 | "swc_ecma_ast", 1494 | "swc_visit", 1495 | "tracing", 1496 | ] 1497 | 1498 | [[package]] 1499 | name = "swc_eq_ignore_macros" 1500 | version = "0.1.1" 1501 | source = "registry+https://github.com/rust-lang/crates.io-index" 1502 | checksum = "0c20468634668c2bbab581947bb8c75c97158d5a6959f4ba33df20983b20b4f6" 1503 | dependencies = [ 1504 | "pmutil", 1505 | "proc-macro2", 1506 | "quote", 1507 | "syn", 1508 | ] 1509 | 1510 | [[package]] 1511 | name = "swc_error_reporters" 1512 | version = "0.13.28" 1513 | source = "registry+https://github.com/rust-lang/crates.io-index" 1514 | checksum = "ad1b6b90dbfe7a4c7962c21732cc403f071bb795d93c5a82bce5290e31b3a9b5" 1515 | dependencies = [ 1516 | "anyhow", 1517 | "miette", 1518 | "once_cell", 1519 | "parking_lot", 1520 | "swc_common", 1521 | ] 1522 | 1523 | [[package]] 1524 | name = "swc_macros_common" 1525 | version = "0.3.6" 1526 | source = "registry+https://github.com/rust-lang/crates.io-index" 1527 | checksum = "a4be988307882648d9bc7c71a6a73322b7520ef0211e920489a98f8391d8caa2" 1528 | dependencies = [ 1529 | "pmutil", 1530 | "proc-macro2", 1531 | "quote", 1532 | "syn", 1533 | ] 1534 | 1535 | [[package]] 1536 | name = "swc_plugin" 1537 | version = "0.90.0" 1538 | source = "registry+https://github.com/rust-lang/crates.io-index" 1539 | checksum = "ca5df720531bfbd7ceb1139319c39c20c446abfb8f7e0eb47b104205a71152b4" 1540 | dependencies = [ 1541 | "once_cell", 1542 | ] 1543 | 1544 | [[package]] 1545 | name = "swc_plugin_macro" 1546 | version = "0.9.10" 1547 | source = "registry+https://github.com/rust-lang/crates.io-index" 1548 | checksum = "8c00caf955dfbff15974f061f8c2e8a8b9b5ce999cb601f02f3ec66253e81149" 1549 | dependencies = [ 1550 | "proc-macro2", 1551 | "quote", 1552 | "syn", 1553 | ] 1554 | 1555 | [[package]] 1556 | name = "swc_plugin_proxy" 1557 | version = "0.23.11" 1558 | source = "registry+https://github.com/rust-lang/crates.io-index" 1559 | checksum = "70ac8c26ad130c9ad96fe3505b20d4248e018729f9ea3195d6ea69d388b4b57f" 1560 | dependencies = [ 1561 | "better_scoped_tls", 1562 | "rkyv", 1563 | "swc_common", 1564 | "swc_ecma_ast", 1565 | "swc_trace_macro", 1566 | "tracing", 1567 | ] 1568 | 1569 | [[package]] 1570 | name = "swc_trace_macro" 1571 | version = "0.1.2" 1572 | source = "registry+https://github.com/rust-lang/crates.io-index" 1573 | checksum = "a4795c8d23e0de62eef9cac0a20ae52429ee2ffc719768e838490f195b7d7267" 1574 | dependencies = [ 1575 | "proc-macro2", 1576 | "quote", 1577 | "syn", 1578 | ] 1579 | 1580 | [[package]] 1581 | name = "swc_visit" 1582 | version = "0.5.3" 1583 | source = "registry+https://github.com/rust-lang/crates.io-index" 1584 | checksum = "82f2bcb7223e185c4c7cbf5e0c1207dec6d2bfd5e72e3fb7b3e8d179747e9130" 1585 | dependencies = [ 1586 | "either", 1587 | "swc_visit_macros", 1588 | ] 1589 | 1590 | [[package]] 1591 | name = "swc_visit_macros" 1592 | version = "0.5.4" 1593 | source = "registry+https://github.com/rust-lang/crates.io-index" 1594 | checksum = "8fb1f3561674d84947694d41fb6d5737d19539222779baeac1b3a071a2b29428" 1595 | dependencies = [ 1596 | "Inflector", 1597 | "pmutil", 1598 | "proc-macro2", 1599 | "quote", 1600 | "swc_macros_common", 1601 | "syn", 1602 | ] 1603 | 1604 | [[package]] 1605 | name = "syn" 1606 | version = "1.0.98" 1607 | source = "registry+https://github.com/rust-lang/crates.io-index" 1608 | checksum = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd" 1609 | dependencies = [ 1610 | "proc-macro2", 1611 | "quote", 1612 | "unicode-ident", 1613 | ] 1614 | 1615 | [[package]] 1616 | name = "tempfile" 1617 | version = "3.3.0" 1618 | source = "registry+https://github.com/rust-lang/crates.io-index" 1619 | checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" 1620 | dependencies = [ 1621 | "cfg-if", 1622 | "fastrand", 1623 | "libc", 1624 | "redox_syscall", 1625 | "remove_dir_all", 1626 | "winapi", 1627 | ] 1628 | 1629 | [[package]] 1630 | name = "termcolor" 1631 | version = "1.1.3" 1632 | source = "registry+https://github.com/rust-lang/crates.io-index" 1633 | checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" 1634 | dependencies = [ 1635 | "winapi-util", 1636 | ] 1637 | 1638 | [[package]] 1639 | name = "terminal_size" 1640 | version = "0.1.17" 1641 | source = "registry+https://github.com/rust-lang/crates.io-index" 1642 | checksum = "633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df" 1643 | dependencies = [ 1644 | "libc", 1645 | "winapi", 1646 | ] 1647 | 1648 | [[package]] 1649 | name = "testing" 1650 | version = "0.31.29" 1651 | source = "registry+https://github.com/rust-lang/crates.io-index" 1652 | checksum = "73fa8d91f6555e4f80d119c66da232e8f998d6301c3c3b632f5b7141515264db" 1653 | dependencies = [ 1654 | "ansi_term", 1655 | "difference", 1656 | "once_cell", 1657 | "pretty_assertions", 1658 | "regex", 1659 | "serde_json", 1660 | "swc_common", 1661 | "swc_error_reporters", 1662 | "testing_macros", 1663 | "tracing", 1664 | "tracing-subscriber", 1665 | ] 1666 | 1667 | [[package]] 1668 | name = "testing_macros" 1669 | version = "0.2.7" 1670 | source = "registry+https://github.com/rust-lang/crates.io-index" 1671 | checksum = "e74ff09d2d4d4b7ea140ff67eb7ed8fd35a708e2c327bcde5a25707d66840099" 1672 | dependencies = [ 1673 | "anyhow", 1674 | "glob", 1675 | "once_cell", 1676 | "pmutil", 1677 | "proc-macro2", 1678 | "quote", 1679 | "regex", 1680 | "relative-path", 1681 | "syn", 1682 | ] 1683 | 1684 | [[package]] 1685 | name = "textwrap" 1686 | version = "0.15.0" 1687 | source = "registry+https://github.com/rust-lang/crates.io-index" 1688 | checksum = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb" 1689 | dependencies = [ 1690 | "smawk", 1691 | "unicode-linebreak", 1692 | "unicode-width", 1693 | ] 1694 | 1695 | [[package]] 1696 | name = "thiserror" 1697 | version = "1.0.37" 1698 | source = "registry+https://github.com/rust-lang/crates.io-index" 1699 | checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e" 1700 | dependencies = [ 1701 | "thiserror-impl", 1702 | ] 1703 | 1704 | [[package]] 1705 | name = "thiserror-impl" 1706 | version = "1.0.37" 1707 | source = "registry+https://github.com/rust-lang/crates.io-index" 1708 | checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb" 1709 | dependencies = [ 1710 | "proc-macro2", 1711 | "quote", 1712 | "syn", 1713 | ] 1714 | 1715 | [[package]] 1716 | name = "thread_local" 1717 | version = "1.1.4" 1718 | source = "registry+https://github.com/rust-lang/crates.io-index" 1719 | checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" 1720 | dependencies = [ 1721 | "once_cell", 1722 | ] 1723 | 1724 | [[package]] 1725 | name = "time" 1726 | version = "0.3.14" 1727 | source = "registry+https://github.com/rust-lang/crates.io-index" 1728 | checksum = "3c3f9a28b618c3a6b9251b6908e9c99e04b9e5c02e6581ccbb67d59c34ef7f9b" 1729 | dependencies = [ 1730 | "itoa", 1731 | "libc", 1732 | "num_threads", 1733 | ] 1734 | 1735 | [[package]] 1736 | name = "tinyvec" 1737 | version = "1.6.0" 1738 | source = "registry+https://github.com/rust-lang/crates.io-index" 1739 | checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" 1740 | dependencies = [ 1741 | "tinyvec_macros", 1742 | ] 1743 | 1744 | [[package]] 1745 | name = "tinyvec_macros" 1746 | version = "0.1.0" 1747 | source = "registry+https://github.com/rust-lang/crates.io-index" 1748 | checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" 1749 | 1750 | [[package]] 1751 | name = "tracing" 1752 | version = "0.1.35" 1753 | source = "registry+https://github.com/rust-lang/crates.io-index" 1754 | checksum = "a400e31aa60b9d44a52a8ee0343b5b18566b03a8321e0d321f695cf56e940160" 1755 | dependencies = [ 1756 | "cfg-if", 1757 | "pin-project-lite", 1758 | "tracing-attributes", 1759 | "tracing-core", 1760 | ] 1761 | 1762 | [[package]] 1763 | name = "tracing-attributes" 1764 | version = "0.1.21" 1765 | source = "registry+https://github.com/rust-lang/crates.io-index" 1766 | checksum = "cc6b8ad3567499f98a1db7a752b07a7c8c7c7c34c332ec00effb2b0027974b7c" 1767 | dependencies = [ 1768 | "proc-macro2", 1769 | "quote", 1770 | "syn", 1771 | ] 1772 | 1773 | [[package]] 1774 | name = "tracing-core" 1775 | version = "0.1.27" 1776 | source = "registry+https://github.com/rust-lang/crates.io-index" 1777 | checksum = "7709595b8878a4965ce5e87ebf880a7d39c9afc6837721b21a5a816a8117d921" 1778 | dependencies = [ 1779 | "once_cell", 1780 | "valuable", 1781 | ] 1782 | 1783 | [[package]] 1784 | name = "tracing-log" 1785 | version = "0.1.3" 1786 | source = "registry+https://github.com/rust-lang/crates.io-index" 1787 | checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" 1788 | dependencies = [ 1789 | "lazy_static", 1790 | "log", 1791 | "tracing-core", 1792 | ] 1793 | 1794 | [[package]] 1795 | name = "tracing-subscriber" 1796 | version = "0.3.11" 1797 | source = "registry+https://github.com/rust-lang/crates.io-index" 1798 | checksum = "4bc28f93baff38037f64e6f43d34cfa1605f27a49c34e8a04c5e78b0babf2596" 1799 | dependencies = [ 1800 | "ansi_term", 1801 | "lazy_static", 1802 | "matchers", 1803 | "regex", 1804 | "sharded-slab", 1805 | "smallvec", 1806 | "thread_local", 1807 | "tracing", 1808 | "tracing-core", 1809 | "tracing-log", 1810 | ] 1811 | 1812 | [[package]] 1813 | name = "triomphe" 1814 | version = "0.1.8" 1815 | source = "registry+https://github.com/rust-lang/crates.io-index" 1816 | checksum = "f1ee9bd9239c339d714d657fac840c6d2a4f9c45f4f9ec7b0975113458be78db" 1817 | dependencies = [ 1818 | "serde", 1819 | "stable_deref_trait", 1820 | ] 1821 | 1822 | [[package]] 1823 | name = "typed-arena" 1824 | version = "2.0.1" 1825 | source = "registry+https://github.com/rust-lang/crates.io-index" 1826 | checksum = "0685c84d5d54d1c26f7d3eb96cd41550adb97baed141a761cf335d3d33bcd0ae" 1827 | 1828 | [[package]] 1829 | name = "typenum" 1830 | version = "1.15.0" 1831 | source = "registry+https://github.com/rust-lang/crates.io-index" 1832 | checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" 1833 | 1834 | [[package]] 1835 | name = "unicode-bidi" 1836 | version = "0.3.8" 1837 | source = "registry+https://github.com/rust-lang/crates.io-index" 1838 | checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" 1839 | 1840 | [[package]] 1841 | name = "unicode-id" 1842 | version = "0.3.2" 1843 | source = "registry+https://github.com/rust-lang/crates.io-index" 1844 | checksum = "69fe8d9274f490a36442acb4edfd0c4e473fdfc6a8b5cd32f28a0235761aedbe" 1845 | 1846 | [[package]] 1847 | name = "unicode-ident" 1848 | version = "1.0.1" 1849 | source = "registry+https://github.com/rust-lang/crates.io-index" 1850 | checksum = "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c" 1851 | 1852 | [[package]] 1853 | name = "unicode-linebreak" 1854 | version = "0.1.2" 1855 | source = "registry+https://github.com/rust-lang/crates.io-index" 1856 | checksum = "3a52dcaab0c48d931f7cc8ef826fa51690a08e1ea55117ef26f89864f532383f" 1857 | dependencies = [ 1858 | "regex", 1859 | ] 1860 | 1861 | [[package]] 1862 | name = "unicode-normalization" 1863 | version = "0.1.19" 1864 | source = "registry+https://github.com/rust-lang/crates.io-index" 1865 | checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9" 1866 | dependencies = [ 1867 | "tinyvec", 1868 | ] 1869 | 1870 | [[package]] 1871 | name = "unicode-width" 1872 | version = "0.1.9" 1873 | source = "registry+https://github.com/rust-lang/crates.io-index" 1874 | checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973" 1875 | 1876 | [[package]] 1877 | name = "url" 1878 | version = "2.2.2" 1879 | source = "registry+https://github.com/rust-lang/crates.io-index" 1880 | checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" 1881 | dependencies = [ 1882 | "form_urlencoded", 1883 | "idna", 1884 | "matches", 1885 | "percent-encoding", 1886 | ] 1887 | 1888 | [[package]] 1889 | name = "valuable" 1890 | version = "0.1.0" 1891 | source = "registry+https://github.com/rust-lang/crates.io-index" 1892 | checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" 1893 | 1894 | [[package]] 1895 | name = "vergen" 1896 | version = "7.4.2" 1897 | source = "registry+https://github.com/rust-lang/crates.io-index" 1898 | checksum = "73ba753d713ec3844652ad2cb7eb56bc71e34213a14faddac7852a10ba88f61e" 1899 | dependencies = [ 1900 | "anyhow", 1901 | "cfg-if", 1902 | "enum-iterator", 1903 | "getset", 1904 | "rustversion", 1905 | "thiserror", 1906 | "time", 1907 | ] 1908 | 1909 | [[package]] 1910 | name = "version_check" 1911 | version = "0.9.4" 1912 | source = "registry+https://github.com/rust-lang/crates.io-index" 1913 | checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" 1914 | 1915 | [[package]] 1916 | name = "wasi" 1917 | version = "0.11.0+wasi-snapshot-preview1" 1918 | source = "registry+https://github.com/rust-lang/crates.io-index" 1919 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 1920 | 1921 | [[package]] 1922 | name = "winapi" 1923 | version = "0.3.9" 1924 | source = "registry+https://github.com/rust-lang/crates.io-index" 1925 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 1926 | dependencies = [ 1927 | "winapi-i686-pc-windows-gnu", 1928 | "winapi-x86_64-pc-windows-gnu", 1929 | ] 1930 | 1931 | [[package]] 1932 | name = "winapi-i686-pc-windows-gnu" 1933 | version = "0.4.0" 1934 | source = "registry+https://github.com/rust-lang/crates.io-index" 1935 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 1936 | 1937 | [[package]] 1938 | name = "winapi-util" 1939 | version = "0.1.5" 1940 | source = "registry+https://github.com/rust-lang/crates.io-index" 1941 | checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" 1942 | dependencies = [ 1943 | "winapi", 1944 | ] 1945 | 1946 | [[package]] 1947 | name = "winapi-x86_64-pc-windows-gnu" 1948 | version = "0.4.0" 1949 | source = "registry+https://github.com/rust-lang/crates.io-index" 1950 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 1951 | 1952 | [[package]] 1953 | name = "windows-sys" 1954 | version = "0.36.1" 1955 | source = "registry+https://github.com/rust-lang/crates.io-index" 1956 | checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" 1957 | dependencies = [ 1958 | "windows_aarch64_msvc", 1959 | "windows_i686_gnu", 1960 | "windows_i686_msvc", 1961 | "windows_x86_64_gnu", 1962 | "windows_x86_64_msvc", 1963 | ] 1964 | 1965 | [[package]] 1966 | name = "windows_aarch64_msvc" 1967 | version = "0.36.1" 1968 | source = "registry+https://github.com/rust-lang/crates.io-index" 1969 | checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" 1970 | 1971 | [[package]] 1972 | name = "windows_i686_gnu" 1973 | version = "0.36.1" 1974 | source = "registry+https://github.com/rust-lang/crates.io-index" 1975 | checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" 1976 | 1977 | [[package]] 1978 | name = "windows_i686_msvc" 1979 | version = "0.36.1" 1980 | source = "registry+https://github.com/rust-lang/crates.io-index" 1981 | checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" 1982 | 1983 | [[package]] 1984 | name = "windows_x86_64_gnu" 1985 | version = "0.36.1" 1986 | source = "registry+https://github.com/rust-lang/crates.io-index" 1987 | checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" 1988 | 1989 | [[package]] 1990 | name = "windows_x86_64_msvc" 1991 | version = "0.36.1" 1992 | source = "registry+https://github.com/rust-lang/crates.io-index" 1993 | checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" 1994 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "swc-plugin-react-native-web" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [lib] 7 | crate-type = ["cdylib"] 8 | 9 | [dependencies] 10 | serde = "1" 11 | serde_json = "1" 12 | swc_core = { version = "0.48.12", features = ["ecma_visit", "ecma_ast", "ecma_plugin_transform"] } 13 | 14 | [dev-dependencies] 15 | swc_core = { version = "0.48.12", features = ["ecma_parser"] } 16 | 17 | [profile.release] 18 | codegen-units = 1 19 | lto = true 20 | # Optimize for size 21 | opt-level = "s" 22 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Daiki Nishikawa 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # swc-plugin-react-native-web 2 | 3 | [![npm version](https://badge.fury.io/js/@nissy-dev%2Fswc-plugin-react-native-web.svg)](https://badge.fury.io/js/@nissy-dev%2Fswc-plugin-react-native-web) 4 | 5 | A SWC plugin that will alias react-native to react-native-web. 6 | Inspired from [babel-plugin-react-native-web](https://github.com/necolas/react-native-web/tree/master/packages/babel-plugin-react-native-web). 7 | 8 | 9 | ## Caution 10 | 11 | I think the babel-plugin-react-native-web (also, this plugin) is not necessary in many cases in the term of tree shaking or minimizing bundle size. (See https://github.com/necolas/react-native-web/discussions/2217) 12 | 13 | Before using this plugin, please consider about [the package aliasing](https://necolas.github.io/react-native-web/docs/setup/#package-aliasing). 14 | 15 | ## Installation 16 | 17 | ```sh 18 | npm install --save-dev @nissy-dev/swc-plugin-react-native-web 19 | ``` 20 | 21 | ## Usage 22 | 23 | ```json 24 | { 25 | "jsc": { 26 | "experimental": { 27 | "plugins": [["@nissy-dev/swc-plugin-react-native-web", { "commonjs": false }]] 28 | } 29 | } 30 | } 31 | ``` 32 | 33 | ## Compatibility 34 | 35 | Below is a table showing compatibility of the plugin. 36 | The swc_core version refers to the version of the swc_core crate that the plugin has been compiled against. 37 | The Next.js version refers to the version I confirmed to work properly with this plugin. 38 | 39 | | Plugin version | swc_core version | Next.js version | 40 | | :---: | :---: | :---: | 41 | | 0.3.1 | 0.48.12 | ~13.1.0 | 42 | | 0.3.0 | 0.40.16 | ~13.0.0 | 43 | | 0.2.6 | 0.23.24 | ~12.3.1 | 44 | | 0.2.4 | - | 12.2.4 | 45 | -------------------------------------------------------------------------------- /example/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # next.js 12 | /.next/ 13 | /out/ 14 | 15 | # production 16 | /build 17 | 18 | # misc 19 | .DS_Store 20 | *.pem 21 | 22 | # debug 23 | npm-debug.log* 24 | yarn-debug.log* 25 | yarn-error.log* 26 | .pnpm-debug.log* 27 | 28 | # local env files 29 | .env*.local 30 | 31 | # vercel 32 | .vercel 33 | 34 | # swc 35 | .swc 36 | -------------------------------------------------------------------------------- /example/README.md: -------------------------------------------------------------------------------- 1 | # Example 2 | 3 | Next.js with React Native Web exmaple 4 | 5 | Base project: https://github.com/vercel/next.js/tree/canary/examples/with-react-native-web 6 | -------------------------------------------------------------------------------- /example/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "with-react-native-web", 3 | "displayName": "with-react-native-web" 4 | } 5 | -------------------------------------------------------------------------------- /example/next.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | const nextConfig = { 3 | reactStrictMode: true, 4 | experimental: { 5 | swcPlugins: [ 6 | ["@nissy-dev/swc-plugin-react-native-web", { commonjs: true }], 7 | ], 8 | }, 9 | }; 10 | 11 | module.exports = nextConfig; 12 | -------------------------------------------------------------------------------- /example/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "example-next", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "next dev", 7 | "build": "next build", 8 | "start": "next start", 9 | "lint": "next lint" 10 | }, 11 | "dependencies": { 12 | "next": "13.1.1", 13 | "react": "18.2.0", 14 | "react-dom": "18.2.0", 15 | "react-native-web": "0.18.10" 16 | }, 17 | "devDependencies": { 18 | "@nissy-dev/swc-plugin-react-native-web": "0.3.1", 19 | "eslint": "8.31.0", 20 | "eslint-config-next": "13.1.0" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /example/pages/_app.js: -------------------------------------------------------------------------------- 1 | import * as React from "react"; 2 | import Head from "next/head"; 3 | 4 | function MyApp({ Component, pageProps }) { 5 | return ( 6 | <> 7 | 8 | 9 | 10 | 11 | 12 | ); 13 | } 14 | 15 | export default MyApp; 16 | -------------------------------------------------------------------------------- /example/pages/_document.js: -------------------------------------------------------------------------------- 1 | import { Children } from "react"; 2 | import Document, { Html, Head, Main, NextScript } from "next/document"; 3 | import { AppRegistry } from "react-native"; 4 | import config from "../app.json"; 5 | // Force Next-generated DOM elements to fill their parent's height 6 | const normalizeNextElements = ` 7 | #__next { 8 | display: flex; 9 | flex-direction: column; 10 | height: 100%; 11 | } 12 | `; 13 | 14 | export default class MyDocument extends Document { 15 | static async getInitialProps({ renderPage }) { 16 | AppRegistry.registerComponent(config.name, () => Main); 17 | const { getStyleElement } = AppRegistry.getApplication(config.name); 18 | const page = await renderPage(); 19 | const styles = [ 20 |