Initializer for Brightspace web components.
Run the following command from the directory where the new component directory should be created (e.g., if desired end location is Documents/button, run from Documents). GitHub repo creation should be done separately and the steps there can be followed to add this new component to source control.
npm init @brightspace-ui
- Project boilerplate including: README, .editorconfig, .gitignore, package.json, CODEOWNERS and LICENSE (Apache-2.0)
- Lit component scaffold
- Demo
- Linting (JavaScript, Style, Lit)
- Unit tests with cross-browser testing
- Continuous Integration using GitHub Actions
- Dependabot
- GitHub Release and publish to NPM*
- Localization
- Visual diff testing*
- Test reporting*
* Some additional setup required (see below)
Visual diff results are published to a bucket in S3 and need special tokens to do so. To set these up, follow the instructions in the vdiff GitHub Action.
In order for the release workflow to automatically update the version, the repo needs to be configured with a D2L_RELEASE_TOKEN
.
Learn more in the action docs.
In order for test reports to be submitted, the repo needs to be configured with AWS_*
tokens with the correct permissions.
Learn more in the action docs.
TODO:
- GitHub Actions integration for verify-translations
Pull requests welcome!
This repo is configured to use semantic-release
. Commits prefixed with fix:
and feat:
will trigger patch and minor releases when merged to main
.
To learn how to create major releases and release from maintenance branches, refer to the semantic-release GitHub Action documentation.