{"id":48819308,"url":"https://github.com/vaadin/client-server-addon-template","last_synced_at":"2026-04-14T14:01:49.939Z","repository":{"id":66337231,"uuid":"523343910","full_name":"vaadin/client-server-addon-template","owner":"vaadin","description":"Client-server Vaadin add-on template using Lit.","archived":false,"fork":false,"pushed_at":"2026-04-14T06:56:10.000Z","size":189,"stargazers_count":5,"open_issues_count":2,"forks_count":5,"subscribers_count":4,"default_branch":"v25","last_synced_at":"2026-04-14T08:33:15.020Z","etag":null,"topics":["java","template-repository","typescript","vaadin","webcomponents"],"latest_commit_sha":null,"homepage":"https://vaadin.com/directory","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vaadin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-08-10T12:56:24.000Z","updated_at":"2026-03-30T14:11:05.000Z","dependencies_parsed_at":"2023-11-29T08:31:36.187Z","dependency_job_id":"ecdb82c4-cb6f-4b49-a2a7-a6ba32c68e07","html_url":"https://github.com/vaadin/client-server-addon-template","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/vaadin/client-server-addon-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaadin%2Fclient-server-addon-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaadin%2Fclient-server-addon-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaadin%2Fclient-server-addon-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaadin%2Fclient-server-addon-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vaadin","download_url":"https://codeload.github.com/vaadin/client-server-addon-template/tar.gz/refs/heads/v25","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaadin%2Fclient-server-addon-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31799411,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T11:13:53.975Z","status":"ssl_error","status_checked_at":"2026-04-14T11:13:53.299Z","response_time":153,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["java","template-repository","typescript","vaadin","webcomponents"],"created_at":"2026-04-14T14:01:44.731Z","updated_at":"2026-04-14T14:01:49.920Z","avatar_url":"https://github.com/vaadin.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Add-on template for Vaadin with an embedded Lit component \n\n![clock-element](https://user-images.githubusercontent.com/991105/184157011-9cdd51bb-2a57-4698-9fbb-e539d382e99f.png)\n\nYou should start from this project, if your add-on will be based on custom Lit HTML element (that you are not planning to publish through npm) and provide Java API for the rest of the application.\nAs an example this project implements a simple clock-element to display current time based on browser. \n\n## Add-on architecture\n![client-server-addon](https://user-images.githubusercontent.com/991105/211867227-2c71ee29-9ea6-4de0-a5e4-2bf53781628d.svg)\n\n### Alternative add-on templates\n\nIf you wish to build and publish an add-on or extension in [Vaadin Directory](https://vaadin.com/directory), Vaadin provides the following three template projects:\n 1. [vaadin/addon-template](https://github.com/vaadin/addon-template): Create a composite component. This Java-only template is the easiest when extending Vaadin Java components.\n 2. **(this repo)** [vaadin/client-server-addon-template](https://github.com/vaadin/client-server-addon-template): Build a standalone, client-server TypeScript-Java component. This template provides you with a [Lit-based](https://github.com/lit/lit/) example to start with.\n 3. [vaadin/npm-addon-template](https://github.com/vaadin/npm-addon-template): Wrap a web component from [npmjs.com](https://npmjs.com/) as a Vaadin Java component.\n\n\n## Development instructions\n\n### Important Files \n\nComponent implementation and API:\n* Clock.java: Add-on component Java class. Provides server-side Java API to use component in your applications.\n* clock-element.ts: TypeScript file that defines the client-side part of the component.\n* clock-element.css: Default styles for the component.\n\nFor testing and development:\n* TestView.java: A View class that let's you test the component you are building. This and other classes in the test folder will not be packaged during the build. You can add more test view classes in this package.\n* TestViewIT.java: Integration tests for the component. Uses TestView.java.\n* assembly/: this folder includes configuration for packaging the project into a JAR so that it works well with other Vaadin projects and the Vaadin Directory. There is usually no need to modify these files, unless you need to add JAR manifest entries.\n\n### Deployment\n\n- Starting the test/demo server to http://localhost:8080:\n```\nmvn jetty:run\n```\n\n### Integration test\n\nTo run Integration Tests, execute `mvn verify -Pit`.\n\n## Publishing to Vaadin Directory\n\nYou should change the `organisation.name` property in `pom.xml` to your own name/organization.\n\n```\n    \u003corganization\u003e\n        \u003cname\u003e###author###\u003c/name\u003e\n    \u003c/organization\u003e\n```\n\nYou can create the zip package needed for [Vaadin Directory](https://vaadin.com/directory/) using\n\n```\nmvn versions:set -DnewVersion=1.0.0 # You cannot publish snapshot versions \nmvn package -Pdirectory\n```\n\nThe package is created as `target/{project-name}-1.0.0.zip`\n\nFor more information or to upload the package, visit https://vaadin.com/directory/my-components?uploadNewComponent\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaadin%2Fclient-server-addon-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvaadin%2Fclient-server-addon-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaadin%2Fclient-server-addon-template/lists"}