1
0
Fork 0
mirror of https://github.com/FrankerFaceZ/FrankerFaceZ.git synced 2025-06-27 21:05:53 +00:00
The Twitch Enhancement Suite. Get custom emotes and tons of new features you'll never want to go without. https://www.frankerfacez.com/
Find a file
SirStendec 1bc64586ef Continued WIP for async. Yes, this is a garbage giant commit that touches 47 files for over a thousand changed lines. Fight me.
This actually loads, though some add-ons will need some work due to Module changes.

* Modules aren't instantiated immediately when they're registered.
* A Module is only instantiated when it's resolved, with construct = true.
* Modules have `construct_requires` for injecting dependencies within the constructor super call
* All modules have `settings`, `i18n`, and `experiments` as their default construct requires.
* Requirements lists are frozen after the constructor super call.
* Injected dependencies are not injected immediately, even if the module is available. This enforces coding standards.
* All Module data is stored in `__module_data` now, rather than defining an ever growing number of properties on every module.
* `should_enable` is now a static property, because Modules aren't instantiated. To be replaced with module metadata.
* `addons` is now `addon`, with an alias to `addons`. This is done so add-ons can continue loading in the `addon` namespace without complaining.
* HierarchicalEventEmitter forbids `.` within a name, now.
* `abs_path(path, origin)` now accepts an optional origin parameter which overrides the current module's path as the source for normalizing the path
2021-02-28 03:02:24 -05:00
.github Add an issue template for add-on bugs, instructing people to submit the issues at the Add-Ons repository. 2019-10-25 12:07:40 -04:00
bin 4.15.4 2019-11-11 14:38:49 -05:00
res 4.20.31 2020-08-14 17:17:24 -04:00
socketserver 4.8.1 2019-08-07 14:13:04 -04:00
src Continued WIP for async. Yes, this is a garbage giant commit that touches 47 files for over a thousand changed lines. Fight me. 2021-02-28 03:02:24 -05:00
styles 4.20.71 2021-02-26 15:35:26 -05:00
.babelrc 4.20.59 2021-02-09 19:14:56 -05:00
.eslintrc.js 4.20.33 2020-08-17 13:33:30 -04:00
.gitignore This is a maintenance commit with no released build. 2019-09-29 15:49:29 -04:00
changelog.html 4.0.0-rc13.7 2018-11-12 13:34:53 -05:00
fontello.client.json This is a maintenance commit with no released build. 2019-09-29 15:49:29 -04:00
fontello.config.json 4.20.31 2020-08-14 17:17:24 -04:00
jsconfig.json Fix a CSS bug with the emote menu. 2018-04-11 22:18:04 -04:00
LICENSE Update licensing information. 2016-11-09 23:45:08 -05:00
old_changes.html 4.0.0 Beta 1 2017-11-13 01:23:39 -05:00
package-lock.json 4.20.60 2021-02-10 16:53:10 -05:00
package.json 4.20.71 2021-02-26 15:35:26 -05:00
README.md 4.20.22 2020-08-04 18:26:11 -04:00
webpack.clips.common.js 4.0.0-rc8 2018-07-20 18:42:17 -04:00
webpack.clips.dev.js This is a maintenance commit with no released build. 2019-09-29 15:49:29 -04:00
webpack.clips.prod.js The Great Webpack Update. 2019-06-19 20:57:14 -04:00
webpack.common.js 4.20.61 2021-02-11 19:40:12 -05:00
webpack.web.common.js Developer improvements. Start using babel as the parser for eslint to add support for webpack's dynamic import syntax. Move most babel config into the babel build file to make sure nothing weird happens with eslint. Commit package-lock. Clean up gitignore a bit. Fix linting issues with the webpack build files. 2018-03-15 16:59:10 -04:00
webpack.web.dev.js This is a maintenance commit with no released build. 2019-09-29 15:49:29 -04:00
webpack.web.dev.prod.js This is a maintenance commit with no released build. 2019-09-29 15:49:29 -04:00
webpack.web.prod.js 4.5.4 2019-06-20 15:30:18 -04:00

FrankerFaceZ

Copyright (c) 2018 Dan Salvato LLC

Licensed under the Apache License, Version 2.0. See LICENSE.

Developing

FrankerFaceZ uses node.js to manage development dependencies and to run an HTTP server for development. To get everything you need:

  1. Install node.js and npm
  2. Run npm install within the FrankerFaceZ directory.

From there, you can use npm to build FrankerFaceZ from source simply by running npm run build. For development, you can instruct webpack to watch the source files for changes and re-build automatically with npm start

FrankerFaceZ comes with a local development server that listens on port 8000 and it serves up local development copies of files, falling back to the CDN when a local copy of a file isn't present.

Note: The local development server uses webpack-dev-server internally, which self-signs a certificate for hosting content via HTTPS. You will need to ensure your browser accepts a self-signed certificate for localhost.

To make FrankerFaceZ load from your local development server, you must set the local storage variable ffzDebugMode to true. Just run the following in your console on Twitch: localStorage.ffzDebugMode = true;

It should be noted that this project is not a browser extension that you would load in your browser's extensions system. You still need the FrankerFaceZ extension or user-script for your browser.

You can edit the project's icon font using the npm run font command. This will create a new Fontello session, if one doesn't already exist, and open your default web browser to Fontello so you can edit the font.

If you're running the development server with npm start, you'll be able to automatically save changes to the Fontello font by clicking Fontello's Export button. Otherwise, you can use npm run font:save to download the changes from your session.

Editor Settings

Please make sure that your editor is configured to use tabs rather than spaces for indentation and that lines are ended with \n. It's recommended that you configure linting support for your editor as well.

If you're using Visual Studio Code, make sure to install the ESLint extension and add the following to your workspace settings:

{
	"eslint.validate": [
		"javascript",
		"javascriptreact",
		"vue"
	]
}