{ "name": "freetube", "productName": "FreeTube", "description": "A private YouTube client", "version": "0.20.0", "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/ dist/", "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.2", "@fortawesome/free-brands-svg-icons": "^6.5.2", "@fortawesome/free-solid-svg-icons": "^6.5.2", "@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": "^12.0.2", "path-browserify": "^1.0.1", "process": "^0.11.10", "swiper": "^11.1.1", "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": "^9.3.0" }, "devDependencies": { "@babel/core": "^7.24.4", "@babel/eslint-parser": "^7.24.1", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/preset-env": "^7.24.4", "@double-great/stylelint-a11y": "^3.0.2", "@intlify/eslint-plugin-vue-i18n": "^2.0.0", "babel-loader": "^9.1.3", "copy-webpack-plugin": "^12.0.2", "css-loader": "^7.1.1", "css-minimizer-webpack-plugin": "^6.0.0", "electron": "^29.3.0", "electron-builder": "^24.13.3", "eslint": "^8.57.0", "eslint-config-prettier": "^9.1.0", "eslint-config-standard": "^17.1.0", "eslint-plugin-import": "^2.29.1", "eslint-plugin-jsonc": "^2.15.1", "eslint-plugin-n": "^17.2.1", "eslint-plugin-prettier": "^5.1.3", "eslint-plugin-promise": "^6.1.1", "eslint-plugin-unicorn": "^52.0.0", "eslint-plugin-vue": "^9.25.0", "eslint-plugin-vuejs-accessibility": "^2.2.1", "eslint-plugin-yml": "^1.14.0", "html-webpack-plugin": "^5.6.0", "js-yaml": "^4.1.0", "json-minimizer-webpack-plugin": "^5.0.0", "lefthook": "^1.6.10", "mini-css-extract-plugin": "^2.8.1", "npm-run-all": "^4.1.5", "postcss": "^8.4.38", "postcss-scss": "^4.0.9", "prettier": "^2.8.8", "rimraf": "^5.0.5", "sass": "^1.75.0", "sass-loader": "^14.2.1", "stylelint": "^16.3.1", "stylelint-config-sass-guidelines": "^11.1.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.91.0", "webpack-cli": "^5.1.4", "webpack-dev-server": "^5.0.4", "webpack-watch-external-files-plugin": "^3.0.0", "yaml-eslint-parser": "^1.2.2" } }