Skip to content

Latest commit

 

History

History
38 lines (38 loc) · 3.19 KB

TODO.md

File metadata and controls

38 lines (38 loc) · 3.19 KB
  • Documentation for @arachnide/event
  • More events for @arachnide/event
  • External library for easing the use of SVG elements (@arachnide/svg)
  • Add ESLint for TypeScript & good practice linting as well as code formatting (no prettier) and run the linter in a GitHub Action
  • Add badges (NPM, License, bundle size, ...)
  • Create a cool logo
  • Add a solution to be able to key elements for optimization purpose and figure out what we need to do with keyed elements
  • Add a package for mathml components (@arachnide/mathml)
  • Add many examples like examples/router, examples/styling, etc...
  • Create a @arachnide/create package in order to use the command npm create @arachnide and scafold a new project
  • Figure out how to create batch updates (might not be necessary and can be userland thanks to the update handler)
  • Lazy loading should be explicit & expressive and must be userland, examples and types that can help should be added in the docs & sources
  • Add support for the View Transition Web API (provide more options for the pages props in this case)
  • Add a section about the security, especially when using the attributes textContent and innerHTML with untrusted sources
  • Try to find vulnerabilities, resolve them & document them if they are part of the standard HTML spec
  • Create a isVirtualHTMLElement helper function and use it wherever possible
  • Rename element to createElement
  • Create a VirtualSVGElement class
  • Create a VirtualMathMLElement class
  • Create a createMathMLElement function
  • Create a createSVGElement function
  • Create a isVirtualSVGElement helper
  • Create a isVirtualMathMLElement helper
  • Rename VirtualHTMLElement to VirtualNamedElement instead since it serves the html, svg & mathml libraries
  • Add a isVirtualElementAttributeRemoved helper function to ease out the reading of the source-code in the @arachnide/core package
  • Find a better solution that throwing in the source-code of @arachnide/core for errors (warnings? log adapter? error return?)
  • Slice through the attributes that needs to be added in order to prevent looping over attributes again
  • Add comments where missing in the source-code of all of the packages
  • Handle an error where the user cannot go back to the previous page without error if the current page was an unknown page
  • Make the wildcard count on routes that use partial wildcard like /articles/*/details
  • Create a function createApplication that returns the startApplication function with contexts (logger, DOM, patcher, navigation, ...)
  • Create a NavigationAdapterInterface interface that will allow creating interface for the navigation
  • Use the NavigationAdapterInterface in the createApplication and create the two implementation for the Navigation API and History API
  • Better not found page design
  • Check if lazy loading of functions or pages can be put in a state?
  • Create an icon of 512x512
  • Should we do server-rendering? Maybe best to keep it simple on the client-side but might be interesting to update the diffing algorithm to account for nodes that have already been added by SSR?
  • Replace nullish values with a textNode in order to prevent mismatch when diffing the virtual dom and when using conditionals