{"id":13432277,"url":"https://github.com/skatejs/skatejs","last_synced_at":"2025-04-29T18:49:19.019Z","repository":{"id":13730745,"uuid":"16425042","full_name":"skatejs/skatejs","owner":"skatejs","description":"Effortless custom elements powered by modern view libraries.","archived":false,"fork":false,"pushed_at":"2022-02-26T01:34:54.000Z","size":11753,"stargazers_count":3279,"open_issues_count":31,"forks_count":139,"subscribers_count":64,"default_branch":"master","last_synced_at":"2025-04-19T14:49:19.775Z","etag":null,"topics":["javascript","reactiveui","web-components"],"latest_commit_sha":null,"homepage":"http://skatejs.netlify.com/","language":"JavaScript","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/skatejs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-02-01T00:32:47.000Z","updated_at":"2025-03-27T18:58:45.000Z","dependencies_parsed_at":"2022-07-12T15:12:33.900Z","dependency_job_id":null,"html_url":"https://github.com/skatejs/skatejs","commit_stats":null,"previous_names":["treshugart/skate"],"tags_count":233,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skatejs%2Fskatejs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skatejs%2Fskatejs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skatejs%2Fskatejs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skatejs%2Fskatejs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/skatejs","download_url":"https://codeload.github.com/skatejs/skatejs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251563967,"owners_count":21609823,"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","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":["javascript","reactiveui","web-components"],"created_at":"2024-07-31T02:01:09.973Z","updated_at":"2025-04-29T18:49:18.998Z","avatar_url":"https://github.com/skatejs.png","language":"JavaScript","funding_links":["https://opencollective.com/skatejs","https://opencollective.com/skatejs/backer/0/website","https://opencollective.com/skatejs/backer/1/website","https://opencollective.com/skatejs/backer/2/website","https://opencollective.com/skatejs/backer/3/website","https://opencollective.com/skatejs/backer/4/website","https://opencollective.com/skatejs/backer/5/website","https://opencollective.com/skatejs/backer/6/website","https://opencollective.com/skatejs/backer/7/website","https://opencollective.com/skatejs/backer/8/website","https://opencollective.com/skatejs/backer/9/website","https://opencollective.com/skatejs/backer/10/website","https://opencollective.com/skatejs/backer/11/website","https://opencollective.com/skatejs/backer/12/website","https://opencollective.com/skatejs/backer/13/website","https://opencollective.com/skatejs/backer/14/website","https://opencollective.com/skatejs/backer/15/website","https://opencollective.com/skatejs/backer/16/website","https://opencollective.com/skatejs/backer/17/website","https://opencollective.com/skatejs/backer/18/website","https://opencollective.com/skatejs/backer/19/website"],"categories":["JavaScript","Libraries for building web components","Frameworks/Libraries","Repository","Libraries and Frameworks"],"sub_categories":["Web Components","SkateJS"],"readme":"# Skate\n\n[![Build Status](https://travis-ci.org/skatejs/skatejs.svg?branch=master)](https://travis-ci.org/skatejs/skatejs)\n[![Downloads per month](https://img.shields.io/npm/dm/skatejs.svg)](https://www.npmjs.com/package/skatejs)\n[![Join the chat at https://gitter.im/skatejs/skatejs](https://badges.gitter.im/skatejs/skatejs.svg)](https://gitter.im/skatejs/skatejs)\n[![Follow @skate_js on Twitter](https://img.shields.io/twitter/follow/skate_js.svg?style=social\u0026label=@skate_js)](https://twitter.com/skate_js)\n\nSkate is a functional reactive abstraction over\n[the web component standards](https://github.com/w3c/webcomponents) as a set of packages that enables you to write small, fast and scalable web components using popular view libraries such as React, Preact and LitHTML.\n\n- 🌏 Cross-framework compatible components.\n- ⚛️ Render components using your favourite view library, or none at all.\n- 👑 Guided conventions for best-practices when reflecting between, and reacting to attributes, properties and events.\n- 🌟 Full TypeScript support.\n- 📚 Docs [https://skatejs.netlify.com](https://skatejs.netlify.com).\n\n## Getting started\n\nThe simplest way to get up and running is to start with a pre-configured element such as [`@skatejs/element-lit-html`]([https://skatejs.netlify.com/packages/element-lit-html).\n\n```sh\nnpm i @skatejs/element-lit-html\n```\n\n### Simple example\n\n```js\nimport Element, { html } from '@skatejs/element-lit-html';\n\nexport default class extends Element {\n  static get props() {\n    return {\n      name: String\n    };\n  }\n  render() {\n    return html`\n      Hello, ${this.name}!\n    `;\n  }\n}\n```\n\n### Other examples\n\n1. [Todo list](https://codesandbox.io/s/8zjp9qqj9l)\n\n### Cli\n\nThere's a CLI to get you up and running: [https://skatejs.netlify.com/packages/cli](https://skatejs.netlify.com/packages/cli).\n\n```sh\n$ npm i -g @skatejs/cli\n$ skatejs\n```\n\n## Polyfills\n\nSkate builds upon the\n[Custom Elements](https://w3c.github.io/webcomponents/spec/custom/) and\n[the Shadow DOM](https://w3c.github.io/webcomponents/spec/shadow/) standards.\nIt is capable of operating without the Shadow DOM \u0026mdash; it just means you\ndon't get any encapsulation of your component's HTML or styles. It also means\nthat it's up to you to provide a way to project content (i.e. `\u003cslot\u003e`). It's\nhighly recommended you use Shadow DOM whenever possible.\n\nThough most modern browsers support these standards, some still need polyfills\nto implement missing or inconsistent behaviours for them.\n\nFor more information on the polyfills, see\n[the web components polyfill documentation](https://github.com/webcomponents/webcomponentsjs), emphasis on the caveats.\n\n## Browser Support\n\nSkate supports all evergreens and IE11, and is subject to the browser support\nmatrix of the polyfills.\n\n## Backers\n\nSupport us with a monthly donation and help us continue our activities.\n[Become a backer](https://opencollective.com/skatejs#backer)!\n\n[![](https://opencollective.com/skatejs/backer/0/avatar.svg)](https://opencollective.com/skatejs/backer/0/website)\n[![](https://opencollective.com/skatejs/backer/1/avatar.svg)](https://opencollective.com/skatejs/backer/1/website)\n[![](https://opencollective.com/skatejs/backer/2/avatar.svg)](https://opencollective.com/skatejs/backer/2/website)\n[![](https://opencollective.com/skatejs/backer/3/avatar.svg)](https://opencollective.com/skatejs/backer/3/website)\n[![](https://opencollective.com/skatejs/backer/4/avatar.svg)](https://opencollective.com/skatejs/backer/4/website)\n[![](https://opencollective.com/skatejs/backer/5/avatar.svg)](https://opencollective.com/skatejs/backer/5/website)\n[![](https://opencollective.com/skatejs/backer/6/avatar.svg)](https://opencollective.com/skatejs/backer/6/website)\n[![](https://opencollective.com/skatejs/backer/7/avatar.svg)](https://opencollective.com/skatejs/backer/7/website)\n[![](https://opencollective.com/skatejs/backer/8/avatar.svg)](https://opencollective.com/skatejs/backer/8/website)\n[![](https://opencollective.com/skatejs/backer/9/avatar.svg)](https://opencollective.com/skatejs/backer/9/website)\n[![](https://opencollective.com/skatejs/backer/10/avatar.svg)](https://opencollective.com/skatejs/backer/10/website)\n[![](https://opencollective.com/skatejs/backer/11/avatar.svg)](https://opencollective.com/skatejs/backer/11/website)\n[![](https://opencollective.com/skatejs/backer/12/avatar.svg)](https://opencollective.com/skatejs/backer/12/website)\n[![](https://opencollective.com/skatejs/backer/13/avatar.svg)](https://opencollective.com/skatejs/backer/13/website)\n[![](https://opencollective.com/skatejs/backer/14/avatar.svg)](https://opencollective.com/skatejs/backer/14/website)\n[![](https://opencollective.com/skatejs/backer/15/avatar.svg)](https://opencollective.com/skatejs/backer/15/website)\n[![](https://opencollective.com/skatejs/backer/16/avatar.svg)](https://opencollective.com/skatejs/backer/16/website)\n[![](https://opencollective.com/skatejs/backer/17/avatar.svg)](https://opencollective.com/skatejs/backer/17/website)\n[![](https://opencollective.com/skatejs/backer/18/avatar.svg)](https://opencollective.com/skatejs/backer/18/website)\n[![](https://opencollective.com/skatejs/backer/19/avatar.svg)](https://opencollective.com/skatejs/backer/19/website)\n\n## Sponsors\n\nBecome a sponsor and get your logo on our README on Github with a link to your\nsite. [Become a sponsor](https://opencollective.com/skatejs#sponsor)!\n\n[![](https://opencollective.com/skatejs/sponsor/0/avatar.svg)](https://opencollective.com/skatejs/sponsor/0/website)\n[![](https://opencollective.com/skatejs/sponsor/1/avatar.svg)](https://opencollective.com/skatejs/sponsor/1/website)\n[![](https://opencollective.com/skatejs/sponsor/2/avatar.svg)](https://opencollective.com/skatejs/sponsor/2/website)\n[![](https://opencollective.com/skatejs/sponsor/3/avatar.svg)](https://opencollective.com/skatejs/sponsor/3/website)\n[![](https://opencollective.com/skatejs/sponsor/4/avatar.svg)](https://opencollective.com/skatejs/sponsor/4/website)\n[![](https://opencollective.com/skatejs/sponsor/5/avatar.svg)](https://opencollective.com/skatejs/sponsor/5/website)\n[![](https://opencollective.com/skatejs/sponsor/6/avatar.svg)](https://opencollective.com/skatejs/sponsor/6/website)\n[![](https://opencollective.com/skatejs/sponsor/7/avatar.svg)](https://opencollective.com/skatejs/sponsor/7/website)\n[![](https://opencollective.com/skatejs/sponsor/8/avatar.svg)](https://opencollective.com/skatejs/sponsor/8/website)\n[![](https://opencollective.com/skatejs/sponsor/9/avatar.svg)](https://opencollective.com/skatejs/sponsor/9/website)\n[![](https://opencollective.com/skatejs/sponsor/10/avatar.svg)](https://opencollective.com/skatejs/sponsor/10/website)\n[![](https://opencollective.com/skatejs/sponsor/11/avatar.svg)](https://opencollective.com/skatejs/sponsor/11/website)\n[![](https://opencollective.com/skatejs/sponsor/12/avatar.svg)](https://opencollective.com/skatejs/sponsor/12/website)\n[![](https://opencollective.com/skatejs/sponsor/13/avatar.svg)](https://opencollective.com/skatejs/sponsor/13/website)\n[![](https://opencollective.com/skatejs/sponsor/14/avatar.svg)](https://opencollective.com/skatejs/sponsor/14/website)\n[![](https://opencollective.com/skatejs/sponsor/15/avatar.svg)](https://opencollective.com/skatejs/sponsor/15/website)\n[![](https://opencollective.com/skatejs/sponsor/16/avatar.svg)](https://opencollective.com/skatejs/sponsor/16/website)\n[![](https://opencollective.com/skatejs/sponsor/17/avatar.svg)](https://opencollective.com/skatejs/sponsor/17/website)\n[![](https://opencollective.com/skatejs/sponsor/18/avatar.svg)](https://opencollective.com/skatejs/sponsor/18/website)\n[![](https://opencollective.com/skatejs/sponsor/19/avatar.svg)](https://opencollective.com/skatejs/sponsor/19/website)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskatejs%2Fskatejs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fskatejs%2Fskatejs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskatejs%2Fskatejs/lists"}