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.
npm install 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.
npm install eslint