Skip to content

JS to TS Conversion of file src/posts/data.js#38

Open
AndreaDiMartin wants to merge 17 commits intoUSB-CI3715:f24from
AndreaDiMartin:js-to-ts-conversion
Open

JS to TS Conversion of file src/posts/data.js#38
AndreaDiMartin wants to merge 17 commits intoUSB-CI3715:f24from
AndreaDiMartin:js-to-ts-conversion

Conversation

@AndreaDiMartin
Copy link

En este pull request, se aborda el issue #3 (fixes #3 ) donde se quiere traducir el archivo src/posts/data.js a Typescript.

Esta traducción forma parte del proyecto de revisión del código de NodeBB para su transformación a Typescript debido a las ventajas que ofrece este lenguaje.

Para resolver este issue, se realizaron los siguientes pasos:

  1. Se hizo un fork del repositorio NodeBB donde se implementará la traducción del archivo src/posts/data.js
  2. Se creó en el directorio src/posts el archivo data.ts
  3. En el archivo src/posts/data.ts, se reescribió data.js respetando las reglas de TypeScript
  4. Utilizando npx tsc, se generó el nuevo archivo src/posts/data.js a partir de src/posts/data.ts que reemplaza original

Para probar estos cambios se realizaron las siguientes pruebas:

  1. npm run lint en local: Esta prueba se realizó para corroborar que el archivo traducido a TypeScript cumpliera con las convenciones del lenguaje
  2. npm run test en local: Esta prueba comprobó que todas las pruebas pasaran usando el nuevo archivo data.js
  3. ./nodeBB start en local: Levantar la página asegura que no hayan errores de ejecución al usar el nuevo archivo data.js
  4. Pruebas de Github Actions: Estas prueban chequean nuevamente que se cumplan los tests y pase el linter, además que se añada un archivo de TypeScript y uno de JavaScript del mismo nombre

Puntos extras:

  • Se cambió el target del archivo tsconfig.json de es6 a es2017 para permitir que se mantengan las funciones de async y await, ya que de lo contrario la función asíncrona del test en posts/test.js:127 no devuelve correctamente
  • Se utilizó el comentario eslint-disable-next-line @typescript-eslint/no-unsafe-assignment para evitar que el linter devuelva error en la asignación de variables que llaman a archivos que no han sido traducidos a ts

@coveralls
Copy link

Pull Request Test Coverage Report for Build 11307408723

Details

  • 38 of 40 (95.0%) changed or added relevant lines in 1 file are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.003%) to 82.669%

Changes Missing Coverage Covered Lines Changed/Added Lines %
src/posts/data.js 38 40 95.0%
Totals Coverage Status
Change from base Build 11261981273: 0.003%
Covered Lines: 22325
Relevant Lines: 25586

💛 - 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.

Convirtiendo src/posts/data.js de JS a TS

2 participants