Skip to content

Traducción del src/navigation/admin.js a TS#31

Open
anna-ayn wants to merge 9 commits intoUSB-CI3715:f24from
anna-ayn:traduccion-src/navigation/admin.js-a-ts
Open

Traducción del src/navigation/admin.js a TS#31
anna-ayn wants to merge 9 commits intoUSB-CI3715:f24from
anna-ayn:traduccion-src/navigation/admin.js-a-ts

Conversation

@anna-ayn
Copy link

@anna-ayn anna-ayn commented Oct 10, 2024

Conversión de src/navigation/admin.js a TypeScript

Ana Shek (19-10096)

¿Qué?

He convertido el archivo src/navigation/admin.js a TypeScript, creando admin.ts en el mismo directorio que el archivo original, y he incluido el archivo JavaScript compilado resultante.

¿Por qué?

Esta conversión es parte de la iniciativa de migrar gradualmente el proyecto a TypeScript, lo que mejorará la mantenibilidad del código y reducirá errores potenciales.

¿Cómo?

  • Creé un nuevo archivo admin.ts en el directorio src/navigation/.
  • Copié el contenido del archivo original admin.js al nuevo archivo admin.ts.
  • Realicé las modificaciones necesarias para que el código sea compatible con TypeScript, incluyendo la agregación de interfaces para definir la estructura de los objetos utilizados (NavigationItem y Admin), la anotación de tipos a variables, funciones y parámetros, y la conversión de importaciones y exportaciones a la sintaxis de ES6.
  • Compilé el archivo TypeScript ejecutando npx tsc para generar el nuevo archivo JavaScript.

Pruebas

  • He ejecutado el linter con npm run lint para asegurar que el código cumple con los estándares de estilo de ESlint, de lo cual corregí todos los errores y advertencias señalados por el linter.
  • He ejecutado NodeBB para verificar que la funcionalidad no se haya visto afectada por la conversión.
  • Por último, he ejecutado la suite de pruebas existente npm run test y encontré con ningún error en el archivo traducido ni en el archivo JS compilado.

Capturas de pantalla (opcional)

0

¿Algo más?

  • Se han añadido algunos comentarios para suprimir advertencias del linter en casos donde se hace referencia a funciones que aún no han sido convertidos a TypeScript.
  • También se deshabilitó la regla de ESLint import/no-import-module-exports en el archivo TS para permitir el uso mixto de importaciones ES6 y module.exports. Esto es necesario para mantener la compatibilidad con el sistema de módulos existente en NodeBB que son exportados con CommonJS.
  • He aprendido que migrar a TypeScript puede requerir un esfuerzo inicial, pero los beneficios a largo plazo en términos de mantenibilidad y calidad del código suelen ser significativos.
  • Edité el tsconfig.json para agregar soporte en la importación de archivos JSON en TypeScript

Issues Relacionados

@coveralls
Copy link

Pull Request Test Coverage Report for Build 11277901513

Details

  • 73 of 79 (92.41%) changed or added relevant lines in 1 file are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.004%) to 82.67%

Changes Missing Coverage Covered Lines Changed/Added Lines %
src/navigation/admin.js 73 79 92.41%
Totals Coverage Status
Change from base Build 11261981273: 0.004%
Covered Lines: 22339
Relevant Lines: 25601

💛 - Coveralls

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants