A Twitch follow list viewer integrated with Streamlink.
- View streams using Streamlink, or in a Twitch pop-out player
- Maintain a list of favorite channels, sorted to the top of the list whenever they're live
- Automatically open chat whenever a stream is opened (optional)
- System notifications when streams go live (optional)
- Clone repository
git clone https://github.com/GeordieP/twitchi
cd twitchi
- Install dependencies
- Run
yarnornpm i
- Run
yarn testornpm run testorjestto run all tests.
-
Run
yarn devornpm run dev.- This will run webpack-dev-server using the configuration file
config/webpack.dev.js, and open an Electron window pointed at the default webpack-dev-server URL.
- This will run webpack-dev-server using the configuration file
-
It's recommended to also run Jest in watch mode while making changes. Run
yarn test --watchornpm run test --watchorjest --watch.- It's best to do this in a separate terminal window so Jest and Webpack don't have to fight for output space.
-
To build the application to a directory in production mode (without packaging), run
yarn buildornpm run build.-
Webpack will compile the application into the
build/directory. -
Once this is done, it's possible to open an Electron window based on the exported production mode build. Run
yarn electronornpm run electron.
-
-
To package the application for your current platform, run
yarn distornpm run dist.- This will first execute a Webpack build in production mode, then invoke electron-builder. The configuration for electron-builder is in the "build" section in package.json.
babel-plugin-resolverand the matching plugin configuration in the package.json "babel" section are included so modules get resolved properly when running in test mode when they're imported from aliased paths (such as 'actions/actions.js'). We configure this so it only runs in the "test" environment scope (Jest sets NODE_ENV to "test" when it's running) because when we're in development or production mode Webpack handles the import resolving.

