{ "name": "esa-layouts", "version": "1.0.0", "description": "The on-screen graphics used during European Speedrunner Assembly's \"marathon\" events.", "homepage": "https://github.com/esamarathon/esa-layouts#readme", "bugs": { "url": "https://github.com/esamarathon/esa-layouts/issues" }, "repository": { "type": "git", "url": "git+https://github.com/esamarathon/esa-layouts.git" }, "license": "MIT", "author": "zoton2", "contributors": [ "BtbN" ], "scripts": { "autofix": "run-s autofix:*", "autofix:browser": "eslint --fix --ext .ts,.vue src/dashboard && eslint --fix --ext .ts,.vue src/graphics && eslint --fix --ext .ts,.vue src/browser_shared", "autofix:extension": "eslint --fix --ext .ts src/extension && eslint --fix --ext .d.ts src/types", "build": "run-s build:*", "build:browser": "cross-env NODE_ENV=production webpack", "build:extension": "tsc -b tsconfig.extension.json", "clean": "trash node_modules/.cache && trash dashboard && trash graphics && trash extension", "schema-types": "nodecg schema-types", "start": "node ../..", "watch": "run-p watch:*", "watch:browser": "webpack -w", "watch:extension": "tsc -b tsconfig.extension.json -w", "postinstall": "cd shared && node postinstall.js" }, "dependencies": { "@esamarathon/mq-events": "^1.0.1", "clone": "^2.1.2", "discord.js": "^13.17.1", "lodash": "^4.17.21", "module-alias": "^2.2.3", "moment": "^2.30.1", "needle": "^3.3.1", "sharp": "^0.33.2", "socket.io-client": "^4.7.4", "speedcontrol-util": "github:speedcontrol/speedcontrol-util.git#build", "streamdeck-util": "^0.4.0", "uuid": "^9.0.1", "ws": "^8.16.0" }, "devDependencies": { "@fontsource/barlow-condensed": "^4.5.9", "@fontsource/montserrat": "^4.5.14", "@fontsource/roboto": "^4.5.8", "@mdi/font": "^7.4.47", "@nodecg/types": "^2.1.12", "@types/async": "^3.2.24", "@types/clone": "^2.1.4", "@types/lodash": "^4.14.202", "@types/module-alias": "^2.0.4", "@types/needle": "^3.3.0", "@types/node": "^18.19.8", "@types/sharp": "^0.31.1", "@types/uuid": "^9.0.7", "@types/webpack-env": "^1.18.4", "@types/ws": "^8.5.10", "@typescript-eslint/eslint-plugin": "^5.62.0", "@typescript-eslint/parser": "^5.62.0", "@vue/component-compiler-utils": "^3.3.0", "cross-env": "^7.0.3", "css-loader": "^6.9.1", "dayjs": "^1.11.10", "deepmerge": "^4.3.1", "eslint": "^8.56.0", "eslint-config-airbnb-base": "^15.0.0", "eslint-config-airbnb-typescript": "^16.2.0", "eslint-import-resolver-typescript": "^2.7.1", "eslint-import-resolver-webpack": "^0.13.8", "eslint-plugin-import": "^2.29.1", "eslint-plugin-vue": "^8.7.1", "file-loader": "^6.2.0", "fitty": "^2.4.2", "fork-ts-checker-webpack-plugin": "^6.5.3", "globby": "^12.2.0", "gsap": "^3.12.5", "html-webpack-plugin": "^5.6.0", "mini-css-extract-plugin": "^2.7.7", "nodecg-cli": "^8.6.8", "npm-run-all": "^4.1.5", "sass": "~1.32", "sass-loader": "^12.6.0", "style-loader": "^3.3.4", "trash-cli": "^5.0.0", "ts-essentials": "^9.4.1", "ts-loader": "^9.5.1", "tsconfig-paths-webpack-plugin": "^3.5.2", "typescript": "^4.9.5", "vue": "^2.7.15", "vue-class-component": "^7.2.6", "vue-eslint-parser": "^8.3.0", "vue-hot-reload-api": "^2.3.4", "vue-loader": "^15.11.1", "vue-property-decorator": "^9.1.2", "vue-router": "^3.6.5", "vue-style-loader": "^4.1.3", "vue-template-compiler": "^2.7.16", "vuedraggable": "^2.24.3", "vuetify": "^2.7.1", "vuetify-loader": "^1.9.2", "vuex": "^3.6.2", "vuex-class": "^0.3.2", "vuex-class-state2way": "^1.0.1", "vuex-module-decorators": "^1.2.0", "webpack": "^5.89.0", "webpack-cli": "^4.10.0", "webpack-livereload-plugin": "^3.0.2" }, "nodecg": { "compatibleRange": "^1.9.0||^2", "bundleDependencies": { "nodecg-speedcontrol": "^2.4.0" }, "dashboardPanels": [ { "name": "game-layout-override", "title": "Game Layout Override", "width": 2, "file": "game-layout-override.html", "workspace": "ESA", "headerColor": "#c49215" }, { "name": "media-box-control", "title": "Media Box Control", "width": 3, "file": "media-box-control.html", "workspace": "Z2 - ESA Advanced", "headerColor": "#c49215" }, { "name": "intermission-slide-control", "title": "Intermission Slide Control", "width": 3, "file": "intermission-slide-control.html", "workspace": "Z2 - ESA Advanced", "headerColor": "#c49215" }, { "name": "commentators", "title": "Commentators", "width": 2, "file": "commentators.html", "headerColor": "#c49215" }, { "name": "tts-control", "title": "Text-To-Speech Control", "width": 3, "file": "tts-control.html", "workspace": "Z8 - N/A", "headerColor": "#c49215" }, { "name": "intermission-player-control", "title": "Intermission Player Control", "width": 3, "file": "intermission-player-control.html", "workspace": "Z2 - ESA Advanced", "headerColor": "#c49215" }, { "name": "upcoming-run-control", "title": "Upcoming Run Control", "width": 3, "file": "upcoming-run-control.html", "workspace": "ESA", "headerColor": "#c49215" }, { "name": "obs-control", "title": "OBS Control", "width": 3, "file": "obs-control.html", "headerColor": "#c49215" }, { "name": "donation-reader-control", "title": "Donation Reader Control", "width": 2, "file": "donation-reader-control.html", "headerColor": "#c49215" }, { "name": "countdown-control", "title": "Countdown Control", "width": 3, "file": "countdown-control.html", "workspace": "Z2 - ESA Advanced", "headerColor": "#c49215" }, { "name": "omnibar-ticker-control", "title": "Omnibar Ticker Control", "width": 3, "file": "omnibar-ticker-control.html", "workspace": "Z2 - ESA Advanced", "headerColor": "#c49215" }, { "name": "donation-alert-control", "title": "Donation Alert Control", "width": 3, "file": "donation-alert-control.html", "workspace": "Z2 - ESA Advanced", "headerColor": "#c49215" }, { "name": "donation-total-milestones", "title": "Donation Total Milestones", "width": 4, "file": "donation-total-milestones.html", "workspace": "ESA", "headerColor": "#c49215" }, { "name": "bigbutton-tag-scan-control", "title": "Big Button Tag Scan Control", "width": 3, "file": "bigbutton-tag-scan-control.html", "headerColor": "#c49215" }, { "name": "bids", "title": "Bids", "width": 3, "file": "bids.html", "workspace": "ESA", "headerColor": "#c49215" }, { "name": "rabbitmq-test", "title": "RabbitMQ Test", "width": 3, "file": "rabbitmq-test.html", "workspace": "Z9 - Debug", "headerColor": "#c49215" } ], "graphics": [ { "file": "transition.html", "width": 1920, "height": 1000 }, { "file": "omnibar.html", "width": 1920, "height": 80, "singleInstance": true }, { "file": "countdown.html", "width": 1920, "height": 1080 }, { "file": "intermission.html", "width": 1920, "height": 1080 }, { "file": "intermission-hosts.html", "width": 1920, "height": 1080 }, { "file": "intermission-player.html", "width": 1920, "height": 1080 }, { "file": "reader-introduction.html", "width": 1920, "height": 1080 }, { "file": "game-layout.html", "width": 1920, "height": 1080 }, { "file": "unread-donations.html", "width": 1920, "height": 1080 }, { "file": "tts-player.html", "width": 1920, "height": 1080 }, { "file": "player-hud.html", "width": 800, "height": 480 }, { "file": "media-box-only.html", "width": 1920, "height": 1080 } ], "mount": [ { "directory": "shared/flags", "endpoint": "flags" }, { "directory": "boxart", "endpoint": "boxart" } ], "assetCategories": [ { "name": "media-box-images", "title": "Media Box Images", "allowedTypes": [ "jpg", "jpeg", "png", "svg", "webp", "gif" ] }, { "name": "videos", "title": "Videos", "allowedTypes": [ "mp4", "webm", "MP4", "WEBM" ] }, { "name": "intermission-slides", "title": "Intermission Slide Images/Videos", "allowedTypes": [ "jpg", "jpeg", "png", "svg", "mp4", "webm", "webp", "gif" ] }, { "name": "reader-introduction-images", "title": "Reader Introduction Images", "allowedTypes": [ "jpg", "jpeg", "png", "svg", "webp", "gif" ] }, { "name": "donation-alert-assets", "title": "Donation Alert Assets", "allowedTypes": [ "jpg", "jpeg", "png", "svg", "webp", "gif", "mp3", "wav" ] } ] } }