Skip to content

Commit 07cb598

Browse files
committed
2.8.0: manual theme toggle, inspector, mid trial activation
Closes #467 feat: manual theme toggle button fix(nested getter bug) feat(add inspector) feat(context menu opens at component) chore(migrate to playwright) chore: suppress warnings in build output feat: mid trial license activation test: unskip v2 tests
1 parent 5ed7c42 commit 07cb598

63 files changed

Lines changed: 1989 additions & 3065 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/build.yml

Lines changed: 6 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,6 @@ jobs:
3232
cache: 'pnpm'
3333
- name: install
3434
run: pnpm install --frozen-lockfile
35-
env:
36-
CYPRESS_INSTALL_BINARY: "0"
3735
- name: build
3836
run: pnpm mainline
3937
- name: Archive production artifacts
@@ -47,22 +45,9 @@ jobs:
4745
run: pnpm typecheck
4846
- name: check formatting
4947
run: pnpm run check:format
50-
# see https://github.com/bahmutov/cypress-gh-action-split-install
51-
- run: pnpm cy:cache:check
52-
# restore / cache the binary ourselves on Linux
53-
# see https://github.com/actions/cache
54-
- name: Cache Cypress
55-
id: cache-cypress
56-
uses: actions/cache@v4
57-
with:
58-
path: ~/.cache/Cypress
59-
key: cypress-cache-v1-${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}
60-
# install Cypress binary
61-
- run: pnpm cy:bin:install
62-
- name: Devtools@v2 E2E
63-
uses: cypress-io/github-action@v6
64-
with:
65-
start: pnpm start
66-
command: pnpm run cy:run
67-
working-directory: packages/browser-extension
68-
install: false
48+
- name: Install Playwright browsers
49+
run: pnpm exec playwright install chromium --with-deps
50+
working-directory: packages/browser-extension
51+
- name: E2E tests
52+
run: pnpm pw:run
53+
working-directory: packages/browser-extension

AGENTS.md

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -23,28 +23,18 @@ As the last step of any plan, you **MUST** run the following checks and ensure t
2323
- `pnpm run typecheck`
2424
- `pnpm t` (unit tests)
2525

26-
When making changes to the UI, you **SHOULD** propose to run the cypress tests (see next section).
26+
When making changes to the UI, you **SHOULD** propose to run the Playwright tests (see next section).
2727

2828
## Commit message
2929

3030
You **MUST** include the full user-provided prompt as part of commit messages.
3131

32-
## Running Cypress Tests
32+
## Running Playwright Tests
3333

34-
To run the Cypress tests for the `browser-extension` package, you **SHOULD** use the `jules-test` script. This script will start the development server and then run the tests.
35-
36-
To run the Cypress tests you **MUST** run from the root of the project (`/app` for Jules),
34+
To run the Playwright E2E tests for the `browser-extension` package, run from the root of the project:
3735

3836
```bash
39-
pnpm test:e2e
37+
pnpm pw:run
4038
```
4139

42-
**Note for agent Jules:** You **SHOULD** be aware that when working in the shell, the current working directory is often `/app/packages/browser-extension`. If you are having trouble with file paths, you **SHOULD** run `pwd` to confirm your location.
43-
44-
This will run all the Cypress tests in headless mode.
45-
46-
**Note:** If you are running the tests in a headless environment, you **SHOULD** be aware that you may need to install `xvfb`. On Debian-based systems, you can install it with:
47-
48-
```bash
49-
sudo apt-get update && sudo apt-get install -y xvfb
50-
```
40+
This will start the dev server automatically and run all tests in headless mode.

package.json

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,18 @@
1313
"sa": "pnpm mainline",
1414
"mainline": "rm -rf dist && pnpm build && pnpm package",
1515
"test": "pnpm -r test",
16-
"test:e2e": "pnpm -r jules-test",
17-
"cy:run": "pnpm --filter=browser-extension cy:run",
18-
"cy:open": "pnpm --filter=browser-extension cy:open",
19-
"format": "prettier './{packages/**/,cypress/**/*,lib/}*.{js,ts,tsx,html,css}' --write",
20-
"check:format": "prettier './{packages/**/,cypress/**/*,}*.{js,ts,tsx,html,css}' -c",
16+
"pw:run": "pnpm --filter=browser-extension pw:run",
17+
"pw:open": "pnpm --filter=browser-extension pw:open",
18+
"format": "prettier './{packages/**/,lib/}*.{js,ts,tsx,html,css}' --write",
19+
"check:format": "prettier './{packages/**/,}*.{js,ts,tsx,html,css}' -c",
2120
"check:firefox": "pnpm ea && web-ext lint --source-dir=dist/firefox-ext",
2221
"typecheck": "pnpm --filter=browser-extension typecheck",
2322
"package": "pnpm pkg:chrome && pnpm pkg:firefox && pnpm archive:v2",
2423
"pkg:chrome": "web-ext build --source-dir=dist/browser-extension --artifacts-dir=./dist/chrome-v2",
2524
"pkg:firefox": "web-ext build --source-dir=dist/firefox-ext --artifacts-dir=./dist/firefox-v2",
2625
"archive:v2": "git archive -o ./dist/alpine-devtools-source-archive-v2.zip HEAD:packages/browser-extension",
2726
"ff:open": "web-ext run -s=./dist/firefox-ext",
28-
"ff:dev": "web-ext run -s=./dist/browser-extension",
29-
"cy:cache:check": "pnpm --filter=browser-extension exec cypress cache path && pnpm --filter=browser-extension exec cypress cache list",
30-
"cy:bin:install": "pnpm --filter=browser-extension exec cypress install && pnpm --filter=browser-extension exec cypress cache list"
27+
"ff:dev": "web-ext run -s=./dist/browser-extension"
3128
},
3229
"license": "MIT",
3330
"workspaces": [
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
node_modules
2-
dist
2+
dist
3+
test-results

packages/browser-extension/AGENTS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Here is a breakdown of the important files and directories in the `packages/brow
3434

3535
- **`assets/`**: This directory contains static assets like images, HTML files, and icons.
3636

37-
- **`cypress/`**: This directory contains the end-to-end tests for the extension.
37+
- **`tests/`**: This directory contains the Playwright end-to-end tests for the extension.
3838

3939
- **`package.json`**: This file lists the project's dependencies and scripts.
4040

packages/browser-extension/build.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,12 @@ async function buildAll() {
4141
sourcemap: true,
4242
target: 'esnext',
4343
platform: 'browser',
44+
define: {
45+
'import.meta.env.DEV': JSON.stringify(!isProd),
46+
'import.meta.env.VITE_MAINLINE_PUBLISH': JSON.stringify(
47+
JSON.stringify(process.env.VITE_MAINLINE_PUBLISH === 'true'),
48+
),
49+
},
4450
});
4551

4652
const alpineBuild = await copyFile(

packages/browser-extension/cypress.config.js

Lines changed: 0 additions & 16 deletions
This file was deleted.

packages/browser-extension/cypress/e2e/component-history.cy.js

Lines changed: 0 additions & 180 deletions
This file was deleted.

packages/browser-extension/cypress/e2e/license-activation.cy.js

Lines changed: 0 additions & 64 deletions
This file was deleted.

0 commit comments

Comments
 (0)