- Install nodejs.
- Run
npm install
within the BetterTTV directory.
We use webpack to concatenate all of the files and templates into one. Just run the following command from the BetterTTV directory to start a dev server.
npm start
A webserver will start and you are able to use the development version of BetterTTV on Twitch using this userscript in a script manager like TamperMonkey:
// ==UserScript==
// @name BetterTTV Development
// @description Enhances Twitch with new features, emotes, and more.
// @namespace http://betterttv.com/
// @copyright NightDev, LLC
// @icon https://cdn.betterttv.net/assets/logos/bttv_logo.png
// @version 0.0.1
// @match https://*.twitch.tv/*
// @match https://*.youtube.com/*
// @grant none
// ==/UserScript==
(function betterttv() {
const script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'http://127.0.0.1:2888/betterttv.js';
const head = document.getElementsByTagName('head')[0];
if (!head) return;
head.appendChild(script);
})()
Once installed you should disable BetterTTV's main extension so BetterTTV will only be loaded from your computer.
Debug Messages:
In order to receive debug messages inside the browser's console log, you must toggle the consoleLog localStorage setting.
Type this in the JavaScript console to enable console logging:
BetterTTV.settings.set('consoleLog', true);
We use ESLint to ensure a consistent code style and avoid buggy code.
Running npm run lint
will automatically check for any errors in the code. Please fix any errors before creating a pull request. Any warnings produced prior to your changes can be ignored.
Live Linting with Sublime Text:
If you use Sublime Text as your text editor, you can set it up to highlight any errors that ESLint would throw in real-time.
- Get ESLint using
npm install eslint
- Install Sublime Package Control
- Install SublimeLinter
- Install SublimeLinter-eslint
Live Linting with VSCode:
If you use VSCode as your text editor, you can set it up to highlight any errors that ESLint would throw in real-time.
- Get ESLint using
npm install eslint
- Install the ESLint extension from the extensions marketplace