Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions .eslintignore

This file was deleted.

46 changes: 0 additions & 46 deletions .eslintrc

This file was deleted.

File renamed without changes.
59 changes: 59 additions & 0 deletions .github/workflows/_static-analysis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Static Analysis

on:
workflow_call:

permissions:
contents: read

jobs:
static-check:
name: Run Static Analysis
runs-on: ubuntu-latest

steps:
- name: Check out Git repository
uses: actions/checkout@v7
with:
fetch-depth: 0

- name: Run Betterleaks
id: betterleaks
continue-on-error: true
uses: dortort/betterleaks-action@cd0b905aa4befb8f42f8b1ab98150180c9e77515 # v0.1.0
with:
version: 'v1.9.0'
github-token: ${{ secrets.GITHUB_TOKEN }}

- name: Upload Betterleaks report
if: always()
uses: actions/upload-artifact@v7
with:
name: betterleaks-report
path: betterleaks-report.sarif
if-no-files-found: warn

- name: Fail if Betterleaks found leaks
if: steps.betterleaks.outcome == 'failure'
run: exit 1

- name: Set up pnpm
uses: pnpm/action-setup@v6

- name: Set up Node.js
uses: actions/setup-node@v7
with:
node-version-file: .nvmrc
cache: pnpm

- name: Install Node.js dependencies
run: pnpm install --frozen-lockfile

- name: Run static analysis
run: pnpm exec prek run --all-files --skip betterleaks

- name: Lint
run: pnpm lint

- name: Check dependency licenses
run: pnpm run license:check
40 changes: 40 additions & 0 deletions .github/workflows/_test-components.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Component Tests

on:
workflow_call:

permissions:
contents: read

jobs:
cypress:
name: Run Cypress component tests
runs-on: ubuntu-latest

steps:
- name: Check out Git repository
uses: actions/checkout@v7

- name: Set up pnpm
uses: pnpm/action-setup@v6

- name: Set up Node.js
uses: actions/setup-node@v7
with:
node-version-file: .nvmrc
cache: pnpm

- name: Cypress run
uses: cypress-io/github-action@c541a95ea92d9239347a2355f2e895cd4b3f8060 # v7.4.6
with:
install-command: pnpm install --frozen-lockfile
build: pnpm cy:prepare
command: pnpm cy:run

- name: Upload snapshot diffs
if: failure()
uses: actions/upload-artifact@v7
with:
name: cypress-snapshot-diffs
path: cypress/snapshots/**/__diff_output__
if-no-files-found: ignore
40 changes: 40 additions & 0 deletions .github/workflows/_test-integration.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Integration Tests

on:
workflow_call:

permissions:
contents: read

jobs:
cypress:
name: Run Cypress integration tests against the built library
runs-on: ubuntu-latest

steps:
- name: Check out Git repository
uses: actions/checkout@v7

- name: Set up pnpm
uses: pnpm/action-setup@v6

- name: Set up Node.js
uses: actions/setup-node@v7
with:
node-version-file: .nvmrc
cache: pnpm

- name: Cypress run
uses: cypress-io/github-action@c541a95ea92d9239347a2355f2e895cd4b3f8060 # v7.4.6
with:
install-command: pnpm install --frozen-lockfile
build: pnpm build
command: pnpm cy:run:integration

- name: Upload screenshots
if: failure()
uses: actions/upload-artifact@v7
with:
name: cypress-integration-screenshots
path: cypress/screenshots
if-no-files-found: ignore
28 changes: 28 additions & 0 deletions .github/workflows/_workflow-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Lint Workflows

on:
workflow_call:

permissions:
contents: read

jobs:
actionlint:
name: Run actionlint
runs-on: ubuntu-latest
steps:
- name: Check out Git repository
uses: actions/checkout@v7

- name: Download actionlint
id: get_actionlint
# Script pinned to the v1.7.12 release commit; bump both together.
run: bash <(curl -fsSL "https://raw.githubusercontent.com/rhysd/actionlint/${ACTIONLINT_COMMIT}/scripts/download-actionlint.bash") "${ACTIONLINT_VERSION}"
shell: bash
env:
ACTIONLINT_VERSION: 1.7.12
ACTIONLINT_COMMIT: 914e7df21a07ef503a81201c76d2b11c789d3fca

- name: Run actionlint
run: '${{ steps.get_actionlint.outputs.executable }} -color'
shell: bash
5 changes: 4 additions & 1 deletion .github/workflows/deprecate-version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ jobs:
node-version-file: .nvmrc
cache: pnpm
registry-url: https://registry.npmjs.org
- run: pnpm deprecate $LIBRARY_NAME@${{ inputs.VERSION }} ${{ inputs.MESSAGE }}
- name: Deprecate version
run: pnpm deprecate "${LIBRARY_NAME}@${VERSION}" "${MESSAGE}"
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
VERSION: ${{ inputs.VERSION }}
MESSAGE: ${{ inputs.MESSAGE }}
23 changes: 23 additions & 0 deletions .github/workflows/pull-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Pull Request

on:
pull_request:

permissions:
contents: read
pull-requests: read

jobs:
workflow_lint:
uses: ./.github/workflows/_workflow-lint.yml
static_analysis:
uses: ./.github/workflows/_static-analysis.yml
needs: workflow_lint
test_components:
uses: ./.github/workflows/_test-components.yml
needs: static_analysis
secrets: inherit
test_integration:
uses: ./.github/workflows/_test-integration.yml
needs: static_analysis
secrets: inherit
41 changes: 0 additions & 41 deletions .github/workflows/tests.yml

This file was deleted.

3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,6 @@ cypress/snapshots/*
cypress/**/__diff_output__
.idea
.DS_Store

# generated by Betterleaks
betterleaks-report.sarif
9 changes: 9 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
dist
docs
node_modules
pnpm-lock.yaml
cypress/snapshots
CHANGELOG.md

# generated by Betterleaks in CI
betterleaks-report.sarif
8 changes: 2 additions & 6 deletions .prettierrc
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@
"tabWidth": 2,
"singleQuote": true,
"trailingComma": "all",
"semi": false,
"semi": true,
"importOrder": [
"<BUILTIN_MODULES>",
"^(react/(.*)$)|^(react$)",
"<THIRD_PARTY_MODULES>",
"",
Expand All @@ -16,11 +17,6 @@
"",
"^[./]"
],
"importOrderSeparation": false,
"importOrderSortSpecifiers": true,
"importOrderBuiltinModulesToTop": true,
"importOrderParserPlugins": ["typescript", "jsx", "decorators-legacy"],
"importOrderMergeDuplicateImports": true,
"importOrderCombineTypeAndValueImports": true,
"plugins": ["@ianvs/prettier-plugin-sort-imports"]
}
23 changes: 11 additions & 12 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

# Contributor Covenant Code of Conduct

## Our Pledge
Expand All @@ -18,23 +17,23 @@ diverse, inclusive, and healthy community.
Examples of behavior that contributes to a positive environment for our
community include:

* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
- Demonstrating empathy and kindness toward other people
- Being respectful of differing opinions, viewpoints, and experiences
- Giving and gracefully accepting constructive feedback
- Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
- Focusing on what is best not just for us as individuals, but for the
overall community

Examples of unacceptable behavior include:

* The use of sexualized language or imagery, and sexual attention or
- The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
- Trolling, insulting or derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
- Other conduct which could reasonably be considered inappropriate in a
professional setting

## Enforcement Responsibilities
Expand Down Expand Up @@ -107,7 +106,7 @@ Violating these terms may lead to a permanent ban.
### 4. Permanent Ban

**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.

**Consequence**: A permanent ban from any sort of public interaction within
Expand Down
Loading
Loading