[workspace]
members  = ["xtask", "crates/*", "tools/generate-code", "tools/swc-releaser"]
resolver = "2"

  [workspace.package]
  edition    = "2021"
  license    = "Apache-2.0"
  repository = "https://github.com/swc-project/swc.git"


  [workspace.dependencies]
  # bytecheck version should be in sync with rkyv version. Do not bump individually.
  bytecheck = "0.8.0"
  rancor    = "0.1.0"
  rkyv      = "0.8.8"


  Inflector                 = "0.11.4"
  allocator-api2            = "0.2.18"
  ansi_term                 = "0.12.1"
  anyhow                    = "1.0.81"
  arbitrary                 = "1"
  arrayvec                  = "0.7.4"
  ascii                     = "1.1.0"
  assert_cmd                = "2.0.12"
  assert_fs                 = "1.0.13"
  assume                    = "0.5.0"
  auto_impl                 = "1.2.0"
  backtrace                 = "0.3.61"
  base64                    = "0.22.1"
  bitflags                  = "2.5.0"
  browserslist-rs           = "0.17.0"
  bumpalo                   = "3.16.0"
  cargo_metadata            = "0.18.1"
  cfg-if                    = "1.0.0"
  changesets                = "0.2.2"
  chili                     = "0.2.1"
  chrono                    = "0.4.38"
  codspeed-criterion-compat = "2.6.0"
  compact_str               = "0.7.1"
  console_error_panic_hook  = "0.1.7"
  copyless                  = "0.1.5"
  crc                       = "2.1.0"
  criterion                 = "0.5.1"
  crossbeam-queue           = "0.3.11"
  dashmap                   = "5.5.3"
  dialoguer                 = "0.10.2"
  difference                = "2"
  either                    = "1.10.0"
  enumset                   = "1.1.2"
  flate2                    = "1.0"
  futures                   = "0.3"
  glob                      = "0.3.0"
  hashbrown                 = "0.14.5"
  hex                       = "0.4.3"
  humansize                 = "2.1.3"
  indexmap                  = "2.0.0"
  is-macro                  = "0.3.5"
  js-sys                    = "0.3.59"
  jsonc-parser              = "0.26.2"
  kstring                   = "2.0.0"
  lazy_static               = "1.4.0"
  lexical                   = "6.1.0"
  lru                       = "0.10.0"
  memchr                    = "2.6.1"
  miette                    = "7.2.0"
  napi                      = { version = "2.0.0", default-features = false }
  napi-derive               = { version = "2.0.0", default-features = false }
  new_debug_unreachable     = "1.0.6"
  nom                       = "7.1.3"
  ntest                     = "0.7.2"
  num-bigint                = "0.4.3"
  num-traits                = "0.2.15"
  num_cpus                  = "1.13.1"
  once_cell                 = "1.19.0"
  par-core                  = { version = "1.0.3", default-features = false }
  par-iter                  = "1.0.2"
  parking_lot               = "0.12.1"
  path-absolutize           = "3.0.11"
  pathdiff                  = "0.2.1"
  petgraph                  = "0.7.1"
  phf                       = "0.11.2"
  pretty_assertions         = "1.3"
  proc-macro2               = "1.0.24"
  ptr_meta                  = "0.3.0"
  quote                     = "1.0.7"
  radix_fmt                 = "1.0.0"
  rand                      = "0.8.5"
  rayon                     = "1.7.0"
  regex                     = "1.5.4"
  relative-path             = "1.6.1"
  reqwest                   = "0.11.14"
  rustc-hash                = "2"
  ryu-js                    = "1.0.0"
  scoped-tls                = "1.0.1"
  semver                    = "1.0.20"
  serde                     = "1.0.197"
  serde-wasm-bindgen        = "0.4.5"
  serde_derive              = "1.0.197"
  serde_json                = "1.0.115"
  sha1                      = "0.10.6"
  sha2                      = "0.10.8"
  shrink-to-fit             = "0.2.1"
  siphasher                 = "0.3.9"
  smallvec                  = "1.8.0"
  smartstring               = "1.0.1"
  smol_str                  = "0.2.0"
  sourcemap                 = "9.0.0"
  st-map                    = "0.2.0"
  string_cache              = "0.8.7"
  syn                       = "2"
  tempfile                  = "3.6.0"
  termcolor                 = "1.0"
  thiserror                 = "1.0.30"
  tokio                     = { version = "1", default-features = false }
  toml                      = "0.8.2"
  tracing                   = "0.1.40"
  tracing-chrome            = "0.5.0"
  tracing-futures           = "0.2.5"
  tracing-subscriber        = "0.3.18"
  triomphe                  = "0.1.13"
  typed-arena               = "2.0.1"
  unicode-id                = "0.3"
  unicode-id-start          = "1.2.0"
  unicode-width             = "0.1.4"
  url                       = "2.5.4"
  vergen                    = { version = "9.0.0", default-features = false }
  virtual-fs                = { version = "0.19.0", default-features = false }
  walkdir                   = "2.4.0"
  wasm-bindgen              = "0.2.91"
  wasm-bindgen-futures      = "0.4.41"
  wasmer                    = { version = "=5.0.5-rc1", default-features = false }
  wasmer-wasix              = { version = "0.35.0", default-features = false }
  wide                      = "0.7.32"

[profile.release]
lto = true

# We use CARGO_PROFILE_RELEASE_LTO for production builds
# lto = "fat"

# debug = true
# opt-level = 'z'

[profile.bench]
debug = true
lto   = true

# Optimize for iteration
[profile.dev.build-override]
opt-level = 3

[profile.dev.package."*"]
opt-level = 3


[profile.test.package.swc_ecma_minifier]
opt-level = 3

[profile.test.package.swc_ecma_transforms_optimization]
opt-level = 3

[profile.test.package.swc_ecma_usage_analyzer]
opt-level = 3
