From a146b8ba0dfee94769a51e8cd0e4fd95d453707d Mon Sep 17 00:00:00 2001
From: Dylan-86 <58813956+Dylan-86@users.noreply.github.com>
Date: Thu, 17 Apr 2025 12:58:07 +0200
Subject: [PATCH] Update HOW_TO_CONTRIBUTE.md
I added some notes about Ubuntu installing as I ran through a simple npm blocking error when a folder in the Void path contains a space " " like "New Folder". I simply moved to "NewFolder" and the error disappeared.
---
HOW_TO_CONTRIBUTE.md | 33 ++++++++++++++++++---------------
1 file changed, 18 insertions(+), 15 deletions(-)
diff --git a/HOW_TO_CONTRIBUTE.md b/HOW_TO_CONTRIBUTE.md
index d2a1e649..ba2cbd4f 100644
--- a/HOW_TO_CONTRIBUTE.md
+++ b/HOW_TO_CONTRIBUTE.md
@@ -52,25 +52,27 @@ First, run `npm install -g node-gyp`. Then:
### d. Building Void
-To build Void, open `void/` inside VSCode. Then open your terminal and run:
+1. Clone the Void repository inside a fresh folder with `git clone https://github.com/voideditor/void`. Make sure that your folder path does not include spaces: this may generate errors during `npm install`.
+2. You can build Void from VSCOde: open `void/` inside VSCode. Then open the terminal inside VSCode and run:
-1. `npm install` to install all dependencies.
-2. `npm run watchreact` to build Void's browser dependencies like React. (If this doesn't work, try `npm run buildreact`).
-3. Build Void.
- - Press Cmd+Shift+B (Mac).
- - Press Ctrl+Shift+B (Windows/Linux).
- - This step can take ~5 min. The build is done when you see two check marks (one of the items will continue spinning indefinitely - it compiles our React code).
-4. Run Void.
- - Run `./scripts/code.sh` (Mac/Linux).
- - Run `./scripts/code.bat` (Windows).
-6. Nice-to-knows.
- - You can always press Ctrl+R (Cmd+R) inside the new window to reload and see your new changes. It's faster than Ctrl+Shift+P and `Reload Window`.
- - You might want to add the flags `--user-data-dir ./.tmp/user-data --extensions-dir ./.tmp/extensions` to the above run command, which lets you delete the `.tmp` folder to reset any IDE changes you made when testing.
- - You can kill any of the build scripts by pressing `Ctrl+D` in VSCode terminal. If you press `Ctrl+C` the script will close but will keep running in the background (to open all background scripts, just re-build).
+ 1. `npm install` to install all dependencies.
+ 2. `npm run watchreact` to build Void's browser dependencies like React. (If this doesn't work, try `npm run buildreact`).
+ 3. Build Void.
+ - Press Cmd+Shift+B (Mac).
+ - Press Ctrl+Shift+B (Windows/Linux).
+ - This step can take ~5 min. The build is done when you see two check marks (one of the items will continue spinning indefinitely - it compiles our React code).
+ 4. Run Void.
+ - Run `./scripts/code.sh` (Mac/Linux).
+ - Run `./scripts/code.bat` (Windows).
+ 6. Nice-to-knows.
+ - You can always press Ctrl+R (Cmd+R) inside the new window to reload and see your new changes. It's faster than Ctrl+Shift+P and `Reload Window`.
+ - You might want to add the flags `--user-data-dir ./.tmp/user-data --extensions-dir ./.tmp/extensions` to the above run command, which lets you delete the `.tmp` folder to reset any IDE changes you made when testing.
+ - You can kill any of the build scripts by pressing `Ctrl+D` in VSCode terminal. If you press `Ctrl+C` the script will close but will keep running in the background (to open all background scripts, just re-build).
#### Building Void from Terminal
-Alternatively, if you want to build Void from the terminal, instead of pressing Cmd+Shift+B you can run `npm run watch`. The build is done when you see something like this:
+Alternatively, you can build Void from the terminal, instead of pressing Cmd+Shift+B you can simply run `npm run watch`.
+The build is done when you see something like this:
```
[watch-extensions] [00:37:39] Finished compilation extensions with 0 errors after 19303 ms
@@ -84,6 +86,7 @@ Alternatively, if you want to build Void from the terminal, instead of pressing
#### Common Fixes
- Make sure you followed the prerequisite steps.
+- Make sure that the folder path does not include any "space". For example, `/home/user/New Folder/void` may generate errors during `npm install`. Simply remove the space: For example `/home/user/NewFolder/void`
- Make sure you have Node version `20.18.2` (the version in `.nvmrc`)!
- If you get `"TypeError: Failed to fetch dynamically imported module"`, make sure all imports end with `.js`.
- If you see missing styles, wait a few seconds and then reload.