useserde_json::Value;usestd::fs;pubfnfind_entry_file()->Option<String>{// Looking for package.json
iffs::metadata("./package.json").is_ok(){let pkg_content =fs::read_to_string("./package.json").ok()?;let pkg: Value =serde_json::from_str(&pkg_content).ok()?;ifletSome(main_field)= pkg.get("main").and_then(|v|v.as_str()){let main_path = main_field.trim();iffs::metadata(main_path).is_ok(){returnSome(main_path.to_string());}}}// Looking for index.ts
iffs::metadata("./index.ts").is_ok(){returnSome("./index.ts".to_string());}// Looking for index.js
iffs::metadata("./index.js").is_ok(){returnSome("./index.js".to_string());}// Looking for main.ts
iffs::metadata("./main.ts").is_ok(){returnSome("./main.ts".to_string());}// Looking for main.js
iffs::metadata("./main.js").is_ok(){returnSome("./main.js".to_string());}// If nothing, return None
None}