File tree 1 file changed +47
-0
lines changed
1 file changed +47
-0
lines changed Original file line number Diff line number Diff line change @@ -714,6 +714,12 @@ impl ConfigFile {
714
714
self . json . imports . is_some ( ) || self . json . scopes . is_some ( )
715
715
}
716
716
717
+ pub fn is_package ( & self ) -> bool {
718
+ self . json . name . is_some ( )
719
+ && self . json . version . is_some ( )
720
+ && self . json . exports . is_some ( )
721
+ }
722
+
717
723
pub fn has_unstable ( & self , name : & str ) -> bool {
718
724
self . json . unstable . iter ( ) . any ( |v| v == name)
719
725
}
@@ -2129,6 +2135,47 @@ mod tests {
2129
2135
) ;
2130
2136
}
2131
2137
2138
+ #[ test]
2139
+ fn test_is_package ( ) {
2140
+ fn get_for_config ( config_text : & str ) -> bool {
2141
+ let config_specifier = root_url ( ) . join ( "tsconfig.json" ) . unwrap ( ) ;
2142
+ let config_file = ConfigFile :: new ( config_text, config_specifier) . unwrap ( ) ;
2143
+ config_file. is_package ( )
2144
+ }
2145
+
2146
+ assert ! ( !get_for_config( "{}" ) ) ;
2147
+ assert ! ( !get_for_config(
2148
+ r#"{
2149
+ "name": "test"
2150
+ }"#
2151
+ ) ) ;
2152
+ assert ! ( !get_for_config(
2153
+ r#"{
2154
+ "name": "test",
2155
+ "version": "1.0.0"
2156
+ }"#
2157
+ ) ) ;
2158
+ assert ! ( !get_for_config(
2159
+ r#"{
2160
+ "name": "test",
2161
+ "exports": "./mod.ts"
2162
+ }"#
2163
+ ) ) ;
2164
+ assert ! ( !get_for_config(
2165
+ r#"{
2166
+ "version": "1.0.0",
2167
+ "exports": "./mod.ts"
2168
+ }"#
2169
+ ) ) ;
2170
+ assert ! ( get_for_config(
2171
+ r#"{
2172
+ "name": "test",
2173
+ "version": "1.0.0",
2174
+ "exports": "./mod.ts"
2175
+ }"#
2176
+ ) ) ;
2177
+ }
2178
+
2132
2179
fn root_url ( ) -> Url {
2133
2180
if cfg ! ( windows) {
2134
2181
Url :: parse ( "file://c:/deno/" ) . unwrap ( )
You can’t perform that action at this time.
0 commit comments