Skip to content

Commit 0406826

Browse files
committed
make integrity field optional
1 parent d383040 commit 0406826

File tree

4 files changed

+9
-8
lines changed

4 files changed

+9
-8
lines changed

src/graphs.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ enum LockfileGraphPackage {
7474
struct LockfileNpmGraphPackage {
7575
/// Root ids that transitively reference this package.
7676
root_ids: HashSet<LockfilePkgId>,
77-
integrity: String,
77+
integrity: Option<String>,
7878
dependencies: BTreeMap<StackString, LockfileNpmPackageId>,
7979
}
8080

src/lib.rs

+4-3
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,8 @@ pub struct NpmPackageDependencyLockfileInfo {
7575

7676
#[derive(Debug, Clone, Serialize, Deserialize, Hash, PartialEq, Eq)]
7777
pub struct NpmPackageInfo {
78-
pub integrity: String,
78+
/// Will be `None` for patch packages.
79+
pub integrity: Option<String>,
7980
#[serde(default)]
8081
pub dependencies: BTreeMap<StackString, StackString>,
8182
}
@@ -226,7 +227,7 @@ impl LockfileContent {
226227

227228
#[derive(Debug, Deserialize)]
228229
struct RawNpmPackageInfo {
229-
pub integrity: String,
230+
pub integrity: Option<String>,
230231
#[serde(default)]
231232
pub dependencies: Vec<StackString>,
232233
}
@@ -761,7 +762,7 @@ impl Lockfile {
761762

762763
let entry = self.content.packages.npm.entry(package_info.serialized_id);
763764
let package_info = NpmPackageInfo {
764-
integrity: package_info.integrity,
765+
integrity: Some(package_info.integrity),
765766
dependencies,
766767
};
767768
match entry {

src/printer.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,9 @@ struct SerializedJsrPkg<'a> {
2828

2929
#[derive(Serialize)]
3030
struct SerializedNpmPkg<'a> {
31-
integrity: &'a str,
31+
/// Will be `None` for patch packages.
32+
#[serde(skip_serializing_if = "Option::is_none")]
33+
integrity: Option<&'a str>,
3234
#[serde(skip_serializing_if = "Vec::is_empty")]
3335
dependencies: Vec<Cow<'a, str>>,
3436
}
@@ -220,7 +222,7 @@ pub fn print_v4_content(content: &LockfileContent) -> String {
220222
(
221223
key.as_str(),
222224
SerializedNpmPkg {
223-
integrity: &value.integrity,
225+
integrity: value.integrity.as_deref(),
224226
dependencies: value
225227
.dependencies
226228
.iter()

tests/specs/config_changes/PatchNotChangingKeepsNpmDeps.txt

-2
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,6 @@
139139
]
140140
},
141141
142-
"integrity": "sha512-dbDtVdEAncKctzrVZ+Nr7kHpHkv+0JDJb2MjjpBaj8bFeCkePU9rHfMklmhuLFnpeq/EJZk2IhStY6NzqgjOkg==",
143142
"dependencies": [
144143
"@ts-morph/common",
145144
"code-block-writer"
@@ -309,7 +308,6 @@
309308
]
310309
},
311310
312-
"integrity": "sha512-dbDtVdEAncKctzrVZ+Nr7kHpHkv+0JDJb2MjjpBaj8bFeCkePU9rHfMklmhuLFnpeq/EJZk2IhStY6NzqgjOkg==",
313311
"dependencies": [
314312
"@ts-morph/common",
315313
"code-block-writer"

0 commit comments

Comments
 (0)