127 lines
5.5 KiB
JSON
127 lines
5.5 KiB
JSON
{
|
|
"name": "freetube",
|
|
"productName": "FreeTube",
|
|
"description": "A private YouTube client",
|
|
"version": "0.25.1",
|
|
"license": "AGPL-3.0-or-later",
|
|
"main": "./dist/main.js",
|
|
"private": true,
|
|
"author": {
|
|
"name": "FreeTube Team",
|
|
"email": "noreply@example.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": "pnpm run pack && pnpm run build-release",
|
|
"build:arm64": "pnpm run pack && pnpm run build-release:arm64",
|
|
"build:arm32": "pnpm run pack && pnpm run build-release:arm32",
|
|
"build-release": "node _scripts/build.mjs",
|
|
"build-release:arm64": "node _scripts/build.mjs arm64",
|
|
"build-release:arm32": "node _scripts/build.mjs arm32",
|
|
"clean": "node _scripts/clean.mjs",
|
|
"debug": "node _scripts/dev-runner.js --remote-debug",
|
|
"dev": "node _scripts/dev-runner.js",
|
|
"dev:web": "node _scripts/dev-runner.js --web",
|
|
"get-instances": "node _scripts/getInstances.js",
|
|
"get-regions": "node _scripts/getRegions.mjs",
|
|
"lint-all": "pnpm run \"/^(lint|lint-json)$/\"",
|
|
"lint": "pnpm run \"/^(eslint-lint|lint-style)$/\"",
|
|
"lint-fix": "pnpm run \"/^(eslint-lint|lint-style)-fix$/\"",
|
|
"eslint-lint": "eslint --config eslint.config.mjs \"src/**/*.js\" \"src/renderer/**/*.vue\" \"static/*.js\" \"_scripts/*.js\" \"_scripts/**/*.mjs\"",
|
|
"eslint-lint-fix": "eslint --config eslint.config.mjs --fix \"src/**/*.js\" \"src/renderer/**/*.vue\" \"static/*.js\" \"_scripts/*.js\" \"_scripts/**/*.mjs\"",
|
|
"lint-json": "eslint --config eslint.config.mjs \"static/**/*.json\"",
|
|
"lint-style": "stylelint \"src/**/*.{css,scss}\"",
|
|
"lint-style-fix": "stylelint --fix \"src/**/*.{css,scss}\"",
|
|
"lint-yml": "eslint --config eslint.config.mjs \"**/*.yml\" \"**/*.yaml\"",
|
|
"pack": "pnpm run \"/^pack:(main|renderer|preload|botGuardScript)$/\" && node _scripts/injectAllowedPaths.mjs",
|
|
"pack:main": "webpack --mode=production --config-node-env=production --config _scripts/webpack.main.config.js",
|
|
"pack:renderer": "webpack --mode=production --config-node-env=production --config _scripts/webpack.renderer.config.js",
|
|
"pack:preload": "webpack --mode=production --config-node-env=production --config _scripts/webpack.preload.config.js",
|
|
"pack:web": "webpack --mode=production --config-node-env=production --config _scripts/webpack.web.config.js",
|
|
"pack:botGuardScript": "webpack --config _scripts/webpack.botGuardScript.config.js",
|
|
"pack:botGuardScript:android": "webpack --config _scripts/webpack.botGuardScript.android.config.js",
|
|
"pack:android:core": "webpack --mode=production --config-node-env=production --config _scripts/webpack.android.config.js",
|
|
"pack:android:dev:core": "webpack --mode=development --config-node-env=development --config _scripts/webpack.android.config.js",
|
|
"pack:android": "pnpm run \"/^pack:(botGuardScript:android|android:core)$/\"",
|
|
"pack:android:dev": "pnpm run \"/^pack:(botGuardScript:android|android:dev:core)$/\"",
|
|
"checkforbadtemplates": "node _scripts/findMissingTemplates.mjs",
|
|
"ci": "pnpm install --frozen-lockfile"
|
|
},
|
|
"dependencies": {
|
|
"@fortawesome/fontawesome-svg-core": "^7.3.1",
|
|
"@fortawesome/free-brands-svg-icons": "^7.3.1",
|
|
"@fortawesome/free-regular-svg-icons": "^7.3.1",
|
|
"@fortawesome/free-solid-svg-icons": "^7.3.1",
|
|
"@fortawesome/vue-fontawesome": "^3.3.3",
|
|
"@seald-io/nedb": "https://github.com/MarmadileManteater/nedb.git",
|
|
"autolinker": "^4.1.5",
|
|
"bgutils-js": "^4.0.2",
|
|
"dompurify": "^3.4.12",
|
|
"electron-context-menu": "^4.1.2",
|
|
"googlevideo": "^4.1.1",
|
|
"marked": "^18.0.7",
|
|
"process": "^0.11.10",
|
|
"shaka-player": "^5.1.12",
|
|
"swiper": "^14.0.6",
|
|
"vue": "^3.5.40",
|
|
"vue-i18n": "^11.4.7",
|
|
"vue-observe-visibility": "^2.0.0-alpha.1",
|
|
"vue-router": "^5.2.0",
|
|
"vuex": "^4.1.0",
|
|
"youtubei.js": "^17.2.0"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/core": "^8.0.1",
|
|
"@babel/preset-env": "^8.0.2",
|
|
"@double-great/stylelint-a11y": "^3.5.0",
|
|
"@eslint/js": "^10.0.1",
|
|
"@intlify/eslint-plugin-vue-i18n": "^4.5.1",
|
|
"@stylistic/eslint-plugin": "^5.10.0",
|
|
"babel-loader": "^10.1.1",
|
|
"copy-webpack-plugin": "^14.0.0",
|
|
"css-loader": "^7.1.4",
|
|
"css-minimizer-webpack-plugin": "^8.0.0",
|
|
"electron": "^43.2.0",
|
|
"electron-builder": "^26.15.7",
|
|
"eslint": "^10.7.0",
|
|
"eslint-plugin-import-x": "^4.17.1",
|
|
"eslint-plugin-jsdoc": "^63.2.2",
|
|
"eslint-plugin-jsonc": "^3.3.0",
|
|
"eslint-plugin-n": "^18.2.2",
|
|
"eslint-plugin-promise": "^7.3.0",
|
|
"eslint-plugin-unicorn": "^72.0.0",
|
|
"eslint-plugin-vue": "^10.10.0",
|
|
"eslint-plugin-vuejs-accessibility": "^2.5.0",
|
|
"eslint-plugin-yml": "^3.6.0",
|
|
"globals": "^17.7.0",
|
|
"html-webpack-plugin": "^5.6.7",
|
|
"js-yaml": "^5.2.2",
|
|
"json-minimizer-webpack-plugin": "^5.0.1",
|
|
"lefthook": "^2.1.10",
|
|
"mini-css-extract-plugin": "^2.10.2",
|
|
"postcss": "^8.5.22",
|
|
"postcss-scss": "^4.0.9",
|
|
"sass": "^1.101.7",
|
|
"sass-loader": "^17.0.0",
|
|
"stylelint": "^17.14.1",
|
|
"stylelint-config-sass-guidelines": "^13.0.0",
|
|
"stylelint-config-standard": "^40.0.0",
|
|
"stylelint-high-performance-animation": "^2.0.0",
|
|
"stylelint-use-logical-spec": "^5.0.1",
|
|
"terser": "^5.49.0",
|
|
"@magda/tree-kill": "1.2.3",
|
|
"vue-eslint-parser": "^10.4.1",
|
|
"vue-loader": "^17.4.2",
|
|
"webpack": "^5.109.0",
|
|
"webpack-cli": "^7.2.1",
|
|
"webpack-dev-server": "^6.0.0"
|
|
}
|
|
}
|