Skip to content

Commit

Permalink
Beginning of public git history
Browse files Browse the repository at this point in the history
  • Loading branch information
avacreeth committed Oct 26, 2017
0 parents commit 7a5a6a3
Show file tree
Hide file tree
Showing 202 changed files with 28,587 additions and 0 deletions.
7 changes: 7 additions & 0 deletions .babelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"presets": ["stage-2"],
"plugins": [
"transform-decorators-legacy",
"transform-class-properties"
]
}
Empty file added .env
Empty file.
25 changes: 25 additions & 0 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"extends": "airbnb",
"parser": "babel-eslint",
"plugins": [
"vue"
],
"env": {
"browser": true,
"node": true
},
"rules": {
"class-methods-use-this": "off",
"no-prototype-builtins": "off",
"arrow-parens": "off",
"comma-dangle": "off",
"prefer-rest-params": "off",
"import/no-extraneous-dependencies": [
"error",
{
"devDependencies": true
}
],
"spaced-comment": "off"
}
}
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
plugins/obs-browser.7z filter=lfs diff=lfs merge=lfs -text
plugins/obs-facemask-plugin.7z filter=lfs diff=lfs merge=lfs -text
*.7z filter=lfs diff=lfs merge=lfs -text
13 changes: 13 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
.DS_Store
.idea
node_modules/
build/
npm-debug.log
lib/
rtmp-services/
text-freetype2/
data/
dist/
bundles/
node-obs/
node-boost/
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "node-libuiohook"]
path = node-libuiohook
url = [email protected]:twitchalerts/node-libuiohook.git
5 changes: 5 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
arch=x64
runtime=electron
target=1.6.1
disturl=https://atom.io/download/electron
build_from_source=true
19 changes: 19 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "node",
"request": "launch",
"runtimeArgs": [
"${workspaceRoot}"
],
"cwd": "${workspaceRoot}",
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron",
"windows": {
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron.cmd"
},
"envFile": "${workspaceRoot}/.env"
}
]
}
150 changes: 150 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
# slobs-client
Electron client for the Streamlabs OBS streaming software.

## Dependencies

### Node OBS

Due to OBS containing files named `package.json`, it is not
currently possible to install `node-obs` via NPM. You will
need to install and compile it manually, and then symlink it
in the root of this directory: `./node-obs`.

Node OBS can be found here:
https://github.com/twitchalerts/node-obs

### Yarn

In order to ensure you are using the correct version of each
node module, you should use the yarn package manager. On OS X
you can install yarn via homebrew:

```
brew update
brew install yarn
```

For other platforms, check the yarn docs:
https://yarnpkg.com/en/docs/install

## Installation

First, make sure you have initialized git submodules:

```
git submodule update --init --recursive
```

Install all node modules via yarn:

```
yarn install
```

Then, compile assets with webpack:

```
yarn compile
```

## Starting

If you are using Visual Studio Code, you can start the app
using the built in debugger.

Otherwise, you can run the app with:

```
yarn start
```

## Streaming

The default config will stream to:
https://www.twitch.tv/slobstest

## Environment Variables

These variables can be used in development to force certain behavior.

`SLOBS_FORCE_AUTO_UPDATE`: Force the auto-updater to run in development. Normally
this would only run in production.

`SLOBS_CACHE_DIR`: Force a different location for the user data cache directory.

`SLOBS_DISABLE_MAIN_LOGGING`: Disable javascript logging in the main process.

## Packaging / Distributing

Currently only Windows x64 packaging is supported.

### Prerequesites

The packager will use whatever version of node-obs you have
checked out in the slobs directory (at `./node-obs`). You
should make sure that node-obs is compiled correctly with 32-bit
and 64-bit plugins, and works properly with the currently checked
out version of `slobs-client`. If you're releasing, that should
probably be the `master` branch. You should probably try running
the app from your dev environment to make sure everything is
working before you start the release process.

### Bumping the Version

Before you release, you should bump the version. This is done
manually (for now) by changing the version number in the `pakcage.json`.
Commit the changes to the `package.json`, tag the commit in the format
of `v0.0.1`, and push the commit and tag to the origin.

### Packaging and Deploying

Make sure the app is not running in your dev environment
before you start the packaging process.

You can package the app by running:

```
yarn package
```

This will package a distributable installer `.exe` to the `dist/`
directory. There is also an unpacked version in `dist/win-unpacked`.

If you want to deploy the packaged installer such that it will be
picked up by the auto-updater, you can run:

```
yarn deploy
```

You should thoroughly test the packaged app before running this, since
all users will be forced to upgrade to this verion the next time they
start the app.

You should also make sure that the packager signed the executables.
This will only happen if you have `CSC_LINK` and `CSC_KEY_PASSWORD`
set in your environment. Someone on the team can give these to you.

In order for this to work, you will need to have `AWS_ACCESS_KEY_ID`
and `AWS_SECRET_ACCESS_KEY` set in your environment. These values
are secret. If you need to set up your machine, ask someone on the
team who has them, or someone with admin access on our AWS account.

### Deploy Checklist

This is a checklist to run through every time you deploy.

- [ ] Merge staging into master on `slobs-client` and `node-obs`
- [ ] Check out `master` on `slobs-client`
- [ ] Check out `master` on `node-obs`
- [ ] Rebuild node-obs `yarn rebuild-node-obs`
- [ ] Compile assets `yarn compile`
- [ ] Run the test suite `yarn test`
- [ ] Change the version in `package.json`
- [ ] Commit and push
- [ ] Tag the repo `git tag 'v0.0.11'` and `git push --tags`
- [ ] Tag `node-obs` in the same way with the same version
- [ ] Remove the dist directory `rm -rf dist`
- [ ] Package the app `yarn package`
- [ ] Run the packaged version in `dist/win-unpacked` and make sure it runs
- [ ] Deploy the new version `yarn deploy`
Loading

0 comments on commit 7a5a6a3

Please sign in to comment.