@@ -776,7 +776,16 @@ impl ExportsInfo {
776
776
#[ derive( Debug , Clone ) ]
777
777
pub struct ExportsInfoData {
778
778
exports : BTreeMap < Atom , ExportInfo > ,
779
+
780
+ /// other export info is a strange name and hard to understand
781
+ /// it has 2 meanings:
782
+ /// 1. it is used as factory template, so that we can set one property in one exportsInfo,
783
+ /// then export info created by it can extends those property
784
+ /// 2. it is used to flag if the whole exportsInfo can be statically analyzed. In many commonjs
785
+ /// case, we can not statically analyze the exportsInfo, its other_export_info.provided will
786
+ /// be ExportInfoProvided::Null
779
787
other_exports_info : ExportInfo ,
788
+
780
789
side_effects_only_info : ExportInfo ,
781
790
redirect_to : Option < ExportsInfo > ,
782
791
id : ExportsInfo ,
@@ -1502,9 +1511,13 @@ pub struct ExportInfoData {
1502
1511
1503
1512
#[ derive( Debug , Hash , Clone , Copy ) ]
1504
1513
pub enum ExportInfoProvided {
1514
+ /// The export can be statically analyzed, and it is provided
1505
1515
True ,
1516
+
1517
+ /// The export can be statically analyzed, and the it is not provided
1506
1518
False ,
1507
- /// `Null` has real semantic in webpack https://github.com/webpack/webpack/blob/853bfda35a0080605c09e1bdeb0103bcb9367a10/lib/ExportsInfo.js#L830
1519
+
1520
+ /// The export is unknown, we don't know if module really has this export, eg. cjs module
1508
1521
Null ,
1509
1522
}
1510
1523
0 commit comments