EmulatorJS/CONTRIBUTING.md
2025-07-06 17:41:13 -06:00

2.2 KiB

Contribute

There are several ways to contribute, be it directly to helping develop features for EmulatorJS, update the documentation, media assets or heading over to libretro and helping them develop the emulator cores that make the magic happen.

  • EmulatorJS, take a look through the issues on github and try to help out.

  • Documentation github page.

Just wanna donate? That'd help too!

Donate to: EmulatorJS

Donate to: libretro

Project Scripts

The project has several scripts that can be used to help with updating and deploying the project.

Build Script

Runs the build script, which will compresses the project in 7z and zip output in dist/ folder. Note: Make sure you have the compiled cores in the data/cores folder before running this script.

npm run build

Update Script

Runs the update script, which updates dependencies and can change version number of project. It also will update the list of contributors.

npm run update # Just updates contributors list
npm run update -- --ejs_v=4.3.1 # Updates contributors list and sets version to 4.3.1
npm run update -- --deps=true # Updates contributors list and updates dependencies
npm run update -- --dev=true # Updates contributors list and enables dev mode
npm run update -- --dev=false # Updates contributors list and disables dev mode

Attention Visual Studio Code Users

By default Visual Studio Code will apply formatting that is not consistent with the standard formatting used by this project.

Please disable the formatter before submitting a Pull Request.

The formatter can be disabled for this repo only (without affecting your own preferences) by creating a new file called .vscode/settings.json (if it doesn't already exist).

Add the following options to the settings.json file to disable the formatter while working on this repo:

{
    "diffEditor.ignoreTrimWhitespace": false,
    "editor.formatOnPaste": false,
    "editor.formatOnSave": false,
    "editor.formatOnSaveMode": "modifications"
}