Switch element-desktop from yarn classic to pnpm (#2843)

This commit is contained in:
Michael Telatynski
2026-02-11 10:50:23 +00:00
committed by GitHub
parent ebf12081c9
commit 684f7c04ff
27 changed files with 9740 additions and 7570 deletions
+14 -14
View File
@@ -14,7 +14,7 @@ Element Desktop is a Matrix client for desktop platforms with Element Web at its
Before you do anything else, fetch the dependencies:
```
yarn install
pnpm install
```
# Fetching Element
@@ -26,7 +26,7 @@ so the first step is to get a working copy of Element Web. There are a few ways
# Fetch the prebuilt release Element package from the element-web GitHub releases page. The version
# fetched will be the same as the local element-desktop package.
# We're explicitly asking for no config, so the packaged Element will have no config.json.
yarn run fetch --noverify --cfgdir ""
pnpm run fetch --noverify --cfgdir ""
```
...or if you'd like to use GPG to verify the downloaded package:
@@ -35,9 +35,9 @@ yarn run fetch --noverify --cfgdir ""
# Fetch the Element public key from the element.io web server over a secure connection and import
# it into your local GPG keychain (you'll need GPG installed). You only need to to do this
# once.
yarn run fetch --importkey
pnpm run fetch --importkey
# Fetch the package and verify the signature
yarn run fetch --cfgdir ""
pnpm run fetch --cfgdir ""
```
...or either of the above, but fetching a specific version of Element:
@@ -45,7 +45,7 @@ yarn run fetch --cfgdir ""
```
# Fetch the prebuilt release Element package from the element-web GitHub releases page. The version
# fetched will be the same as the local element-desktop package.
yarn run fetch --noverify --cfgdir "" v1.5.6
pnpm run fetch --noverify --cfgdir "" v1.5.6
```
If you only want to run the app locally and don't need to build packages, you can
@@ -53,7 +53,7 @@ provide the `webapp` directory directly:
```
# Assuming you've checked out and built a copy of element-web in ../element-web.
# Note that you will not be able to `yarn build` after this, but `yarn start`
# Note that you will not be able to `pnpm build` after this, but `pnpm start`
# will work fine.
ln -s ../element-web/webapp ./
```
@@ -72,7 +72,7 @@ which include support for searching in encrypted rooms and secure storage. Skipp
Then, run
```
yarn run build
pnpm run build
```
This will do a couple of things:
@@ -88,12 +88,12 @@ Alternatively, you can also build using docker, which will always produce the li
```
# Run this once to make the docker image
yarn run docker:setup
pnpm run docker:setup
yarn run docker:install
pnpm run docker:install
# if you want to build the native modules (this will take a while)
yarn run docker:build:native
yarn run docker:build
pnpm run docker:build:native
pnpm run docker:build
```
After running, the packages should be in `dist/`.
@@ -103,19 +103,19 @@ After running, the packages should be in `dist/`.
If you'd just like to run the electron app locally for development:
```
yarn start
pnpm start
```
# Config
If you'd like the packaged Element to have a configuration file, you can create a
config directory and place `config.json` in there, then specify this directory
with the `--cfgdir` option to `yarn run fetch`, eg:
with the `--cfgdir` option to `pnpm run fetch`, eg:
```
mkdir myconfig
cp /path/to/my/config.json myconfig/
yarn run fetch --cfgdir myconfig
pnpm run fetch --cfgdir myconfig
```
The config dir for the official Element app is in `element.io`. If you use this,