Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
org.webjars.npm:vaadin__vaadin-button
Advanced tools
Vaadin components is an evolving set of high-quality web components for business web applications.
Install the components that you need from npm:
npm install @vaadin/vaadin-grid
Import the component's JavaScript module, use the component in your HTML, and control it with JavaScript:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Vaadin example</title>
</head>
<body>
<!-- Use web components in your HTML like regular built-in elements. -->
<vaadin-grid theme="row-dividers" column-reordering-allowed multi-sort>
<vaadin-grid-selection-column auto-select frozen></vaadin-grid-selection-column>
<vaadin-grid-sort-column width="9em" path="firstName"></vaadin-grid-sort-column>
<vaadin-grid-sort-column width="9em" path="lastName"></vaadin-grid-sort-column>
<vaadin-grid-column width="9em" path="address.city"></vaadin-grid-column>
</vaadin-grid>
<!-- Vaadin web components use standard JavaScript modules. -->
<script type="module">
// Importing the following modules registers <vaadin-grid> and its column
// elements so that you can use them in this page.
import '@vaadin/grid/vaadin-grid.js';
import '@vaadin/grid/vaadin-grid-selection-column.js';
import '@vaadin/grid/vaadin-grid-sort-column.js';
// Use component's properties to populate data.
const grid = document.querySelector('vaadin-grid');
fetch('https://demo.vaadin.com/demo-data/1.0/people?count=200')
.then((res) => res.json())
.then((json) => (grid.items = json.result));
</script>
</body>
</html>
Serve your HTML with a development server that supports bare module specifiers, such as @web/dev-server
:
npm i -g @web/dev-server
web-dev-server --node-resolve --open
This project contains components for Vaadin 20+. Please see individual repositories for older Vaadin versions.
The components below are licensed under the Apache License 2.0.
The components below are licensed under CVDL 4.0 license and available as part of the Vaadin Pro Subscription.
Component | npm version (latest) | npm version (next) | Issues |
---|---|---|---|
<vaadin-board> | Issues | ||
<vaadin-charts> | Issues | ||
<vaadin-cookie-consent> | Issues | ||
<vaadin-crud> | Issues | ||
<vaadin-grid-pro> | Issues | ||
<vaadin-rich-text-editor> | Issues |
Desktop:
Mobile:
Check out our design system documentation.
Are you looking for an example project to get started? Visit start.vaadin.com to create a Vaadin app.
For help and support questions, please use our community chat.
Cross-browser Testing Platform and Open Source <3 Provided by Sauce Labs.
Read the contributing guide to learn about our development process, how to propose bugfixes and improvements, and how to test your changes to Vaadin components.
Setup the repo:
yarn
Setup the environment variables needed by the scripts below, by copying the .env.dist
template file to .env
:
cp .env.dist .env
and then configure the individual variable values in the newly created .env
file.
Not all variables are necessary for all scripts, individual sections below will note which variables are required to run a command.
Run tests in Chrome:
yarn test
Run tests in Firefox:
yarn test:firefox
Run tests in WebKit:
yarn test:webkit
By default, tests will only run for changed packages. To run tests for all packages, use the --all
flag:
yarn test --all
Run tests for single package:
yarn test --group vaadin-upload
Debug tests for single package:
yarn debug --group vaadin-upload
Run tests with code coverage:
yarn test --coverage
To run the visual tests, please make sure that the SAUCE_USERNAME
and SAUCE_ACCESS_KEY
environment variables are defined.
Run tests for Lumo:
yarn test:lumo
Run tests for Material:
yarn test:material
Update reference screenshots for Lumo:
yarn update:lumo
Update reference screenshots for Material:
yarn update:material
Update screenshots for single package:
yarn update:lumo --group vaadin-upload
Run integration tests that are in the separate integration
folder:
yarn test:it
Re-generate SVG icon sets and icon fonts from individual SVG files for the packages that have them (e.g. vaadin-icons
):
yarn icons
Checkout master and pull latest changes:
git checkout master && git pull
Create a new branch from master:
git checkout -b 23.0
Push a newly created branch:
git push origin 23.0
The newly created branch for the current major is protected by default. The rest of the changes to that branch should happen the usual way, through a PR.
Create another branch:
git checkout -b update-v23
Update wtr-utils.js
as follows:
const getChangedPackages = () => {
- const output = execSync('./node_modules/.bin/lerna ls --since origin/master --json --loglevel silent');
+ const output = execSync('./node_modules/.bin/lerna ls --since origin/23.0 --json --loglevel silent');
return JSON.parse(output.toString());
};
Create a PR to the version branch (example).
master
Create a new branch from master:
git checkout master && git checkout -b bump-v24
Prepare a new version for the updateVersion
script by running the following command:
export npm_config_bump=24.0.0-alpha0
Run the script to bump static version getters in ElementMixin
, Lumo
and Material
:
node scripts/updateVersion.js
Mark the new version with Lerna:
lerna version 24.0.0-alpha0 --no-push --no-git-tag-version --yes
Commit all the changes:
git commit -a -m "chore: update master to Vaadin 24 [skip ci]"
Create a PR to the master
branch (example).
Add the new version branch to the CheckoutBranch
parameter:
As long as your application uses webpack, you can modify the webpack config to resolve the web components modules from your local clone /instead of the versions downloaded from npm registry. This is possible for:
webpack.config.js
in the root folderwebpack.config.js
in the root of the Maven module, which you can modifyIn order to do this, modify the webpack.config.js
in the root folder as follows:
(flowDefaults.resolve.modules = ['/Users/serhii/vaadin/web-components/node_modules', ...flowDefaults.resolve.modules]),
(module.exports = flowDefaults);
If you are merging into an existing config object, as is done in the Vaadin Starter apps:
module.exports = merge(
{
resolve: {
modules: ['/Users/serhii/vaadin/web-components/node_modules', 'node_modules']
}
},
flowDefaults
);
NOTE: Make sure that the path is an absolute one and that it points to the node_modules
directory in the web components monorepo.
Then run the following command in the web components monorepo:
yarn
This will symlink the individual component packages into the node_modules
folder.
After that you can start / restart your application and it should use the source code from the monorepo.
When maintaining two stable majors (e.g. 22.0.x and 23.0.x), it is important to maintain latest
npm tag.
For example, we release 22.0.7 after 23.0.1 but we still want to keep latest
pointing to 23.0.1.
Use the following script on master
branch to run npm dist-tag
for all packages:
./scripts/fixDistTag.sh
For specific package(s), check the LICENSE file under the package folder.
FAQs
WebJar for @vaadin/vaadin-button
We found that org.webjars.npm:vaadin__vaadin-button demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.