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
12 changes: 8 additions & 4 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,19 @@ jobs:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Install pnpm
uses: pnpm/action-setup@v4

- uses: actions/setup-node@v4
with:
node-version: 18
cache: yarn
node-version: lts/*
cache: pnpm

- name: Install dependencies
run: yarn install --frozen-lockfile
run: pnpm install
- name: Build website
run: yarn build
run: pnpm build

- name: Upload Build Artifact
uses: actions/upload-pages-artifact@v3
Expand Down
31 changes: 19 additions & 12 deletions docs/advanced/building-windows.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
To compile drop-app on Windows, you'll need:

- Node.js v22
- `yarn` (v1/legacy) package manager
- `pnpm` package manager
- `git` VCS
- Rust (stable)
- Microsoft Visual Studio Build Tools or Visual Studio Community
Expand All @@ -18,6 +18,7 @@ We recommend using Node Version Manager for Windows to easily switch between Nod
### 1. Install nvm-windows

1. **Download nvm-windows:**

- Go to [nvm-windows releases](https://github.com/coreybutler/nvm-windows/releases)
- Download the latest `nvm-setup.exe` file
- Run the installer as Administrator
Expand All @@ -41,18 +42,18 @@ node --version
npm --version
```

### 4. Install yarn
### 4. Install pnpm

```shell
npm install -g yarn
yarn --version
corepack enable
```

## Installing Rust

### 1. Download Rust installer

1. **Visit the official Rust website:**

- Go to [https://www.rust-lang.org/tools/install](https://www.rust-lang.org/tools/install)
- Click "Download rustup-init.exe (64-bit)"

Expand Down Expand Up @@ -98,22 +99,22 @@ Now that you have all prerequisites installed, you can build drop-app:
git clone https://github.com/Drop-OSS/drop-app.git
cd drop-app
git checkout develop
yarn
yarn tauri build
pnpm
pnpm tauri build
```

**Important:** Make sure to use the `develop` branch for the latest features and fixes.

If the command is successful, you can find the generated assets in: `src-tauri/target/release/bundle`. You can find the Windows installer in the `msi` folder.

If the `yarn tauri build` command fails, you can try adding `--verbose` to get the error details.
If the `pnpm tauri build` command fails, you can try adding `--verbose` to get the error details.

## Development Mode

For live development with real-time updates, use the development mode:

```shell
yarn tauri dev
pnpm tauri dev
```

This will start the application in development mode with hot reloading, allowing you to see changes immediately as you modify the code. The app will automatically restart when you save changes to your rust files.
Expand All @@ -125,49 +126,55 @@ This will start the application in development mode with hot reloading, allowing
If you encounter build errors, try the following:

1. **Ensure Rust is properly installed:**

```shell
rustc --version
cargo --version
```

2. **Install Visual Studio Build Tools:**

- Download and install [Visual Studio Build Tools](https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022)
- Make sure to include the "C++ build tools" workload
- Restart your terminal after installation

3. **Verify Node.js version:**

```shell
node --version
nvm list
nvm use 22.18.0
```

4. **Set up environment variables:**

- Ensure `PATH` includes Rust and Node.js
- Set `RUST_BACKTRACE=1` for detailed error messages
- Restart your terminal after installing Rust

5. **Clean and rebuild:**
```shell
yarn clean
yarn
yarn tauri build
pnpm clean
pnpm
pnpm tauri build
```

### Windows-Specific Issues

1. **PowerShell execution policy:**
If you get execution policy errors, run PowerShell as Administrator and execute:

```powershell
Set-ExecutionPolicy RemoteSigned
```

2. **Long path issues:**

- Enable long path support in Windows Registry
- Or clone the repository to a shorter path (e.g., `C:\drop-app`)

3. **Antivirus interference:**
- Temporarily disable antivirus during build
- Add the project directory to antivirus exclusions

**Note:** This page provides Windows-specific build instructions for drop-app. For general building information, see the [Building Drop OSS](building.md) page.
**Note:** This page provides Windows-specific build instructions for drop-app. For general building information, see the [Building Drop OSS](building.md) page.
28 changes: 14 additions & 14 deletions docs/advanced/building.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ To compile:

- Rust (nightly)
- Node.js v20
Copy link
Contributor

Choose a reason for hiding this comment

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

The minimum required node version is now 22.16. I got this warning when running pnpm install on node 20:

 WARN  Unsupported engine: wanted: {"node":">=22.16.0"} (current: {"node":"v20.0.0","pnpm":"10.15.0"})

- `yarn` (v4) package manager
- `pnpm` package manager
- `git` VCS
- Docker

Expand All @@ -28,22 +28,22 @@ Get started by cloning the `droplet` source code, and then enter the directory:
git clone https://github.com/Drop-OSS/droplet.git
```

Install the dependencies with `yarn`:
Install the dependencies with `pnpm`:

```shell
yarn
pnpm
```

And then compile the package with the build script:

```shell
yarn build
pnpm build
```

Because we're building this locally, setup the yarn link so we can use this package while building the server:
Because we're building this locally, setup the pnpm link so we can use this package while building the server:

```shell
yarn link
pnpm link
```

### Building `drop`
Expand All @@ -59,22 +59,22 @@ git clone https://github.com/Drop-OSS/drop.git
Then, link your build `droplet` package:

```shell
yarn link "@drop-oss/droplet"
pnpm link "@drop-oss/droplet"
```

Then, install dependencies:

```shell
yarn
pnpm
```

Then, build the application:

```
yarn build
pnpm build
```

To package it into a Docker container, remove the build commands in the provided `Dockerfile`'s build-system (`yarn install` and `yarn build`), and then build the Docker image:
To package it into a Docker container, remove the build commands in the provided `Dockerfile`'s build-system (`pnpm install` and `pnpm build`), and then build the Docker image:

```shell
docker build . -t drop
Expand All @@ -88,13 +88,13 @@ To build drop-app, run:
git clone https://github.com/Drop-OSS/drop-app.git
cd drop-app
git checkout main
yarn
yarn tauri build
pnpm
pnpm tauri build
```

If the command is successful, you can find the generated assets in: `src-tauri/target/release/bundle`. You can find the AppImage in the `appimage` folder.

If the `yarn tauri build` command fails, you can try adding `--verbose` to get the error details.
If the `pnpm tauri build` command fails, you can try adding `--verbose` to get the error details.

If you get this type of error:

Expand All @@ -107,7 +107,7 @@ Then you can run the following:

```shell
sudo ln -s /usr/lib/libavif.so.16 /usr/lib/libavif.so.15
NO_STRIP=true yarn tauri build
NO_STRIP=true pnpm tauri build
```

This is a known issue in [Tauri](https://github.com/tauri-apps/tauri/issues/5781#issuecomment-1758815710).
Expand Down
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,5 +43,6 @@
},
"engines": {
"node": ">=18.0"
}
},
"packageManager": "pnpm@10.15.0+sha512.486ebc259d3e999a4e8691ce03b5cac4a71cbeca39372a9b762cb500cfdf0873e2cb16abe3d951b1ee2cf012503f027b98b6584e4df22524e0c7450d9ec7aa7b"
}
Loading