Clone this repo:
  1. e612bd2 luci: bump versions to include starter-packages by Mostafa Draz · 1 year ago main
  2. 3b542da luci: Create a base package for common dependencies by Mostafa Draz · 1 year ago
  3. 65d43f3 [LUCI] Bump lerna versions to 0.3.4 to fix trusted types by Mostafa Draz · 1 year, 10 months ago
  4. b49d4a0 [LUCI] Fix import issue in trusted-types-policy by Mostafa Draz · 1 year, 10 months ago
  5. da61747 [LUCI] add missing package.json entries for trusted types by Mostafa Draz · 1 year, 10 months ago


This directory contains Web Components and JavaScript libraries shared across Chrome Operations' application frontends.

Using chopsui components

Find the name of the specific component and install it within the @chopsui package scope. For example, to install chops-header, run npm install @chopsui/chops-header.


To set up project development:

  1. Clone this repo with git clone.
  2. Install dependencies with npm run bootstrap.
  3. Run tests with npm test.
  4. Run demos with npm start. The demos will be at http://localhost:8080/.

Publishing packages

ChopsUI packages are published publicly on npm under the @chopsui organization.

Each component is published under a separate npm package. Packages are managed using Lerna. All packages are published together using a single version number kept in the lerna.json file under the version key.

To set up:

  1. Send your npm username to zhangtiff@ to be added to @chopsui.
  2. Authenticate in npm with npm adduser.

To publish a new version:

  1. Make sure your package has the following in package.json
    "publishConfig": {
      "access": "public"
  2. Sync a clean branch with upstream set to origin/main.
  3. Create a new version with npx lerna version --no-git-tag-version. Lerna will prompt you to select a new version number, detect which packages have changed since the last version, and locally update the json files.
  4. Commit the changes, upload them for code review, and land them.
  5. Sync to the newly landed commit.
  6. Publish to npm with npx lerna publish from-package --no-git-tag-version.