if(!suppressMessages(suppressWarnings(library('jsonlite', logical = T)))){
  install.packages('jsonlite')
  library(jsonlite)
}

needsPackages <- fromJSON(input[[1]])

#. Get the loaded/missing packages
loaded <- suppressMessages(suppressWarnings(sapply(needsPackages, 
                                                   library, character = T, logical = T)))

#. Get the package versions
versions <- suppressMessages(suppressWarnings(sapply(needsPackages[loaded], 
                                                   packageVersion)))

#. Get the R environment details
result <- list (
    libPaths=.libPaths(),
    RHOME=R.home(),
    Syslocal=Sys.getlocale(category = "LC_ALL"),
    packageVersions=versions
 )

varjson <- toJSON(result,pretty=TRUE,force=TRUE)

return(varjson)



