¿Análisis estático con reglas personalizadas para JavaScript?

¿Admite JSLint, JSHint o alguna otra herramienta de análisis de código estático de código abierto para agregar reglas personalizadas para el cumplimiento del código, o existen algunos analizadores compatibles con ECMAScript que puedo usar para obtener los resultados lo más cerca posible de los que se ven en el fragmento de código a continuación? ?

Por ejemplo, me gustaría buscar en el código JavaScript y enumerar a qué funciones se llama, si llama a una biblioteca (o API proporcionadas por smartphones para widgets HTML5) para registrar todo lo que cae bajo los espacios de nombres de esa API, para hacer un árbol de los objetos y sus propiedades para ver si se llama a la función desde qué objeto se puede rastrear, tal vez con una salida en XML, JSON u otro formato estructurado.

Digamos, por ejemplo, que tengo este código JavaScript (no hace nada y es solo por el bien del argumento):

jobs = mylibrary.getJobs();
found = jobs.find("Python");
list = found.convert("html");

Quiero que mi herramienta analizadora obtenga esto:

{
    "mylibrary": {
        "jobs": {"maker":"getJobs", "parent": "mylibrary"},
        "found": {"maker": "find", "parent": "jobs", "parameters": "Python"},
        "list": {"maker": "convert", "parent": "found"}
    }
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta