Skip to content
This repository was archived by the owner on Sep 17, 2023. It is now read-only.

Commit 663e20f

Browse files
committed
chore: apply clippy advice
1 parent 5390137 commit 663e20f

File tree

7 files changed

+29
-33
lines changed

7 files changed

+29
-33
lines changed

src/io.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ use std::io::{BufWriter, Write};
44
use std::path::Path;
55

66
use serde::{Deserialize, Serialize};
7-
use serde_json;
87

98
#[derive(Serialize, Deserialize, Debug, PartialEq)]
109
pub struct TypescriptProjectReference {

src/lerna_manifest.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,17 +80,17 @@ impl LernaManifest {
8080
})
8181
}
8282

83-
pub fn package_manifests_by_package_name<'a>(
84-
&'a self,
85-
) -> Result<HashMap<String, &'a PackageManifest>, Box<dyn Error>> {
83+
pub fn package_manifests_by_package_name(
84+
&self,
85+
) -> Result<HashMap<String, &PackageManifest>, Box<dyn Error>> {
8686
self.internal_package_manifests
8787
.iter()
8888
.map(|manifest| Ok((manifest.contents.name.to_owned(), manifest)))
8989
.collect()
9090
}
9191

9292
pub fn into_package_manifests_by_package_name(
93-
&mut self,
93+
mut self,
9494
) -> Result<HashMap<String, PackageManifest>, Box<dyn Error>> {
9595
self.internal_package_manifests
9696
.drain(0..)

src/link.rs

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,10 @@ fn key_children_by_parent(
3434
}
3535

3636
// Serialize the TypeScript project references.
37-
fn create_project_references(children: &Vec<String>) -> TypescriptParentProjectReference {
37+
fn create_project_references(children: &[String]) -> TypescriptParentProjectReference {
3838
// Sort the TypeScript project references for deterministic file contents.
3939
// This minimizes diffs since the tsconfig.json files are stored in version control.
40-
let mut sorted_children = children.clone();
40+
let mut sorted_children = children.to_owned();
4141
sorted_children.sort_unstable();
4242
TypescriptParentProjectReference {
4343
files: [].to_vec(),
@@ -50,7 +50,7 @@ fn create_project_references(children: &Vec<String>) -> TypescriptParentProjectR
5050
}
5151
}
5252

53-
fn vecs_match<T: PartialEq>(a: &Vec<T>, b: &Vec<T>) -> bool {
53+
fn vecs_match<T: PartialEq>(a: &[T], b: &[T]) -> bool {
5454
let matching = a.iter().zip(b.iter()).filter(|&(a, b)| a == b).count();
5555
matching == a.len() && matching == b.len()
5656
}
@@ -68,10 +68,10 @@ fn link_children_packages(
6868
.iter()
6969
.fold(HashMap::new(), key_children_by_parent)
7070
.iter()
71-
.map(|(directory, children)| -> Result<(), Box<dyn Error>> {
71+
.try_for_each(|(directory, children)| -> Result<(), Box<dyn Error>> {
7272
let desired_project_references = create_project_references(children);
7373
let tsconfig_filename = opts.root.join(directory).join("tsconfig.json");
74-
let tsconfig = TypescriptConfig::from_directory(&opts.root, &directory)?;
74+
let tsconfig = TypescriptConfig::from_directory(&opts.root, directory)?;
7575
let current_project_references = tsconfig
7676
.contents
7777
.get("references")
@@ -99,8 +99,7 @@ fn link_children_packages(
9999
} else {
100100
write_project_references(tsconfig_filename, &desired_project_references)
101101
}
102-
})
103-
.collect::<Result<(), Box<dyn Error>>>()?;
102+
})?;
104103

105104
Ok(is_exit_success)
106105
}
@@ -162,9 +161,9 @@ fn link_package_dependencies(
162161
tsconfig
163162
.contents
164163
.as_object_mut()
165-
.ok_or::<Box<dyn Error>>(
166-
String::from("Expected tsconfig.json to contain an Object").into(),
167-
)?
164+
.ok_or_else(|| -> Box<dyn Error> {
165+
String::from("Expected tsconfig.json to contain an Object").into()
166+
})?
168167
.insert(
169168
String::from("references"),
170169
serde_json::to_value(desired_project_references)?,
@@ -210,7 +209,7 @@ pub fn link_typescript_project_references(opts: crate::opts::Link) -> Result<(),
210209
.expect("Unable to link internal package dependencies");
211210

212211
if opts.check_only && !(is_children_link_success && is_dependencies_link_success) {
213-
return Err("Found out-of-date project references")?;
212+
return Err("Found out-of-date project references".into());
214213
}
215214

216215
// TODO(7): create `tsconfig.settings.json` files

src/make_depend.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,11 @@ pub fn make_dependency_makefile(opts: crate::opts::MakeDepend) -> Result<(), Box
6565

6666
// create a string of the makefile contents
6767
let makefile_contents = MakefileTemplate {
68-
root: &opts
68+
root: opts
6969
.root
7070
.to_str()
7171
.expect("Monorepo root is not UTF_8 encodable"),
72-
output_file: &opts
72+
output_file: opts
7373
.output_file
7474
.to_str()
7575
.expect("Output file is not UTF-8 encodable"),
@@ -78,8 +78,8 @@ pub fn make_dependency_makefile(opts: crate::opts::MakeDepend) -> Result<(), Box
7878
.to_str()
7979
.expect("Package directory is not UTF-8 encodable"),
8080
scoped_package_name: &package_manifest.contents.name,
81-
unscoped_package_name: &package_manifest.unscoped_package_name(),
82-
pack_archive_filename: &package_manifest
81+
unscoped_package_name: package_manifest.unscoped_package_name(),
82+
pack_archive_filename: package_manifest
8383
.npm_pack_filename()
8484
.to_str()
8585
.expect("npm pack filename is not UTF-8 encodable"),
@@ -95,7 +95,7 @@ pub fn make_dependency_makefile(opts: crate::opts::MakeDepend) -> Result<(), Box
9595
})
9696
.collect(),
9797
create_pack_target: &opts.create_pack_target,
98-
npm_pack_archive_dependencies: &npm_pack_archive_dependencies,
98+
npm_pack_archive_dependencies,
9999
internal_npm_dependencies_exclusive: &npm_pack_archive_dependencies
100100
.keys()
101101
.map(|string| string.as_str())

src/package_manifest.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,9 @@ impl PackageManifest {
9999
self.contents
100100
.extra_fields
101101
.get(dependency_group)
102-
.and_then(|v| serde_json::Value::as_object(v))
102+
.and_then(serde_json::Value::as_object)
103103
.map(|object| object.keys().collect())
104-
.unwrap_or(Vec::new())
104+
.unwrap_or_default()
105105
};
106106

107107
get_dependency_group("dependencies")
@@ -130,12 +130,12 @@ impl PackageManifest {
130130

131131
to_visit_package_manifests.push_back(self);
132132

133-
while to_visit_package_manifests.len() > 0 {
133+
while !to_visit_package_manifests.is_empty() {
134134
let current_manifest = to_visit_package_manifests.pop_front().unwrap();
135135
seen_package_names.insert(&current_manifest.contents.name);
136136

137137
for dependency in current_manifest
138-
.get_internal_dependencies(&package_manifest_by_package_name)
138+
.get_internal_dependencies(package_manifest_by_package_name)
139139
.iter()
140140
{
141141
internal_dependencies.insert(dependency.contents.name.to_owned());
@@ -169,14 +169,14 @@ impl PackageManifest {
169169
self.contents
170170
.extra_fields
171171
.get_mut(group_index)
172-
.and_then(|value| serde_json::Value::as_object_mut(value))
172+
.and_then(serde_json::Value::as_object_mut)
173173
}
174174

175175
// Name of the archive generated by `npm pack`, for example "myscope-a-cool-package-1.0.0.tgz"
176176
pub fn npm_pack_file_basename(&self) -> String {
177177
format!(
178178
"{}-{}.tgz",
179-
self.contents.name.trim_start_matches("@").replace("/", "-"),
179+
self.contents.name.trim_start_matches('@').replace("/", "-"),
180180
&self.contents.version,
181181
)
182182
}
@@ -185,7 +185,7 @@ impl PackageManifest {
185185
self.directory().join(&self.npm_pack_file_basename())
186186
}
187187

188-
pub fn unscoped_package_name<'a>(&'a self) -> &'a str {
188+
pub fn unscoped_package_name(&self) -> &str {
189189
match &self.contents.name.rsplit_once("/") {
190190
Some((_scope, name)) => name,
191191
None => &self.contents.name,

src/pin.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ struct UnpinnedDependency {
1515
pub fn pin_version_numbers_in_internal_packages(
1616
opts: crate::opts::Pin,
1717
) -> Result<(), Box<dyn Error>> {
18-
let mut lerna_manifest = LernaManifest::from_directory(&opts.root)?;
18+
let lerna_manifest = LernaManifest::from_directory(&opts.root)?;
1919
let mut package_manifest_by_package_name = lerna_manifest
2020
.into_package_manifests_by_package_name()
2121
.expect("Unable to read all package manifests");
@@ -77,7 +77,7 @@ pub fn pin_version_numbers_in_internal_packages(
7777
});
7878
}
7979

80-
if dependencies_to_update.len() > 0 {
80+
if !dependencies_to_update.is_empty() {
8181
if opts.check_only {
8282
exit_code = 1;
8383
println!(
@@ -97,7 +97,7 @@ pub fn pin_version_numbers_in_internal_packages(
9797
}
9898

9999
if opts.check_only && exit_code != 0 {
100-
return Err("Found unexpected dependency versions for internal packages")?;
100+
return Err("Found unexpected dependency versions for internal packages".into());
101101
}
102102
Ok(())
103103
}

src/typescript_config.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ use std::fs::File;
33
use std::io::{BufReader, BufWriter, Write};
44
use std::path::{Path, PathBuf};
55

6-
use serde_json;
7-
86
use crate::configuration_file::ConfigurationFile;
97

108
pub struct TypescriptConfig {

0 commit comments

Comments
 (0)