Estoy escribiendo una regla ESLint y tengo dos ámbitos, uno que "escanea" el archivo y busca declaraciones de exportación, y el otro ámbito se ejecuta dentro de un archivo específico (index.ts).
Necesito "recopilar" el resultado de la ejecución anterior y guardarlo. ¿Existe una mejor práctica aquí para compartir datos entre 2 ámbitos?
Considere el código:
module.exports = { 'a-rule': { meta: { type: 'problem', }, create(context) { const filename = context.getFilename(); return { Program: (node) => { node.body.forEach(node => { if (node.type === 'ExportNamedDeclaration') { const absolutePath = path.resolve(filename); array.push(absolutePath); } else if (node.type === 'SomeOtherUseCase') { console.log(array); // empty } } }El código se ejecutará varias veces en algunos ámbitos diferentes para que esa matriz se vuelva a crear. Encontré una solución para declarar la matriz al comienzo del archivo de reglas, pero me pregunto si no hay una mejor manera.
Gracias