CrosseyeJack / twitch-giveaways

Comfortable giveaways system for Twitch.tv channels.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Twitch Giveaways

Comfortable giveaways system for Twitch.tv channels.

Screenshot

Why the fork?

Simply put, there were a few things I didn't like about the original so I forked it to make the changes I wanted.

What didn't you like about the original?

I didn't like how the ad's were baked in without any ability to filter or disable them. I believe that streamers should have full control of what is shown on their streams. Baking in the ad's removes this ability, So I wanted to add a control to disable them. It is my intension to link the ads back to the orig version at some point.

I also didn't like how the settings I used in this extension reset when I loaded it so I want to fix that issue.

And there are a few other issues I will fix and post about once I get around to fixing them.

Installation

Technologies used

component(1) - Opinionated package manager & builder made for the front end world.

Mithril - Fast and simple immediate mode framework.

Gulp - Streams oriented build system.

... and lots of small libraries listed in component.json.

Development environment

You need to have nodejs installed.

Gulp:

npm install -g gulp-cli

Gulp tasks dependencies:

npm install

You will also need a ton of component dependencies that have seemed to stopped working since its deprecation for one reason or another.

Download the archive of dependencies and extract the "components" folder into the root of the project. https://s3.amazonaws.com/crosseyejack.com/Files/components.zip

The required dependencies to build are as follows if you want to download them yourself. aheckmann/sliced/1.0.1 code42day/dataset/v0.3.2 component/bind/1.0.0 component/classes/1.2.6 component/clone/0.2.3 component/closest/1.0.1 component/delegate/0.2.4 component/emitter/1.2.1 component/escape-regexp/1.0.2 component/event/0.1.4 component/events/1.0.10 component/indexof/0.0.3 component/inherit/0.0.3 component/matches-selector/0.1.6 component/query/0.0.3 component/raf/1.2.0 component/throttle/1.0.0 component/type/v1.2.1 darsain/constructor-apply/0.1.0 darsain/definer/1.0.0 darsain/e/1.2.1 darsain/event/1.0.0 darsain/extend/1.0.0 darsain/fuse/1.0.0 darsain/isarraylike/1.0.0 darsain/iswindow/1.0.0 darsain/list/1.0.0 darsain/parse-number/1.0.0 darsain/position/1.0.0 darsain/raft/1.0.0 darsain/sortedlist/0.0.2 darsain/tooltip/0.1.0 darsain/tooltips/0.1.0 eivindfjeldstad/dot/0.1.0 ianstormtaylor/to-no-case/0.1.1 ianstormtaylor/to-sentence-case/1.0.0 jkroso/computed-style/0.1.0 lhorie/mithril/v0.1.34 yields/isarray/1.0.0

You will also need to update the pinned dependencies by running.

component update

After which you should be able to build this project.

If component is deprecated why continue to use it?

Good Question. Basically for me it comes down to if I were to replace component then I would just rewrite the whole thing from the ground up. I'll prob do that one day, just not got the free time to do it just yet.

Gulp tasks

To run any of the tasks below, write gulp taskname into your console.

In general, you should be interested only in build, serve, and watch tasks.

default

Runs build & watch.

Default task can be run simply by:

gulp

assets

Copies static assets like images and manifest into build/ directory.

build

Builds the whole app into the build/ directory.

Available arguments:

  • -P --production - Build a production version that minifies resources and doesn't include sourcemaps.

Example:

gulp build -P
gulp build -production

bump

Bump the manifest.json version.

Available arguments:

  • -t --type=[name] - Pick which semantic version should be bumped. Can be: patch (default), minor, major, or a direct version.

Example:

-> version: 1.0.0
gulp bump
-> version: 1.0.1
gulp bump -t patch
-> version: 1.0.2
gulp bump -t minor
-> version: 1.1.0
gulp bump -t 2.2.2
-> version: 2.2.2

clean

Deletes the build/ directory.

icons

Builds the icons.svg sprite from src/icon/ icons into build/ directory.

package

Will package the production version of the app into a zip file.

release

Will bump the manifest.json version and package the app into a zip file.

Accepts bump arguments.

scripts

Builds scripts into build/ directory.

styles

Builds styles into build/ directory.

watch

Starts watching scripts, styles, and assets for changes, and builds what is necessary.

On script changes, you need to reload the extension via chrome Extensions Developmer mode. On style & asset changes, just F5 the twitch chat.

About

Comfortable giveaways system for Twitch.tv channels.


Languages

Language:JavaScript 77.0%Language:CSS 21.1%Language:HTML 1.8%