DEV Community

Seog-Jun Hong
Seog-Jun Hong

Posted on

Open Source Contribution(w. Movex)

Intro

Through Hacktoberfest, I got to know the open-source project Movex, and I'm one of the contributors of Movex and I keep working on the project. This project is serverless real-time data-sharing infrastructure for frontend developers, and written in Typescript.

Issue

For this release0.3, I spent almost 3 weeks on the Codu's issue and picked the minor bug for this time. I fixed two issues(issue1,issue2), and both were linting issues on the project. When I ran npx nx lint movex --quiet the command for linting, there were errors as below:

issue1

Image description

Image description

issue2

Image description

How to fix

issue1

There was an issue require statement not part of import statement, and I tried to use "@typescript-eslint/no-var-requires": 0 on .eslintrc.json file to solve the linting issue. However, the author wanted to use import statement for consistency, and I simply update the code by using import statement, and this is my [PR].(https://github.com/movesthatmatter/movex/pull/191)

import * as consoleGroup from 'console-group';
consoleGroup.install();
Enter fullscreen mode Exit fullscreen mode

issue2

There was an issue constraining the generic type tstate to any does nothing and is unnecessary. on the code.

export interface IOConnection<
  TState extends any,
  TAction extends AnyAction,
  TResourceType extends string
> {
  clientId: MovexClient['id'];
  emitter: EventEmitter<IOEvents<TState, TAction, TResourceType>>;
}
Enter fullscreen mode Exit fullscreen mode

And I simply removed extends any after TState, and the issue is gone. I checked all tests were passed and created PR. Also, I found out there were a bunch of linting issues other than these 2 issues, so I asked the author to assign the remaining linting issues to me. That might be a good chance to deal with lint in Typescript.

Top comments (0)