From 2aeccfcf5f6a3cc69de6ecad5eb7fcfd9d93c546 Mon Sep 17 00:00:00 2001 From: DrBracewell Date: Mon, 20 Jun 2022 23:50:50 +0100 Subject: [PATCH] Updated package.json structs and populated new main field Added `main` field to NoModulesPackage and ESModulesPackage in the generated package.json. Also cloned the entry filename during struct instantiation for when the package.json is generated. Cloning might not be optimal, it is probably possible to borrow the String and generate the filename with that, but I think clones here should be fine. --- src/manifest/mod.rs | 3 +++ src/manifest/npm/esmodules.rs | 1 + src/manifest/npm/nomodules.rs | 1 + 3 files changed, 5 insertions(+) diff --git a/src/manifest/mod.rs b/src/manifest/mod.rs index 6a483523..5fb73c7a 100644 --- a/src/manifest/mod.rs +++ b/src/manifest/mod.rs @@ -734,6 +734,7 @@ impl CrateData { url: repo_url, }), files: data.files, + main: data.main.clone(), module: data.main, homepage: data.homepage, types: data.dts_file, @@ -771,6 +772,7 @@ impl CrateData { url: repo_url, }), files: data.files, + main: data.main.clone(), module: data.main, homepage: data.homepage, types: data.dts_file, @@ -808,6 +810,7 @@ impl CrateData { url: repo_url, }), files: data.files, + main: data.main.clone(), browser: data.main, homepage: data.homepage, types: data.dts_file, diff --git a/src/manifest/npm/esmodules.rs b/src/manifest/npm/esmodules.rs index b3b541b7..dc160c7d 100644 --- a/src/manifest/npm/esmodules.rs +++ b/src/manifest/npm/esmodules.rs @@ -16,6 +16,7 @@ pub struct ESModulesPackage { pub repository: Option, #[serde(skip_serializing_if = "Vec::is_empty")] pub files: Vec, + pub main: String, pub module: String, #[serde(skip_serializing_if = "Option::is_none")] pub homepage: Option, diff --git a/src/manifest/npm/nomodules.rs b/src/manifest/npm/nomodules.rs index 20567cca..24afba1c 100644 --- a/src/manifest/npm/nomodules.rs +++ b/src/manifest/npm/nomodules.rs @@ -16,6 +16,7 @@ pub struct NoModulesPackage { pub repository: Option, #[serde(skip_serializing_if = "Vec::is_empty")] pub files: Vec, + pub main: String, pub browser: String, #[serde(skip_serializing_if = "Option::is_none")] pub homepage: Option,