{"id":22280946,"url":"https://github.com/vaadin/flow-components","last_synced_at":"2026-04-02T23:46:21.569Z","repository":{"id":36951971,"uuid":"272913222","full_name":"vaadin/flow-components","owner":"vaadin","description":"Java counterpart of Vaadin Web Components","archived":false,"fork":false,"pushed_at":"2026-02-24T19:27:25.000Z","size":129417,"stargazers_count":124,"open_issues_count":1047,"forks_count":76,"subscribers_count":28,"default_branch":"main","last_synced_at":"2026-02-24T20:49:54.078Z","etag":null,"topics":["hacktoberfest","java","vaadin"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vaadin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"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":"2020-06-17T07:58:15.000Z","updated_at":"2026-02-24T13:21:12.000Z","dependencies_parsed_at":"2023-09-22T09:55:22.498Z","dependency_job_id":"56feb732-f7f4-4187-9865-528c26479da9","html_url":"https://github.com/vaadin/flow-components","commit_stats":null,"previous_names":[],"tags_count":798,"template":false,"template_full_name":null,"purl":"pkg:github/vaadin/flow-components","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaadin%2Fflow-components","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaadin%2Fflow-components/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaadin%2Fflow-components/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaadin%2Fflow-components/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vaadin","download_url":"https://codeload.github.com/vaadin/flow-components/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaadin%2Fflow-components/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29876365,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-26T22:37:10.609Z","status":"ssl_error","status_checked_at":"2026-02-26T22:37:09.019Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["hacktoberfest","java","vaadin"],"created_at":"2024-12-03T16:10:37.243Z","updated_at":"2026-03-02T11:05:13.066Z","avatar_url":"https://github.com/vaadin.png","language":"Java","readme":"# Vaadin Flow Components\n\nThis is a maven multi-module project including all vaadin flow components.\n\n`main` branch is the latest version of all the components that will be released in the [Vaadin platform](https://github.com/vaadin/platform).\n\n## Quick start\n\nThe repository contains an interactive script for common tasks like running unit tests, integration tests and serving integration test pages.\n\nTo run it, execute `./scripts/run.js` and select the appropriate menu options.\n\nNOTE: The script requires a terminal and shell with TTY support, as well as a recent Node.js version.\n\n## Compiling all modules but excluding ITs\n\n- `mvn clean compile -Drelease -T 2C`\n\n## Compiling all the components and their modules including ITs\n\n- `mvn clean test-compile -DskipFrontend -T 2C`\n\n## Installing all modules\n\n- `mvn clean install -DskipTests -Drelease -T 2C`\n\n## Serving the IT pages of a component\n\n- `mvn -am -pl vaadin-checkbox-flow-parent/vaadin-checkbox-flow-integration-tests -DskipTests package jetty:run`\n\nThen navigate to `http://localhost:8080/vaadin-checkbox/checkbox-test` to see the IT page.\n\n## Running ITs of one component\n\n- `mvn -am -pl vaadin-checkbox-flow-parent/vaadin-checkbox-flow-integration-tests verify`\n\n## Running ITs of all components\n\nNOTE: this takes a long while and consumes a lot of resources in your computer, it's better to run tests in the merged repo as it is indicated in the following sections\n\n- `mvn clean verify -T 2C`\n\n## Merging ITs of all components in one module\n\nThere is a able to visit all IT modules and merge then into one unique module.\nIt does substitutions in sources so as routes do no conflict, and also adjust ports etc.\n\n- `./scripts/mergeITs.js`\n\nNOTE: By default it merges all modules, but it's also possible to merge certain modules by passing arguments\n\n- `./scripts/mergeITs.js button text-field crud`\n\n## Running ITs of all components in the merged module\n\nIt should take around 15-20 minutes depending on the computer capabilities.\n\n- `mvn verify -Drun-it -pl integration-tests`\n\nNOTE: that we need to activate the module with the `-Drun-it` property. By default it runs 4 tests in parallel but you can change it by setting `-Dfailsafe.forkCount=5`.\n\n## Running in Sauce Labs\n\nThe time it takes depends on the number of browsers and the modules tested.\n\nTo select which browsers to test, set the `TESTBENCH_GRID_BROWSERS` environment variable with a list of browsers.\n```\nTESTBENCH_GRID_BROWSERS=edge,safari-13,firefox\n```\n\n\n\nThen run the following command, replacing the `***` with your Sauce Labs credentials.\n\nFor testing one component run:\n\n- `mvn verify -Dsauce.user=*** -Dsauce.sauceAccessKey=*** -pl vaadin-checkbox-flow-parent/vaadin-checkbox-flow-integration-tests`\n\nFor running all merged components execute:\n\n- `mvn verify -Dsauce.user=*** -Dsauce.sauceAccessKey=*** -Drun-it -pl integration-tests`\n\n## Debugging web-test-runner tests of a component\n\nMake sure the root level dependencies are installed\n\n- `npm install`\n\nServe the IT pages of the component whose tests you want to debug\n\n- See \"Serving the IT pages of a component\" above\n\nRun the tests for the component once to have the necessary dependencies installed\n\n- `node ./scripts/wtr.js grid`\n\nMove to the integration tests module of the component\n\n- `cd vaadin-grid-flow-parent/vaadin-grid-flow-integration-tests`\n\nStart the test runner in watch mode\n\n- `npx web-test-runner --playwright test/**/*.test.ts --node-resolve --watch`\n\nNOTE: The tests actually import the client module under test from `..integration-tests/frontend/generated/jar-resources`.\nFor faster feedback loop you can work on the generated file directly. Just be careful not to lose your changes to it since it's not under version control.\n\n## Bumping version for all Maven modules\n\nTo update the version for all modules for a new major or minor, run the following command:\n```\nmvn versions:set -DnewVersion=\u003cnext-version\u003e -DprocessAllModules=true -DgenerateBackupPoms=false\n```\nwhere you replace `\u003cnext-version\u003e` with the version that you want to set.\n\n## Build script\n\nThe `./scripts/build.sh` script is though to be run in CI, it compiles all modules, merge IT's and run those.\nIt expects `TBLICENSE` and `TBHUB` variables when run in the CI server.\nOptionally it's possible to run just a bunch of modules e.g. `./scripts/build.sh grid combo-box`\n\n## Using the component in a Flow application\n\nTo use the component in an application using maven,\nadd the following dependency to your `pom.xml`:\n```\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.vaadin\u003c/groupId\u003e\n    \u003cartifactId\u003evaadin-checkbox-flow\u003c/artifactId\u003e\n    \u003cversion\u003e${platform.version}\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n## Contributing\n\nFor submitting pull requests to this repo please check our [contributing guidelines](https://vaadin.com/docs/latest/contributing/pr).\n\n### Update package version for `@NpmPackage` in all files\n\nThere are scripts available for updating the `@NpmPackage` annotation to its latest patch version:\n\n- `./scripts/updateNpmVer.js`\n\n### Modify `pom.xml` files in modules\n\nIn order to align all component buids, maven pom files are generated from templates placed in `scripts/templates`.\n\nIf you need to make any modification in a component, consider whether it is convenient to add the same to all components, then modify files under the template and run:\n\n- `./scripts/updateJavaPOMs.sh` script.\n\n\n### Formatting\n\nRun `mvn spotless:apply` before pushing your code.\n\n## Bug and enhancement tickets\n- Bug tickets and enhancement requests for the web component implementations should go to the Vaadin web components monorepo https://github.com/vaadin/web-components/.\n- Issues that are not component-specific (e.g. requests for new components) or encompass multiple Flow components should be posted in this repository.\n\n## LICENSE\nFor specific module(s), check the LICENSE file under the parent module.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaadin%2Fflow-components","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvaadin%2Fflow-components","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaadin%2Fflow-components/lists"}