{"id":15369302,"url":"https://github.com/raquo/laminar","last_synced_at":"2025-04-12T20:38:50.586Z","repository":{"id":38417401,"uuid":"87392298","full_name":"raquo/Laminar","owner":"raquo","description":"Simple, expressive, and safe UI library for Scala.js","archived":false,"fork":false,"pushed_at":"2025-03-26T09:04:45.000Z","size":9938,"stargazers_count":783,"open_issues_count":32,"forks_count":57,"subscribers_count":23,"default_branch":"master","last_synced_at":"2025-04-05T19:07:17.701Z","etag":null,"topics":["dom-manipulation","functional-reactive-programming","reactive-streams","scala","scala-js","scalajs","ui"],"latest_commit_sha":null,"homepage":"https://laminar.dev","language":"Scala","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/raquo.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"raquo"}},"created_at":"2017-04-06T06:06:49.000Z","updated_at":"2025-04-04T12:45:14.000Z","dependencies_parsed_at":"2023-10-11T02:06:43.387Z","dependency_job_id":"a4589031-6c00-457a-842a-7629177ef00e","html_url":"https://github.com/raquo/Laminar","commit_stats":{"total_commits":639,"total_committers":20,"mean_commits":31.95,"dds":0.04538341158059467,"last_synced_commit":"587b87b7175471782ce74bb97a3953969e713b9c"},"previous_names":[],"tags_count":49,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raquo%2FLaminar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raquo%2FLaminar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raquo%2FLaminar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raquo%2FLaminar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raquo","download_url":"https://codeload.github.com/raquo/Laminar/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248631668,"owners_count":21136554,"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":["dom-manipulation","functional-reactive-programming","reactive-streams","scala","scala-js","scalajs","ui"],"created_at":"2024-10-01T13:35:04.950Z","updated_at":"2025-04-12T20:38:50.564Z","avatar_url":"https://github.com/raquo.png","language":"Scala","readme":"![](https://laminar.dev/img/brand/laminar-logo-100px-rounded.png)\n\n# Laminar\n\n[![Build status](https://github.com/raquo/Laminar/actions/workflows/test.yml/badge.svg)](https://github.com/raquo/Laminar/actions/workflows/test.yml)\n[![Chat on https://discord.gg/JTrUxhq7sj](https://img.shields.io/badge/chat-on%20discord-7289da.svg)](https://discord.gg/JTrUxhq7sj)\n[![Maven Central](https://img.shields.io/maven-central/v/com.raquo/laminar_sjs1_3.svg)](https://search.maven.org/artifact/com.raquo/laminar_sjs1_3)\n\nLaminar is a small library that lets you build web application interfaces, keeping UI state in sync with the underlying application state. Its simple yet expressive patterns build on a rock solid foundation of [Airstream](https://github.com/raquo/Airstream) observables and the [Scala.js](https://www.scala-js.org/) platform.\n\nLaminar is also a friendly community of passionate people from across the world who help each other learn new skills and achieve their goals. Check out all the learning materials we've put out, and chat us up on Discord if you hit a snag!\n\n    \"com.raquo\" %%% \"laminar\" % \"\u003cversion\u003e\" // Requires Scala.js 1.16.0+\n\nLook up the latest version of Laminar [here](https://laminar.dev/blog/), or in git tags above (\"v\" prefix is _not_ part of the version number).\n\n\n\n## Where Are The Docs and Everything?\n\n\n### 👉 [laminar.dev](https://laminar.dev)\n\nSales pitch, quick start, documentation, live examples, and other resources, all there. \n\n### 👉 [demo.laminar.dev](https://demo.laminar.dev)\n\nLive demo, with examples, code snippets, and a fully working client + server, dev + prod build setup that you can experiment with, and then deploy to the cloud for free.\n\n\n## Contributing\n\nPlease run `sbt +test` and `sbt scalafmtAll` locally before submitting the PR.\n\nNote that all files under `com.raquo.laminar.defs` are generated, and should not be edited directly – for how to add more attributes / props, etc., see [Missing Keys](https://laminar.dev/documentation#missing-keys) and then [contribute to Scala DOM Types](https://github.com/raquo/scala-dom-types?tab=readme-ov-file#contributing).\n\n\n\n\n## Sponsorships\n\nHuge thanks to [all of our sponsors](https://github.com/sponsors/raquo) – your backing enables me to spend more time on Laminar, Airstream, various add-ons, as well as documentation, learning materials, and community support.\n\n\n### DIAMOND sponsor:\n\n[![HeartAI.net](https://laminar.dev/img/sponsors/heartai-300px.png)](https://www.heartai.net/)\n\n[HeartAI](https://www.heartai.net/) is a data and analytics platform for digital health and clinical care.\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n### GOLD Sponsors:\n\n\u003cbr /\u003e\n\n[![Aurinko.io](https://laminar.dev/img/sponsors/aurinko-light-250px.png)](https://www.aurinko.io/)\u003cbr /\u003e\n**[Aurinko](https://aurinko.io/)** is an API platform for workplace addons and integrations.\n\u003cbr /\u003e\n\u003cbr /\u003e\n\u003cbr /\u003e\n\u003ca href=\"https://tawasal.ae\"\u003e\u003cimg src=\"https://laminar.dev/img/sponsors/tawasal.svg\" width=\"80\"\u003e\u003c/a\u003e\u003cbr /\u003e\n\u003cb\u003e\u003ca href=\"https://tawasal.ae\"\u003eTawasal\u003c/a\u003e\u003c/b\u003e is a secure multi-purpose messenger and superapp, offering free voice, text, video conferencing and lifestyle services.\n\u003cbr /\u003e\n\u003cbr /\u003e\n\u003cbr /\u003e\n\u003ca href=\"https://www.ossuminc.com/\"\u003e\u003cimg src=\"https://laminar.dev/img/sponsors/ossum-square-200px.jpg\" width=\"80\"\u003e\u003c/a\u003e\u003cbr /\u003e\n\u003cb\u003e\u003ca href=\"https://www.ossuminc.com\"\u003eOssum Inc.\u003c/a\u003e\u003c/b\u003e is dedicated to creating Ossum experiences for businesses that use software.\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n## Author\n\nNikita Gazarov – [@raquo](https://twitter.com/raquo)\n\n\n\n\n## License\n\nLaminar is provided under the [MIT license](https://github.com/raquo/laminar/blob/master/LICENSE.md).\n\nThe artwork in the `img/brand`, `img/sponsors`, and `img/blog` directories is not covered by the MIT license. No license is granted to you for these assets. However, you may still have \"fair use\" rights, as stipulated by law.\n\nComments in the `defs` directory pertaining to individual DOM element tags, attributes, properties and event properties, as well as CSS properties and their special values / keywords, are taken or derived from content created by Mozilla Contributors and are licensed under Creative Commons Attribution-ShareAlike license (CC-BY-SA), v2.5.\n","funding_links":["https://github.com/sponsors/raquo"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraquo%2Flaminar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraquo%2Flaminar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraquo%2Flaminar/lists"}