Estoy intentando actualizar un complemento ESLint muy antiguo a algo más moderno.
Uno de los problemas es que en ESLint 8+, la API para obtener la configuración de un archivo ahora es asíncrona, por lo que anteriormente:
preprocess(text, filename) { const config = new CLIEngine({ useEslintrc: true }).getConfigForFile(path.resolve(filename)); /* ... */ return [preprocessed] }Es ahora:
async preprocess(text, filename) { const eslint = new ESLint(); var config = await eslint.calculateConfigForFile(filename); /* ... */ return [preprocessed] }El problema es que ESLint no parece esperar que la función de preprocesamiento sea asíncrona, por lo que termina tratándola como una matriz (que es su valor de retorno original) cuando en realidad es una Promesa.
Esto podría resolverse fácilmente agregando una await antes de que el código llame al preprocesador, pero no estoy seguro de que sea algo que pueda configurar (¿o puedo? Por favor, hágamelo saber si puedo).
¿Hay alguna manera de hacer lo que estoy tratando de lograr? ¿Se puede llamar al preprocesador con await o se puede recuperar la configuración sincrónicamente?
¡Gracias por adelantado!
** ACTUALIZAR ** En su github, los mantenedores de eslint dijeron que lo que busco hacer no es posible. En cambio, elegí no usar la configuración en absoluto y encontrar una solución diferente para mi problema.