Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: complete rewrite powered by web components #36

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

mikehwagz
Copy link
Collaborator

BREAKING CHANGE: Such changes warrant a major release 🎉

BREAKING CHANGE: Such changes warrant a major release 🎉
@mikehwagz
Copy link
Collaborator Author

This is a complete rewrite of picoapp and a new major version.

  • Powered by custom elements
  • Refs API to simplify the selection of many elements within components via @ref attribute
  • Context-aware store and dom events that auto cleanup when elements
  • Still ~1kb gzipped
  • Written in TypeScript and tooling powered by Vite
  • Test suite powered by Vitest
  • Semantic release pipeline

Still WIP / Todo:

  • Add optional 3rd argument for component to pass in options such as { extends: 'button' } to create custom elements that are instances of other constructors like HTMLButtonElement or HTMLParagraphElement that then get written like <p is="word-count"></p> or created like document.createElement('p', { is: 'word-count' }). Currently we are just checking if the component name contains button and doing the necessary things internally, but this is limited to just button at the moment lol
  • Update documentation
  • Consider evx update since we are changing the store API and it needs types anyway. Do we build the store into picoapp? or do we do a new major version of evx?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant