[crdx] create new chops-npm elements version

Change-Id: If541a6c0d5271529c9b1c84a349daf7674c6708e
Reviewed-on: https://chromium-review.googlesource.com/c/infra/infra/+/2094396
Auto-Submit: Weiwei Lin <weiweilin@google.com>
Commit-Queue: Tiffany Zhang <zhangtiff@chromium.org>
Reviewed-by: Tiffany Zhang <zhangtiff@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#29556}
Cr-Mirrored-From: https://chromium.googlesource.com/infra/infra
Cr-Mirrored-Commit: 5860cfcb51a1974e863915d6f0d61e861eef4551
17 files changed
tree: dfc8ab6f45181312c9c5fa14763c12cfba07a62c
  1. demos/
  2. elements/
  3. karma-reporter/
  4. test-helpers/
  5. .eslintrc.json
  6. .gitignore
  7. index.html
  8. karma.conf.js
  9. lerna.json
  10. package-lock.json
  11. package.json
  12. README.md
  13. tsconfig.build.json
  14. tsconfig.json
  15. tslint.json
  16. webpack.config.js
README.md

chopsui

This directory contains Web Components 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.

Contributing

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. Sync a clean branch with upstream set to origin/master.
  2. 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.
  3. Commit the changes, upload them for code review, and land them.
  4. Sync to the newly landed commit.
  5. Publish to npm with npx lerna publish from-package.