- Install nodejs.
- Run
npm install
within the BetterTTV directory.
We use gulp to concatenate all of the files and templates into one. You can either make gulp watch for changes or run it manually.
From the BetterTTV directory, run
gulp
or
gulp watch
We include a dev module that creates a server to imitate the CDN.
To use it, we must first modify the hosts file on your computer.
*on nix:
echo "127.0.0.1 cdn.betterttv.net" | sudo tee -a /etc/hosts
on Windows:
add 127.0.0.1 cdn.betterttv.net
to %SystemRoot%\system32\drivers\etc\hosts
Now just run the following command from the BetterTTV directory.
*on nix:
sudo npm start
on Windows you need an elevated command prompt:
npm start
A webserver will start and you can visit Twitch in your browser and browse normally. Files not included in the repo are pulled from the actual server, so everything works.
SSL is used to connect to the localhost webserver. The localhost webserver presents a self-signed certificate, which browsers will by default reject.
For Google Chrome, you can use the --ignore-certificate-errors
flag to ignore the self-signed certificate. Only run Google Chrome with this flag enabled when testing, since it will accept all certificates.
For Firefox, you can add an exception to Firefox:
Firefox -> Tools -> Advanced -> Certificates -> View Certificates -> Servers -> Add Exception
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.save('consoleLog', true);
We use ESLint to ensure a consistent code style and avoid buggy code.
Running gulp
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