{"_id":"bs-manager","name":"bs-manager","dist-tags":{"latest":"1.5.0-alpha.4"},"versions":{"1.5.0-alpha.4":{"name":"bs-manager","description":"Manage maps, mods and more for Beat Saber","main":"./.erb/dll/main.bundle.dev.js","version":"1.5.0-alpha.4","scripts":{"build-rust-scripts":"ts-node ./.erb/scripts/build-rust-scripts.js","build":"concurrently \"npm run build:main\" \"npm run build:renderer\"","build:dll":"cross-env NODE_ENV=development webpack --config ./.erb/configs/webpack.config.renderer.dev.dll.ts","build:main":"cross-env NODE_ENV=production webpack --config ./.erb/configs/webpack.config.main.prod.ts","build:renderer":"cross-env NODE_ENV=production webpack --config ./.erb/configs/webpack.config.renderer.prod.ts","postinstall":"ts-node .erb/scripts/check-native-dep.js && electron-builder install-app-deps && npm run build:dll","rebuild":"electron-rebuild --parallel --types prod,dev,optional --module-dir release/app","prestart":"cross-env NODE_ENV=development TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.main.dev.ts","lint":"cross-env NODE_ENV=development eslint . --ext .js,.jsx,.ts,.tsx","package":"ts-node ./.erb/scripts/clean.js dist && npm run build && electron-builder build --publish never && npm run build:dll","start":"ts-node ./.erb/scripts/check-port-in-use.js && npm run prestart && npm run start:renderer","start:main":"concurrently -k \"cross-env NODE_ENV=development TS_NODE_TRANSPILE_ONLY=true webpack --watch --config ./.erb/configs/webpack.config.main.dev.ts\" \"electronmon .\"","start:preload":"cross-env NODE_ENV=development TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.preload.dev.ts","start:renderer":"cross-env NODE_ENV=development TS_NODE_TRANSPILE_ONLY=true webpack serve --config ./.erb/configs/webpack.config.renderer.dev.ts","test":"jest","publish":"npm run build && electron-builder -c.win.certificateSha1=2164d6a7d641ecf6ad57852f665a518ca2bf960f --publish always --win --x64","publish:linux":"npm run build && electron-builder --publish always --linux --x64"},"lint-staged":{"*.{js,jsx,ts,tsx}":["cross-env NODE_ENV=development eslint --cache"],"*.json,.{eslintrc,prettierrc}":["prettier --ignore-path .eslintignore --parser json --write"],"*.{css,scss}":["prettier --ignore-path .eslintignore --single-quote --write"],"*.{html,md,yml}":["prettier --ignore-path .eslintignore --single-quote --write"]},"build":{"extraResources":["./assets/jsons/bs-versions.json","./assets/jsons/patreons.json","./assets/proto/song_details_cache_v1.proto"],"productName":"BSManager","appId":"org.erb.BSManager","asarUnpack":"**\\*.{node,dll}","files":["dist/**/*","node_modules","package.json"],"afterSign":".erb/scripts/notarize.js","afterPack":".erb/scripts/after-pack.js","win":{"signingHashAlgorithms":["sha256"],"target":["nsis","nsis-web"],"icon":"./build/icons/win/favicon.ico","extraResources":["./build/icons/win","./assets/scripts/*.exe"]},"linux":{"target":["AppImage"],"icon":"./build/icons/png","category":"Utility;Game;","extraResources":["./build/icons/png","./assets/scripts/DepotDownloader"]},"directories":{"app":"release/app","buildResources":"assets","output":"release/build"},"publish":{"provider":"github","owner":"Zagrios"},"fileAssociations":[{"ext":"bplist","description":"Beat Saber Playlist (BSManager)","icon":"./assets/bsm_file.ico","role":"Viewer"}]},"repository":{"type":"git","url":"git+https://github.com/Zagrios/bs-manager.git"},"author":{"name":"Zagrios","email":"peroz.mathieu@gmail.com","url":"https://github.com/Zagrios"},"contributors":[],"license":"MIT","bugs":{"url":"https://github.com/Zagrios/bs-manager/issues"},"keywords":["downgrade","launcher-application","beatsaber","beat-saber"],"homepage":"https://github.com/Zagrios/bs-manager#readme","jest":{"testURL":"http://localhost/","testEnvironment":"jsdom","transform":{"\\.(ts|tsx|js|jsx)$":"ts-jest"},"moduleNameMapper":{"\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$":"<rootDir>/.erb/mocks/fileMock.js","\\.(css|less|sass|scss)$":"identity-obj-proxy"},"moduleFileExtensions":["js","jsx","ts","tsx","json"],"moduleDirectories":["node_modules","src"],"testPathIgnorePatterns":["release/app/dist"],"setupFiles":["./.erb/scripts/check-build-exists.ts"]},"devDependencies":{"@electron/fuses":"^1.7.0","@electron/notarize":"^2.3.0","@electron/rebuild":"^3.6.0","@pmmmwh/react-refresh-webpack-plugin":"0.5.5","@teamsupercell/typings-for-css-modules-loader":"^2.5.2","@testing-library/jest-dom":"^6.4.1","@testing-library/react":"^14.2.0","@types/archiver":"^6.0.2","@types/color":"^3.0.3","@types/crypto-js":"^4.2.1","@types/dateformat":"^5.0.0","@types/dompurify":"^3.0.5","@types/got":"^9.6.12","@types/jest":"^29.5.11","@types/node":"20.11.15","@types/node-fetch":"^2.6.3","@types/pako":"^2.0.1","@types/react":"^18.0.33","@types/react-beautiful-dnd":"^13.1.8","@types/react-dom":"^18.0.11","@types/react-outside-click-handler":"^1.3.1","@types/react-test-renderer":"^18.0.7","@types/react-virtualized-auto-sizer":"^1.0.1","@types/react-window":"^1.8.5","@types/recursive-readdir":"^2.2.1","@types/terser-webpack-plugin":"^5.0.4","@types/to-ico":"^1.1.1","@types/use-double-click":"^1.0.4","@types/webpack-bundle-analyzer":"^4.4.2","@types/webpack-env":"^1.18.0","@typescript-eslint/eslint-plugin":"^6.20.0","@typescript-eslint/parser":"^6.20.0","autoprefixer":"^10.4.17","browserslist-config-erb":"^0.0.3","chalk":"^4.1.2","concurrently":"^8.2.2","core-js":"^3.36.0","cross-env":"^7.0.3","css-loader":"^6.10.0","css-minimizer-webpack-plugin":"^6.0.0","detect-port":"^1.5.1","electron":"^32.1.2","electron-builder":"^24.13.3","electron-devtools-installer":"^3.2.0","electronmon":"^2.0.2","eslint":"^8.56.0","eslint-config-airbnb-base":"^15.0.0","eslint-config-erb":"^4.1.0","eslint-import-resolver-typescript":"^3.6.1","eslint-import-resolver-webpack":"^0.13.8","eslint-plugin-compat":"^4.2.0","eslint-plugin-import":"^2.29.1","eslint-plugin-jest":"^27.6.3","eslint-plugin-jsx-a11y":"^6.8.0","eslint-plugin-promise":"^6.1.1","eslint-plugin-react":"^7.33.2","eslint-plugin-react-hooks":"^4.6.0","file-loader":"^6.2.0","html-webpack-plugin":"^5.6.0","identity-obj-proxy":"^3.0.0","jest":"^29.7.0","lint-staged":"^15.2.1","mini-css-extract-plugin":"^2.7.7","opencollective-postinstall":"^2.0.3","postcss":"^8.4.33","postcss-loader":"^8.1.0","prettier":"^3.2.4","react-refresh":"^0.14.0","react-test-renderer":"^18.2.0","rimraf":"^5.0.5","sass":"^1.70.0","sass-loader":"^14.1.0","style-loader":"^3.3.4","tailwindcss":"^3.4.12","terser-webpack-plugin":"^5.3.10","ts-jest":"^29.1.2","ts-loader":"^9.5.1","typescript":"^5.3.3","url-loader":"^4.1.1","webpack":"^5.90.3","webpack-bundle-analyzer":"^4.10.1","webpack-cli":"^5.1.4","webpack-dev-server":"^4.15.1","webpack-merge":"^5.10.0"},"dependencies":{"@internationalized/date":"^3.5.4","@nextui-org/date-picker":"^2.0.7","@nextui-org/react":"^2.3.6","@node-steam/vdf":"^2.2.0","@tippyjs/react":"^4.2.6","archiver":"^7.0.1","clsx":"^2.1.1","color":"^4.2.3","crypto-js":"^4.2.0","dateformat":"^5.0.3","dompurify":"^3.0.9","dot-prop":"^8.0.2","electron-debug":"^3.2.0","electron-log":"^4.4.8","electron-store":"^8.1.0","electron-updater":"^6.3.4","fast-deep-equal":"^3.1.3","format-duration":"^3.0.2","framer-motion":"^11.2.6","fs-extra":"^11.2.0","got":"^14.4.2","history":"^5.3.0","is-elevated":"^4.0.0","jszip":"^3.10.1","md5-file":"^5.0.0","node-abi":"^3.65.0","node-fetch":"^3.3.2","node-stream-zip":"^1.15.0","pako":"^2.1.0","protobufjs":"^7.4.0","qrcode.react":"^4.0.1","query-process":"^0.0.3","react":"^18.2.0","react-beautiful-dnd":"^13.1.1","react-colorful":"^5.6.1","react-dom":"^18.2.0","react-range":"^1.10.0","react-router-dom":"^6.24.1","react-virtualized-auto-sizer":"^1.0.24","react-window":"^1.8.10","recursive-readdir":"^2.2.3","rfdc":"^1.4.1","rxjs":"^7.8.1","sanitize-filename":"^1.6.3","semver":"^7.6.3","serialize-error":"^11.0.3","striptags":"^4.0.0-alpha.4","tailwind-merge":"^2.5.2","tailwindcss-scoped-groups":"^2.0.0","tippy.js":"^6.3.7","to-ico":"^1.1.5","use-double-click":"^1.0.5","use-fit-text":"^2.4.0"},"engines":{"node":">=20.0.0"},"collective":{"url":"https://www.patreon.com/bsmanager"},"browserslist":[],"prettier":{"printWidth":1000,"bracketSameLine":false,"arrowParens":"avoid","semi":true,"singleQuote":false,"jsxSingleQuote":false,"trailingComma":"es5","bracketSpacing":true,"tabWidth":4,"overrides":[{"files":[".prettierrc",".eslintrc"],"options":{"parser":"json"}}]},"electronmon":{"patterns":["!**/**","src/main/**",".erb/dll/**"],"logLevel":"quiet"},"volta":{"node":"20.17.0"},"_id":"bs-manager@1.5.0-alpha.4","gitHead":"87f134ebb55546edecd1c7f82e78c93b8ccb2c00","_nodeVersion":"20.18.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-sa0zMUB2IBJ1SK4OGWh4vfW/V6aslN/fPZGxLhCuQspF9BXQYLkwkZMDzhUtEDnOK1vVFC1g+STnZFOzM9Ga0g==","shasum":"bbe75cfb8c6426780ade4790270fdbd11aab724f","tarball":"https://registry.npmjs.org/bs-manager/-/bs-manager-1.5.0-alpha.4.tgz","fileCount":521,"unpackedSize":65192288,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC7ptJ/k2RwWQ+LIYNBAqPECZ4cnud0J0whaYLHTXeCrAIgf9vAZoBvRLLX08su4/J1mSX10YFQo44eqdC8t3X5lTw="}]},"_npmUser":{"name":"javahound","email":"jamie-kkzma@proton.me"},"directories":{},"maintainers":[{"name":"javahound","email":"jamie-kkzma@proton.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bs-manager_1.5.0-alpha.4_1728931747281_0.4965239359729079"},"_hasShrinkwrap":false}},"time":{"created":"2024-10-14T18:49:07.280Z","1.5.0-alpha.4":"2024-10-14T18:49:08.076Z","modified":"2024-10-14T18:49:08.352Z"},"maintainers":[{"name":"javahound","email":"jamie-kkzma@proton.me"}],"description":"Manage maps, mods and more for Beat Saber","homepage":"https://github.com/Zagrios/bs-manager#readme","keywords":["downgrade","launcher-application","beatsaber","beat-saber"],"repository":{"type":"git","url":"git+https://github.com/Zagrios/bs-manager.git"},"contributors":[],"author":{"name":"Zagrios","email":"peroz.mathieu@gmail.com","url":"https://github.com/Zagrios"},"bugs":{"url":"https://github.com/Zagrios/bs-manager/issues"},"license":"MIT","readme":"<a name=\"readme-top\"></a>\n\n<!-- PROJECT SHIELDS -->\n<!--\n*** I'm using markdown \"reference style\" links for readability.\n*** Reference links are enclosed in brackets [ ] instead of parentheses ( ).\n*** See the bottom of this document for the declaration of the reference variables\n*** for contributors-url, forks-url, etc. This is an optional, concise syntax you may use.\n*** https://www.markdownguide.org/basic-syntax/#reference-style-links\n-->\n\n<!--\n----------------------------------------\n    BSManager\n----------------------------------------\n-->\n<div align=\"center\">\n  <a href=\"https://github.com/Zagrios/bs-manager\">\n    <img src=\"resources/readme/SVG/icon.svg\" alt=\"Logo\" width=\"250\" height=\"250\">\n  </a>\n  <h1><b>BSManager</b></h1>\n  <p>\n    Download, manage and customize your versions of <a href=\"https://beatsaber.com/\">Beat Saber</a> with a simple click!\n  </p>\n  <p>\n    <a\n      href=\"https://github.com/Zagrios/bs-manager/issues/new?assignees=Zagrios&labels=bug&template=-bug--bug-report.md&title=%5BBUG%5D+%3A+\">Report\n      Bug</a>\n    ·\n    <a\n      href=\"https://github.com/Zagrios/bs-manager/issues/new?assignees=Zagrios&labels=enhancement&template=-feat---feature-request.md&title=%5BFEAT.%5D+%3A+\">Request\n      Feature</a>\n    ·\n    <a href=\"https://github.com/Zagrios/bs-manager/security/policy\">Report a security vulnerability</a>\n  </p>\n  <hr>\n</div>\n\n\n<!--\n----------------------------------------\n    BADGES\n----------------------------------------\n-->\n<div align=\"center\">\n  <a href=\"https://github.com/Zagrios/bs-manager/stargazers\"><img\n      src=\"https://img.shields.io/github/stars/Zagrios/bs-manager?style=for-the-badge\" alt=\"Stargazers\" /></a>\n  <a href=\"https://github.com/Zagrios/bs-manager/network/members\"><img\n      src=\"https://img.shields.io/github/forks/Zagrios/bs-manager?style=for-the-badge\" alt=\"Forks\" /></a>\n  <a href=\"https://github.com/Zagrios/bs-manager/blob/master/LICENSE\"><img\n      src=\"https://img.shields.io/github/license/Zagrios/bs-manager?style=for-the-badge\" alt=\"License\" /></a>\n  <a href=\"https://github.com/Zagrios/bs-manager/graphs/contributors\"><img\n      src=\"https://img.shields.io/github/contributors/Zagrios/bs-manager?style=for-the-badge\" alt=\"Contributors\" /></a>\n  <a href=\"https://github.com/Zagrios/bs-manager/issues\"><img alt=\"GitHub issues\"\n      src=\"https://img.shields.io/github/issues/Zagrios/bs-manager?style=for-the-badge\"></a>\n  <br>\n  <a href=\"https://discord.gg/uSqbHVpKdV\"><img\n      src=\"https://img.shields.io/badge/-DISCORD-5865f2?style=for-the-badge&logo=discord&logoColor=ffffff\"\n      alt=\"discord\" /></a>\n  <a href=\"https://twitter.com/BSManager_\"><img\n      src=\"https://img.shields.io/badge/-Twitter-black?style=for-the-badge&logo=X\" alt=\"Twitter\" /></a> \n<a href=\"https://www.bsmanager.io\">\n  <img src=\"https://img.shields.io/badge/-WebSite-00649c?style=for-the-badge&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAwIDEwMDAiPgogIDxnIGZpbGw9IiMzYjgyZmYiPgogICAgPHBhdGggZD0ibTYyNi43NSA0ODUuOTEgMjAuODIgMzUxLjk0YTM1LjIxIDM1LjIxIDAgMCAxLTE1LjQ5IDMxLjM2bC0xNDQuNzEgOTYuMTRoLS4wNmEzNS41NiAzNS41NiAwIDAgMS0xMS4zMSA0Ljc3IDM0Ljg1IDM0Ljg1IDAgMCAxLTIzLjUxLTIuODdMMTM2LjU4IDgwOS45YTExNS40NSAxMTUuNDUgMCAwIDEtNjMuNzUtOTYuNDlMNTIgMzYxLjQ2YTM1LjI2IDM1LjI2IDAgMCAxIDE1LjIzLTMxLjIxbDE0NS4wNS05Ni4zNmEzNS43MiAzNS43MiAwIDAgMSAxMS4yNy00LjcgMzQuODcgMzQuODcgMCAwIDEgMjMuNTEgMi44N0w1NjMgMzg5LjQyYTExNS40MSAxMTUuNDEgMCAwIDEgNjMuNzUgOTYuNDlaIi8+CiAgICA8cGF0aCBmaWx0ZXI9ImJyaWdodG5lc3MoMzAlKSIgZD0ibTYxMy43OCA0ODYuNjcgMjAuODIgMzUyYTIyLjM0IDIyLjM0IDAgMCAxLTMyLjI2IDIxLjMxTDI4Ni40IDcwMi41N0ExMDIuNDMgMTAyLjQzIDAgMCAxIDIyOS44MyA2MTdMMjA5IDI2NWEyMi4zNSAyMi4zNSAwIDAgMSAzMi4yNi0yMS4zMkw1NTcuMiA0MDEuMDVhMTAyLjQyIDEwMi40MiAwIDAgMSA1Ni41OCA4NS42MloiLz4KICA8L2c+CiAgPHBhdGggZD0iTTcxOC4yOSA3NzYuNDggNzAwIDgwNC4xOGMtNDAuNjMgMzkuNS04Ny4wNiA2Ny4yNS0xMzMuODEgOTAuNzUtODcuMzIgNDMuOS0yMDMuNjcgNzcuMTktMjQ5IDkwLjM0YTQ4IDQ4IDAgMCAxLTI2LjE3LjE2Yy02NC0xNy43Mi0xODguNjItNzItMjM2LjI4LTEyNS40OWE0LjIzIDQuMjMgMCAwIDEgNS4zLTYuNDVjMzUuNjQgMjAuODcgMTExLjIyIDU3LjY0IDE1Ni4zNyA3NC4yMiA0OS4xOCAxOC4wNiA4MS4yOSA4Ljc0IDkyLjI4LTMuMjZhNC43NyA0Ljc3IDAgMCAxIDcuMjQuMjFjMTkuNTEgMjQgMTA3LjI2IDQuNiAxNjYuNjQtMTMgNjQuMzQtMTkgMTg1Ljg1LTc2LjU2IDIzNS43Mi0xMzUuMThabS0xOTYuMiAxNTcuMzMtMTQ3LjQ1IDU1LjY4YTMuOTIgMy45MiAwIDAgMCAxLjQ0IDcuNThsNTQuNjItLjc3YTM1LjYzIDM1LjYzIDAgMCAwIDE5LTUuNzlsNzYtNDkuNTVhNCA0IDAgMCAwLTMuNjEtNy4xNVpNMjE4LjkyIDE5NS41NmMtMjEuMTQuMDctMzMuNTUgMzUuODYtMzMuMTYgODkuMDguMiAyOCAyLjU4IDkyLjc0IDQuNzkgMTQ3LjczLjIzIDUuNzEtOC4xOCA2LjQ4LTkgLjgxbC0zOC40Mi0yNzAuNzFhNC4zOCA0LjM4IDAgMCAxIDcuMTItNCA2My42MyA2My42MyAwIDAgMCAyMS45MyAxMS44NSA0LjYxIDQuNjEgMCAwIDAgNS45LTMuNzJjNC4yLTI3LjcgMTYuNjMtNTguNzQgMzcuMzUtODguNzRhNC4zNiA0LjM2IDAgMCAxIDcuNTYuNjljMTAuODYgMjMuODcgNDkgMTAzLjggOTMuMzQgMTUyLjc5YTQuNjUgNC42NSAwIDAgMS01LjYyIDcuMjJjLTM2LjU3LTE5LjM4LTgzLjAxLTQzLjAyLTkxLjc5LTQzWm0tMTUuNDcgMzg0LjhhNC41MSA0LjUxIDAgMCAxLTQuNDYtMy45MmwtMTMuODItMTA3LjI5YTQuNSA0LjUgMCAwIDEgOC45My0xLjE1bDEzLjgyIDEwNy4yOWE0LjUgNC41IDAgMCAxLTMuODkgNSAzLjg2IDMuODYgMCAwIDEtLjU4LjA3Wk01NzcuMDggNTQuNThjLTQ2Ljc5IDE1Ljg1LTExNS40NSA0MC41Ni0xNTguNzMgNjIuNzlhMzUuNSAzNS41IDAgMCAwLTE4LjU3IDI0LjUzYy0zLjk1IDE5LjQ5LTExIDU2LjA5LTE5IDEwNy4yNi0uNyA0LjQ4LTcuMzYgMy43OC03LjExLS43NWwxMC42Ni0xOTQuNzNhMy43OCAzLjc4IDAgMCAxIDcuNDYtLjY2bDMuNDkgMTQuODVhMi41NyAyLjU3IDAgMCAwIDQuNjkuNzdjNi4xOC0xMCAyMi4zNy0zMi43OSA1Ny4zMi02NWE0LjEzIDQuMTMgMCAwIDEgNi41NiA0LjcybC0zMi41NCA3Mi44OXM3OC43OC0xOS4zNyAxNDQtMzMuMDljNC4xMS0uODcgNS42OSA1LjA4IDEuNzcgNi40MloiIGZpbGw9IiNmZmYiIHN0cm9rZT0iYmxhY2siLz4KICA8ZyBmaWxsPSIjZjQ0Ij4KICAgIDxwYXRoIGZpbHRlcj0iYnJpZ2h0bmVzcyg2MCUpIHNhdHVyYXRlKDEyMCUpIiBkPSJtOTQ3LjA3IDQxMC4zNS01Ny43NSAzNDcuNzlhMzUuMTggMzUuMTggMCAwIDEtMjIuMDYgMjcuMTVsLTE2Mi40MyA2MS42NWgtLjA2YTM1LjUyIDM1LjUyIDAgMCAxLTEyLjA2IDIuMTEgMzQuODMgMzQuODMgMCAwIDEtMjIuMjktOGwtMjczLjE3LTIyMy41YTExNS40MyAxMTUuNDMgMCAwIDEtNDAuNzYtMTA4LjIybDU3Ljc1LTM0Ny44QTM1LjI1IDM1LjI1IDAgMCAxIDQzNiAxMzQuNDdsMTYyLjgzLTYxLjc5YTM1LjUxIDM1LjUxIDAgMCAxIDEyLTIuMDggMzQuODMgMzQuODMgMCAwIDEgMjIuMjkgOGwyNzMuMTkgMjIzLjUyYTExNS4zOCAxMTUuMzggMCAwIDEgNDAuNzYgMTA4LjIzWiIvPgogICAgPHBhdGggZD0iTTkzNC4yNSA0MDguMjIgODc2LjUgNzU2YTIyLjM0IDIyLjM0IDAgMCAxLTM2LjE4IDEzLjYzbC0yNzMuMTctMjIzLjVhMTAyLjQyIDEwMi40MiAwIDAgMS0zNi4xNy05Nmw1Ny43NS0zNDcuODNhMjIuMzQgMjIuMzQgMCAwIDEgMzYuMTgtMTMuNjNsMjczLjE3IDIyMy41MWExMDIuNDIgMTAyLjQyIDAgMCAxIDM2LjE3IDk2LjA0WiIvPgogIDwvZz4KICA8ZWxsaXBzZSBmaWxsPSIjZmZmIiBzdHJva2U9ImJsYWNrIiBjeD0iNzMyLjYxIiBjeT0iNDI5LjE2IiByeD0iNjIuODMiIHJ5PSIxMTAuNzMiIHRyYW5zZm9ybT0icm90YXRlKC0xNS40NSA3MzIuNzAzIDQyOS4xOTkpIi8+Cjwvc3ZnPg==\"  alt=\"Website\" /></a>\n  <a href=\"https://www.patreon.com/bsmanager\"><img\n      src=\"https://img.shields.io/badge/-🤍%20Support%20BSM-EC4546?style=for-the-badge\" alt=\"Donation\" /></a>\n</div>\n\n<!--\n----------------------------------------\n    TABLE OF CONTENTS\n----------------------------------------\n-->\n<div>\n  <hr>\n  <details open>\n    <summary><b>Table of Contents</b></summary>\n    <ul>\n      <li>\n        <details>\n          <summary><a href=\"#bsmanager-your-beat-saber-assistant\">BSManager: Your Beat Saber Assistant</a></summary>\n          <ul>\n            <li><a href=\"#what-is-it\">What is it?</a></li>\n            <li><a href=\"#why-use-it\">Why use it?</a></li>\n            <li><a href=\"#built-with\">Built with</a></li>\n            <li><a href=\"#how-to-install\">How to install</a></li>\n          </ul>\n        </details>\n      </li>\n      <li>\n        <details>\n          <summary><a href=\"#version-management\">Version Management</a></summary>\n          <ul>\n            <li>\n              <details>\n                <summary><a href=\"#downloading-multiple-versions\">Downloading multiple versions</a></summary>\n                <ul>\n                  <li>via Steam account</li>\n                  <li>via Oculus (PCVR) account</li>\n                </ul>\n              </details>\n            </li>\n            <li><a href=\"#multi-version-sharing\">Multi-version Sharing</a></li>\n            <li><a href=\"#importing-an-existing-version-of-beat-saber\">Importing an existing version of Beat Saber</a>\n            </li>\n            <li><a href=\"#launch-arguments\">Launch arguments</a></li>\n            <li><a href=\"#shortcut-creation\">Shortcut creation</a></li>\n          </ul>\n        </details>\n      </li>\n      <li>\n        <details>\n          <summary><a href=\"#download-and-installation\">Download and Installation</a></summary>\n          <ul>\n            <li><a href=\"#maps\">Maps</a></li>\n            <li><a href=\"#playlists\">Playlists</a></li>\n            <li><a href=\"#mods\">Mods</a></li>\n            <li><a href=\"#models\">Models</a></li>\n          </ul>\n        </details>\n      </li>\n      <li>\n        <details>\n          <summary><a href=\"#customization\">Customization</a></summary>\n          <ul>\n            <li><a href=\"#tool\">Tool</a></li>\n            <li><a href=\"#beat-saber-instance\">Beat Saber Instance</a></li>\n          </ul>\n        </details>\n      </li>\n      <li>\n        <details>\n          <summary><a href=\"#more-information\">More Information</a></summary>\n          <ul>\n            <li><a href=\"#support\">Support</a></li>\n            <li><a href=\"#credits\">Credits</a></li>\n            <li><a href=\"#Contributing\">Contributing</a></li>\n          </ul>\n        </details>\n      </li>\n    </ul>\n  </details>\n  <div align=\"right\">\n    [<a href=\"#readme-bot\">Go to bottom</a>]\n  </div>\n</div>\n\n\n<!--\n----------------------------------------\n    BSMANAGER: YOUR BEAT SABER ASSISTANT\n----------------------------------------\n-->\n<div align=\"center\">\n  <hr>\n  <h1><b>BSManager: Your Beat Saber Assistant</b></h1>\n</div>\n\n\n<!--\n    WHAT IS IT?\n----------------------------------------\n-->\n<div>\n  <h2>What is it?</h2>\n  <p><a href=\"https://github.com/Zagrios/bs-manager\">BSManager</a> simplifies your <a href=\"https://beatsaber.com/\">Beat\n      Saber</a> experience by centralizing the management of mods, maps, and game versions in one place.</p>\n</div>\n\n\n<!--\n    WHY USE IT?\n----------------------------------------\n-->\n<div>\n  <h2>Why use it?</h2>\n  <ul>\n    <li><strong>Easy</strong>: Manage and switch between different instances of <a href=\"https://beatsaber.com/\">Beat\n        Saber</a> simply.</li>\n    <li><strong>Accessibility</strong>: Access a multitude of content with just a few clicks.</li>\n    <li><strong>Customization</strong>: Adapt <a href=\"https://github.com/Zagrios/bs-manager\">BSManager</a> to your\n      tastes without technical hassles.</li>\n  </ul>\n  <b>Start your enhanced experience with <a href=\"https://beatsaber.com/\">Beat Saber</a> and explore all the features\n    offered by <a href=\"https://github.com/Zagrios/bs-manager\">BSManager</a>!</b>\n</div>\n\n<div align=\"center\">\n  <br>\n  <video src=\"https://github.com/Zagrios/bs-manager/assets/40648115/012b0196-74ef-4ee5-86a4-49e835612f96\"/>\n</div>\n\n\n<!--\n    BUILT WITH\n----------------------------------------\n-->\n<div>\n  <h2><b>Built With</b></h2>\n  <ul>\n    <li>\n      <a href=\"https://electron-react-boilerplate.js.org/\"><img\n          src=\"https://img.shields.io/badge/-Electron%20React%20Boilerplate-black?style=for-the-badge&logo=Electron\"\n          alt=\"Electron React Boilerplate\"></a>\n    </li>\n    <li>\n      <a href=\"https://github.com/SteamRE/DepotDownloader\"><img\n          src=\"https://img.shields.io/badge/-Depot%20Downloader-2a475e?style=for-the-badge&logo=steam\"\n          alt=\"Depot Downloader\"></a>\n    </li>\n    <li>\n      <a href=\"https://rxjs.dev/\"><img\n          src=\"https://img.shields.io/badge/-RxJs-purple?style=for-the-badge&logo=ReactiveX\" alt=\"RxJs\"></a>\n    </li>\n    <li>\n      <a href=\"https://tailwindcss.com/\"><img\n          src=\"https://img.shields.io/badge/-Tailwind%20CSS-white?style=for-the-badge&logo=Tailwind%20CSS\"\n          alt=\"TailWind CSS\"></a>\n    </li>\n  </ul>\n</div>\n\n\n<!--\n    HOW TO INSTALL\n----------------------------------------\n-->\n<div>\n  <h2><b>How to install?</b></h2>\n  <ul>\n    <li>Download the <a href=\"https://github.com/Zagrios/bs-manager/releases/latest\">latest release</a> from <a\n        href=\"https://github.com/Zagrios/bs-manager/releases\">Releases</a>.</li>\n    <li>Execute the installer and <a href=\"https://github.com/Zagrios/bs-manager\">BSManager</a> will start itself.</li>\n    <li>Once it's done, if you want to download a version, select a version and download it! </li>\n    <li>From the version page you can choose options, launch the version, and more!</li>\n  </ul>\n</div>\n\n<div align=\"center\">\n  <video src=\"https://github.com/Zagrios/bs-manager/assets/40648115/4215384e-eb68-40da-884c-f21df491ef75\" />\n</div>\n\n\n<!--\n----------------------------------------\n    VERSION MANAGEMENT\n----------------------------------------\n-->\n<div align=\"center\">\n  <hr>\n  <h1><b>Version management</b></h1>\n</div>\n<div>\n  <p>With <a href=\"https://github.com/Zagrios/bs-manager\">BSManager</a>, manage your <a\n      href=\"https://beatsaber.com/\">Beat Saber</a> versions with ease, allowing the download of new versions and\n    preserving\n    existing ones, provided that you own the game on a Steam or Oculus (PC) account.</p>\n</div>\n\n\n<!--\n    DOWNLOADING MULTIPLE VERSIONS\n----------------------------------------\n-->\n<div>\n  <h2>Downloading Multiple Versions</h2>\n  <p><a href=\"https://github.com/Zagrios/bs-manager\">BSManager</a> provides two authentication methods to access your\n    Steam account, ensuring safe and flexible access to\n    different game versions:</p>\n</div>\n\n<div align=\"center\">\n  <img src=\"https://github.com/Zagrios/bs-manager/assets/40648115/09d579de-8b8e-45d3-8829-21a25cc7daf8\"/>\n</div>\n\n<div>\n  <ul>\n    <li><strong>via Steam</strong>: Use either your credentials, which will not be stored by <a\n        href=\"https://github.com/Zagrios/bs-manager\">BSManager</a> or\n      <a href=\"https://github.com/SteamRE/DepotDownloader\">DepotDownloader</a>, or opt for a quick and secure\n      authentication via QR with the Steam Guard app.</li>\n  </ul>\n</div>\n\n<div align=\"center\">\n  <img src=\"https://github.com/Zagrios/bs-manager/assets/40648115/26da3a19-a936-4e6b-b79b-a139d7bd55de\" />\n\n</div>\n\n<div>\n  <ul>\n    <li><strong>via Oculus</strong>: For Oculus users, <a href=\"https://github.com/Zagrios/bs-manager\">BSManager</a>\n      requires you to retrieve a connection token by following the instructions in this guide: <a href=\"https://github.com/Zagrios/bs-manager/wiki/How-to-obtain-your-Oculus-Token\">How to obtain your Oculus Token</a>. Once obtained, please insert it into the form.</li>\n  </ul>\n</div>\n\n<div align=\"center\">\n  <img height=450 src=\"https://github.com/Zagrios/bs-manager/assets/40648115/3674e629-542d-4de3-b8db-b248f25126d7\" />\n</div>\n\n\n<!--\n    MULTI-VERSION SHARING\n----------------------------------------\n-->\n<div>\n  <h2>Multi-Version Sharing</h2>\n  <p><a href=\"https://github.com/Zagrios/bs-manager\">BSManager</a> facilitates the sharing of your maps, models, and\n    custom files between different versions of <a\n      href=\"https://beatsaber.com/\">Beat Saber</a>. Thanks to an intuitive user interface, you can easily share\n    your files from one version to another, ensuring a consistent and continuous gaming experience across all your\n    installations.</p>\n</div>\n\n<div align=\"center\">\n  <video src=\"https://github.com/Zagrios/bs-manager/assets/40648115/ba39aceb-f55f-4e58-8386-51fcfaad4957\"/> \n</div>\n\n\n<!--\n    IMPORTING AN EXISTING VERSION OF BEAT SABER\n----------------------------------------\n-->\n<div>\n  <h2>Importing an Existing Version of Beat Saber</h2>\n  <p><a href=\"https://github.com/Zagrios/bs-manager\">BSManager</a> allows easy importing and organizing of your existing\n    versions of <a href=\"https://beatsaber.com/\">Beat Saber</a>, enabling you to retain\n    all your previously downloaded or created data while taking advantage of <a\n      href=\"https://github.com/Zagrios/bs-manager\">BSManager</a>'s management features.</p>\n</div>\n\n<div align=\"center\">\n  <video src=\"https://github.com/Zagrios/bs-manager/assets/40648115/cdedb951-d97a-474d-a217-2422be3919f7\"/>\n</div>\n\n\n<!--\n    LAUNCH ARGUMENTS\n----------------------------------------\n-->\n<div>\n  <h2>Launch Arguments</h2>\n  <p><a href=\"https://github.com/Zagrios/bs-manager\">BSManager</a> provides efficient management of <a\n      href=\"https://beatsaber.com/\">Beat Saber</a> launch arguments, including three predefined ones to\n    enhance your gaming experience:</p>\n  <ul>\n    <li><strong>Oculus Mode</strong>: Launches the game directly in Oculus mode, avoiding the use of STEAM VR.</li>\n    <li><strong>FPFC Mode</strong>: Enables \"FPFC\" mode, allowing you to control the game without using a VR\n      headset.</li>\n    <li><strong>Debug Mode</strong>: Activates debugging mode, generating Windows log outputs for IPA.</li>\n  </ul>\n  <p>You also have the freedom to add your own custom launch arguments by inserting them into \"Advanced Launch\" and\n    separating them with a semicolon (;).</p>\n</div>\n\n<div align=\"center\">\n  <img src=\"https://github.com/Zagrios/bs-manager/assets/40648115/1244d49f-20e1-400c-9818-528f05cfadf5\" />\n</div>\n\n\n<!--\n    SHORTCUT CREATION\n----------------------------------------\n-->\n<div>\n  <h2>Shortcut Creation</h2>\n  <p>Create shortcuts to easily access your different versions of <a href=\"https://beatsaber.com/\">Beat Saber</a> with\n    <a href=\"https://github.com/Zagrios/bs-manager\">BSManager</a>. After selecting your\n    version, go to the version settings, click on \"Create a Shortcut\", and then select your launch options. Thus,\n    you can quickly and easily launch your preferred version of <a href=\"https://beatsaber.com/\">Beat Saber</a> with the\n    desired settings.</p>\n</div>\n\n<div align=\"center\">\n  <video src=\"https://github.com/Zagrios/bs-manager/assets/40648115/bfa1e97d-6392-4dec-a1fc-bb05048cf6d2\" />\n</div>\n\n\n<!--\n----------------------------------------\n    DOWNLOAD AND INSTALLATION\n----------------------------------------\n-->\n<div align=\"center\">\n  <hr>\n  <h1><b>Download and Installation</b></h1>\n</div>\n<div>\n  <p><a href=\"https://github.com/Zagrios/bs-manager\">BSManager</a> provides centralized and organized management of\n    beatmaps, mods, and models, integrating download features and sharing between <a href=\"https://beatsaber.com/\">Beat\n      Saber</a> versions.</p>\n</div>\n\n<!--\n    MAPS\n----------------------------------------\n-->\n<div>\n  <h2>Maps</h2>\n  <p><a href=\"https://github.com/Zagrios/bs-manager\">BSManager</a> integrates the <a href=\"https://beatsaver.com\">Beat\n      Saver</a> API to provide you with a comprehensive list of maps downloadable directly from its interface. Moreover,\n    the OneClick feature allows you to download maps with one click from various sources such as <a\n      href=\"https://beatsaver.com\">Beat Saver</a>, <a href=\"https://bsaber.com\">BeastSaber</a>, <a\n      href=\"https://scoresaber.com\">ScoreSaber</a>, and <a href=\"https://www.beatleader.xyz\">Beat Leader</a>. To add\n    maps, simply select the desired version or the \"shared\" tab, then click \"ADD\".</p>\n</div>\n\n<div align=\"center\">\n  <video src=\"https://github.com/Zagrios/bs-manager/assets/40648115/3f9f9968-ac55-465e-bc28-17aebfc787ea\"/>\n\n</div>\n\n<!--\n    PLAYLISTS\n----------------------------------------\n-->\n<div>\n  <h2>Playlists</h2>\n  <p>Although the playlist management interface is not yet developed, <a\n      href=\"https://github.com/Zagrios/bs-manager\">BSManager</a> offers a OneClick feature for playlists from <a\n      href=\"https://beatsaver.com\">Beat Saver</a>.</p>\n</div>\n\n<div align=\"center\">\n  <video src=\"https://github.com/Zagrios/bs-manager/assets/40648115/733fe6bb-c157-4c47-8a79-f8062380bcc8\" />\n</div>\n\n<!--\n    MODS\n----------------------------------------\n-->\n<div>\n  <h2>Mods</h2>\n  <p>Manage your mods easily with <a href=\"https://github.com/Zagrios/bs-manager\">BSManager</a>. After downloading a\n    version, navigate to the \"Mods\" tab of the selected version to manage and install mods. <a\n      href=\"https://github.com/Zagrios/bs-manager\">BSManager</a> operates similarly to Mod Assistant and offers the same\n    mods as this tool.</p>\n</div>\n\n<div align=\"center\">\n  <video src=\"https://github.com/Zagrios/bs-manager/assets/40648115/ca8f0727-b2dd-41f3-bbea-9bcaf61a89f1\"/>\n\n</div>\n\n<!--\n    MODELS\n----------------------------------------\n-->\n<div>\n  <h2>Models</h2>\n  <p>Add and manage models simply via the corresponding tab on the desired version or by going to the \"shared\" tab. The\n    <a href=\"https://modelsaber.com\">Model Saber</a> API is integrated to provide easy and direct access to models\n    available for <a href=\"https://beatsaber.com/\">Beat Saber</a>.</p>\n</div>\n\n<div align=\"center\">\n  <video src=\"https://github.com/Zagrios/bs-manager/assets/40648115/d983b34b-9f4c-4274-aee4-4c1c03dd90d0\"/>\n</div>\n\n\n<!--\n----------------------------------------\n    CUSTOMIZATION\n----------------------------------------\n-->\n<div align=\"center\">\n  <hr>\n  <h1><b>Customization</b></h1>\n</div>\n<div>\n  <p><a href=\"https://github.com/Zagrios/bs-manager\">BSManager</a> offers various options to customize both the tool\n    itself and your <a href=\"https://beatsaber.com/\">Beat Saber</a> instances, allowing you to create a user experience\n    that is uniquely yours.</p>\n</div>\n\n<!--\n    TOOL\n----------------------------------------\n-->\n<div>\n  <h2>Tool</h2>\n  <p>Adjust the appearance of <a href=\"https://github.com/Zagrios/bs-manager\">BSManager</a> to your preferences with a\n    variety of customization options available in the tool's settings:</p>\n  <ul>\n    <li><strong>Theme</strong>: Choose between a light or dark theme, or follow the system settings for seamless integration into your work environment.</li>\n    <li><strong>Color</strong>: Select your preferred primary and secondary colors using hexadecimal codes, allowing you\n      to customize the visual appearance of the tool to your liking.</li>\n  </ul>\n</div>\n\n<div align=\"center\"> \n  <video src = \"https://github.com/Zagrios/bs-manager/assets/40648115/d2c1b0ec-a2f5-41b5-99d5-c4c2cd34cbd4\" />\n</div>\n\n<!--\n    BEAT SABER INSTANCE\n----------------------------------------\n-->\n<div>\n  <h2>Beat Saber Instance</h2>\n  <p>For each <a href=\"https://beatsaber.com/\">Beat Saber</a> instance, <a\n      href=\"https://github.com/Zagrios/bs-manager\">BSManager</a> offers customization options accessible via the version\n    settings and by clicking on \"Edit\":</p>\n  <ul>\n    <li><strong>Name</strong>: Name your instances in a way that distinguishes and identifies them easily when switching\n      from one to another.</li>\n    <li><strong>Color</strong>: Customize the appearance of your instances by choosing a specific color for each of\n      them.</li>\n  </ul>\n</div>\n\n<div align=\"center\">\n  <video src=\"https://github.com/Zagrios/bs-manager/assets/40648115/f66a2c99-770e-42ca-9a71-b1806946ad0c\" />\n</div>\n\n\n<!--\n----------------------------------------\n    MORE INFORMATION\n----------------------------------------\n-->\n<div align=\"center\">\n  <hr>\n  <h1><b>More Information</b></h1>\n</div>\n<div>\n  <p><a href=\"https://github.com/Zagrios/bs-manager\">BSManager</a> has an active community and a support team ready to\n    assist you with any questions or issues you may encounter.</p>\n</div>\n\n<!--\n    SUPPORT\n----------------------------------------\n-->\n<div>\n  <h2>Support</h2>\n  <p>For quick and interactive support, it is recommended to join our <a href=\"https://discord.gg/uSqbHVpKdV\">Discord\n      server</a>. For bugs or more complex issues, you can also submit an <a href=\"https://github.com/Zagrios/bs-manager/issues\">issue on\n      GitHub</a>.</p>\n</div>\n\n\n<!--\n    CREDITS\n----------------------------------------\n-->\n<div>\n  <h2>Credits</h2>\n  <ul>\n    <li><a href=\"https://github.com/Zagrios\">Zagrios - Mathieu Gries</a> - Lead Developer & Founder.</li>\n    <li><a href=\"https://github.com/Iluhadesu\">Iluhadesu</a> - Co-Developer & Co-Founder, Discord Bot Developer.</li>\n    <li><a href=\"https://github.com/GaetanGrd\">GaetanGrd</a> - Co-Developer & Co-Founder, Documentation Lead.</li>\n    <li><a href=\"https://github.com/cheddZy\">cheddZy</a> - Icon Creator.</li>\n  </ul>\n</div>\n\n<!--\n    CONTRIBUTING\n----------------------------------------\n-->\n<div>\n  <h2>Contributing</h2>\n  <p>If you'd like to contribute, check out the <a\n      href=\"https://github.com/Zagrios/bs-manager/blob/master/CONTRIBUTING.md\">contributing guide</a>.</p>\n  <p>Thank you to all the people who already contributed to <a\n      href=\"https://github.com/Zagrios/bs-manager\">BSManager</a>!</p>\n  <div align=\"center\">\n    <a href=\"https://github.com/Zagrios/bs-manager/graphs/contributors\">\n      <img src=\"https://contrib.rocks/image?repo=Zagrios/bs-manager\" />\n    </a>\n  </div>\n</div>\n\n\n<!-- \n----------------------------------------\n    Others\n----------------------------------------\n-->\n<div align=\"right\">\n  [<a href=\"#readme-top\">Return to top</a>]\n  <hr>\n</div>\n\n<a name=\"readme-bot\"></a>\n","readmeFilename":"README.md"}