{
  "name": "freetube",
  "productName": "FreeTube",
  "description": "A private YouTube client",
  "version": "0.19.1",
  "license": "AGPL-3.0-or-later",
  "main": "./dist/main.js",
  "private": true,
  "author": {
    "name": "PrestonN",
    "email": "FreeTubeApp@protonmail.com",
    "url": "https://github.com/FreeTubeApp/FreeTube"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/FreeTubeApp/FreeTube.git"
  },
  "bugs": {
    "url": "https://github.com/FreeTubeApp/FreeTube/issues"
  },
  "scripts": {
    "build": "run-s rebuild:electron pack build-release",
    "build:arm64": "run-s rebuild:electron pack build-release:arm64",
    "build:arm32": "run-s rebuild:electron pack build-release:arm32",
    "build-release": "node _scripts/build.js",
    "build-release:arm64": "node _scripts/build.js arm64",
    "build-release:arm32": "node _scripts/build.js arm32",
    "clean": "rimraf build/ static/dashFiles/ dist/ static/storyboards/",
    "debug": "run-s rebuild:electron debug-runner",
    "debug-runner": "node _scripts/dev-runner.js --remote-debug",
    "dev": "run-s rebuild:electron dev-runner",
    "dev:web": "node _scripts/dev-runner.js --web",
    "dev-runner": "node _scripts/dev-runner.js",
    "get-instances": "node _scripts/getInstances.js",
    "get-regions": "node _scripts/getRegions.mjs",
    "lint-all": "run-p lint lint-json",
    "lint": "run-p eslint-lint lint-style",
    "lint-fix": "run-p eslint-lint-fix lint-style-fix",
    "eslint-lint": "eslint --ext .js,.vue ./",
    "eslint-lint-fix": "eslint --fix --ext .js,.vue ./",
    "lint-json": "eslint --ext .json ./",
    "lint-style": "stylelint \"**/*.{css,scss}\"",
    "lint-style-fix": "stylelint --fix \"**/*.{css,scss}\"",
    "lint-yml": "eslint --ext .yml,.yaml ./",
    "pack": "run-p pack:main pack:renderer",
    "pack:main": "webpack --mode=production --node-env=production --config _scripts/webpack.main.config.js",
    "pack:renderer": "webpack --mode=production --node-env=production --config _scripts/webpack.renderer.config.js",
    "pack:web": "webpack --mode=production --node-env=production --config _scripts/webpack.web.config.js",
    "postinstall": "yarn run --silent rebuild:electron",
    "prettier": "prettier --write \"{src,_scripts}/**/*.{js,vue}\"",
    "rebuild:electron": "electron-builder install-app-deps",
    "release": "run-s test build",
    "ci": "yarn install --silent --frozen-lockfile"
  },
  "dependencies": {
    "@fortawesome/fontawesome-svg-core": "^6.5.1",
    "@fortawesome/free-brands-svg-icons": "^6.5.1",
    "@fortawesome/free-solid-svg-icons": "^6.5.1",
    "@fortawesome/vue-fontawesome": "^2.0.10",
    "@seald-io/nedb": "^4.0.4",
    "@silvermine/videojs-quality-selector": "^1.3.1",
    "autolinker": "^4.0.0",
    "electron-context-menu": "^3.6.1",
    "lodash.debounce": "^4.0.8",
    "marked": "^11.2.0",
    "path-browserify": "^1.0.1",
    "process": "^0.11.10",
    "swiper": "^11.0.5",
    "video.js": "7.21.5",
    "videojs-contrib-quality-levels": "^3.0.0",
    "videojs-http-source-selector": "^1.1.6",
    "videojs-mobile-ui": "^0.8.0",
    "videojs-overlay": "^3.1.0",
    "videojs-vtt-thumbnails-freetube": "0.0.15",
    "vue": "^2.7.16",
    "vue-i18n": "^8.28.2",
    "vue-observe-visibility": "^1.0.0",
    "vue-router": "^3.6.5",
    "vuex": "^3.6.2",
    "youtubei.js": "^8.2.0"
  },
  "devDependencies": {
    "@babel/core": "^7.23.9",
    "@babel/eslint-parser": "^7.23.9",
    "@babel/plugin-proposal-class-properties": "^7.18.6",
    "@babel/preset-env": "^7.23.9",
    "@double-great/stylelint-a11y": "^3.0.0",
    "babel-loader": "^9.1.3",
    "copy-webpack-plugin": "^12.0.2",
    "css-loader": "^6.9.1",
    "css-minimizer-webpack-plugin": "^6.0.0",
    "electron": "^28.2.0",
    "electron-builder": "^24.9.1",
    "eslint": "^8.56.0",
    "eslint-config-prettier": "^9.1.0",
    "eslint-config-standard": "^17.1.0",
    "eslint-plugin-import": "^2.29.1",
    "eslint-plugin-jsonc": "^2.13.0",
    "eslint-plugin-n": "^16.6.2",
    "eslint-plugin-prettier": "^5.1.3",
    "eslint-plugin-promise": "^6.1.1",
    "eslint-plugin-unicorn": "^50.0.1",
    "eslint-plugin-vue": "^9.20.1",
    "eslint-plugin-vuejs-accessibility": "^2.2.1",
    "eslint-plugin-yml": "^1.12.2",
    "html-webpack-plugin": "^5.6.0",
    "js-yaml": "^4.1.0",
    "json-minimizer-webpack-plugin": "^5.0.0",
    "lefthook": "^1.6.1",
    "mini-css-extract-plugin": "^2.7.7",
    "npm-run-all": "^4.1.5",
    "postcss": "^8.4.33",
    "postcss-scss": "^4.0.9",
    "prettier": "^2.8.8",
    "rimraf": "^5.0.5",
    "sass": "^1.70.0",
    "sass-loader": "^14.0.0",
    "stylelint": "^16.2.0",
    "stylelint-config-sass-guidelines": "^11.0.0",
    "stylelint-config-standard": "^36.0.0",
    "stylelint-high-performance-animation": "^1.10.0",
    "stylelint-use-logical-spec": "^5.0.1",
    "tree-kill": "1.2.2",
    "vue-devtools": "^5.1.4",
    "vue-eslint-parser": "^9.4.2",
    "vue-loader": "^15.10.0",
    "webpack": "^5.90.0",
    "webpack-cli": "^5.1.4",
    "webpack-dev-server": "^4.15.1",
    "webpack-watch-external-files-plugin": "^3.0.0",
    "yaml-eslint-parser": "^1.2.2"
  }
}
