swc/ecmascript/transforms/Cargo.toml
Donny/강동윤 fac6f47863
perf(es/transforms): Improve performance (#2329)
swc_ecma_ast:
 - Implement `Take` for `Function`.
 - Implement `Take` for `FnExpr`.
 - Implement `Take` for `ClassExpr`.

swc_ecma_transforms_compat:
 - Migrate `es2015::duplicate_keys` to `VisitMut`.
 - Migrate `es2015::template_literals` to `VisitMut`.
 - Migrate `es2015::function_name` to `VisitMut`.
 - Add more fast-path to `reserved_words` pass.

swc_ecma_transforms_react:
 - Reduce allocations of `pure_annotations`.
 - Migrate `pure_annotations` to `VisitMut`.
 - Migrate `jsx::display_name` to `VisitMut`.

swc_ecma_transforms_optimization:
 - Migrate `inline_globals` to `VisitMut`.
 - `inline_globals`: Use `Lrc<FxHashMap<K, V>>`.

swc:
 - Cache `current_dir()`.
 - `ModuleConfig::build`: cacnonicalize only if `paths` is used.
2021-10-05 13:31:35 +00:00

47 lines
1.9 KiB
TOML

[package]
authors = ["강동윤 <kdy1997.dev@gmail.com>"]
description = "rust port of babel and closure compiler."
documentation = "https://rustdoc.swc.rs/swc_ecma_transforms/"
edition = "2018"
license = "Apache-2.0/MIT"
name = "swc_ecma_transforms"
repository = "https://github.com/swc-project/swc.git"
version = "0.78.0"
[package.metadata.docs.rs]
all-features = true
[features]
compat = ["swc_ecma_transforms_compat"]
module = ["swc_ecma_transforms_module"]
multi-module-decorator = ["swc_ecma_transforms_proposal/multi-module"]
optimization = ["swc_ecma_transforms_optimization"]
proposal = ["swc_ecma_transforms_proposal"]
react = ["swc_ecma_transforms_react"]
typescript = ["swc_ecma_transforms_typescript"]
[dependencies]
swc_atoms = {version = "0.2.0", path = "../../atoms"}
swc_common = {version = "0.13.0", path = "../../common"}
swc_ecma_ast = {version = "0.54.0", path = "../ast"}
swc_ecma_parser = {version = "0.73.0", path = "../parser"}
swc_ecma_transforms_base = {version = "0.35.0", path = "./base"}
swc_ecma_transforms_compat = {version = "0.40.0", path = "./compat", optional = true}
swc_ecma_transforms_module = {version = "0.44.0", path = "./module", optional = true}
swc_ecma_transforms_optimization = {version = "0.48.0", path = "./optimization", optional = true}
swc_ecma_transforms_proposal = {version = "0.44.0", path = "./proposal", optional = true}
swc_ecma_transforms_react = {version = "0.45.0", path = "./react", optional = true}
swc_ecma_transforms_typescript = {version = "0.46.0", path = "./typescript", optional = true}
swc_ecma_utils = {version = "0.46.0", path = "../utils"}
swc_ecma_visit = {version = "0.40.0", path = "../visit"}
unicode-xid = "0.2"
[dev-dependencies]
pretty_assertions = "0.6"
sourcemap = "6"
swc_ecma_codegen = {version = "0.74.0", path = "../codegen"}
swc_ecma_transforms_testing = {version = "0.36.0", path = "./testing"}
tempfile = "3"
testing = {version = "0.14.0", path = "../../testing"}
walkdir = "2"