@@ -79,7 +79,7 @@ fn it_creates_a_package_json_default_path() {
7979 let crate_data = manifest:: CrateData :: new ( & fixture. path , None ) . unwrap ( ) ;
8080 wasm_pack:: command:: utils:: create_pkg_dir ( & out_dir) . unwrap ( ) ;
8181 assert ! ( crate_data
82- . write_package_json( & out_dir, & None , false , Target :: Bundler )
82+ . write_package_json( & out_dir, & None , & None , false , Target :: Bundler )
8383 . is_ok( ) ) ;
8484 let package_json_path = & fixture. path . join ( "pkg" ) . join ( "package.json" ) ;
8585 fs:: metadata ( package_json_path) . unwrap ( ) ;
@@ -119,7 +119,7 @@ fn it_creates_a_package_json_provided_path() {
119119 let crate_data = manifest:: CrateData :: new ( & fixture. path , None ) . unwrap ( ) ;
120120 wasm_pack:: command:: utils:: create_pkg_dir ( & out_dir) . unwrap ( ) ;
121121 assert ! ( crate_data
122- . write_package_json( & out_dir, & None , false , Target :: Bundler )
122+ . write_package_json( & out_dir, & None , & None , false , Target :: Bundler )
123123 . is_ok( ) ) ;
124124 let package_json_path = & fixture. path . join ( "pkg" ) . join ( "package.json" ) ;
125125 fs:: metadata ( package_json_path) . unwrap ( ) ;
@@ -149,7 +149,13 @@ fn it_creates_a_package_json_provided_path_with_scope() {
149149 let crate_data = manifest:: CrateData :: new ( & fixture. path , None ) . unwrap ( ) ;
150150 wasm_pack:: command:: utils:: create_pkg_dir ( & out_dir) . unwrap ( ) ;
151151 assert ! ( crate_data
152- . write_package_json( & out_dir, & Some ( "test" . to_string( ) ) , false , Target :: Bundler , )
152+ . write_package_json(
153+ & out_dir,
154+ & Some ( "test" . to_string( ) ) ,
155+ & None ,
156+ false ,
157+ Target :: Bundler ,
158+ )
153159 . is_ok( ) ) ;
154160 let package_json_path = & fixture. path . join ( "pkg" ) . join ( "package.json" ) ;
155161 fs:: metadata ( package_json_path) . unwrap ( ) ;
@@ -172,14 +178,50 @@ fn it_creates_a_package_json_provided_path_with_scope() {
172178 assert_eq ! ( actual_files, expected_files) ;
173179}
174180
181+ #[ test]
182+ fn it_creates_a_package_json_provided_path_with_package_name ( ) {
183+ let fixture = fixture:: js_hello_world ( ) ;
184+ let out_dir = fixture. path . join ( "pkg" ) ;
185+ let crate_data = manifest:: CrateData :: new ( & fixture. path , None ) . unwrap ( ) ;
186+ wasm_pack:: command:: utils:: create_pkg_dir ( & out_dir) . unwrap ( ) ;
187+ assert ! ( crate_data
188+ . write_package_json(
189+ & out_dir,
190+ & None ,
191+ & Some ( "hello-world" . to_string( ) ) ,
192+ false ,
193+ Target :: Bundler ,
194+ )
195+ . is_ok( ) ) ;
196+ let package_json_path = & fixture. path . join ( "pkg" ) . join ( "package.json" ) ;
197+ fs:: metadata ( package_json_path) . unwrap ( ) ;
198+ utils:: manifest:: read_package_json ( & fixture. path , & out_dir) . unwrap ( ) ;
199+ let pkg = utils:: manifest:: read_package_json ( & fixture. path , & out_dir) . unwrap ( ) ;
200+ assert_eq ! ( pkg. name, "hello-world" ) ;
201+ assert_eq ! ( pkg. ty, "module" ) ;
202+ assert_eq ! ( pkg. main, "js_hello_world.js" ) ;
203+
204+ let actual_files: HashSet < String > = pkg. files . into_iter ( ) . collect ( ) ;
205+ let expected_files: HashSet < String > = [
206+ "js_hello_world.d.ts" ,
207+ "js_hello_world_bg.js" ,
208+ "js_hello_world_bg.wasm" ,
209+ "js_hello_world.js" ,
210+ ]
211+ . iter ( )
212+ . map ( |& s| String :: from ( s) )
213+ . collect ( ) ;
214+ assert_eq ! ( actual_files, expected_files) ;
215+ }
216+
175217#[ test]
176218fn it_creates_a_pkg_json_with_correct_files_on_node ( ) {
177219 let fixture = fixture:: js_hello_world ( ) ;
178220 let out_dir = fixture. path . join ( "pkg" ) ;
179221 let crate_data = manifest:: CrateData :: new ( & fixture. path , None ) . unwrap ( ) ;
180222 wasm_pack:: command:: utils:: create_pkg_dir ( & out_dir) . unwrap ( ) ;
181223 assert ! ( crate_data
182- . write_package_json( & out_dir, & None , false , Target :: Nodejs )
224+ . write_package_json( & out_dir, & None , & None , false , Target :: Nodejs )
183225 . is_ok( ) ) ;
184226 let package_json_path = & out_dir. join ( "package.json" ) ;
185227 fs:: metadata ( package_json_path) . unwrap ( ) ;
@@ -213,7 +255,7 @@ fn it_creates_a_pkg_json_with_correct_files_on_nomodules() {
213255 let crate_data = manifest:: CrateData :: new ( & fixture. path , None ) . unwrap ( ) ;
214256 wasm_pack:: command:: utils:: create_pkg_dir ( & out_dir) . unwrap ( ) ;
215257 assert ! ( crate_data
216- . write_package_json( & out_dir, & None , false , Target :: NoModules )
258+ . write_package_json( & out_dir, & None , & None , false , Target :: NoModules )
217259 . is_ok( ) ) ;
218260 let package_json_path = & out_dir. join ( "package.json" ) ;
219261 fs:: metadata ( package_json_path) . unwrap ( ) ;
@@ -247,7 +289,7 @@ fn it_creates_a_package_json_with_correct_files_when_out_name_is_provided() {
247289 let crate_data = manifest:: CrateData :: new ( & fixture. path , Some ( "index" . to_owned ( ) ) ) . unwrap ( ) ;
248290 wasm_pack:: command:: utils:: create_pkg_dir ( & out_dir) . unwrap ( ) ;
249291 assert ! ( crate_data
250- . write_package_json( & out_dir, & None , false , Target :: Bundler )
292+ . write_package_json( & out_dir, & None , & None , false , Target :: Bundler )
251293 . is_ok( ) ) ;
252294 let package_json_path = & fixture. path . join ( "pkg" ) . join ( "package.json" ) ;
253295 fs:: metadata ( package_json_path) . unwrap ( ) ;
@@ -280,7 +322,7 @@ fn it_creates_a_pkg_json_in_out_dir() {
280322 let crate_data = manifest:: CrateData :: new ( & fixture. path , None ) . unwrap ( ) ;
281323 wasm_pack:: command:: utils:: create_pkg_dir ( & out_dir) . unwrap ( ) ;
282324 assert ! ( crate_data
283- . write_package_json( & out_dir, & None , false , Target :: Bundler )
325+ . write_package_json( & out_dir, & None , & None , false , Target :: Bundler )
284326 . is_ok( ) ) ;
285327
286328 let package_json_path = & fixture. path . join ( & out_dir) . join ( "package.json" ) ;
@@ -295,7 +337,7 @@ fn it_creates_a_package_json_with_correct_keys_when_types_are_skipped() {
295337 let crate_data = manifest:: CrateData :: new ( & fixture. path , None ) . unwrap ( ) ;
296338 wasm_pack:: command:: utils:: create_pkg_dir ( & out_dir) . unwrap ( ) ;
297339 assert ! ( crate_data
298- . write_package_json( & out_dir, & None , true , Target :: Bundler )
340+ . write_package_json( & out_dir, & None , & None , true , Target :: Bundler )
299341 . is_ok( ) ) ;
300342 let package_json_path = & out_dir. join ( "package.json" ) ;
301343 fs:: metadata ( package_json_path) . unwrap ( ) ;
@@ -337,7 +379,7 @@ fn it_creates_a_package_json_with_npm_dependencies_provided_by_wasm_bindgen() {
337379 )
338380 . unwrap ( ) ;
339381 assert ! ( crate_data
340- . write_package_json( & out_dir, & None , true , Target :: Bundler )
382+ . write_package_json( & out_dir, & None , & None , true , Target :: Bundler )
341383 . is_ok( ) ) ;
342384 let package_json_path = & out_dir. join ( "package.json" ) ;
343385 fs:: metadata ( package_json_path) . unwrap ( ) ;
@@ -409,7 +451,7 @@ fn it_sets_homepage_field_if_available_in_cargo_toml() {
409451
410452 wasm_pack:: command:: utils:: create_pkg_dir ( & out_dir) . unwrap ( ) ;
411453 crate_data
412- . write_package_json ( & out_dir, & None , true , Target :: Bundler )
454+ . write_package_json ( & out_dir, & None , & None , true , Target :: Bundler )
413455 . unwrap ( ) ;
414456
415457 let pkg = utils:: manifest:: read_package_json ( & fixture. path , & out_dir) . unwrap ( ) ;
@@ -425,7 +467,7 @@ fn it_sets_homepage_field_if_available_in_cargo_toml() {
425467
426468 wasm_pack:: command:: utils:: create_pkg_dir ( & out_dir) . unwrap ( ) ;
427469 crate_data
428- . write_package_json ( & out_dir, & None , true , Target :: Bundler )
470+ . write_package_json ( & out_dir, & None , & None , true , Target :: Bundler )
429471 . unwrap ( ) ;
430472
431473 let pkg = utils:: manifest:: read_package_json ( & fixture. path , & out_dir) . unwrap ( ) ;
@@ -464,7 +506,7 @@ fn it_sets_keywords_field_if_available_in_cargo_toml() {
464506
465507 wasm_pack:: command:: utils:: create_pkg_dir ( & out_dir) . unwrap ( ) ;
466508 crate_data
467- . write_package_json ( & out_dir, & None , true , Target :: Bundler )
509+ . write_package_json ( & out_dir, & None , & None , true , Target :: Bundler )
468510 . unwrap ( ) ;
469511
470512 let pkg = utils:: manifest:: read_package_json ( & fixture. path , & out_dir) . unwrap ( ) ;
@@ -482,7 +524,7 @@ fn it_sets_keywords_field_if_available_in_cargo_toml() {
482524
483525 wasm_pack:: command:: utils:: create_pkg_dir ( & out_dir) . unwrap ( ) ;
484526 crate_data
485- . write_package_json ( & out_dir, & None , true , Target :: Bundler )
527+ . write_package_json ( & out_dir, & None , & None , true , Target :: Bundler )
486528 . unwrap ( ) ;
487529
488530 let pkg = utils:: manifest:: read_package_json ( & fixture. path , & out_dir) . unwrap ( ) ;
@@ -581,7 +623,7 @@ fn it_lists_license_files_in_files_field_of_package_json() {
581623 wasm_pack:: command:: utils:: create_pkg_dir ( & out_dir) . unwrap ( ) ;
582624 license:: copy_from_crate ( & crate_data, & fixture. path , & out_dir) . unwrap ( ) ;
583625 crate_data
584- . write_package_json ( & out_dir, & None , false , Target :: Bundler )
626+ . write_package_json ( & out_dir, & None , & None , false , Target :: Bundler )
585627 . unwrap ( ) ;
586628
587629 let package_json_path = & fixture. path . join ( "pkg" ) . join ( "package.json" ) ;
0 commit comments