effect icon indicating copy to clipboard operation
effect copied to clipboard

DX improvements for 2.0 (e.g. tooling)

Open schickling opened this issue 3 years ago • 1 comments

NOTE: This issue is WIP

Effect eslint rules

  • [ ] Enforce restrictions of Do(($) => { ... })
    • [ ] Prevent branching
    • [ ] Make sure yield / $ is called CleanShot 2022-10-11 at 12 55 51
    • [ ] ... what else?
  • [ ] prevent === on things implementing Equal
  • [ ] Help catch duplicate context tag symbols which should be globally unique

Codegen-driven

  • [ ] Help with derived -> opaque type boilerplate @@opaque

VSC Extension

Refactor workflows

  • [x] wrap/unwrap pipe - e.g. myFn <> pipe(myFn)
  • [ ] Curry/uncurry definition site - e.g. const x = 1 <> const x = () => 1
  • [x] Curry/uncurry call site - e.g T.tap(_ => T.log(_)) <> T.tap(T.log)
  • [ ] Refactor from/to T.succeed and T.sync
  • [ ] .pipe() <> pipe()
  • [x] "Update" explicit type signature / see diff

Improve error messages

  • [ ] Environment dependency mismatch error messages should be improved image image

Fiber-aware debugger

schickling avatar Oct 06 '22 07:10 schickling

What do you mean by branching? like conditional logic? also Do is a TS+ only feature that will ideally support if-else

mikearnaldi avatar Oct 06 '22 18:10 mikearnaldi