Skip to content

Commit a879b47

Browse files
authored
perf(transform-imports): Remove needless allocations (#398)
1 parent 094bf08 commit a879b47

File tree

7 files changed

+20
-7
lines changed

7 files changed

+20
-7
lines changed

Cargo.lock

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

packages/transform-imports/CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# @swc/plugin-transform-imports
22

3+
## 6.2.0
4+
5+
### Minor Changes
6+
7+
- 8bade7e: Improve performance
8+
39
## 6.1.0
410

511
### Minor Changes

packages/transform-imports/README.md

+6
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,12 @@
1818

1919
# @swc/plugin-transform-imports
2020

21+
## 6.2.0
22+
23+
### Minor Changes
24+
25+
- 8bade7e: Improve performance
26+
2127
## 6.1.0
2228

2329
### Minor Changes

packages/transform-imports/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@swc/plugin-transform-imports",
3-
"version": "6.1.0",
3+
"version": "6.2.0",
44
"description": "SWC plugin for https://www.npmjs.com/package/babel-plugin-transform-imports",
55
"main": "swc_plugin_transform_imports.wasm",
66
"scripts": {

packages/transform-imports/transform/Cargo.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ homepage = { workspace = true }
1111
license = { workspace = true }
1212
repository = { workspace = true }
1313
rust-version = { workspace = true }
14-
version = "0.71.0"
14+
version = "0.72.0"
1515

1616
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
1717

@@ -20,7 +20,7 @@ convert_case = { workspace = true }
2020
handlebars = { workspace = true }
2121
once_cell = { workspace = true }
2222
regex = { workspace = true }
23-
serde = { workspace = true }
23+
serde = { workspace = true, features = ["rc"] }
2424
swc_atoms = { workspace = true }
2525
swc_cached = { workspace = true }
2626
swc_common = { workspace = true }

packages/transform-imports/transform/src/lib.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use std::{borrow::Cow, collections::HashMap};
1+
use std::{borrow::Cow, collections::HashMap, sync::Arc};
22

33
use convert_case::{Case, Casing};
44
use handlebars::{Context, Handlebars, Helper, HelperResult, Output, RenderContext};
@@ -16,7 +16,7 @@ static DUP_SLASH_REGEX: Lazy<Regex> = Lazy::new(|| Regex::new(r"//").unwrap());
1616
#[derive(Clone, Debug, Deserialize)]
1717
#[serde(transparent)]
1818
pub struct Config {
19-
pub packages: HashMap<String, PackageConfig>,
19+
pub packages: HashMap<String, Arc<PackageConfig>>,
2020
}
2121

2222
#[derive(Clone, Debug, Deserialize)]

packages/transform-imports/transform/tests/fixture.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use std::path::PathBuf;
1+
use std::{path::PathBuf, sync::Arc};
22

33
use modularize_imports::{modularize_imports, PackageConfig};
44
use swc_ecma_parser::{EsSyntax, Syntax};
@@ -106,6 +106,7 @@ fn modularize_imports_fixture(input: PathBuf) {
106106
),
107107
]
108108
.into_iter()
109+
.map(|(k, v)| (k, Arc::new(v)))
109110
.collect(),
110111
};
111112

0 commit comments

Comments
 (0)