File size: 1,531 Bytes
8869cd6
52c35bb
8869cd6
52c35bb
8869cd6
52c35bb
 
 
8869cd6
52c35bb
 
 
 
 
 
 
 
 
 
 
8861932
52c35bb
 
 
136da9b
aa6ea14
f0c291f
aa6ea14
 
52c35bb
aa6ea14
 
52c35bb
aa6ea14
52c35bb
 
aa6ea14
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import gradio as gr
import jshint  # Asegúrate de tener JSHint instalado en tu entorno

# Función que usa JSHint para analizar código JavaScript
def analizar_codigo(codigo):
    errores = ""
    explicacion = ""

    try:
        # Usamos JSHint para analizar el código JavaScript
        result = jshint.JSHINT(codigo)

        if not result:
            errores = "❌ Errores de sintaxis o estilo detectados:\n"
            for error in jshint.JSHINT.errors:
                errores += f" Línea {error['line']}, Columna {error['character']}: {error['reason']}\n"
            explicacion = "Revisa los errores en tu código y corrige los problemas detectados."
        else:
            errores = "✅ No se encontraron errores de sintaxis ni estilo."
            explicacion = "Tu código está libre de errores detectados por JSHint."
    except Exception as e:
        errores = f"❌ Error al procesar el código: {str(e)}"
        explicacion = "Hubo un problema al analizar el código."

    return errores, explicacion

# Interfaz Gradio
demo = gr.Interface(
    fn=analizar_codigo,
    inputs=gr.Textbox(lines=15, label="Pega tu código JavaScript aquí"),
    outputs=[
        gr.Textbox(label="Estado de la sintaxis"),
        gr.Textbox(label="Explicación de errores de estilo y sintaxis")
    ],
    title="🔍 Analizador de sintaxis y estilo de código JavaScript con JSHint",
    description="Este Space utiliza JSHint para verificar errores de sintaxis y estilo en tu código JavaScript."
)

demo.launch()