Skip to content

Traducción Exitosa del archivo: src/messaging/edit.js a TypeScript#46

Open
JMLTUnderCode wants to merge 15 commits intoUSB-CI3715:f24from
JMLTUnderCode:traducir-src/messaging/edit.js-a-TS
Open

Traducción Exitosa del archivo: src/messaging/edit.js a TypeScript#46
JMLTUnderCode wants to merge 15 commits intoUSB-CI3715:f24from
JMLTUnderCode:traducir-src/messaging/edit.js-a-TS

Conversation

@JMLTUnderCode
Copy link

CI3715 - Ingeniería de Software 1 (Proyecto 1B)

Estudiante: Junior Miguel Lara Torres (17-10303)

Proyecto 1B - Traducción a TS del archivo src/messaging/edit.js

Pasos realizados:

  • Usar el estilo de import/export llamado CommonJS para evitar problema de no detección de funciones.
    • Inclusión de comentario: /* eslint-disable @typescript-eslint/no-var-requires */ para descartar el error de ESLint al detectar los require.
    • Inclusión de comentario: // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment para descartar el error de ESLint al detectar la asignación de any a los const modulares.
  • Creación de INTERFACE's:
    • MessagingInterface: Contiene todos los métodos/funciones del sistema de edición de mensajes.
    • MessageData: Contiene los datos de un mensaje.
    • Payload: Contiene la fecha de edición del mensaje y su contenido.
  • Tipado general de las variables y funciones usadas, esto siguiendo el paso a paso del archivo original edit.js.
  • Desabilitar ESLint. Dado que se usa una funcion/metodo/variable de un modulo no traducido a TS. Se colocó en las siguientes lineas:
    • 76 : // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-assignment
    • 85 : // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
    • 87 : // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
    • 92 : // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-assignment
    • 108 : // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-assignment
    • 111 : // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
    • 114 : // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
    • 120 : // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-assignment
    • 127 : // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-assignment
    • 130 : // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
    • 136 : // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
    • 150 : // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
    • 152 : // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
  • Dado que hay lineas de comentarios de eslint-disable-next-line ... muy largas que sobrepasan los 120 caracters, se desabilitó dicho error usando // eslint-disable-next-line max-len en las siguientes lineas:
    • 75, 91, 107, 119 y 126.
      PD: Esto se puede notar en el apartado anterior, las lineas de código que siguen a cada linea correspondiente mencionada en este inciso son muy largas.

Issue resolves #5

…. Lint retorna 59 errores de formato que no son corregibles con npm run lint -- --fix.
…or solucionar. Este archivo es funcional en parte dado que la aplicacion logra montarse en servidor y la edicion de mensaje en todos los ambitos es funcional.
…ne para los casos de variables y funciones que provienen de modulos no traducidos a TS. De esta forma ignoramos dichos errores reduciendo a solo 2, uno relacionado al tipo return promise (linea 24) de la funcion getMessagesData y el otro en el tipo de promise retornado(linea 60) debido al mismo problema de la linea 24. El estado actual de este archivo genera un JS funcional para el proyecto NODEBB, sin embargo existe un problema con el uso de los metodos export/import ESModules y CommonJS lo que hace generar un problema de lo mismo en ESLint, sin embargo al corregirlo la app no funcion, por lo que se llevo a usar eslint-disable de import modules en linea 1 del archivo.
…mise y solucion al segundo problema colocando await para el plugins.hooks. Version del archivo: final(funcional). Verificacion de pruebas de Eslint completas en local. Arreglos finales de estilo, comentarios esenciales de informacion personal.
…ror en version local no se manifestó. Version del archivo sigue siendo funcional y pasando todas las pruebas en ESLint local.
…dicho error en version local no se manifestó. Version del archivo sigue siendo funcional y pasando todas las pruebas en ESLint local.
…it.ts), esta version es funcional para la app NodeBB.
…gran a las pruebas y la App, es decir test y lint en local cumplen de forma exitosa. Este commit tiene como funciona, ademas de entregar final, actualizar los archivos tal que el test de github pase la seccion Node (que en local es exitoso).
… a function" al tratar de editar un mensaje. Se cambio el tipo de import a require dado que la version bajo ESModules genera dicho error.
…s with CommonJS genera el error en NodeBB "user.isAdminOrGlobalMod is not a function" al tratar de editar mensajes. La version actual de este archivo pasa ESlint.
@coveralls
Copy link

Pull Request Test Coverage Report for Build 11318106652

Details

  • 47 of 56 (83.93%) changed or added relevant lines in 1 file are covered.
  • 1 unchanged line in 1 file lost coverage.
  • Overall coverage remained the same at 82.671%

Changes Missing Coverage Covered Lines Changed/Added Lines %
src/messaging/edit.js 47 56 83.93%
Files with Coverage Reduction New Missed Lines %
src/meta/errors.js 1 76.74%
Totals Coverage Status
Change from base Build 11313630816: 0.0%
Covered Lines: 22329
Relevant Lines: 25589

💛 - 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/messaging/edit.js de JS a TS

2 participants