concordancejs / concordance

Compare, format, diff and serialize any JavaScript value
ISC License
207 stars 15 forks source link

Maintenance #82

Open tommy-mitchell opened 1 year ago

tommy-mitchell commented 1 year ago

The following is a list of internal refactors:


Original description @novemberborn in https://github.com/avajs/ava/issues/1861#issuecomment-1679176003, you mention that Concordance is in need of some love. While the issues here are good for tracking enhancements, I think it would be good to track refactor/maintenance items in a single issue. What are some things you think need improved? Listing them would make it easier for people to pick one and help out. Some thoughts of my own: - Rewrite in ESM, use newer JS features/syntax - Add documentation about internals for new contributors
novemberborn commented 1 year ago

TypeScript would be good, too. There's some very old stuff that is no longer relevant (function name properties if I recall). And there's a continuation pattern that should be replaced by generator functions.

tommy-mitchell commented 1 year ago

Do you mean adding type definitions, or rewriting in TypeScript?

novemberborn commented 1 year ago

Rewrite. There’s a lot of complex logic that would benefit from typesafety.

tommy-mitchell commented 1 year ago

I've updated the issue description with a list, feel free to edit and add items.

Are you wanting to update the code style as well, e.g. with xo, a .editorconfig, etc.?