Formatear y validar package.json y archivos de configuración JSON
Los archivos de configuración en formato JSON —package.json, tsconfig.json, .eslintrc.json, .prettierrc, babel.config.json, jest.config.json— son la columna vertebral de cualquier proyecto JavaScript o TypeScript moderno. Un error de sintaxis en cualquiera de ellos puede silenciar el linter, romper el compilador o impedir que el proyecto se instale. WikiPlus Formateador JSON es la herramienta más rápida para validar estos archivos antes de que lleguen al repositorio y rompan el entorno de trabajo de todo el equipo.
Los errores más comunes en package.json
Los errores de sintaxis más habituales en package.json surgen al editarlo manualmente. La coma trailing después del último campo de un objeto es el más frecuente: añades una nueva dependencia al final del bloque dependencies y olvidas que el elemento anterior no debe tener coma al final. Las comillas simples en lugar de dobles alrededor de nombres de paquetes o versiones. Un número de versión semántica escrito fuera del formato esperado (aunque esto es un error de valor, no de sintaxis). Mezclar tabs y espacios en la indentación, aunque esto no es técnicamente un error de sintaxis JSON, puede causar confusión en el diff. WikiPlus señala todos los errores de sintaxis con precisión de línea y columna.
tsconfig.json: JSON con comentarios (JSONC)
tsconfig.json usa un dialecto llamado JSONC (JSON with Comments) que permite comentarios de línea // y de bloque /* */. El parser JSON estándar no reconoce estos comentarios, por lo que si pegas un tsconfig.json con comentarios en WikiPlus, el validador los marcará como error de sintaxis. Para validar la estructura del tsconfig.json sin los comentarios, elimínalos antes de pegar. O si solo quieres verificar que las opciones del compilador son válidas, el registro de schemas de JSON Schema en SchemaStore.org tiene el schema completo de tsconfig.json que puedes usar con herramientas de IDE para validación inline.
Formatear archivos de internacionalización i18n
Los archivos de traducción de aplicaciones web (los archivos JSON de i18n como en.json, es.json, de.json) suelen tener cientos o miles de claves anidadas. Mantenerlos bien formateados y con la misma indentación en todos los idiomas facilita el diff en control de versiones y evita que el translator añada caracteres adicionales que rompan la sintaxis. WikiPlus Formateador JSON puede usarse para normalizar el formato de un archivo de traducción que alguien editó manualmente fuera del flujo estándar: copia, formatea, descarga, reemplaza el archivo original con el normalizado.
Automatizar la validación en el pre-commit hook
Para proyectos con múltiples archivos JSON críticos, considera añadir un pre-commit hook (con husky o lint-staged) que valide automáticamente todos los archivos .json antes de permitir el commit. En package.json de tu proyecto: en la sección lint-staged, añade una regla que ejecute node -e 'JSON.parse(require("fs").readFileSync(process.argv[1]))' -- para cada archivo .json modificado. Si el parse falla, el commit se bloquea con un mensaje de error claro. WikiPlus es la herramienta manual para validaciones puntuales; el hook automatiza la misma validación para el flujo de trabajo del equipo.
Preguntas frecuentes
- ¿Puedo validar JSON Schema con WikiPlus Formateador?
- WikiPlus valida la sintaxis JSON (que el archivo sea JSON válido), no valida si un objeto JSON cumple con un JSON Schema específico. Para validar un objeto contra un schema (verificar que un JSON de configuración tiene todos los campos requeridos con los tipos correctos), usa herramientas como ajv o jsonschema en Node.js, o la extensión de JSON Schema del editor VS Code.
- ¿Por qué mi JSON falla con 'Unexpected token'?
- El error 'Unexpected token' significa que el parser encontró un carácter inesperado donde esperaba otro. Las causas más habituales son: comillas simples en lugar de dobles, una coma extra al final del último elemento, una clave sin comillas, o un carácter BOM (Byte Order Mark) invisible al inicio del archivo que algunos editores de Windows añaden. WikiPlus señala la línea y columna exacta del token inesperado para que puedas localizarlo rápidamente.
- ¿El formateador preserva el orden de las claves del JSON original?
- Sí. WikiPlus formatea el JSON manteniendo exactamente el mismo orden de claves que tiene el JSON original. No reordena ni reorganiza ningún elemento. Esto es importante para archivos como package.json donde el orden de las secciones (scripts, dependencies, devDependencies) tiene un significado convencional para los desarrolladores del equipo.