borkshop/kni

Modernization

Opened this issue · 4 comments

  • updated eslint; #28
  • switch to nyc; #30
  • make things pass minimal tsserver-active $EDITOR-ing
    • dropped unused symbols; #20
    • address code lens feedback, mostly about classifying all the things; #21
    • excepting external deps that are missing type definitions, discussed below
  • switch to github actions; #33
  • comply to eslint:recommended; #46
  • add integration test coverage over thekni.js command module; part of #49
  • add minimal tsconfig and tsc test/lint pass to CI; #54
  • ratchet up tsconfig strictness
  • gradually @ts-check everything
    • scanner #57
    • outline-lexer #58
    • inline-lexer #59
    • parser #60
    • path #55
    • story #56
    • scope
    • grammar
    • engine
    • ...rest
  • audit dependencies, updating critical ones, dropping, or subsuming so that they all type check
    • xorshift -- probably subsume ; e.g. the copy from https://github.com/borkshop/js/blob/main/cdom/prng.js
    • system -- switch to rollup and/or snowpack ; need investigation
    • shon -- probably update upstream ?
    • tee -- update, find a replacement, or subsume
    • table -- check for update
    • pop-equals -- TBD it's a test dependency, so could be shifted to devDeps?
  • emit ts definitions and figure out the (pre-)publish story
  • switch to promises
  • use async / await
  • switch to ESM

Update: istanbul's use of esprima blocks #21 similarly to eslint's parser issues; will update to nyc next, and sort out it's parsing deal

pop-equals could probably be inline or simplified. It’s one of my own dead-ends.

tee could probably be inlined and simplified. Just need an object that forwards to two.

shon is also an ill-advised kris special but one I like if you’re up for lifting it upstream.

Updated now that we're past the eslint:recommended gate

Next step is a side quest for kni.js test coverage, as revealed by the latent bug discovered in #37

Considering doing a patch release for v3 and v4 including that fix plus the ceil/round bugs fixed in #17

Also will probably drop all the // istanbul ignore ... comments, and track towards enabling "all sources" mode to make our coverage numbers more honest as speculated in #34.