@@ -4,9 +4,7 @@ mod validators;
44
55use std:: { fs, error:: Error , path:: PathBuf , env } ;
66
7- use validators:: { config:: ConfigValidator , common:: Validator } ;
8-
9- use crate :: validators:: message:: { Message , self } ;
7+ use crate :: validators:: { message:: { Message , self } , package:: PackageValidator , config:: ConfigValidator , common:: Validator } ;
108
119#[ macro_use]
1210extern crate napi_derive;
@@ -20,8 +18,11 @@ pub fn validate_config(config_str: String) {
2018}
2119
2220#[ napi]
23- pub fn validate_package ( package_path : String ) {
24-
21+ pub fn validate_package ( app_path : String , node_modules_path : String ) {
22+ let result = validate_package_core ( app_path, node_modules_path) ;
23+ if let Err ( e) = result {
24+ println ! ( "{}" , Message { kind: message:: MessageKind :: Error , content: e. to_string( ) } ) ;
25+ }
2526}
2627
2728fn validate_config_core ( config_str : String ) -> Result < ( ) , Box < dyn Error > > {
@@ -58,6 +59,17 @@ fn validate_config_core(config_str: String) -> Result<(), Box<dyn Error>> {
5859 Ok ( ( ) )
5960}
6061
61- fn validate_package_core ( ) -> Result < ( ) , Box < dyn Error > > {
62-
62+ fn validate_package_core ( app_path : String , node_modules_path : String ) -> Result < ( ) , Box < dyn Error > > {
63+ let tip = Message {
64+ kind : validators:: message:: MessageKind :: Info ,
65+ content : String :: from ( "开始进行项目依赖安装正确性验证!" )
66+ } ;
67+ println ! ( "{}" , tip) ;
68+ let mut path = PathBuf :: new ( ) ;
69+ path. push ( app_path) ;
70+ path. push ( "package.json" ) ;
71+ let package_str = fs:: read_to_string ( path. as_path ( ) ) ?;
72+ let package_validator_result = PackageValidator :: build ( & package_str, & node_modules_path) . unwrap ( ) ;
73+ package_validator_result. get_taro_packages ( ) ;
74+ Ok ( ( ) )
6375}
0 commit comments