diff --git a/src/manifest/mod.rs b/src/manifest/mod.rs index 55575538..e93b0d95 100644 --- a/src/manifest/mod.rs +++ b/src/manifest/mod.rs @@ -722,6 +722,7 @@ impl CrateData { NpmPackage::ESModulesPackage(ESModulesPackage { name: data.name, + ty: "module".into(), collaborators: pkg.authors.clone(), description: self.pkg().description.clone(), version: pkg.version.to_string(), @@ -731,7 +732,7 @@ impl CrateData { url: repo_url, }), files: data.files, - module: data.main.clone(), + main: data.main.clone(), homepage: data.homepage, types: data.dts_file, side_effects: vec![format!("./{}", data.main), "./snippets/*".to_owned()], @@ -754,6 +755,7 @@ impl CrateData { NpmPackage::ESModulesPackage(ESModulesPackage { name: data.name, + ty: "module".into(), collaborators: pkg.authors.clone(), description: self.pkg().description.clone(), version: pkg.version.to_string(), @@ -763,7 +765,7 @@ impl CrateData { url: repo_url, }), files: data.files, - module: data.main, + main: data.main, homepage: data.homepage, types: data.dts_file, side_effects: vec!["./snippets/*".to_owned()], diff --git a/src/manifest/npm/esmodules.rs b/src/manifest/npm/esmodules.rs index 7d216bc4..0ee0af96 100644 --- a/src/manifest/npm/esmodules.rs +++ b/src/manifest/npm/esmodules.rs @@ -5,6 +5,8 @@ use crate::manifest::npm::repository::Repository; #[derive(Serialize)] pub struct ESModulesPackage { pub name: String, + #[serde(rename = "type")] + pub ty: String, #[serde(skip_serializing_if = "Vec::is_empty")] pub collaborators: Vec, #[serde(skip_serializing_if = "Option::is_none")] @@ -16,7 +18,7 @@ pub struct ESModulesPackage { pub repository: Option, #[serde(skip_serializing_if = "Vec::is_empty")] pub files: Vec, - pub module: String, + pub main: String, #[serde(skip_serializing_if = "Option::is_none")] pub homepage: Option, #[serde(skip_serializing_if = "Option::is_none")] diff --git a/tests/all/manifest.rs b/tests/all/manifest.rs index 27d24963..8d4af2df 100644 --- a/tests/all/manifest.rs +++ b/tests/all/manifest.rs @@ -86,12 +86,13 @@ fn it_creates_a_package_json_default_path() { utils::manifest::read_package_json(&fixture.path, &out_dir).unwrap(); let pkg = utils::manifest::read_package_json(&fixture.path, &out_dir).unwrap(); assert_eq!(pkg.name, "js-hello-world"); + assert_eq!(pkg.ty, "module"); assert_eq!(pkg.repository.ty, "git"); assert_eq!( pkg.repository.url, "https://github.com/rustwasm/wasm-pack.git" ); - assert_eq!(pkg.module, "js_hello_world.js"); + assert_eq!(pkg.main, "js_hello_world.js"); assert_eq!(pkg.types, "js_hello_world.d.ts"); assert_eq!( pkg.side_effects, @@ -125,7 +126,8 @@ fn it_creates_a_package_json_provided_path() { utils::manifest::read_package_json(&fixture.path, &out_dir).unwrap(); let pkg = utils::manifest::read_package_json(&fixture.path, &out_dir).unwrap(); assert_eq!(pkg.name, "js-hello-world"); - assert_eq!(pkg.module, "js_hello_world.js"); + assert_eq!(pkg.ty, "module"); + assert_eq!(pkg.main, "js_hello_world.js"); let actual_files: HashSet = pkg.files.into_iter().collect(); let expected_files: HashSet = [ @@ -154,7 +156,8 @@ fn it_creates_a_package_json_provided_path_with_scope() { utils::manifest::read_package_json(&fixture.path, &out_dir).unwrap(); let pkg = utils::manifest::read_package_json(&fixture.path, &out_dir).unwrap(); assert_eq!(pkg.name, "@test/js-hello-world"); - assert_eq!(pkg.module, "js_hello_world.js"); + assert_eq!(pkg.ty, "module"); + assert_eq!(pkg.main, "js_hello_world.js"); let actual_files: HashSet = pkg.files.into_iter().collect(); let expected_files: HashSet = [ @@ -251,12 +254,13 @@ fn it_creates_a_package_json_with_correct_files_when_out_name_is_provided() { utils::manifest::read_package_json(&fixture.path, &out_dir).unwrap(); let pkg = utils::manifest::read_package_json(&fixture.path, &out_dir).unwrap(); assert_eq!(pkg.name, "js-hello-world"); + assert_eq!(pkg.ty, "module"); assert_eq!(pkg.repository.ty, "git"); assert_eq!( pkg.repository.url, "https://github.com/rustwasm/wasm-pack.git" ); - assert_eq!(pkg.module, "index.js"); + assert_eq!(pkg.main, "index.js"); assert_eq!(pkg.types, "index.d.ts"); assert_eq!(pkg.side_effects, vec!["./index.js", "./snippets/*"]); @@ -298,12 +302,13 @@ fn it_creates_a_package_json_with_correct_keys_when_types_are_skipped() { utils::manifest::read_package_json(&fixture.path, &out_dir).unwrap(); let pkg = utils::manifest::read_package_json(&fixture.path, &out_dir).unwrap(); assert_eq!(pkg.name, "js-hello-world"); + assert_eq!(pkg.ty, "module"); assert_eq!(pkg.repository.ty, "git"); assert_eq!( pkg.repository.url, "https://github.com/rustwasm/wasm-pack.git" ); - assert_eq!(pkg.module, "js_hello_world.js"); + assert_eq!(pkg.main, "js_hello_world.js"); let actual_files: HashSet = pkg.files.into_iter().collect(); let expected_files: HashSet = [ @@ -344,7 +349,7 @@ fn it_creates_a_package_json_with_npm_dependencies_provided_by_wasm_bindgen() { pkg.repository.url, "https://github.com/rustwasm/wasm-pack.git" ); - assert_eq!(pkg.module, "js_hello_world.js"); + assert_eq!(pkg.main, "js_hello_world.js"); let actual_files: HashSet = pkg.files.into_iter().collect(); let expected_files: HashSet = [ diff --git a/tests/all/utils/manifest.rs b/tests/all/utils/manifest.rs index 9e34d72f..237ade44 100644 --- a/tests/all/utils/manifest.rs +++ b/tests/all/utils/manifest.rs @@ -8,6 +8,8 @@ use serde_json; #[derive(Deserialize)] pub struct NpmPackage { pub name: String, + #[serde(default = "default_none", rename = "type")] + pub ty: String, pub description: String, pub version: String, pub license: String,