purser icon indicating copy to clipboard operation
purser copied to clipboard

Move this project to TypeScript

Open chmanie opened this issue 5 years ago • 4 comments

Payout

Heads up! There's a bounty on this task! Go to https://colony.io/colony/beta/task/5e4566a3cbb233006996c3a7 learn more!

Description

Issue owner: [email protected]

To be in line with our other projects in Colony, this library should be move to TypeScript.

These should be the minimal configs setting the "strictness" of the TS compiler (compilerOptions). Relaxation of these rules could be allowed if necessary (please consult the issue owner before making those changes).

    "lib": ["es2018"],
    "module": "commonjs",
    "moduleResolution": "node",
    "strictNullChecks": true,
    "strictPropertyInitialization": true,
    "target": "es6",

This issue is regarded done when:

  • All the code of all modules (purser-core, purser-software, purser-metamask, purser-ledger, purser-trezor) was converted to TypeScript and the test suite passes
  • The tooling was adjusted so that we can still easily build the project
  • The library was manually tested using purser-software (and a video is provided).

Bonus points: (the infamous 🌮- bonus):

Add the noExplicitAny compiler option and adhere to it. This might involve stubbing out types for the external libraries that we're using.

chmanie avatar Feb 13 '20 14:02 chmanie

Hello, i am interested in doing this :), i could start in about 1-2 weeks. (around february 25th). could you clarify if a trezor and ledger is needed for doing the tests ?

SurfingNerd avatar Feb 14 '20 14:02 SurfingNerd

Hey @SurfingNerd! Sure, feel free to start on this any time! I'll assign you to this issue here in github. Can you request to work on it in Colony is well, so you'll get the bounty once you're done? What's your Colony username?

A Trezor or a Ledger is not needed to run the current test suite.

chmanie avatar Feb 14 '20 15:02 chmanie

Hi, is this task still open? I'm seeing messages of people saying it's done on BetaColony, and it's assigned to SurfingNerd here, but also all the updates seem super old.

befitsandpiper avatar Jun 26 '20 22:06 befitsandpiper

@befitsandpiper we are still missing the ledger and trezor plugins in the typescript branch. You can follow the progress here: https://github.com/JoinColony/purser/pull/322 If you feel like you want to contribute to this task, feel free to get in touch!

chmanie avatar Jun 29 '20 11:06 chmanie