File tree Expand file tree Collapse file tree 3 files changed +20
-5
lines changed
Expand file tree Collapse file tree 3 files changed +20
-5
lines changed Original file line number Diff line number Diff line change @@ -24,6 +24,16 @@ pub struct PackageJson {
2424 /// <https://nodejs.org/api/packages.html#name>
2525 pub name : Option < String > ,
2626
27+ /// The "type" field.
28+ ///
29+ /// <https://nodejs.org/api/packages.html#type>
30+ pub r#type : Option < JSONValue > ,
31+
32+ /// The "sideEffects" field.
33+ ///
34+ /// <https://webpack.js.org/guides/tree-shaking>
35+ pub side_effects : Option < JSONValue > ,
36+
2737 raw_json : std:: sync:: Arc < JSONValue > ,
2838}
2939
@@ -51,9 +61,11 @@ impl PackageJson {
5161 json_object. remove ( "optionalDependencies" ) ;
5262 }
5363
54- // Add name.
64+ // Add name, type and sideEffects .
5565 package_json. name =
5666 json_object. get ( "name" ) . and_then ( |field| field. as_str ( ) ) . map ( ToString :: to_string) ;
67+ package_json. r#type = json_object. get ( "type" ) . cloned ( ) ;
68+ package_json. side_effects = json_object. get ( "sideEffects" ) . cloned ( ) ;
5769 }
5870
5971 package_json. path = path;
Original file line number Diff line number Diff line change @@ -35,9 +35,10 @@ fn eq() {
3535#[ test]
3636fn package_json ( ) {
3737 let resolution = resolve ( "./tests/package.json" ) ;
38- assert ! ( resolution
39- . package_json( )
40- . is_some_and( |json| json. name. as_ref( ) . is_some_and( |name| name == "name" ) ) ) ;
38+ let package_json = resolution. package_json ( ) . unwrap ( ) ;
39+ assert_eq ! ( package_json. name. as_ref( ) . unwrap( ) , "name" ) ;
40+ assert_eq ! ( package_json. r#type. as_ref( ) . unwrap( ) . as_str( ) , "module" . into( ) ) ;
41+ assert ! ( package_json. side_effects. as_ref( ) . unwrap( ) . is_object( ) ) ;
4142}
4243
4344#[ cfg( feature = "package_json_raw_json_api" ) ]
Original file line number Diff line number Diff line change 11{
2- "name" : " name"
2+ "name" : " name" ,
3+ "type" : " module" ,
4+ "sideEffects" : {}
35}
You can’t perform that action at this time.
0 commit comments