- 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 commandnpm 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
andinnerHTML
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
tocreateElement
- 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
toVirtualNamedElement
instead since it serves thehtml
,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 thestartApplication
function with contexts (logger, DOM, patcher, navigation, ...) - Create a
NavigationAdapterInterface
interface that will allow creating interface for the navigation - Use the
NavigationAdapterInterface
in thecreateApplication
and create the two implementation for theNavigation
API andHistory
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