{"id":15011817,"url":"https://github.com/jahilldev/component-elements","last_synced_at":"2025-09-15T07:05:57.930Z","repository":{"id":41831816,"uuid":"336307400","full_name":"jahilldev/component-elements","owner":"jahilldev","description":"Create a custom element from any component with these tiny functions (2KB GZipped, ~1KB Brotli). Preact and React currently supported","archived":false,"fork":false,"pushed_at":"2024-10-23T16:12:49.000Z","size":877,"stargazers_count":95,"open_issues_count":3,"forks_count":9,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-08-20T02:51:12.583Z","etag":null,"topics":["components","custom-elements","hydration","javascript","jsx","library","lightweight","nodejs","partial-hydration","preact","react","ssr","tsx","typescript","utility","vue","web-components"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jahilldev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["jahilldev"]}},"created_at":"2021-02-05T15:15:01.000Z","updated_at":"2025-06-20T09:57:22.000Z","dependencies_parsed_at":"2024-06-18T19:54:00.763Z","dependency_job_id":"6176d237-46e4-4e54-902b-27c5ec574d2e","html_url":"https://github.com/jahilldev/component-elements","commit_stats":{"total_commits":213,"total_committers":2,"mean_commits":106.5,"dds":"0.014084507042253502","last_synced_commit":"96d2659185a0929ad6667da881d593fe1b5a6cec"},"previous_names":["jhukdev/preactement"],"tags_count":32,"template":false,"template_full_name":null,"purl":"pkg:github/jahilldev/component-elements","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jahilldev%2Fcomponent-elements","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jahilldev%2Fcomponent-elements/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jahilldev%2Fcomponent-elements/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jahilldev%2Fcomponent-elements/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jahilldev","download_url":"https://codeload.github.com/jahilldev/component-elements/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jahilldev%2Fcomponent-elements/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275219711,"owners_count":25425932,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-15T02:00:09.272Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["components","custom-elements","hydration","javascript","jsx","library","lightweight","nodejs","partial-hydration","preact","react","ssr","tsx","typescript","utility","vue","web-components"],"created_at":"2024-09-24T19:41:45.475Z","updated_at":"2025-09-15T07:05:57.890Z","avatar_url":"https://github.com/jahilldev.png","language":"TypeScript","funding_links":["https://github.com/sponsors/jahilldev"],"categories":[],"sub_categories":[],"readme":"# component-elements\n\nThese packages provide the ability to use an HTML custom element as the root for your components. In addition, it allows the use of async code resolution if your custom element isn't immediately used, which is a great strategy for reducing code weight.\n\n# Getting Started\n\nDepending on your component library, visit the relevant package below and follow setup instructions:\n\n| Library | Package                                                                                              |\n| ------- | ---------------------------------------------------------------------------------------------------- |\n| Preact  | [preactement](https://github.com/jahilldev/component-elements/tree/main/packages/preactement#readme) |\n| React   | [reactement](https://github.com/jahilldev/component-elements/tree/main/packages/reactement#readme)   |\n| Vue     | \u003ca href=\"https://vuejs.org/guide/extras/web-components.html\" target=\"_blank\"\u003esupported natively!\u003c/a\u003e |\n\n# Acknowledgement\n\nThis function takes _heavy_ inspiration from the excellent [preact-custom-element](https://github.com/preactjs/preact-custom-element). That library served as a starting point for this package, and all of the Preact guys deserve a massive dose of gratitude. I had slightly different needs, so decided to build this as part solution, part learning excersize.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjahilldev%2Fcomponent-elements","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjahilldev%2Fcomponent-elements","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjahilldev%2Fcomponent-elements/lists"}