8000 GitHub - delaneyj/nothtmx2
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

delaneyj/nothtmx2

Repository files navigation

What

After discussion HTMX has a heap of legacy issues. Most of them around lack of test coverage. Typescript is static test coverage, so typescript. Changing from the JSDoc to actual typescript has made previous warnings into actual errors.

Why

HTMX is great, and want to see it be extended while online paying for what you need. Like it or not its a JS Framework so make it so PRs and extensions can't break everyone as easily. Plus you get an actual build system with multiple targets at no extra cost with source mapping and declaration that match the code.

Differences

  1. Typescript to get actual static analysis in the code. HTMX's function signatures have types, so stop doing inference dance.
  2. Use prettier, less BS around format bike shedding
  3. Vite
    1. tests fast
    2. live dev server with HMR
    3. builds production matrix
  4. rule 7b, showing that things are better for devs if they have better tools, htmx export look mostly the same either way

Build Status

120 Errors until compiling

Issues seen so far

  1. JSDocs are wrong
  2. .d.ts are incorrect
  3. config docs don't match codebase
  4. parentElt(el) and getDocument() wrap for no reason
  5. matches needed a type union
  6. var everywhere instead of let & const
  7. template literals instead of str concat
  8. parseHTML fragment seems wrong
  9. makeFragment is assuming no nulls is querySelector
  10. processWebSocketInfo... has nodeData but never used
  11. same with processSSEInfo
  12. var currentPathForHistory = location.pathname+location.search; only on init?
  13. saveToHistoryCache getItem is string || null
  14. substr is deprecated
  15. oobSwap.parentNode can be null
  16. attributeHash has a IE fix tag but no explaination
  17. cleanUpElement can we remove IE fix?
  18. swapOuterHTML call on parent can be null
  19. swapDelete call on parent can be null
  20. querySelectorExt has many fail states
  21. same with find
  22. same with findall
  23. removeElement call possible null and parent
  24. removeClassFromElement null call
  25. removeClassFromElement null call
  26. toggleClassOnElement null call
  27. takeClassForElement null call
  28. closest null call
  29. scanForwardQuery not all paths return
  30. scanBackwardsQuery not all paths return
  31. addEventListenerImpl null call
  32. removeEventListenerImpl null call
  33. updateScrollState scrolling on document
  34. updateScrollState scrollIntoView on document
  35. getValuesForElement is update, poorly named
  36. issueAjaxRequest promptResponse is at wrong scope
  37. findAttributeTargets not all paths
  38. handleTrigger null call
  39. selectAndSwap null parent call , id null
  40. isLocalLink null call
  41. handleAjaxResponse null call
  42. handleAttributes has task as func, others its call: () => void
  43. getInputValues null query calls
  44. swapInnerHTML null call
  45. maybeCloseWebSocketSource not all paths return
  46. findTitle not all paths
  47. maybeCloseSSESource not all paths
  48. swapDelete params not used
  49. swapBeforeBegin null parent
  50. swapAfterBegin null parent
  51. getExtensions parent null
  52. loadHistoryFromServer null call
  53. addRequestIndicatorClasses null call
  54. init null call
  55. insertNodesBefore null call
  56. handleSwap signature makes no sense
  57. evalScript null parent
  58. processNode null call
  59. processSSESwap null call
  60. processWebSocketSend filteredParameters is a Record everywhere but here, why?
  61. maybeCloseWebSocketSource not all paths
  62. triggerEvent null call
  63. currentPathForHistory is assigned to but never used
  64. getPathFromResponse not all paths
  65. querySelectorAllExt so many bad states if anything null
  66. querySelectorAllExt why window selector? you use as element everywhere
  67. boostElement null call
  68. initButtonTracking target null call
  69. processVerbs null call
  70. addTriggerHandler why is evt called evt when its an element?

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  
0