Skip to content

Commit 978addc

Browse files
committed
2.7.0 filter component list, history flyout available for free users
feat: filter component list feat: history flyout available for free users data: emit metric on license activation data: purchase link metric feat: update post-trial messaging to include all features and hide image in post-trial message - 'Trial expires in...' text is a clickable link - purchase before trial link chore: migrate project to pnpm chore(deps-dev): bump the dev-dependencies group across 1 directory with 8 updates (#66) chore(deps): bump the prod-dependencies group with 2 updates (#61) chore: skip git hooks install on Jules VMs
1 parent 7a81a1d commit 978addc

File tree

23 files changed

+6410
-10206
lines changed

23 files changed

+6410
-10206
lines changed

.github/workflows/build.yml

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -16,53 +16,53 @@ jobs:
1616

1717
runs-on: ubuntu-latest
1818

19-
strategy:
20-
matrix:
21-
node-version: [22.x]
22-
2319
env:
2420
CI: true
2521

2622
steps:
2723
- uses: actions/checkout@v4
28-
- name: Use Node.js ${{ matrix.node-version }}
29-
uses: actions/setup-node@v1
24+
- name: Install pnpm
25+
uses: pnpm/action-setup@v2
26+
with:
27+
version: 10
28+
- name: Use Node.js 24.x
29+
uses: actions/setup-node@v3
3030
with:
31-
node-version: ${{ matrix.node-version }}
31+
node-version: 24.x
32+
cache: 'pnpm'
3233
- name: install
33-
run: npm ci
34+
run: pnpm install --frozen-lockfile
3435
env:
3536
CYPRESS_INSTALL_BINARY: "0"
3637
- name: build
37-
# need npm run because we have shell commands inside this script
38-
run: npm run package
38+
run: pnpm mainline
3939
- name: Archive production artifacts
4040
uses: actions/upload-artifact@v4
4141
with:
4242
name: alpine-devtools
4343
path: dist
4444
- name: unit tests
45-
run: node --run test
45+
run: pnpm test
4646
- name: typecheck
47-
run: node --run typecheck
47+
run: pnpm typecheck
4848
- name: check formatting
49-
run: node --run check:format
49+
run: pnpm run check:format
5050
# see https://github.com/bahmutov/cypress-gh-action-split-install
51-
- run: npx cypress cache path && npx cypress cache list
51+
- run: pnpm cy:cache:check
5252
# restore / cache the binary ourselves on Linux
5353
# see https://github.com/actions/cache
5454
- name: Cache Cypress
5555
id: cache-cypress
5656
uses: actions/cache@v4
5757
with:
5858
path: ~/.cache/Cypress
59-
key: cypress-cache-v1-${{ runner.os }}-${{ hashFiles('**/package.json') }}
59+
key: cypress-cache-v1-${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}
6060
# install Cypress binary
61-
- run: npx cypress install && npx cypress cache list
61+
- run: pnpm cy:bin:install
6262
- name: Devtools@v2 E2E
6363
uses: cypress-io/github-action@v6
6464
with:
65-
start: node --run start
66-
command: node --run cy:run
65+
start: pnpm start
66+
command: pnpm run cy:run
6767
working-directory: packages/browser-extension
6868
install: false

AGENTS.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,24 @@ We also use `basecoat-ui` for some base styles. You can find more information ab
1919

2020
As the last step of any plan, you **MUST** run the following checks and ensure they pass
2121

22-
- `npm run format` (run formatter)
23-
- `npm run typecheck`
24-
- `npm t` (unit tests)
22+
- `pnpm run format` (run formatter)
23+
- `pnpm run typecheck`
24+
- `pnpm t` (unit tests)
2525

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

28+
## Commit message
29+
30+
You **MUST** include the full user-provided prompt as part of commit messages.
31+
2832
## Running Cypress Tests
2933

3034
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.
3135

3236
To run the Cypress tests you **MUST** run from the root of the project (`/app` for Jules),
3337

3438
```bash
35-
npm run --prefix=packages/browser-extension jules-test
39+
pnpm test:e2e
3640
```
3741

3842
**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.

README.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -57,14 +57,14 @@ Unlike other frameworks, Alpine does not include named components. Therefore by
5757

5858
### Prerequisites
5959

60-
- Node ^22.x
61-
- npm ^10.x
60+
- Node ^24.x
61+
- pnpm ^10.x
6262

6363
### Chrome
6464

6565
1. Clone this repo
66-
2. Run `npm install`
67-
3. Run `npm run build:dev` (or `npm run build` to test a production build)
66+
2. Run `pnpm install`
67+
3. Run `pnpm build:dev` (or `pnpm build` to test a production build)
6868
4. Load unpacked extension inside [dist/chrome](./dist/chrome) directory
6969
5. Open any HTML file that imports Alpine.js then inspect with Chrome DevTools. You should now have an Alpine.js panel available.
7070

@@ -84,21 +84,21 @@ A devtools simulator is provided in order to run tests and have an easier develo
8484
Note that when using the simulator all Chrome/Firefox devtools/Extension APIs are faked so it's useful if working on the Extension Backend (which runs in the end user's window, see `packages/shell-chrome/src/backend.js`) or the Alpine.js app which runs in the devtools panel (entrypoint: `packages/shell-chrome/src/devtools/app.js`).
8585

8686
1. Clone this repo
87-
2. Run `npm install`
88-
3. Run `npm start`
89-
4. Open [http://locahost:8080](http://locahost:8080) (default port is 8080, you can override the port using the `PORT` environment variable. eg. `PORT=5000 npm start` will start the simulator on [http://localhost:5000](http://localhost:5000))
87+
2. Run `pnpm install`
88+
3. Run `pnpm start`
89+
4. Open [http://locahost:8080](http://locahost:8080) (default port is 8080, you can override the port using the `PORT` environment variable. eg. `PORT=5000 pnpm start` will start the simulator on [http://localhost:5000](http://localhost:5000))
9090
5. You'll see a page with our sample Alpine.js app, [example.html](./packages/simulator/example.html), running in the top half of the screen and the [devtools simulator](./packages/simulator/dev.js) running in the bottom half of the screen.
9191

9292
### Testing
9393

9494
We have 2 levels of tests in the project:
9595

9696
- unit tests in [./tests](./tests), written and run with `node:test`
97-
- The command to run them is `npm test`.
97+
- The command to run them is `pnpm test`.
9898
- E2E tests that run against the devtools simulator, in [./cypress](./cypress), using [Cypress](https://cypress.io).
99-
- The command to run Cypress tests is `npm run cy:run`
100-
- The command to open the Cypress UI is `npm run cy:open`
101-
- **Note** in order to run any Cypress tests, you'll need the simulator running (see [Running the Alpine.js devtools simulator](#running-the-alpinejs-devtools-simulator)).
99+
- The command to run Cypress tests is `pnpm cy:run`
100+
- The command to open the Cypress UI is `pnpm cy:open`
101+
- **Note** in order to run any Cypress tests, you'll need the simulator running (see [Running the Alpine.js devtools simulator](#running-the-alpinejs-devtools-simulator)).
102102

103103
### Formatting/Linting
104104

lint-staged.config.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
// lint-staged.config.js
2+
export default {
3+
'*.{js,ts,tsx,css,md,html,json}': 'prettier --write',
4+
'**/*.{ts,tsx}': () => 'pnpm typecheck',
5+
};

0 commit comments

Comments
 (0)