Estoy trabajando en un proyecto de validación de openapi donde usamos Spectral. Una de las características que proporcionamos al usuario es que puede usar sus propios conjuntos de reglas espectrales. Pueden hacerlo colocándolo en un archivo .spectral.yaml .
La aplicación lee este archivo, lo migra a un archivo de conjunto de reglas (usa el paquete @stoplight/spectral-ruleset-migrator , el ejemplo está aquí ). El migrador transforma un archivo yaml en un archivo js y se asegura de que se administren diferentes formatos de conjuntos de reglas espectrales. El migrador devuelve un archivo js. El resultado comienza con export default {} . Que aparentemente es un archivo json-ish.
Puedo ver dos opciones para trabajar con el archivo devuelto. Con un poco de limpieza, puedo usarlo como un archivo json y puedo analizarlo. Requiere un poco de plomería, pero está bien.
La otra forma es analizar el archivo js y simplemente usarlo. eval() haría el trabajo, pero todos dicen que no debería usarlo.
¿Hay otra forma de analizar un archivo js generado y agregarlo a una aplicación que ya se está ejecutando y usarlo (llamar a sus funciones, verificar sus propiedades, etc.)?