2.4 KiB
If you make any contributions to SponsorBlock after this file was created, you are agreeing that any code you have contributed will be licensed under GPL-3.0 and agree to allow distribution on app stores as outlined in LICENSE-APPSTORE.
Translations
https://crowdin.com/project/sponsorblock
Building
Building locally
- You must have Node.js 22 or later and npm installed. Works best on Linux
- Clone with submodules
git clone --recursive https://github.com/ajayyy/SponsorBlock
Or if you already cloned it, pull submodules with
git submodule update --init --recursive
- Copy the file
config.json.exampletoconfig.jsonand adjust configuration as desired.
- Comments are invalid in JSON, make sure they are all removed.
- You will need to repeat this step in the future if you get build errors related to
CompileConfigorproperty does not exist on type ConfigClass. This can happen for example when a new category is added.
- Run
npm ciin the repository to install dependencies. - Run
npm run build:dev(for Chrome) ornpm run build:dev:firefox(for Firefox) to generate a development version of the extension with source maps.- You can also run
npm run build(for Chrome) ornpm run build:firefox(for Firefox) to generate a production build.
- You can also run
- The built extension is now in
dist/. You can load this folder directly in Chrome as an unpacked extension, or convert it to a zip file to load it as a temporary extension in Firefox.
Developing with a clean profile and hot reloading
Run npm run dev (for Chrome) or npm run dev:firefox (for Firefox) to run the extension using a clean browser profile with hot reloading. This uses web-ext run.
Known chromium bug: Extension is not loaded properly on first start. Visit chrome://extensions/ and reload the extension.
For Firefox for Android, use npm run dev:firefox-android -- --adb-device <ip-address of the device>. See the Firefox documentation for more information. You may need to edit package.json and add the parameters directly there.