Skip to content
Draft
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
6 changes: 2 additions & 4 deletions .github/actions/init/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,9 @@ description: Setup common dependencies
runs:
using: composite
steps:
- uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # 4.3.0
- uses: jdx/mise-action@v2

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Pin mise-action to immutable commit SHA

Using jdx/mise-action@v2 in the shared init action introduces a supply-chain and reproducibility risk for every workflow that calls ./.github/actions/init, because the v2 tag can move to different code without any change in this repository; unlike the other actions in this file (which are SHA-pinned), this allows unexpected behavior or compromised upstream code to run in CI at any time.

Useful? React with 👍 / 👎.

with:
node-version-file: "package.json"

- uses: cardstack/gh-actions/setup-pnpm-volta@main
install: true

- name: Get pnpm store directory
id: pnpm-cache
Expand Down
3 changes: 3 additions & 0 deletions .mise.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[tools]
node = "22.20.0"
pnpm = "10.17.0"
2 changes: 1 addition & 1 deletion .npmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
use-node-version=22.20.0

2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Tooling prerequisites

- We pin the toolchain with Volta (`.volta`), using the versions of Node.js and pnpm specified in package.json. Install Volta and set `VOLTA_FEATURE_PNPM=1` so pnpm is managed automatically—avoid global installs outside Volta.
- We pin the toolchain with mise, using the versions of Node.js and pnpm specified in `.mise.toml`. Install mise and run `mise install` to set up the correct tool versions automatically.
- pnpm is required for all scripts; use the pinned version as specified above.
- Docker is required (Postgres, Synapse, SMTP, Stripe CLI container). Ensure the daemon is running and you can run `docker` without sudo.

Expand Down
5 changes: 2 additions & 3 deletions QUICKSTART.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,8 @@ To build the entire repository and run the application, follow these steps:

1. The 2 main system dependencies to install are:

- [volta](https://docs.volta.sh/guide/getting-started)
- [mise](https://mise.jdx.dev/getting-started.html) — manages Node.js and pnpm versions automatically from `.mise.toml`
- [docker](https://docs.docker.com/get-docker/)
- [pnpm](https://docs.volta.sh/advanced/pnpm) Note: If you don't have pnpm already on your system, **DON'T** install pnpm manually (volta will install it for you when you call `pnpm install`).

2. Clone the repo:

Expand All @@ -17,7 +16,7 @@ To build the entire repository and run the application, follow these steps:
3. Install the package dependencies:

```zsh
echo 'export VOLTA_FEATURE_PNPM=1' >> ~/.profile && source ~/.profile
mise install
pnpm install
```

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ For a quickstart, see [here](./QUICKSTART.md)
- you will want the [Glint](https://marketplace.visualstudio.com/items?itemName=typed-ember.glint-vscode) vscode extension
- you will want the [vscode-glimmer](https://marketplace.visualstudio.com/items?itemName=chiragpat.vscode-glimmer) vscode extension
- you will want the [Playwright](https://marketplace.visualstudio.com/items?itemName=ms-playwright.playwright) vscode extension
- this project uses [volta](https://volta.sh/) for Javascript toolchain version management. Make sure you have the latest verison of volta on your system and have define [the ENV var described here](https://docs.volta.sh/advanced/pnpm).
- this project uses [mise](https://mise.jdx.dev/) for Javascript toolchain version management. Run `mise install` to install the correct versions of Node.js and pnpm from `.mise.toml`.
- this project uses [pnpm](https://pnpm.io/) for package management. run `pnpm install` to install the project dependencies first.
- this project uses [docker](https://docker.com). Make sure to install docker on your system.
- Ensure that node_modules/.bin is in your path. e.g. include `export PATH="./node_modules/.bin:$PATH"` in your .zshrc
Expand Down
2 changes: 1 addition & 1 deletion docs/card-field-rename.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ pnpm install

Notes:

- This project uses Volta for Node + pnpm versions (see `package.json`).
- This project uses mise for Node + pnpm versions (see `.mise.toml`).

## AI conversations

Expand Down
4 changes: 0 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -90,10 +90,6 @@
"engines": {
"pnpm": "^10"
},
"volta": {
"node": "22.20.0",
"pnpm": "10.17.0"
},
"dependencies": {
"matrix-js-sdk": "38.3.0"
}
Expand Down
3 changes: 0 additions & 3 deletions packages/ai-bot/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,5 @@
"start:development": "NODE_NO_WARNINGS=1 PGDATABASE=boxel PGPORT=5435 ts-node --transpileOnly main",
"test": "NODE_NO_WARNINGS=1 qunit --require ts-node/register/transpile-only tests/index.ts",
"get-chat": "NODE_NO_WARNINGS=1 ts-node --transpileOnly scripts/get_chat.ts"
},
"volta": {
"extends": "../../package.json"
}
}
3 changes: 0 additions & 3 deletions packages/base/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,5 @@
"lint": "concurrently \"pnpm:lint:*(!fix)\" --names \"lint:\"",
"lint:hbs": "ember-template-lint .",
"lint:hbs:fix": "ember-template-lint . --fix"
},
"volta": {
"extends": "../../package.json"
}
}
3 changes: 0 additions & 3 deletions packages/billing/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,5 @@
"lint:js": "eslint . --report-unused-disable-directives --cache",
"lint:js:fix": "eslint . --report-unused-disable-directives --fix",
"lint:glint": "glint"
},
"volta": {
"extends": "../../package.json"
}
}
3 changes: 0 additions & 3 deletions packages/bot-runner/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,5 @@
"start:development": "NODE_NO_WARNINGS=1 PGDATABASE=boxel PGPORT=5435 ts-node --transpileOnly main",
"test": "NODE_NO_WARNINGS=1 qunit --require ts-node/register/transpile-only tests/index.ts",
"lint": "glint"
},
"volta": {
"extends": "../../package.json"
}
}
3 changes: 0 additions & 3 deletions packages/boxel-homepage-realm/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,5 @@
"boxel-homepage:setup": "sh ./scripts/boxel-homepage-setup.sh",
"boxel-homepage:update": "pnpm boxel-homepage:setup && cd contents && git pull",
"boxel-homepage:reset": "rm -rf contents && pnpm boxel-homepage:setup"
},
"volta": {
"extends": "../../package.json"
}
}
3 changes: 0 additions & 3 deletions packages/boxel-icons/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -82,9 +82,6 @@
"engines": {
"node": "22.20.0"
},
"volta": {
"extends": "../../package.json"
},
"ember": {
"edition": "octane"
},
Expand Down
3 changes: 0 additions & 3 deletions packages/boxel-motion/addon/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -104,9 +104,6 @@
"type": "addon",
"version": 2
},
"volta": {
"extends": "../../../package.json"
},
"exports": {
".": {
"types": "./declarations/index.d.ts",
Expand Down
3 changes: 0 additions & 3 deletions packages/boxel-motion/test-app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -101,9 +101,6 @@
"engines": {
"node": ">= 20"
},
"volta": {
"extends": "../../../package.json"
},
"ember": {
"edition": "octane"
},
Expand Down
3 changes: 0 additions & 3 deletions packages/boxel-ui/addon/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -111,9 +111,6 @@
"engines": {
"node": "22.20.0"
},
"volta": {
"extends": "../../../package.json"
},
"ember": {
"edition": "octane"
},
Expand Down
3 changes: 0 additions & 3 deletions packages/boxel-ui/test-app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -110,9 +110,6 @@
"engines": {
"node": ">= 20"
},
"volta": {
"extends": "../../../package.json"
},
"ember": {
"edition": "octane"
},
Expand Down
3 changes: 0 additions & 3 deletions packages/catalog-realm/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,5 @@
"lint": "concurrently \"pnpm:lint:*(!fix)\" --names \"lint:\"",
"lint:hbs": "ember-template-lint . --no-error-on-unmatched-pattern",
"lint:hbs:fix": "ember-template-lint . --fix"
},
"volta": {
"extends": "../../package.json"
}
}
3 changes: 0 additions & 3 deletions packages/catalog/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,5 @@
"catalog:setup": "[ -d contents ] || (git clone git@github.com:cardstack/boxel-catalog.git contents || git clone https://github.com/cardstack/boxel-catalog.git contents)",
"catalog:update": "pnpm catalog:setup && cd contents && git pull",
"catalog:reset": "rm -rf contents && pnpm catalog:setup"
},
"volta": {
"extends": "../../package.json"
}
}
3 changes: 0 additions & 3 deletions packages/eslint-plugin-boxel/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,5 @@
},
"engines": {
"node": ">= 20"
},
"volta": {
"extends": "../../package.json"
}
}
3 changes: 0 additions & 3 deletions packages/experiments-realm/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,5 @@
"lint": "concurrently \"pnpm:lint:*(!fix)\" --names \"lint:\"",
"lint:hbs": "ember-template-lint .",
"lint:hbs:fix": "ember-template-lint . --fix"
},
"volta": {
"extends": "../../package.json"
}
}
3 changes: 0 additions & 3 deletions packages/host/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -198,9 +198,6 @@
"engines": {
"node": ">= 20"
},
"volta": {
"extends": "../../package.json"
},
"ember": {
"edition": "octane"
},
Expand Down
3 changes: 0 additions & 3 deletions packages/matrix/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,5 @@
"wait": "sleep 10000000",
"lint": "glint",
"clean": "rm -rf ./synapse-data"
},
"volta": {
"extends": "../../package.json"
}
}
3 changes: 0 additions & 3 deletions packages/postgres/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,5 @@
"lint:js:fix": "eslint . --report-unused-disable-directives --fix",
"lint:migrations": "node ./scripts/lint-migrations.js",
"lint:glint": "glint"
},
"volta": {
"extends": "../../package.json"
}
}
3 changes: 0 additions & 3 deletions packages/realm-server/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -132,9 +132,6 @@
"sync-stripe-products": "NODE_NO_WARNINGS=1 PGDATABASE=boxel PGPORT=5435 ts-node --transpileOnly scripts/sync-stripe-products.ts",
"stripe": "docker run --rm --add-host=host.docker.internal:host-gateway -it stripe/stripe-cli:latest"
},
"volta": {
"extends": "../../package.json"
},
"dependencies": {
"puppeteer": "^24.8.2"
}
Expand Down
3 changes: 0 additions & 3 deletions packages/runtime-common/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -95,8 +95,5 @@
"lint:js": "eslint . ",
"lint:js:fix": "eslint . --report-unused-disable-directives --fix",
"lint:types": "glint"
},
"volta": {
"extends": "../../package.json"
}
}
3 changes: 0 additions & 3 deletions packages/skills-realm/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,5 @@
"skills:setup": "[ -d contents ] || (git clone git@github.com:cardstack/boxel-skills.git contents || git clone https://github.com/cardstack/boxel-skills.git contents)",
"skills:update": "pnpm skills:setup && cd contents && git pull",
"skills:reset": "rm -rf contents && pnpm skills:setup"
},
"volta": {
"extends": "../../package.json"
}
}
5 changes: 1 addition & 4 deletions packages/template-lint/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,5 @@
"ember-template-recast": "^6.1.5"
},
"author": "",
"license": "MIT",
"volta": {
"extends": "../../package.json"
}
"license": "MIT"
}
2 changes: 1 addition & 1 deletion packages/vscode-boxel-tools/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ For further assistance, check the [extension repository](https://github.com/card

## Development

This project uses Volta for toolchain management and pnpm for package management.
This project uses mise for toolchain management and pnpm for package management.

Install dependencies with pnpm:

Expand Down
3 changes: 0 additions & 3 deletions packages/vscode-boxel-tools/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -241,9 +241,6 @@
}
]
},
"volta": {
"extends": "../../package.json"
},
"scripts": {
"vscode:prepublish": "pnpm run compile",
"vscode:package": "pnpm vsce package --no-dependencies",
Expand Down
3 changes: 0 additions & 3 deletions packages/workspace-sync-cli/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,5 @@
},
"publishConfig": {
"access": "public"
},
"volta": {
"extends": "../../package.json"
}
}