Skip to content

Commit 59a7acd

Browse files
committed
refactor: upgrade to the latest dprint-core
1 parent 0eace68 commit 59a7acd

File tree

12 files changed

+150
-160
lines changed

12 files changed

+150
-160
lines changed

Cargo.lock

Lines changed: 24 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "dprint-plugin-typescript"
3-
version = "0.65.1"
3+
version = "0.66.0"
44
authors = ["David Sherret <[email protected]>"]
55
edition = "2021"
66
homepage = "https://github.com/dprint/dprint-plugin-typescript"
@@ -27,7 +27,7 @@ tracing = ["dprint-core/tracing"]
2727
[dependencies]
2828
anyhow = "1.0.51"
2929
deno_ast = { version = "0.13.0", features = ["view"] }
30-
dprint-core = { version = "0.50.0", features = ["formatting"] }
30+
dprint-core = { version = "0.54.1", features = ["formatting"] }
3131
rustc-hash = "1.1.0"
3232
serde = { version = "1.0.118", features = ["derive"] }
3333
serde_json = { version = "1.0", optional = true }
@@ -37,5 +37,5 @@ parking_lot_core = "=0.8.0" # wait on string_cache to be updated in swc
3737

3838
[dev-dependencies]
3939
debug-here = "0.2"
40-
dprint-development = "0.6.0"
40+
dprint-development = "0.8.0"
4141
serde_json = { version = "1.0" }

dprint.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
"**/target"
1414
],
1515
"plugins": [
16-
"https://plugins.dprint.dev/typescript-0.62.2.wasm",
16+
"https://plugins.dprint.dev/typescript-0.65.1.wasm",
1717
"https://plugins.dprint.dev/json-0.14.1.wasm",
1818
"https://plugins.dprint.dev/markdown-0.12.2.wasm",
1919
"https://plugins.dprint.dev/toml-0.5.4.wasm",
20-
"https://plugins.dprint.dev/rustfmt-0.4.0.exe-plugin@c6bb223ef6e5e87580177f6461a0ab0554ac9ea6b54f78ea7ae8bf63b14f5bc2"
20+
"https://plugins.dprint.dev/rustfmt-0.6.1.exe-plugin@99b89a0599fd3a63e597e03436862157901f3facae2f0c2fbd0b9f656cdbc2a5"
2121
]
2222
}

src/configuration/builder.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
use super::resolve_config::resolve_config;
22
use super::types::*;
33
use dprint_core::configuration::*;
4-
use std::collections::HashMap;
54

65
/// TypeScript formatting configuration builder.
76
///
@@ -35,7 +34,7 @@ impl ConfigurationBuilder {
3534
if let Some(global_config) = &self.global_config {
3635
resolve_config(self.config.clone(), global_config).config
3736
} else {
38-
let global_config = resolve_global_config(HashMap::new(), &Default::default()).config;
37+
let global_config = resolve_global_config(ConfigKeyMap::new(), &Default::default()).config;
3938
resolve_config(self.config.clone(), &global_config).config
4039
}
4140
}
@@ -1116,7 +1115,7 @@ mod tests {
11161115

11171116
let inner_config = config.get_inner_config();
11181117
assert_eq!(inner_config.len(), 155);
1119-
let diagnostics = resolve_config(inner_config, &resolve_global_config(HashMap::new(), &Default::default()).config).diagnostics;
1118+
let diagnostics = resolve_config(inner_config, &resolve_global_config(ConfigKeyMap::new(), &Default::default()).config).diagnostics;
11201119
assert_eq!(diagnostics.len(), 0);
11211120
}
11221121
}

src/configuration/resolve_config.rs

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,16 @@ use dprint_core::configuration::*;
77
/// # Example
88
///
99
/// ```
10-
/// use std::collections::HashMap;
11-
/// use dprint_core::configuration::{resolve_global_config};
12-
/// use dprint_plugin_typescript::configuration::{resolve_config};
10+
/// use dprint_core::configuration::ConfigKeyMap;
11+
/// use dprint_core::configuration::resolve_global_config;
12+
/// use dprint_plugin_typescript::configuration::resolve_config;
1313
///
14-
/// let config_map = HashMap::new(); // get a collection of key value pairs from somewhere
14+
/// let config_map = ConfigKeyMap::new(); // get a collection of key value pairs from somewhere
1515
/// let global_config_result = resolve_global_config(config_map, &Default::default());
1616
///
1717
/// // check global_config_result.diagnostics here...
1818
///
19-
/// let typescript_config_map = HashMap::new(); // get a collection of k/v pairs from somewhere
19+
/// let typescript_config_map = ConfigKeyMap::new(); // get a collection of k/v pairs from somewhere
2020
/// let config_result = resolve_config(
2121
/// typescript_config_map,
2222
/// &global_config_result.config
@@ -295,7 +295,6 @@ pub fn resolve_config(config: ConfigKeyMap, global_config: &GlobalConfiguration)
295295
mod tests {
296296
use dprint_core::configuration::resolve_global_config;
297297
use dprint_core::configuration::NewLineKind;
298-
use std::collections::HashMap;
299298

300299
use super::super::builder::ConfigurationBuilder;
301300
use super::*;
@@ -304,7 +303,7 @@ mod tests {
304303

305304
#[test]
306305
fn handle_global_config() {
307-
let mut global_config = HashMap::new();
306+
let mut global_config = ConfigKeyMap::new();
308307
global_config.insert(String::from("lineWidth"), ConfigKeyValue::from_i32(80));
309308
global_config.insert(String::from("indentWidth"), ConfigKeyValue::from_i32(8));
310309
global_config.insert(String::from("newLineKind"), ConfigKeyValue::from_str("crlf"));
@@ -320,9 +319,9 @@ mod tests {
320319

321320
#[test]
322321
fn handle_deno_config() {
323-
let mut config = HashMap::new();
322+
let mut config = ConfigKeyMap::new();
324323
config.insert(String::from("deno"), ConfigKeyValue::from_bool(true));
325-
let global_config = resolve_global_config(HashMap::new(), &Default::default()).config;
324+
let global_config = resolve_global_config(ConfigKeyMap::new(), &Default::default()).config;
326325
let result = resolve_config(config, &global_config);
327326
let expected_config = ConfigurationBuilder::new().deno().build();
328327
// todo: test that both objects equal each other
@@ -333,10 +332,10 @@ mod tests {
333332

334333
#[test]
335334
fn handle_deno_config_with_overwrites() {
336-
let mut config = HashMap::new();
335+
let mut config = ConfigKeyMap::new();
337336
config.insert(String::from("deno"), ConfigKeyValue::from_bool(true));
338337
config.insert(String::from("indentWidth"), ConfigKeyValue::from_i32(8));
339-
let global_config = resolve_global_config(HashMap::new(), &Default::default()).config;
338+
let global_config = resolve_global_config(ConfigKeyMap::new(), &Default::default()).config;
340339
let result = resolve_config(config, &global_config);
341340
let expected_config = ConfigurationBuilder::new().deno().build();
342341
assert_eq!(result.config.indent_width, 8);

src/format_text.rs

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,36 +38,41 @@ use super::swc::parse_swc_ast;
3838
/// // save result here...
3939
/// }
4040
/// ```
41-
pub fn format_text(file_path: &Path, file_text: &str, config: &Configuration) -> Result<String> {
41+
pub fn format_text(file_path: &Path, file_text: &str, config: &Configuration) -> Result<Option<String>> {
4242
if super::utils::file_text_has_ignore_comment(file_text, &config.ignore_file_comment_text) {
43-
Ok(String::from(file_text))
43+
Ok(None)
4444
} else {
4545
let parsed_source = parse_swc_ast(file_path, file_text)?;
4646
inner_format(&parsed_source, config)
4747
}
4848
}
4949

5050
/// Formats an already parsed source. This is useful as a performance optimization.
51-
pub fn format_parsed_source(source: &ParsedSource, config: &Configuration) -> Result<String> {
51+
pub fn format_parsed_source(source: &ParsedSource, config: &Configuration) -> Result<Option<String>> {
5252
if super::utils::file_text_has_ignore_comment(source.source().text_str(), &config.ignore_file_comment_text) {
53-
Ok(source.source().text_str().to_string())
53+
Ok(None)
5454
} else {
5555
inner_format(source, config)
5656
}
5757
}
5858

59-
fn inner_format(parsed_source: &ParsedSource, config: &Configuration) -> Result<String> {
59+
fn inner_format(parsed_source: &ParsedSource, config: &Configuration) -> Result<Option<String>> {
6060
ensure_no_specific_syntax_errors(parsed_source)?;
6161

62-
Ok(dprint_core::formatting::format(
62+
let result = dprint_core::formatting::format(
6363
|| {
6464
#[allow(clippy::let_and_return)]
6565
let print_items = generate(parsed_source, config);
6666
// println!("{}", print_items.get_as_text());
6767
print_items
6868
},
6969
config_to_print_options(parsed_source.source().text_str(), config),
70-
))
70+
);
71+
if result == parsed_source.source().text_str() {
72+
Ok(None)
73+
} else {
74+
Ok(Some(result))
75+
}
7176
}
7277

7378
#[cfg(feature = "tracing")]

0 commit comments

Comments
 (0)