{"_id":"magalh","_rev":"22-42876c3427f8e3f06bddcd129dd3fe53","name":"magalh","dist-tags":{"latest":"1.0.21"},"versions":{"1.0.0":{"name":"magalh","version":"1.0.0","keywords":["media-server","streaming","magala","self-hosted"],"license":"ISC","_id":"magalh@1.0.0","maintainers":[{"name":"abu-sara","email":"walysky@gmail.com"}],"bin":{"mgl":"bin/mgl.js"},"dist":{"shasum":"d9364424695972d566bbb2c4dbd8f1954c9796a0","tarball":"https://registry.npmjs.org/magalh/-/magalh-1.0.0.tgz","fileCount":4,"integrity":"sha512-qBzTFC13nWybbOGBY95eGoNW0RYG10wdjYoJD6bAr6p2oQ7zA/LkAz8BBRZdQTZSb9rsHfaDTJwNHtIg64aXDg==","signatures":[{"sig":"MEUCIQCQj1/gEWHwwkiq9M3MDx4PrC+ISiXpbGpInKvibbeiYAIga/BPzQLk75qsfSlkGSaQZ9SzOhJQTzjCCYNGfgwMq2Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9095868},"gitHead":"36921db1a67eb0fc19b09d053e7af7cc13646b02","scripts":{"lint":"eslint .","start":"node pro.js","magala":"node pro.js","bundle:ui":"webpack --config webpack.ui.config.js","analyze:ui":"node -e \"process.env.ANALYZE='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:all":"npm run bundle:server && npm run bundle:ui && npm run bundle:css","bundle:css":"webpack --config webpack.css.config.js","analyze:all":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","lint:compat":"set BROWSERSLIST_ENV=production&& eslint \"rayan/hm/js/**/*.{js,mjs,cjs,jsx}\"","start:quiet":"set QUIET_CONSOLE=1&& node pro.js","start:bundle":"node os.js","bundle:server":"webpack --config webpack.server.config.js","bundle:ui:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js","bundle:ui:watch":"webpack --config webpack.ui.config.js --watch","analyze:ui:static":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","analyze:all:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","start:bundle:quiet":"set QUIET_CONSOLE=1&& node os.js","bundle:ui:obfuscate":"set OBFUSCATE=1&& webpack --config webpack.ui.config.js","analyze:all:nomangle":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.DISABLE_MANGLE='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll":"webpack --config webpack.ui.config.js --watch --watch-options-poll=1000","bundle:ui:watch:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch","analyze:ui:static:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch --watch-options-poll=1000"},"_npmUser":{"name":"abu-sara","email":"walysky@gmail.com"},"_npmVersion":"11.11.0","description":"Magala Media Server — self-hosted streaming and media management server","directories":{},"_nodeVersion":"25.8.0","browserslist":{"production":[">0.5%","last 3 versions","Firefox ESR","not dead","not ie 11","not op_mini all","chrome >= 80","firefox >= 78","safari >= 13","ios_saf >= 13","edge >= 80","android >= 8","samsung >= 12"],"development":["last 3 versions","safari >= 13","android >= 8"]},"dependencies":{"fs":"^0.0.1-security","os":"^0.1.2","dns":"^0.2.2","net":"^1.0.2","url":"^0.11.4","cors":"^2.8.6","http":"^0.0.1-security","path":"^0.12.7","util":"^0.12.5","axios":"^1.13.4","https":"^1.0.0","sharp":"^0.34.5","bcrypt":"^6.0.0","crypto":"^1.0.1","megajs":"^1.3.9","multer":"^2.0.2","stream":"^0.0.3","undici":"^7.20.0","adm-zip":"^0.5.16","cheerio":"^1.2.0","core-js":"^3.48.0","express":"^5.2.1","archiver":"^7.0.1","bcryptjs":"^3.0.3","fs-extra":"^11.3.3","punycode":"^2.3.1","unzipper":"^0.12.3","node-cron":"^4.2.1","compression":"^1.8.1","whatwg-fetch":"^3.6.20","child_process":"^1.0.2","express-session":"^1.19.0","stream-throttle":"^0.1.3","regenerator-runtime":"^0.14.1"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","globals":"^17.3.0","webpack":"^5.105.0","purgecss":"^8.0.0","@eslint/js":"^9.39.2","css-loader":"^7.1.4","playwright":"^1.58.2","@babel/core":"^7.29.0","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","style-loader":"^4.0.0","puppeteer-core":"^24.37.2","check-unused-css":"^0.2.7","@babel/preset-env":"^7.29.0","webpack-obfuscator":"^3.6.0","eslint-plugin-react":"^7.37.5","eslint-plugin-compat":"^6.1.0","javascript-obfuscator":"^5.3.0","terser-webpack-plugin":"^5.3.16","webpack-node-externals":"^3.0.0","mini-css-extract-plugin":"^2.10.0","webpack-bundle-analyzer":"^5.2.0","@fullhuman/postcss-purgecss":"^8.0.0","css-minimizer-webpack-plugin":"^7.0.4","webpack-remove-empty-scripts":"^1.1.1"},"_npmOperationalInternal":{"tmp":"tmp/magalh_1.0.0_1773094254112_0.848176564335059","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"magalh","version":"1.0.1","keywords":["media-server","streaming","magala","self-hosted"],"license":"ISC","_id":"magalh@1.0.1","maintainers":[{"name":"abu-sara","email":"walysky@gmail.com"}],"bin":{"magalh":"bin/mgl.js"},"dist":{"shasum":"ce41536cc45138fe81999cc4f9dd8cbffed499a7","tarball":"https://registry.npmjs.org/magalh/-/magalh-1.0.1.tgz","fileCount":4,"integrity":"sha512-cENMggSSB3eSFRt7j54TLFDaDmywHebAsfG4g1cjYODleLQCOkFSWW8sMititFxSk66UEtCHj6OgnoMEOBQU2w==","signatures":[{"sig":"MEQCIDvhjLNel4QMryo7N1imcIO1hUW5Bh64o9/zGadTgnRhAiBlSP5yK/QLvRO4DCvcvq2bQOK7hBf//dFeqsTFUm1B6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9095916},"gitHead":"36921db1a67eb0fc19b09d053e7af7cc13646b02","scripts":{"lint":"eslint .","start":"node pro.js","magala":"node pro.js","bundle:ui":"webpack --config webpack.ui.config.js","analyze:ui":"node -e \"process.env.ANALYZE='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:all":"npm run bundle:server && npm run bundle:ui && npm run bundle:css","bundle:css":"webpack --config webpack.css.config.js","analyze:all":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","lint:compat":"set BROWSERSLIST_ENV=production&& eslint \"rayan/hm/js/**/*.{js,mjs,cjs,jsx}\"","start:quiet":"set QUIET_CONSOLE=1&& node pro.js","start:bundle":"node os.js","bundle:server":"webpack --config webpack.server.config.js","bundle:ui:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js","bundle:ui:watch":"webpack --config webpack.ui.config.js --watch","analyze:ui:static":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","analyze:all:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","start:bundle:quiet":"set QUIET_CONSOLE=1&& node os.js","bundle:ui:obfuscate":"set OBFUSCATE=1&& webpack --config webpack.ui.config.js","analyze:all:nomangle":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.DISABLE_MANGLE='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll":"webpack --config webpack.ui.config.js --watch --watch-options-poll=1000","bundle:ui:watch:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch","analyze:ui:static:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch --watch-options-poll=1000"},"_npmUser":{"name":"abu-sara","email":"walysky@gmail.com"},"_npmVersion":"11.11.0","description":"Magala Media Server — self-hosted streaming and media management server","directories":{},"_nodeVersion":"25.8.0","browserslist":{"production":[">0.5%","last 3 versions","Firefox ESR","not dead","not ie 11","not op_mini all","chrome >= 80","firefox >= 78","safari >= 13","ios_saf >= 13","edge >= 80","android >= 8","samsung >= 12"],"development":["last 3 versions","safari >= 13","android >= 8"]},"dependencies":{"i":"^0.3.7","fs":"^0.0.1-security","os":"^0.1.2","dns":"^0.2.2","net":"^1.0.2","url":"^0.11.4","cors":"^2.8.6","http":"^0.0.1-security","path":"^0.12.7","util":"^0.12.5","axios":"^1.13.4","https":"^1.0.0","sharp":"^0.34.5","bcrypt":"^6.0.0","crypto":"^1.0.1","magalh":"^1.0.0","megajs":"^1.3.9","multer":"^2.0.2","stream":"^0.0.3","undici":"^7.20.0","adm-zip":"^0.5.16","cheerio":"^1.2.0","core-js":"^3.48.0","express":"^5.2.1","archiver":"^7.0.1","bcryptjs":"^3.0.3","fs-extra":"^11.3.3","punycode":"^2.3.1","unzipper":"^0.12.3","node-cron":"^4.2.1","compression":"^1.8.1","whatwg-fetch":"^3.6.20","child_process":"^1.0.2","express-session":"^1.19.0","stream-throttle":"^0.1.3","regenerator-runtime":"^0.14.1"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","globals":"^17.3.0","webpack":"^5.105.0","purgecss":"^8.0.0","@eslint/js":"^9.39.2","css-loader":"^7.1.4","playwright":"^1.58.2","@babel/core":"^7.29.0","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","style-loader":"^4.0.0","puppeteer-core":"^24.37.2","check-unused-css":"^0.2.7","@babel/preset-env":"^7.29.0","webpack-obfuscator":"^3.6.0","eslint-plugin-react":"^7.37.5","eslint-plugin-compat":"^6.1.0","javascript-obfuscator":"^5.3.0","terser-webpack-plugin":"^5.3.16","webpack-node-externals":"^3.0.0","mini-css-extract-plugin":"^2.10.0","webpack-bundle-analyzer":"^5.2.0","@fullhuman/postcss-purgecss":"^8.0.0","css-minimizer-webpack-plugin":"^7.0.4","webpack-remove-empty-scripts":"^1.1.1"},"_npmOperationalInternal":{"tmp":"tmp/magalh_1.0.1_1773094666753_0.32832648645138485","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"magalh","version":"1.0.2","keywords":["media-server","streaming","magala","self-hosted"],"license":"ISC","_id":"magalh@1.0.2","maintainers":[{"name":"abu-sara","email":"walysky@gmail.com"}],"bin":{"magalh":"bin/mgl.js"},"dist":{"shasum":"4189ef2585b66c40ff6712c24682b2bb04051132","tarball":"https://registry.npmjs.org/magalh/-/magalh-1.0.2.tgz","fileCount":4,"integrity":"sha512-Piqfe3GgdBz0stykkDmYfHZKm26AncbHFKbj1mmTKZan0RwwsPIJ2p3Ed4ah4XE4JQaS2EwLBx6nH5zsBioZOg==","signatures":[{"sig":"MEUCIGQciNWLpGWK50lebtcQZaNLdME5G4XKlBDzcxqTIwzIAiEAiyTYUe76IsoSqaEqLstlm4BU9QVFH8AjvvCg2WwC770=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1032283},"gitHead":"36921db1a67eb0fc19b09d053e7af7cc13646b02","scripts":{"lint":"eslint .","start":"node pro.js","magala":"node pro.js","bundle:ui":"webpack --config webpack.ui.config.js","analyze:ui":"node -e \"process.env.ANALYZE='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:all":"npm run bundle:server && npm run bundle:ui && npm run bundle:css","bundle:css":"webpack --config webpack.css.config.js","analyze:all":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","lint:compat":"set BROWSERSLIST_ENV=production&& eslint \"rayan/hm/js/**/*.{js,mjs,cjs,jsx}\"","start:quiet":"set QUIET_CONSOLE=1&& node pro.js","start:bundle":"node os.js","bundle:server":"webpack --config webpack.server.config.js","bundle:ui:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js","bundle:ui:watch":"webpack --config webpack.ui.config.js --watch","analyze:ui:static":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","analyze:all:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","start:bundle:quiet":"set QUIET_CONSOLE=1&& node os.js","bundle:ui:obfuscate":"set OBFUSCATE=1&& webpack --config webpack.ui.config.js","analyze:all:nomangle":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.DISABLE_MANGLE='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll":"webpack --config webpack.ui.config.js --watch --watch-options-poll=1000","bundle:ui:watch:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch","analyze:ui:static:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch --watch-options-poll=1000"},"_npmUser":{"name":"abu-sara","email":"walysky@gmail.com"},"_npmVersion":"11.11.0","description":"Magala Media Server — self-hosted streaming and media management server","directories":{},"_nodeVersion":"25.8.0","browserslist":{"production":[">0.5%","last 3 versions","Firefox ESR","not dead","not ie 11","not op_mini all","chrome >= 80","firefox >= 78","safari >= 13","ios_saf >= 13","edge >= 80","android >= 8","samsung >= 12"],"development":["last 3 versions","safari >= 13","android >= 8"]},"dependencies":{"cors":"^2.8.6","axios":"^1.13.4","sharp":"^0.34.5","bcrypt":"^6.0.0","megajs":"^1.3.9","multer":"^2.0.2","undici":"^7.20.0","adm-zip":"^0.5.16","cheerio":"^1.2.0","core-js":"^3.48.0","express":"^5.2.1","archiver":"^7.0.1","bcryptjs":"^3.0.3","fs-extra":"^11.3.3","punycode":"^2.3.1","unzipper":"^0.12.3","node-cron":"^4.2.1","compression":"^1.8.1","whatwg-fetch":"^3.6.20","express-session":"^1.19.0","stream-throttle":"^0.1.3","regenerator-runtime":"^0.14.1"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","globals":"^17.3.0","webpack":"^5.105.0","purgecss":"^8.0.0","@eslint/js":"^9.39.2","css-loader":"^7.1.4","playwright":"^1.58.2","@babel/core":"^7.29.0","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","style-loader":"^4.0.0","puppeteer-core":"^24.37.2","check-unused-css":"^0.2.7","@babel/preset-env":"^7.29.0","webpack-obfuscator":"^3.6.0","eslint-plugin-react":"^7.37.5","eslint-plugin-compat":"^6.1.0","javascript-obfuscator":"^5.3.0","terser-webpack-plugin":"^5.3.16","webpack-node-externals":"^3.0.0","mini-css-extract-plugin":"^2.10.0","webpack-bundle-analyzer":"^5.2.0","@fullhuman/postcss-purgecss":"^8.0.0","css-minimizer-webpack-plugin":"^8.0.0","webpack-remove-empty-scripts":"^1.1.1"},"_npmOperationalInternal":{"tmp":"tmp/magalh_1.0.2_1773096414167_0.5822363158634019","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"magalh","version":"1.0.3","keywords":["media-server","streaming","magala","self-hosted"],"license":"ISC","_id":"magalh@1.0.3","maintainers":[{"name":"abu-sara","email":"walysky@gmail.com"}],"bin":{"magalh":"bin/mgl.js"},"dist":{"shasum":"4d79e456a3d62c2b9b9a65afa26f014346b2ed43","tarball":"https://registry.npmjs.org/magalh/-/magalh-1.0.3.tgz","fileCount":4,"integrity":"sha512-zMT18SwNBTo7D2c7oOrQigCofCayvViCUXVUYohbCkcM4RqiiWaibI5HTok7X+uQpSargkcBoSIFDWkpA+qTwA==","signatures":[{"sig":"MEQCIG/jbAZTn5iEGaOoB4XipU7WNwSF+0SpZyqlX072+MQfAiBJcYBKm2nznGtUitqF0a80ILLyEc6ElT4JnYRFM4fIow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9849339},"gitHead":"36921db1a67eb0fc19b09d053e7af7cc13646b02","scripts":{"lint":"eslint .","start":"node pro.js","magala":"node pro.js","prepack":"node scripts/prepack.js","postpack":"node scripts/postpack.js","bundle:ui":"webpack --config webpack.ui.config.js","analyze:ui":"node -e \"process.env.ANALYZE='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:all":"npm run bundle:server && npm run bundle:ui && npm run bundle:css","bundle:css":"webpack --config webpack.css.config.js","analyze:all":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","lint:compat":"set BROWSERSLIST_ENV=production&& eslint \"rayan/hm/js/**/*.{js,mjs,cjs,jsx}\"","start:quiet":"set QUIET_CONSOLE=1&& node pro.js","start:bundle":"node os.js","bundle:server":"webpack --config webpack.server.config.js","prepublishOnly":"npm version patch --no-git-tag-version","bundle:ui:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js","bundle:ui:watch":"webpack --config webpack.ui.config.js --watch","analyze:ui:static":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","analyze:all:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","start:bundle:quiet":"set QUIET_CONSOLE=1&& node os.js","bundle:ui:obfuscate":"set OBFUSCATE=1&& webpack --config webpack.ui.config.js","analyze:all:nomangle":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.DISABLE_MANGLE='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll":"webpack --config webpack.ui.config.js --watch --watch-options-poll=1000","bundle:ui:watch:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch","bundle:server:obfuscate":"webpack --config webpack.server.config.js && javascript-obfuscator msh.js --output msh.js --compact true --control-flow-flattening true --control-flow-flattening-threshold 0.6 --dead-code-injection true --dead-code-injection-threshold 0.25 --identifier-names-generator hexadecimal --identifiers-prefix _0x --numbers-to-expressions true --rename-globals false --string-array-rotate true --self-defending false --string-array-shuffle true --split-strings true --split-strings-chunk-length 8 --string-array true --string-array-calls-transform true --string-array-calls-transform-threshold 1 --string-array-encoding rc4 --string-array-indexes-type hexadecimal-number --string-array-threshold 1 --string-array-wrappers-count 2 --string-array-wrappers-chained-calls true --string-array-wrappers-parameters-max-count 3 --string-array-wrappers-type function --transform-object-keys true --unicode-escape-sequence true --target node","analyze:ui:static:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch --watch-options-poll=1000"},"_npmUser":{"name":"abu-sara","email":"walysky@gmail.com"},"_npmVersion":"11.11.0","description":"Magala Media Server — self-hosted streaming and media management server","directories":{},"_nodeVersion":"25.8.0","browserslist":{"production":[">0.5%","last 3 versions","Firefox ESR","not dead","not ie 11","not op_mini all","chrome >= 80","firefox >= 78","safari >= 13","ios_saf >= 13","edge >= 80","android >= 8","samsung >= 12"],"development":["last 3 versions","safari >= 13","android >= 8"]},"dependencies":{"cors":"^2.8.6","axios":"^1.13.4","sharp":"^0.34.5","bcrypt":"^6.0.0","megajs":"^1.3.9","multer":"^2.0.2","undici":"^7.20.0","adm-zip":"^0.5.16","cheerio":"^1.2.0","core-js":"^3.48.0","express":"^5.2.1","archiver":"^7.0.1","bcryptjs":"^3.0.3","fs-extra":"^11.3.3","punycode":"^2.3.1","unzipper":"^0.12.3","node-cron":"^4.2.1","compression":"^1.8.1","whatwg-fetch":"^3.6.20","express-session":"^1.19.0","stream-throttle":"^0.1.3","regenerator-runtime":"^0.14.1"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","globals":"^17.3.0","webpack":"^5.105.0","purgecss":"^8.0.0","@eslint/js":"^9.39.2","css-loader":"^7.1.4","playwright":"^1.58.2","@babel/core":"^7.29.0","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","style-loader":"^4.0.0","puppeteer-core":"^24.37.2","check-unused-css":"^0.2.7","@babel/preset-env":"^7.29.0","webpack-obfuscator":"^3.6.0","eslint-plugin-react":"^7.37.5","eslint-plugin-compat":"^6.1.0","javascript-obfuscator":"^5.3.0","terser-webpack-plugin":"^5.3.16","webpack-node-externals":"^3.0.0","mini-css-extract-plugin":"^2.10.0","webpack-bundle-analyzer":"^5.2.0","@fullhuman/postcss-purgecss":"^8.0.0","css-minimizer-webpack-plugin":"^8.0.0","webpack-remove-empty-scripts":"^1.1.1"},"_npmOperationalInternal":{"tmp":"tmp/magalh_1.0.3_1773097776878_0.06297337066617681","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"magalh","version":"1.0.4","keywords":["media-server","streaming","magala","self-hosted"],"license":"ISC","_id":"magalh@1.0.4","maintainers":[{"name":"abu-sara","email":"walysky@gmail.com"}],"bin":{"magalh":"bin/mgl.js"},"dist":{"shasum":"20fc19dc86a67c4f1ba184a87cbba96934da7353","tarball":"https://registry.npmjs.org/magalh/-/magalh-1.0.4.tgz","fileCount":4,"integrity":"sha512-aynRWfb3lH3yxDh0w8gUoPi4WFzxcOJfVwOOc+uk/H3Ik2wvP4J5KKqqT8tFMBLkkliS6Xoy5uU6jthdoZatFg==","signatures":[{"sig":"MEUCIQCIa7wID6PQ9EDDTHfuVXfPuSy5SvY8P1vtJ1IFVOm8KQIgHTjgOIhrdK+p8Qlq6J9gy7zVuWyPmEoKxwEve0s7Fk0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9932138},"gitHead":"d1c5d84ba17b3f738815ab6df39aab233cbabe58","scripts":{"lint":"eslint .","start":"node pro.js","magala":"node pro.js","css:all":"npm run css:lint:json && node scripts/generate-tools-report.mjs && node scripts/purge-report.mjs && node scripts/deep-css-report.mjs","prepack":"node scripts/prepack.js","css:lint":"stylelint \"rayan/hm/css/**/*.css\" --formatter verbose","postpack":"node scripts/postpack.js","tw:build":"npx @tailwindcss/cli -i tailwind-main.css -o rayan/hm/css/tailwind.css --minify","tw:watch":"npx @tailwindcss/cli -i tailwind-main.css -o rayan/hm/css/tailwind.css --watch","audit:all":"npm run audit:lint && npm run audit:dupes && npm run audit:unused","bundle:ui":"webpack --config webpack.ui.config.js","css:dupes":"node scripts/css-dupes.mjs","css:purge":"node scripts/purge-report.mjs","uno:build":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs","uno:watch":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs --watch","analyze:ui":"node -e \"process.env.ANALYZE='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","audit:lint":"eslint rayan/hm/js/v --max-warnings 9999","bundle:all":"npm run bundle:server && npm run bundle:ui && npm run bundle:css","bundle:css":"webpack --config webpack.css.config.js","css:report":"npm run css:lint:json && node scripts/generate-tools-report.mjs","analyze:all":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","audit:dupes":"jscpd","css:analyze":"node scripts/deep-css-report.mjs","lint:compat":"set BROWSERSLIST_ENV=production&& eslint \"rayan/hm/js/**/*.{js,mjs,cjs,jsx}\"","postinstall":"node bin/mgl.js --install-service","start:quiet":"set QUIET_CONSOLE=1&& node pro.js","audit:unused":"knip --reporter compact","build:update":"node scripts/build-update.js","css:generate":"node scripts/generate-css.mjs","css:lint:fix":"stylelint \"rayan/hm/css/**/*.css\" --fix","start:bundle":"node os.js","tw:build:all":"npm run tw:build && npm run tw:build:admin","bundle:server":"webpack --config webpack.server.config.js","css:lint:json":"stylelint \"rayan/hm/css/**/*.css\" --formatter json --output-file purged/stylelint-report.json --allow-empty-input","deploy:update":"npm run build:update && npm run upload:update","uno:build:min":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs --minify","upload:update":"node scripts/upload-update.js","prepublishOnly":"npm version patch --no-git-tag-version","tw:build:admin":"npx @tailwindcss/cli -i tailwind-admin.css -o rayan/hm/css/adminCss/tailwind-admin.css --minify","tw:watch:admin":"npx @tailwindcss/cli -i tailwind-admin.css -o rayan/hm/css/adminCss/tailwind-admin.css --watch","bundle:ui:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js","bundle:ui:watch":"webpack --config webpack.ui.config.js --watch","analyze:ui:static":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","analyze:all:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","start:bundle:quiet":"set QUIET_CONSOLE=1&& node os.js","analyze:bundle:full":"npm run analyze:all && npm run analyze:bundle:gaps","analyze:bundle:gaps":"node scripts/check-bundle-gaps.mjs","bundle:ui:obfuscate":"set OBFUSCATE=1&& webpack --config webpack.ui.config.js","analyze:all:nomangle":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.DISABLE_MANGLE='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll":"webpack --config webpack.ui.config.js --watch --watch-options-poll=1000","bundle:ui:watch:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch","bundle:server:obfuscate":"webpack --config webpack.server.config.js && javascript-obfuscator msh.js --output msh.js --compact true --control-flow-flattening true --control-flow-flattening-threshold 0.6 --dead-code-injection true --dead-code-injection-threshold 0.25 --identifier-names-generator hexadecimal --identifiers-prefix _0x --numbers-to-expressions true --rename-globals false --string-array-rotate true --self-defending false --string-array-shuffle true --split-strings true --split-strings-chunk-length 8 --string-array true --string-array-calls-transform true --string-array-calls-transform-threshold 1 --string-array-encoding rc4 --string-array-indexes-type hexadecimal-number --string-array-threshold 1 --string-array-wrappers-count 2 --string-array-wrappers-chained-calls true --string-array-wrappers-parameters-max-count 3 --string-array-wrappers-type function --transform-object-keys true --unicode-escape-sequence true --target node","analyze:ui:static:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch --watch-options-poll=1000"},"_npmUser":{"name":"abu-sara","email":"walysky@gmail.com"},"_npmVersion":"11.11.0","description":"Magala Media Server — self-hosted streaming and media management server","directories":{},"_nodeVersion":"25.8.0","browserslist":{"production":[">0.5%","last 3 versions","Firefox ESR","not dead","not ie 11","not op_mini all","chrome >= 80","firefox >= 78","safari >= 13","ios_saf >= 13","edge >= 80","android >= 8","samsung >= 12"],"development":["last 3 versions","safari >= 13","android >= 8"]},"dependencies":{"cors":"^2.8.6","axios":"^1.13.4","sharp":"^0.34.5","bcrypt":"^6.0.0","megajs":"^1.3.9","multer":"^2.0.2","undici":"^7.20.0","adm-zip":"^0.5.16","cheerio":"^1.2.0","core-js":"^3.48.0","express":"^5.2.1","archiver":"^7.0.1","bcryptjs":"^3.0.3","fs-extra":"^11.3.3","punycode":"^2.3.1","unzipper":"^0.12.3","node-cron":"^4.2.1","compression":"^1.8.1","whatwg-fetch":"^3.6.20","express-session":"^1.19.0","stream-throttle":"^0.1.3","regenerator-runtime":"^0.14.1"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"glob":"^11.0.0","knip":"^5.86.0","jscpd":"^4.0.8","eslint":"^9.39.2","unocss":"^66.6.6","esbuild":"^0.25.0","globals":"^17.3.0","postcss":"^8.0.0","webpack":"^5.105.0","purgecss":"^8.0.0","stylelint":"^17.4.0","@eslint/js":"^9.39.2","css-loader":"^7.1.4","playwright":"^1.58.2","@babel/core":"^7.29.0","@unocss/cli":"^66.6.6","jscodeshift":"^17.3.0","tailwindcss":"^4.2.1","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","style-loader":"^4.0.0","puppeteer-core":"^24.37.2","stylelint-order":"^8.0.0","@tailwindcss/cli":"^4.2.1","check-unused-css":"^0.2.7","@babel/preset-env":"^7.29.0","@aws-sdk/client-s3":"^3.1005.0","webpack-obfuscator":"^3.6.0","@unocss/preset-mini":"^66.6.6","@unocss/preset-wind":"^66.6.6","eslint-plugin-react":"^7.37.5","@unocss/preset-icons":"^66.6.6","eslint-plugin-compat":"^6.1.0","javascript-obfuscator":"^5.3.0","terser-webpack-plugin":"^5.3.16","webpack-node-externals":"^3.0.0","mini-css-extract-plugin":"^2.10.0","webpack-bundle-analyzer":"^5.2.0","@unocss/preset-typography":"^66.6.6","stylelint-config-standard":"^40.0.0","stylelint-formatter-pretty":"^4.0.1","@fullhuman/postcss-purgecss":"^8.0.0","@projectwallace/css-analyzer":"^9.3.0","css-minimizer-webpack-plugin":"^8.0.0","webpack-remove-empty-scripts":"^1.1.1"},"_npmOperationalInternal":{"tmp":"tmp/magalh_1.0.4_1774652251321_0.29795160956796507","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"magalh","version":"1.0.5","keywords":["media-server","streaming","magala","self-hosted"],"license":"ISC","_id":"magalh@1.0.5","maintainers":[{"name":"abu-sara","email":"walysky@gmail.com"}],"bin":{"magalh":"bin/mgl.js"},"dist":{"shasum":"08cf782ce20b18503f490bba1ac9ba4270816aa3","tarball":"https://registry.npmjs.org/magalh/-/magalh-1.0.5.tgz","fileCount":4,"integrity":"sha512-LaKN3qjKIKW4Vxn6fvS50g+/NAqJMInu8aLV3PI5udh+c6k6KdlS7nhcZyxxo5qpZ6T+aXhpmskHOred7FBRlA==","signatures":[{"sig":"MEUCIE1fkqNwh/bK6OtOlCym6CuusfTnihNqAcLxFGYpjJxxAiEAxuGjWHaGsWqXjeWqbTQo6kAxLKvYL3orWeFp2+oLBnA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9932175},"gitHead":"d1c5d84ba17b3f738815ab6df39aab233cbabe58","scripts":{"lint":"eslint .","start":"node pro.js","magala":"node pro.js","css:all":"npm run css:lint:json && node scripts/generate-tools-report.mjs && node scripts/purge-report.mjs && node scripts/deep-css-report.mjs","prepack":"node scripts/prepack.js","css:lint":"stylelint \"rayan/hm/css/**/*.css\" --formatter verbose","postpack":"node scripts/postpack.js","tw:build":"npx @tailwindcss/cli -i tailwind-main.css -o rayan/hm/css/tailwind.css --minify","tw:watch":"npx @tailwindcss/cli -i tailwind-main.css -o rayan/hm/css/tailwind.css --watch","audit:all":"npm run audit:lint && npm run audit:dupes && npm run audit:unused","bundle:ui":"webpack --config webpack.ui.config.js","css:dupes":"node scripts/css-dupes.mjs","css:purge":"node scripts/purge-report.mjs","uno:build":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs","uno:watch":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs --watch","analyze:ui":"node -e \"process.env.ANALYZE='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","audit:lint":"eslint rayan/hm/js/v --max-warnings 9999","bundle:all":"npm run bundle:server && npm run bundle:ui && npm run bundle:css","bundle:css":"webpack --config webpack.css.config.js","css:report":"npm run css:lint:json && node scripts/generate-tools-report.mjs","analyze:all":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","audit:dupes":"jscpd","css:analyze":"node scripts/deep-css-report.mjs","lint:compat":"set BROWSERSLIST_ENV=production&& eslint \"rayan/hm/js/**/*.{js,mjs,cjs,jsx}\"","postinstall":"node bin/mgl.js --install-service","start:quiet":"set QUIET_CONSOLE=1&& node pro.js","audit:unused":"knip --reporter compact","build:update":"node scripts/build-update.js","css:generate":"node scripts/generate-css.mjs","css:lint:fix":"stylelint \"rayan/hm/css/**/*.css\" --fix","start:bundle":"node os.js","tw:build:all":"npm run tw:build && npm run tw:build:admin","bundle:server":"webpack --config webpack.server.config.js","css:lint:json":"stylelint \"rayan/hm/css/**/*.css\" --formatter json --output-file purged/stylelint-report.json --allow-empty-input","deploy:update":"npm run build:update && npm run upload:update","uno:build:min":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs --minify","upload:update":"node scripts/upload-update.js","prepublishOnly":"npm version patch --no-git-tag-version","tw:build:admin":"npx @tailwindcss/cli -i tailwind-admin.css -o rayan/hm/css/adminCss/tailwind-admin.css --minify","tw:watch:admin":"npx @tailwindcss/cli -i tailwind-admin.css -o rayan/hm/css/adminCss/tailwind-admin.css --watch","bundle:ui:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js","bundle:ui:watch":"webpack --config webpack.ui.config.js --watch","analyze:ui:static":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","analyze:all:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","start:bundle:quiet":"set QUIET_CONSOLE=1&& node os.js","analyze:bundle:full":"npm run analyze:all && npm run analyze:bundle:gaps","analyze:bundle:gaps":"node scripts/check-bundle-gaps.mjs","bundle:ui:obfuscate":"set OBFUSCATE=1&& webpack --config webpack.ui.config.js","analyze:all:nomangle":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.DISABLE_MANGLE='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll":"webpack --config webpack.ui.config.js --watch --watch-options-poll=1000","bundle:ui:watch:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch","bundle:server:obfuscate":"webpack --config webpack.server.config.js && javascript-obfuscator msh.js --output msh.js --compact true --control-flow-flattening true --control-flow-flattening-threshold 0.6 --dead-code-injection true --dead-code-injection-threshold 0.25 --identifier-names-generator hexadecimal --identifiers-prefix _0x --numbers-to-expressions true --rename-globals false --string-array-rotate true --self-defending false --string-array-shuffle true --split-strings true --split-strings-chunk-length 8 --string-array true --string-array-calls-transform true --string-array-calls-transform-threshold 1 --string-array-encoding rc4 --string-array-indexes-type hexadecimal-number --string-array-threshold 1 --string-array-wrappers-count 2 --string-array-wrappers-chained-calls true --string-array-wrappers-parameters-max-count 3 --string-array-wrappers-type function --transform-object-keys true --unicode-escape-sequence true --target node","analyze:ui:static:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch --watch-options-poll=1000"},"_npmUser":{"name":"abu-sara","email":"walysky@gmail.com"},"_npmVersion":"11.11.0","description":"Magala Media Server — self-hosted streaming and media management server","directories":{},"_nodeVersion":"25.8.0","browserslist":{"production":[">0.5%","last 3 versions","Firefox ESR","not dead","not ie 11","not op_mini all","chrome >= 80","firefox >= 78","safari >= 13","ios_saf >= 13","edge >= 80","android >= 8","samsung >= 12"],"development":["last 3 versions","safari >= 13","android >= 8"]},"dependencies":{"cors":"^2.8.6","axios":"^1.13.4","sharp":"^0.34.5","bcrypt":"^6.0.0","megajs":"^1.3.9","multer":"^2.0.2","undici":"^7.20.0","adm-zip":"^0.5.16","cheerio":"^1.2.0","core-js":"^3.48.0","express":"^5.2.1","archiver":"^7.0.1","bcryptjs":"^3.0.3","fs-extra":"^11.3.3","punycode":"^2.3.1","unzipper":"^0.12.3","node-cron":"^4.2.1","compression":"^1.8.1","whatwg-fetch":"^3.6.20","express-session":"^1.19.0","stream-throttle":"^0.1.3","regenerator-runtime":"^0.14.1"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"glob":"^11.0.0","knip":"^5.86.0","jscpd":"^4.0.8","eslint":"^9.39.2","unocss":"^66.6.6","esbuild":"^0.25.0","globals":"^17.3.0","postcss":"^8.0.0","webpack":"^5.105.0","purgecss":"^8.0.0","stylelint":"^17.4.0","@eslint/js":"^9.39.2","css-loader":"^7.1.4","playwright":"^1.58.2","@babel/core":"^7.29.0","@unocss/cli":"^66.6.6","jscodeshift":"^17.3.0","tailwindcss":"^4.2.1","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","style-loader":"^4.0.0","puppeteer-core":"^24.37.2","stylelint-order":"^8.0.0","@tailwindcss/cli":"^4.2.1","check-unused-css":"^0.2.7","@babel/preset-env":"^7.29.0","@aws-sdk/client-s3":"^3.1005.0","webpack-obfuscator":"^3.6.0","@unocss/preset-mini":"^66.6.6","@unocss/preset-wind":"^66.6.6","eslint-plugin-react":"^7.37.5","@unocss/preset-icons":"^66.6.6","eslint-plugin-compat":"^6.1.0","javascript-obfuscator":"^5.3.0","terser-webpack-plugin":"^5.3.16","webpack-node-externals":"^3.0.0","mini-css-extract-plugin":"^2.10.0","webpack-bundle-analyzer":"^5.2.0","@unocss/preset-typography":"^66.6.6","stylelint-config-standard":"^40.0.0","stylelint-formatter-pretty":"^4.0.1","@fullhuman/postcss-purgecss":"^8.0.0","@projectwallace/css-analyzer":"^9.3.0","css-minimizer-webpack-plugin":"^8.0.0","webpack-remove-empty-scripts":"^1.1.1"},"_npmOperationalInternal":{"tmp":"tmp/magalh_1.0.5_1774652953787_0.05118759386509297","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"magalh","version":"1.0.6","keywords":["media-server","streaming","magala","self-hosted"],"license":"ISC","_id":"magalh@1.0.6","maintainers":[{"name":"abu-sara","email":"walysky@gmail.com"}],"bin":{"magalh":"bin/mgl.js"},"dist":{"shasum":"892b79701ca467160a8ce87470df4d0df72be049","tarball":"https://registry.npmjs.org/magalh/-/magalh-1.0.6.tgz","fileCount":4,"integrity":"sha512-QtzB2ITgeGBZyd3SXBM5BZnf/YEsPQtr8LuZZdDADBLyS3LHJY5Fp6ptoLQOfJh04QJGhgKVzamqxU5mvJUtJQ==","signatures":[{"sig":"MEQCIFNp74qRfrfgc84qhD12+qeWcBJryCl7tbb9txUkUtkFAiAl71H+kEGvq+RG6+69w3pgewVfikRKq/MY1SAJexjPeQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9932231},"gitHead":"d1c5d84ba17b3f738815ab6df39aab233cbabe58","scripts":{"lint":"eslint .","start":"node pro.js","magala":"node pro.js","css:all":"npm run css:lint:json && node scripts/generate-tools-report.mjs && node scripts/purge-report.mjs && node scripts/deep-css-report.mjs","prepack":"node scripts/prepack.js","css:lint":"stylelint \"rayan/hm/css/**/*.css\" --formatter verbose","postpack":"node scripts/postpack.js","tw:build":"npx @tailwindcss/cli -i tailwind-main.css -o rayan/hm/css/tailwind.css --minify","tw:watch":"npx @tailwindcss/cli -i tailwind-main.css -o rayan/hm/css/tailwind.css --watch","audit:all":"npm run audit:lint && npm run audit:dupes && npm run audit:unused","bundle:ui":"webpack --config webpack.ui.config.js","css:dupes":"node scripts/css-dupes.mjs","css:purge":"node scripts/purge-report.mjs","uno:build":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs","uno:watch":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs --watch","analyze:ui":"node -e \"process.env.ANALYZE='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","audit:lint":"eslint rayan/hm/js/v --max-warnings 9999","bundle:all":"npm run bundle:server && npm run bundle:ui && npm run bundle:css","bundle:css":"webpack --config webpack.css.config.js","css:report":"npm run css:lint:json && node scripts/generate-tools-report.mjs","analyze:all":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","audit:dupes":"jscpd","css:analyze":"node scripts/deep-css-report.mjs","lint:compat":"set BROWSERSLIST_ENV=production&& eslint \"rayan/hm/js/**/*.{js,mjs,cjs,jsx}\"","postinstall":"node bin/mgl.js --install-service","start:quiet":"set QUIET_CONSOLE=1&& node pro.js","audit:unused":"knip --reporter compact","build:update":"node scripts/build-update.js","css:generate":"node scripts/generate-css.mjs","css:lint:fix":"stylelint \"rayan/hm/css/**/*.css\" --fix","start:bundle":"node os.js","tw:build:all":"npm run tw:build && npm run tw:build:admin","bundle:server":"webpack --config webpack.server.config.js","css:lint:json":"stylelint \"rayan/hm/css/**/*.css\" --formatter json --output-file purged/stylelint-report.json --allow-empty-input","deploy:update":"npm run build:update && npm run upload:update","uno:build:min":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs --minify","upload:update":"node scripts/upload-update.js","prepublishOnly":"npm version patch --no-git-tag-version","tw:build:admin":"npx @tailwindcss/cli -i tailwind-admin.css -o rayan/hm/css/adminCss/tailwind-admin.css --minify","tw:watch:admin":"npx @tailwindcss/cli -i tailwind-admin.css -o rayan/hm/css/adminCss/tailwind-admin.css --watch","bundle:ui:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js","bundle:ui:watch":"webpack --config webpack.ui.config.js --watch","analyze:ui:static":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","analyze:all:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","start:bundle:quiet":"set QUIET_CONSOLE=1&& node os.js","analyze:bundle:full":"npm run analyze:all && npm run analyze:bundle:gaps","analyze:bundle:gaps":"node scripts/check-bundle-gaps.mjs","bundle:ui:obfuscate":"set OBFUSCATE=1&& webpack --config webpack.ui.config.js","analyze:all:nomangle":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.DISABLE_MANGLE='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll":"webpack --config webpack.ui.config.js --watch --watch-options-poll=1000","bundle:ui:watch:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch","bundle:server:obfuscate":"webpack --config webpack.server.config.js && javascript-obfuscator msh.js --output msh.js --compact true --control-flow-flattening true --control-flow-flattening-threshold 0.6 --dead-code-injection true --dead-code-injection-threshold 0.25 --identifier-names-generator hexadecimal --identifiers-prefix _0x --numbers-to-expressions true --rename-globals false --string-array-rotate true --self-defending false --string-array-shuffle true --split-strings true --split-strings-chunk-length 8 --string-array true --string-array-calls-transform true --string-array-calls-transform-threshold 1 --string-array-encoding rc4 --string-array-indexes-type hexadecimal-number --string-array-threshold 1 --string-array-wrappers-count 2 --string-array-wrappers-chained-calls true --string-array-wrappers-parameters-max-count 3 --string-array-wrappers-type function --transform-object-keys true --unicode-escape-sequence true --target node","analyze:ui:static:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch --watch-options-poll=1000"},"_npmUser":{"name":"abu-sara","email":"walysky@gmail.com"},"_npmVersion":"11.11.0","description":"Magala Media Server — self-hosted streaming and media management server","directories":{},"_nodeVersion":"25.8.0","browserslist":{"production":[">0.5%","last 3 versions","Firefox ESR","not dead","not ie 11","not op_mini all","chrome >= 80","firefox >= 78","safari >= 13","ios_saf >= 13","edge >= 80","android >= 8","samsung >= 12"],"development":["last 3 versions","safari >= 13","android >= 8"]},"dependencies":{"cors":"^2.8.6","axios":"^1.13.4","sharp":"^0.34.5","bcrypt":"^6.0.0","megajs":"^1.3.9","multer":"^2.0.2","undici":"^7.20.0","adm-zip":"^0.5.16","cheerio":"^1.2.0","core-js":"^3.48.0","express":"^5.2.1","archiver":"^7.0.1","bcryptjs":"^3.0.3","fs-extra":"^11.3.3","punycode":"^2.3.1","unzipper":"^0.12.3","node-cron":"^4.2.1","compression":"^1.8.1","whatwg-fetch":"^3.6.20","express-session":"^1.19.0","stream-throttle":"^0.1.3","regenerator-runtime":"^0.14.1"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"glob":"^11.0.0","knip":"^5.86.0","jscpd":"^4.0.8","eslint":"^9.39.2","unocss":"^66.6.6","esbuild":"^0.25.0","globals":"^17.3.0","postcss":"^8.0.0","webpack":"^5.105.0","purgecss":"^8.0.0","stylelint":"^17.4.0","@eslint/js":"^9.39.2","css-loader":"^7.1.4","playwright":"^1.58.2","@babel/core":"^7.29.0","@unocss/cli":"^66.6.6","jscodeshift":"^17.3.0","tailwindcss":"^4.2.1","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","style-loader":"^4.0.0","puppeteer-core":"^24.37.2","stylelint-order":"^8.0.0","@tailwindcss/cli":"^4.2.1","check-unused-css":"^0.2.7","@babel/preset-env":"^7.29.0","@aws-sdk/client-s3":"^3.1005.0","webpack-obfuscator":"^3.6.0","@unocss/preset-mini":"^66.6.6","@unocss/preset-wind":"^66.6.6","eslint-plugin-react":"^7.37.5","@unocss/preset-icons":"^66.6.6","eslint-plugin-compat":"^6.1.0","javascript-obfuscator":"^5.3.0","terser-webpack-plugin":"^5.3.16","webpack-node-externals":"^3.0.0","mini-css-extract-plugin":"^2.10.0","webpack-bundle-analyzer":"^5.2.0","@unocss/preset-typography":"^66.6.6","stylelint-config-standard":"^40.0.0","stylelint-formatter-pretty":"^4.0.1","@fullhuman/postcss-purgecss":"^8.0.0","@projectwallace/css-analyzer":"^9.3.0","css-minimizer-webpack-plugin":"^8.0.0","webpack-remove-empty-scripts":"^1.1.1"},"_npmOperationalInternal":{"tmp":"tmp/magalh_1.0.6_1774653048728_0.4228224305223236","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"magalh","version":"1.0.7","keywords":["media-server","streaming","magala","self-hosted"],"license":"ISC","_id":"magalh@1.0.7","maintainers":[{"name":"abu-sara","email":"walysky@gmail.com"}],"bin":{"magalh":"bin/mgl.js"},"dist":{"shasum":"ac9a54c4d25febf16259543820dd700f6981c200","tarball":"https://registry.npmjs.org/magalh/-/magalh-1.0.7.tgz","fileCount":4,"integrity":"sha512-uZGR/yTmxBasWVwur6vOs7cHN0eT4X3bVPj7AYUEhHiuEPBoZdeSkt0aCICHthsFR6sAaVhd753BCArJIfhyZw==","signatures":[{"sig":"MEUCIQDIH3QnlLWD4DRhZ0tx936tyvRFRbG2SYc/BHKSDqPLKgIgHxIOG231lUcPmszcMmhPhasFGSysapvTZjYN1rFV44o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10189255},"gitHead":"d1c5d84ba17b3f738815ab6df39aab233cbabe58","scripts":{"lint":"eslint .","start":"node pro.js","magala":"node pro.js","css:all":"npm run css:lint:json && node scripts/generate-tools-report.mjs && node scripts/purge-report.mjs && node scripts/deep-css-report.mjs","prepack":"node scripts/prepack.js","css:lint":"stylelint \"rayan/hm/css/**/*.css\" --formatter verbose","postpack":"node scripts/postpack.js","tw:build":"npx @tailwindcss/cli -i tailwind-main.css -o rayan/hm/css/tailwind.css --minify","tw:watch":"npx @tailwindcss/cli -i tailwind-main.css -o rayan/hm/css/tailwind.css --watch","audit:all":"npm run audit:lint && npm run audit:dupes && npm run audit:unused","bundle:ui":"webpack --config webpack.ui.config.js","css:dupes":"node scripts/css-dupes.mjs","css:purge":"node scripts/purge-report.mjs","uno:build":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs","uno:watch":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs --watch","analyze:ui":"node -e \"process.env.ANALYZE='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","audit:lint":"eslint rayan/hm/js/v --max-warnings 9999","bundle:all":"npm run bundle:server && npm run bundle:ui && npm run bundle:css","bundle:css":"webpack --config webpack.css.config.js","css:report":"npm run css:lint:json && node scripts/generate-tools-report.mjs","analyze:all":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","audit:dupes":"jscpd","css:analyze":"node scripts/deep-css-report.mjs","lint:compat":"set BROWSERSLIST_ENV=production&& eslint \"rayan/hm/js/**/*.{js,mjs,cjs,jsx}\"","postinstall":"node bin/mgl.js --install-service","start:quiet":"set QUIET_CONSOLE=1&& node pro.js","audit:unused":"knip --reporter compact","build:update":"node scripts/build-update.js","css:generate":"node scripts/generate-css.mjs","css:lint:fix":"stylelint \"rayan/hm/css/**/*.css\" --fix","start:bundle":"node os.js","tw:build:all":"npm run tw:build && npm run tw:build:admin","bundle:server":"webpack --config webpack.server.config.js","css:lint:json":"stylelint \"rayan/hm/css/**/*.css\" --formatter json --output-file purged/stylelint-report.json --allow-empty-input","deploy:update":"npm run build:update && npm run upload:update","uno:build:min":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs --minify","upload:update":"node scripts/upload-update.js","prepublishOnly":"npm version patch --no-git-tag-version","tw:build:admin":"npx @tailwindcss/cli -i tailwind-admin.css -o rayan/hm/css/adminCss/tailwind-admin.css --minify","tw:watch:admin":"npx @tailwindcss/cli -i tailwind-admin.css -o rayan/hm/css/adminCss/tailwind-admin.css --watch","bundle:ui:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js","bundle:ui:watch":"webpack --config webpack.ui.config.js --watch","analyze:ui:static":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","analyze:all:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","start:bundle:quiet":"set QUIET_CONSOLE=1&& node os.js","analyze:bundle:full":"npm run analyze:all && npm run analyze:bundle:gaps","analyze:bundle:gaps":"node scripts/check-bundle-gaps.mjs","bundle:ui:obfuscate":"set OBFUSCATE=1&& webpack --config webpack.ui.config.js","analyze:all:nomangle":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.DISABLE_MANGLE='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll":"webpack --config webpack.ui.config.js --watch --watch-options-poll=1000","bundle:ui:watch:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch","bundle:server:obfuscate":"webpack --config webpack.server.config.js && javascript-obfuscator msh.js --output msh.js --compact true --control-flow-flattening true --control-flow-flattening-threshold 0.6 --dead-code-injection true --dead-code-injection-threshold 0.25 --identifier-names-generator hexadecimal --identifiers-prefix _0x --numbers-to-expressions true --rename-globals false --string-array-rotate true --self-defending false --string-array-shuffle true --split-strings true --split-strings-chunk-length 8 --string-array true --string-array-calls-transform true --string-array-calls-transform-threshold 1 --string-array-encoding rc4 --string-array-indexes-type hexadecimal-number --string-array-threshold 1 --string-array-wrappers-count 2 --string-array-wrappers-chained-calls true --string-array-wrappers-parameters-max-count 3 --string-array-wrappers-type function --transform-object-keys true --unicode-escape-sequence true --target node","analyze:ui:static:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch --watch-options-poll=1000"},"_npmUser":{"name":"abu-sara","email":"walysky@gmail.com"},"_npmVersion":"11.11.0","description":"Magala Media Server — self-hosted streaming and media management server","directories":{},"_nodeVersion":"25.8.0","browserslist":{"production":[">0.5%","last 3 versions","Firefox ESR","not dead","not ie 11","not op_mini all","chrome >= 80","firefox >= 78","safari >= 13","ios_saf >= 13","edge >= 80","android >= 8","samsung >= 12"],"development":["last 3 versions","safari >= 13","android >= 8"]},"dependencies":{"cors":"^2.8.6","axios":"^1.13.4","sharp":"^0.34.5","bcrypt":"^6.0.0","megajs":"^1.3.9","multer":"^2.0.2","undici":"^7.20.0","adm-zip":"^0.5.16","cheerio":"^1.2.0","core-js":"^3.48.0","express":"^5.2.1","archiver":"^7.0.1","bcryptjs":"^3.0.3","fs-extra":"^11.3.3","punycode":"^2.3.1","unzipper":"^0.12.3","node-cron":"^4.2.1","compression":"^1.8.1","whatwg-fetch":"^3.6.20","express-session":"^1.19.0","stream-throttle":"^0.1.3","regenerator-runtime":"^0.14.1"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"glob":"^11.0.0","knip":"^5.86.0","jscpd":"^4.0.8","eslint":"^9.39.2","unocss":"^66.6.6","esbuild":"^0.25.0","globals":"^17.3.0","postcss":"^8.0.0","webpack":"^5.105.0","purgecss":"^8.0.0","stylelint":"^17.4.0","@eslint/js":"^9.39.2","css-loader":"^7.1.4","playwright":"^1.58.2","@babel/core":"^7.29.0","@unocss/cli":"^66.6.6","jscodeshift":"^17.3.0","tailwindcss":"^4.2.1","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","style-loader":"^4.0.0","puppeteer-core":"^24.37.2","stylelint-order":"^8.0.0","@tailwindcss/cli":"^4.2.1","check-unused-css":"^0.2.7","@babel/preset-env":"^7.29.0","@aws-sdk/client-s3":"^3.1005.0","webpack-obfuscator":"^3.6.0","@unocss/preset-mini":"^66.6.6","@unocss/preset-wind":"^66.6.6","eslint-plugin-react":"^7.37.5","@unocss/preset-icons":"^66.6.6","eslint-plugin-compat":"^6.1.0","javascript-obfuscator":"^5.3.0","terser-webpack-plugin":"^5.3.16","webpack-node-externals":"^3.0.0","mini-css-extract-plugin":"^2.10.0","webpack-bundle-analyzer":"^5.2.0","@unocss/preset-typography":"^66.6.6","stylelint-config-standard":"^40.0.0","stylelint-formatter-pretty":"^4.0.1","@fullhuman/postcss-purgecss":"^8.0.0","@projectwallace/css-analyzer":"^9.3.0","css-minimizer-webpack-plugin":"^8.0.0","webpack-remove-empty-scripts":"^1.1.1"},"_npmOperationalInternal":{"tmp":"tmp/magalh_1.0.7_1774653185168_0.4466763197033319","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"magalh","version":"1.0.8","keywords":["media-server","streaming","magala","self-hosted"],"license":"ISC","_id":"magalh@1.0.8","maintainers":[{"name":"abu-sara","email":"walysky@gmail.com"}],"bin":{"magalh":"bin/mgl.js"},"dist":{"shasum":"10c00b3635497b449d128ac7db829b77d7362623","tarball":"https://registry.npmjs.org/magalh/-/magalh-1.0.8.tgz","fileCount":4,"integrity":"sha512-yuKO1ODKyzQ8CSJtn3J9+82EaN8i0T7XOLZLGQsDBc5QPzfbCfx89vTweLa0LJlAoVuEoE7zth/KVfIRZ++5Qg==","signatures":[{"sig":"MEQCIEmI718eX0pnwBGEyhe3vsYC1/4N5LpfaB+21x5gBQIzAiAP8XiCqVM5+3tn8Ul04J5lYSv/kWySfLz2qQdlh5bJ6A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9888517},"gitHead":"d1c5d84ba17b3f738815ab6df39aab233cbabe58","scripts":{"lint":"eslint .","start":"node pro.js","magala":"node pro.js","css:all":"npm run css:lint:json && node scripts/generate-tools-report.mjs && node scripts/purge-report.mjs && node scripts/deep-css-report.mjs","prepack":"node scripts/prepack.js","css:lint":"stylelint \"rayan/hm/css/**/*.css\" --formatter verbose","postpack":"node scripts/postpack.js","tw:build":"npx @tailwindcss/cli -i tailwind-main.css -o rayan/hm/css/tailwind.css --minify","tw:watch":"npx @tailwindcss/cli -i tailwind-main.css -o rayan/hm/css/tailwind.css --watch","audit:all":"npm run audit:lint && npm run audit:dupes && npm run audit:unused","bundle:ui":"webpack --config webpack.ui.config.js","css:dupes":"node scripts/css-dupes.mjs","css:purge":"node scripts/purge-report.mjs","uno:build":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs","uno:watch":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs --watch","analyze:ui":"node -e \"process.env.ANALYZE='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","audit:lint":"eslint rayan/hm/js/v --max-warnings 9999","bundle:all":"npm run bundle:server && npm run bundle:ui && npm run bundle:css","bundle:css":"webpack --config webpack.css.config.js","css:report":"npm run css:lint:json && node scripts/generate-tools-report.mjs","analyze:all":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","audit:dupes":"jscpd","css:analyze":"node scripts/deep-css-report.mjs","lint:compat":"set BROWSERSLIST_ENV=production&& eslint \"rayan/hm/js/**/*.{js,mjs,cjs,jsx}\"","postinstall":"node bin/mgl.js --install-service","start:quiet":"set QUIET_CONSOLE=1&& node pro.js","audit:unused":"knip --reporter compact","build:update":"node scripts/build-update.js","css:generate":"node scripts/generate-css.mjs","css:lint:fix":"stylelint \"rayan/hm/css/**/*.css\" --fix","start:bundle":"node os.js","tw:build:all":"npm run tw:build && npm run tw:build:admin","bundle:server":"webpack --config webpack.server.config.js","css:lint:json":"stylelint \"rayan/hm/css/**/*.css\" --formatter json --output-file purged/stylelint-report.json --allow-empty-input","deploy:update":"npm run build:update && npm run upload:update","uno:build:min":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs --minify","upload:update":"node scripts/upload-update.js","prepublishOnly":"npm version patch --no-git-tag-version","tw:build:admin":"npx @tailwindcss/cli -i tailwind-admin.css -o rayan/hm/css/adminCss/tailwind-admin.css --minify","tw:watch:admin":"npx @tailwindcss/cli -i tailwind-admin.css -o rayan/hm/css/adminCss/tailwind-admin.css --watch","bundle:ui:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js","bundle:ui:watch":"webpack --config webpack.ui.config.js --watch","analyze:ui:static":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","analyze:all:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","start:bundle:quiet":"set QUIET_CONSOLE=1&& node os.js","analyze:bundle:full":"npm run analyze:all && npm run analyze:bundle:gaps","analyze:bundle:gaps":"node scripts/check-bundle-gaps.mjs","bundle:ui:obfuscate":"set OBFUSCATE=1&& webpack --config webpack.ui.config.js","analyze:all:nomangle":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.DISABLE_MANGLE='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll":"webpack --config webpack.ui.config.js --watch --watch-options-poll=1000","bundle:ui:watch:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch","bundle:server:obfuscate":"webpack --config webpack.server.config.js && javascript-obfuscator msh.js --output msh.js --compact true --control-flow-flattening true --control-flow-flattening-threshold 0.6 --dead-code-injection true --dead-code-injection-threshold 0.25 --identifier-names-generator hexadecimal --identifiers-prefix _0x --numbers-to-expressions true --rename-globals false --string-array-rotate true --self-defending false --string-array-shuffle true --split-strings true --split-strings-chunk-length 8 --string-array true --string-array-calls-transform true --string-array-calls-transform-threshold 1 --string-array-encoding rc4 --string-array-indexes-type hexadecimal-number --string-array-threshold 1 --string-array-wrappers-count 2 --string-array-wrappers-chained-calls true --string-array-wrappers-parameters-max-count 3 --string-array-wrappers-type function --transform-object-keys true --unicode-escape-sequence true --target node","analyze:ui:static:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch --watch-options-poll=1000"},"_npmUser":{"name":"abu-sara","email":"walysky@gmail.com"},"_npmVersion":"11.11.0","description":"Magala Media Server — self-hosted streaming and media management server","directories":{},"_nodeVersion":"25.8.0","browserslist":{"production":[">0.5%","last 3 versions","Firefox ESR","not dead","not ie 11","not op_mini all","chrome >= 80","firefox >= 78","safari >= 13","ios_saf >= 13","edge >= 80","android >= 8","samsung >= 12"],"development":["last 3 versions","safari >= 13","android >= 8"]},"dependencies":{"cors":"^2.8.6","axios":"^1.13.4","sharp":"^0.34.5","bcrypt":"^6.0.0","megajs":"^1.3.9","multer":"^2.0.2","undici":"^7.20.0","adm-zip":"^0.5.16","cheerio":"^1.2.0","core-js":"^3.48.0","express":"^5.2.1","archiver":"^7.0.1","bcryptjs":"^3.0.3","fs-extra":"^11.3.3","punycode":"^2.3.1","unzipper":"^0.12.3","node-cron":"^4.2.1","compression":"^1.8.1","whatwg-fetch":"^3.6.20","express-session":"^1.19.0","stream-throttle":"^0.1.3","regenerator-runtime":"^0.14.1"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"glob":"^11.0.0","knip":"^5.86.0","jscpd":"^4.0.8","eslint":"^9.39.2","unocss":"^66.6.6","esbuild":"^0.25.0","globals":"^17.3.0","postcss":"^8.0.0","webpack":"^5.105.0","purgecss":"^8.0.0","stylelint":"^17.4.0","@eslint/js":"^9.39.2","css-loader":"^7.1.4","playwright":"^1.58.2","@babel/core":"^7.29.0","@unocss/cli":"^66.6.6","jscodeshift":"^17.3.0","tailwindcss":"^4.2.1","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","style-loader":"^4.0.0","puppeteer-core":"^24.37.2","stylelint-order":"^8.0.0","@tailwindcss/cli":"^4.2.1","check-unused-css":"^0.2.7","@babel/preset-env":"^7.29.0","@aws-sdk/client-s3":"^3.1005.0","webpack-obfuscator":"^3.6.0","@unocss/preset-mini":"^66.6.6","@unocss/preset-wind":"^66.6.6","eslint-plugin-react":"^7.37.5","@unocss/preset-icons":"^66.6.6","eslint-plugin-compat":"^6.1.0","javascript-obfuscator":"^5.3.0","terser-webpack-plugin":"^5.3.16","webpack-node-externals":"^3.0.0","mini-css-extract-plugin":"^2.10.0","webpack-bundle-analyzer":"^5.2.0","@unocss/preset-typography":"^66.6.6","stylelint-config-standard":"^40.0.0","stylelint-formatter-pretty":"^4.0.1","@fullhuman/postcss-purgecss":"^8.0.0","@projectwallace/css-analyzer":"^9.3.0","css-minimizer-webpack-plugin":"^8.0.0","webpack-remove-empty-scripts":"^1.1.1"},"_npmOperationalInternal":{"tmp":"tmp/magalh_1.0.8_1774653312443_0.8002002929878897","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"magalh","version":"1.0.9","keywords":["media-server","streaming","magala","self-hosted"],"license":"ISC","_id":"magalh@1.0.9","maintainers":[{"name":"abu-sara","email":"walysky@gmail.com"}],"bin":{"magalh":"bin/mgl.js"},"dist":{"shasum":"bd1a5854741399850a3cd589d07f6f468681299f","tarball":"https://registry.npmjs.org/magalh/-/magalh-1.0.9.tgz","fileCount":4,"integrity":"sha512-7/OJYAk+JHuOLcp5aWcud/igGtJ2C/or4nRTSRkhgcAxEZXQmlbZhV2ntjP82VnTEmSZl7nyT0vTnIWoTrxCGQ==","signatures":[{"sig":"MEYCIQDyIJH2LCTOssFi/W+mbzqTUEBskQiZYZhl2oDMrGpn0gIhAO1hn3n7Nu4LVzgjX/5pu+IDbe5j0tZNrZbI7zUOMwkl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12802088},"gitHead":"d1c5d84ba17b3f738815ab6df39aab233cbabe58","scripts":{"lint":"eslint .","start":"node pro.js","magala":"node pro.js","css:all":"npm run css:lint:json && node scripts/generate-tools-report.mjs && node scripts/purge-report.mjs && node scripts/deep-css-report.mjs","prepack":"node scripts/prepack.js","css:lint":"stylelint \"rayan/hm/css/**/*.css\" --formatter verbose","postpack":"node scripts/postpack.js","tw:build":"npx @tailwindcss/cli -i tailwind-main.css -o rayan/hm/css/tailwind.css --minify","tw:watch":"npx @tailwindcss/cli -i tailwind-main.css -o rayan/hm/css/tailwind.css --watch","audit:all":"npm run audit:lint && npm run audit:dupes && npm run audit:unused","bundle:ui":"webpack --config webpack.ui.config.js","css:dupes":"node scripts/css-dupes.mjs","css:purge":"node scripts/purge-report.mjs","uno:build":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs","uno:watch":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs --watch","analyze:ui":"node -e \"process.env.ANALYZE='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","audit:lint":"eslint rayan/hm/js/v --max-warnings 9999","bundle:all":"npm run bundle:server && npm run bundle:ui && npm run bundle:css","bundle:css":"webpack --config webpack.css.config.js","css:report":"npm run css:lint:json && node scripts/generate-tools-report.mjs","analyze:all":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","audit:dupes":"jscpd","css:analyze":"node scripts/deep-css-report.mjs","lint:compat":"set BROWSERSLIST_ENV=production&& eslint \"rayan/hm/js/**/*.{js,mjs,cjs,jsx}\"","postinstall":"node bin/mgl.js --install-service","start:quiet":"set QUIET_CONSOLE=1&& node pro.js","audit:unused":"knip --reporter compact","build:update":"node scripts/build-update.js","css:generate":"node scripts/generate-css.mjs","css:lint:fix":"stylelint \"rayan/hm/css/**/*.css\" --fix","start:bundle":"node os.js","tw:build:all":"npm run tw:build && npm run tw:build:admin","bundle:server":"webpack --config webpack.server.config.js","css:lint:json":"stylelint \"rayan/hm/css/**/*.css\" --formatter json --output-file purged/stylelint-report.json --allow-empty-input","deploy:update":"npm run build:update && npm run upload:update","uno:build:min":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs --minify","upload:update":"node scripts/upload-update.js","prepublishOnly":"npm version patch --no-git-tag-version","tw:build:admin":"npx @tailwindcss/cli -i tailwind-admin.css -o rayan/hm/css/adminCss/tailwind-admin.css --minify","tw:watch:admin":"npx @tailwindcss/cli -i tailwind-admin.css -o rayan/hm/css/adminCss/tailwind-admin.css --watch","bundle:ui:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js","bundle:ui:watch":"webpack --config webpack.ui.config.js --watch","analyze:ui:static":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","analyze:all:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","start:bundle:quiet":"set QUIET_CONSOLE=1&& node os.js","analyze:bundle:full":"npm run analyze:all && npm run analyze:bundle:gaps","analyze:bundle:gaps":"node scripts/check-bundle-gaps.mjs","bundle:ui:obfuscate":"set OBFUSCATE=1&& webpack --config webpack.ui.config.js","analyze:all:nomangle":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.DISABLE_MANGLE='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll":"webpack --config webpack.ui.config.js --watch --watch-options-poll=1000","bundle:ui:watch:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch","bundle:server:obfuscate":"webpack --config webpack.server.config.js && javascript-obfuscator msh.js --output msh.js --compact true --control-flow-flattening true --control-flow-flattening-threshold 0.6 --dead-code-injection true --dead-code-injection-threshold 0.25 --identifier-names-generator hexadecimal --identifiers-prefix _0x --numbers-to-expressions true --rename-globals false --string-array-rotate true --self-defending false --string-array-shuffle true --split-strings true --split-strings-chunk-length 8 --string-array true --string-array-calls-transform true --string-array-calls-transform-threshold 1 --string-array-encoding rc4 --string-array-indexes-type hexadecimal-number --string-array-threshold 1 --string-array-wrappers-count 2 --string-array-wrappers-chained-calls true --string-array-wrappers-parameters-max-count 3 --string-array-wrappers-type function --transform-object-keys true --unicode-escape-sequence true --target node","analyze:ui:static:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch --watch-options-poll=1000"},"_npmUser":{"name":"abu-sara","email":"walysky@gmail.com"},"_npmVersion":"11.11.0","description":"Magala Media Server — self-hosted streaming and media management server","directories":{},"_nodeVersion":"25.8.0","browserslist":{"production":[">0.5%","last 3 versions","Firefox ESR","not dead","not ie 11","not op_mini all","chrome >= 80","firefox >= 78","safari >= 13","ios_saf >= 13","edge >= 80","android >= 8","samsung >= 12"],"development":["last 3 versions","safari >= 13","android >= 8"]},"dependencies":{"cors":"^2.8.6","axios":"^1.13.4","sharp":"^0.34.5","bcrypt":"^6.0.0","megajs":"^1.3.9","multer":"^2.0.2","undici":"^7.20.0","adm-zip":"^0.5.16","cheerio":"^1.2.0","core-js":"^3.48.0","express":"^5.2.1","archiver":"^7.0.1","bcryptjs":"^3.0.3","fs-extra":"^11.3.3","punycode":"^2.3.1","unzipper":"^0.12.3","node-cron":"^4.2.1","compression":"^1.8.1","whatwg-fetch":"^3.6.20","express-session":"^1.19.0","stream-throttle":"^0.1.3","regenerator-runtime":"^0.14.1"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"glob":"^11.0.0","knip":"^5.86.0","jscpd":"^4.0.8","eslint":"^9.39.2","unocss":"^66.6.6","esbuild":"^0.25.0","globals":"^17.3.0","postcss":"^8.0.0","webpack":"^5.105.0","purgecss":"^8.0.0","stylelint":"^17.4.0","@eslint/js":"^9.39.2","css-loader":"^7.1.4","playwright":"^1.58.2","@babel/core":"^7.29.0","@unocss/cli":"^66.6.6","jscodeshift":"^17.3.0","tailwindcss":"^4.2.1","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","style-loader":"^4.0.0","puppeteer-core":"^24.37.2","stylelint-order":"^8.0.0","@tailwindcss/cli":"^4.2.1","check-unused-css":"^0.2.7","@babel/preset-env":"^7.29.0","@aws-sdk/client-s3":"^3.1005.0","webpack-obfuscator":"^3.6.0","@unocss/preset-mini":"^66.6.6","@unocss/preset-wind":"^66.6.6","eslint-plugin-react":"^7.37.5","@unocss/preset-icons":"^66.6.6","eslint-plugin-compat":"^6.1.0","javascript-obfuscator":"^5.3.0","terser-webpack-plugin":"^5.3.16","webpack-node-externals":"^3.0.0","mini-css-extract-plugin":"^2.10.0","webpack-bundle-analyzer":"^5.2.0","@unocss/preset-typography":"^66.6.6","stylelint-config-standard":"^40.0.0","stylelint-formatter-pretty":"^4.0.1","@fullhuman/postcss-purgecss":"^8.0.0","@projectwallace/css-analyzer":"^9.3.0","css-minimizer-webpack-plugin":"^8.0.0","webpack-remove-empty-scripts":"^1.1.1"},"_npmOperationalInternal":{"tmp":"tmp/magalh_1.0.9_1774653481774_0.32232779521159416","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"magalh","version":"1.0.10","keywords":["media-server","streaming","magala","self-hosted"],"license":"ISC","_id":"magalh@1.0.10","maintainers":[{"name":"abu-sara","email":"walysky@gmail.com"}],"bin":{"magalh":"bin/mgl.js"},"dist":{"shasum":"c60c4ba3af7a27900a92a99c04c2600b5d49930f","tarball":"https://registry.npmjs.org/magalh/-/magalh-1.0.10.tgz","fileCount":4,"integrity":"sha512-1K3Gkqf6i+vDq2RwcrHZUouDqbCmHAMs3/XBFttlBO3W8kjSBg73XTxfhIVc8AQJt4aLNTlVcYWgWc74/e7/Aw==","signatures":[{"sig":"MEUCIQDIqkzj/Mh3sg2OoppXByDXrac5vcLr9KG3flpVo0BC/wIgOdXqWRjI5iqWHcjTXSLBvKQAPpNol60D8zzFPtoXyoQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12803733},"gitHead":"d1c5d84ba17b3f738815ab6df39aab233cbabe58","scripts":{"lint":"eslint .","start":"node pro.js","magala":"node pro.js","css:all":"npm run css:lint:json && node scripts/generate-tools-report.mjs && node scripts/purge-report.mjs && node scripts/deep-css-report.mjs","prepack":"node scripts/prepack.js","css:lint":"stylelint \"rayan/hm/css/**/*.css\" --formatter verbose","postpack":"node scripts/postpack.js","tw:build":"npx @tailwindcss/cli -i tailwind-main.css -o rayan/hm/css/tailwind.css --minify","tw:watch":"npx @tailwindcss/cli -i tailwind-main.css -o rayan/hm/css/tailwind.css --watch","audit:all":"npm run audit:lint && npm run audit:dupes && npm run audit:unused","bundle:ui":"webpack --config webpack.ui.config.js","css:dupes":"node scripts/css-dupes.mjs","css:purge":"node scripts/purge-report.mjs","uno:build":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs","uno:watch":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs --watch","analyze:ui":"node -e \"process.env.ANALYZE='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","audit:lint":"eslint rayan/hm/js/v --max-warnings 9999","bundle:all":"npm run bundle:server && npm run bundle:ui && npm run bundle:css","bundle:css":"webpack --config webpack.css.config.js","css:report":"npm run css:lint:json && node scripts/generate-tools-report.mjs","analyze:all":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","audit:dupes":"jscpd","css:analyze":"node scripts/deep-css-report.mjs","lint:compat":"set BROWSERSLIST_ENV=production&& eslint \"rayan/hm/js/**/*.{js,mjs,cjs,jsx}\"","postinstall":"node bin/mgl.js --install-service","start:quiet":"set QUIET_CONSOLE=1&& node pro.js","audit:unused":"knip --reporter compact","build:update":"node scripts/build-update.js","css:generate":"node scripts/generate-css.mjs","css:lint:fix":"stylelint \"rayan/hm/css/**/*.css\" --fix","start:bundle":"node os.js","tw:build:all":"npm run tw:build && npm run tw:build:admin","bundle:server":"webpack --config webpack.server.config.js","css:lint:json":"stylelint \"rayan/hm/css/**/*.css\" --formatter json --output-file purged/stylelint-report.json --allow-empty-input","deploy:update":"npm run build:update && npm run upload:update","uno:build:min":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs --minify","upload:update":"node scripts/upload-update.js","prepublishOnly":"npm version patch --no-git-tag-version","tw:build:admin":"npx @tailwindcss/cli -i tailwind-admin.css -o rayan/hm/css/adminCss/tailwind-admin.css --minify","tw:watch:admin":"npx @tailwindcss/cli -i tailwind-admin.css -o rayan/hm/css/adminCss/tailwind-admin.css --watch","bundle:ui:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js","bundle:ui:watch":"webpack --config webpack.ui.config.js --watch","analyze:ui:static":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","analyze:all:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","start:bundle:quiet":"set QUIET_CONSOLE=1&& node os.js","analyze:bundle:full":"npm run analyze:all && npm run analyze:bundle:gaps","analyze:bundle:gaps":"node scripts/check-bundle-gaps.mjs","bundle:ui:obfuscate":"set OBFUSCATE=1&& webpack --config webpack.ui.config.js","analyze:all:nomangle":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.DISABLE_MANGLE='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll":"webpack --config webpack.ui.config.js --watch --watch-options-poll=1000","bundle:ui:watch:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch","bundle:server:obfuscate":"webpack --config webpack.server.config.js && javascript-obfuscator msh.js --output msh.js --compact true --control-flow-flattening true --control-flow-flattening-threshold 0.6 --dead-code-injection true --dead-code-injection-threshold 0.25 --identifier-names-generator hexadecimal --identifiers-prefix _0x --numbers-to-expressions true --rename-globals false --string-array-rotate true --self-defending false --string-array-shuffle true --split-strings true --split-strings-chunk-length 8 --string-array true --string-array-calls-transform true --string-array-calls-transform-threshold 1 --string-array-encoding rc4 --string-array-indexes-type hexadecimal-number --string-array-threshold 1 --string-array-wrappers-count 2 --string-array-wrappers-chained-calls true --string-array-wrappers-parameters-max-count 3 --string-array-wrappers-type function --transform-object-keys true --unicode-escape-sequence true --target node","analyze:ui:static:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch --watch-options-poll=1000"},"_npmUser":{"name":"abu-sara","email":"walysky@gmail.com"},"_npmVersion":"11.11.0","description":"Magala Media Server — self-hosted streaming and media management server","directories":{},"_nodeVersion":"25.8.0","browserslist":{"production":[">0.5%","last 3 versions","Firefox ESR","not dead","not ie 11","not op_mini all","chrome >= 80","firefox >= 78","safari >= 13","ios_saf >= 13","edge >= 80","android >= 8","samsung >= 12"],"development":["last 3 versions","safari >= 13","android >= 8"]},"dependencies":{"cors":"^2.8.6","axios":"^1.13.4","sharp":"^0.34.5","bcrypt":"^6.0.0","megajs":"^1.3.9","multer":"^2.0.2","undici":"^7.20.0","adm-zip":"^0.5.16","cheerio":"^1.2.0","core-js":"^3.48.0","express":"^5.2.1","archiver":"^7.0.1","bcryptjs":"^3.0.3","fs-extra":"^11.3.3","punycode":"^2.3.1","unzipper":"^0.12.3","node-cron":"^4.2.1","compression":"^1.8.1","whatwg-fetch":"^3.6.20","express-session":"^1.19.0","stream-throttle":"^0.1.3","regenerator-runtime":"^0.14.1"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"glob":"^11.0.0","knip":"^5.86.0","jscpd":"^4.0.8","eslint":"^9.39.2","unocss":"^66.6.6","esbuild":"^0.25.0","globals":"^17.3.0","postcss":"^8.0.0","webpack":"^5.105.0","purgecss":"^8.0.0","stylelint":"^17.4.0","@eslint/js":"^9.39.2","css-loader":"^7.1.4","playwright":"^1.58.2","@babel/core":"^7.29.0","@unocss/cli":"^66.6.6","jscodeshift":"^17.3.0","tailwindcss":"^4.2.1","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","style-loader":"^4.0.0","puppeteer-core":"^24.37.2","stylelint-order":"^8.0.0","@tailwindcss/cli":"^4.2.1","check-unused-css":"^0.2.7","@babel/preset-env":"^7.29.0","@aws-sdk/client-s3":"^3.1005.0","webpack-obfuscator":"^3.6.0","@unocss/preset-mini":"^66.6.6","@unocss/preset-wind":"^66.6.6","eslint-plugin-react":"^7.37.5","@unocss/preset-icons":"^66.6.6","eslint-plugin-compat":"^6.1.0","javascript-obfuscator":"^5.3.0","terser-webpack-plugin":"^5.3.16","webpack-node-externals":"^3.0.0","mini-css-extract-plugin":"^2.10.0","webpack-bundle-analyzer":"^5.2.0","@unocss/preset-typography":"^66.6.6","stylelint-config-standard":"^40.0.0","stylelint-formatter-pretty":"^4.0.1","@fullhuman/postcss-purgecss":"^8.0.0","@projectwallace/css-analyzer":"^9.3.0","css-minimizer-webpack-plugin":"^8.0.0","webpack-remove-empty-scripts":"^1.1.1"},"_npmOperationalInternal":{"tmp":"tmp/magalh_1.0.10_1774657708445_0.7199071136420061","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"magalh","version":"1.0.11","keywords":["media-server","streaming","magala","self-hosted"],"license":"ISC","_id":"magalh@1.0.11","maintainers":[{"name":"abu-sara","email":"walysky@gmail.com"}],"bin":{"magalh":"bin/mgl.js"},"dist":{"shasum":"9959eacac0892a663df0c97175491e801d0e1b22","tarball":"https://registry.npmjs.org/magalh/-/magalh-1.0.11.tgz","fileCount":4,"integrity":"sha512-Tdhn7csHFdepifS0exdOVlCB0ey2kBDcmdIxyNlLQn8t98tQTE/PA4wa3NBLJbuyDkjDGOkDU0FW+DPJlq1H8Q==","signatures":[{"sig":"MEQCIF1n02jgvPN2ltG+TZaY7hLJFpaxbYkbWvppNPR/PQCbAiBirMuamDr61/Wzw09wctA4x75ldD5+KSia2PvwhNk/RQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12805407},"gitHead":"d1c5d84ba17b3f738815ab6df39aab233cbabe58","scripts":{"lint":"eslint .","start":"node pro.js","magala":"node pro.js","css:all":"npm run css:lint:json && node scripts/generate-tools-report.mjs && node scripts/purge-report.mjs && node scripts/deep-css-report.mjs","prepack":"node scripts/prepack.js","css:lint":"stylelint \"rayan/hm/css/**/*.css\" --formatter verbose","postpack":"node scripts/postpack.js","tw:build":"npx @tailwindcss/cli -i tailwind-main.css -o rayan/hm/css/tailwind.css --minify","tw:watch":"npx @tailwindcss/cli -i tailwind-main.css -o rayan/hm/css/tailwind.css --watch","audit:all":"npm run audit:lint && npm run audit:dupes && npm run audit:unused","bundle:ui":"webpack --config webpack.ui.config.js","css:dupes":"node scripts/css-dupes.mjs","css:purge":"node scripts/purge-report.mjs","uno:build":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs","uno:watch":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs --watch","analyze:ui":"node -e \"process.env.ANALYZE='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","audit:lint":"eslint rayan/hm/js/v --max-warnings 9999","bundle:all":"npm run bundle:server && npm run bundle:ui && npm run bundle:css","bundle:css":"webpack --config webpack.css.config.js","css:report":"npm run css:lint:json && node scripts/generate-tools-report.mjs","analyze:all":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","audit:dupes":"jscpd","css:analyze":"node scripts/deep-css-report.mjs","lint:compat":"set BROWSERSLIST_ENV=production&& eslint \"rayan/hm/js/**/*.{js,mjs,cjs,jsx}\"","postinstall":"node bin/mgl.js --install-service","start:quiet":"set QUIET_CONSOLE=1&& node pro.js","audit:unused":"knip --reporter compact","build:update":"node scripts/build-update.js","css:generate":"node scripts/generate-css.mjs","css:lint:fix":"stylelint \"rayan/hm/css/**/*.css\" --fix","start:bundle":"node os.js","tw:build:all":"npm run tw:build && npm run tw:build:admin","bundle:server":"webpack --config webpack.server.config.js","css:lint:json":"stylelint \"rayan/hm/css/**/*.css\" --formatter json --output-file purged/stylelint-report.json --allow-empty-input","deploy:update":"npm run build:update && npm run upload:update","uno:build:min":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs --minify","upload:update":"node scripts/upload-update.js","prepublishOnly":"npm version patch --no-git-tag-version","tw:build:admin":"npx @tailwindcss/cli -i tailwind-admin.css -o rayan/hm/css/adminCss/tailwind-admin.css --minify","tw:watch:admin":"npx @tailwindcss/cli -i tailwind-admin.css -o rayan/hm/css/adminCss/tailwind-admin.css --watch","bundle:ui:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js","bundle:ui:watch":"webpack --config webpack.ui.config.js --watch","analyze:ui:static":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","analyze:all:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","start:bundle:quiet":"set QUIET_CONSOLE=1&& node os.js","analyze:bundle:full":"npm run analyze:all && npm run analyze:bundle:gaps","analyze:bundle:gaps":"node scripts/check-bundle-gaps.mjs","bundle:ui:obfuscate":"set OBFUSCATE=1&& webpack --config webpack.ui.config.js","analyze:all:nomangle":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.DISABLE_MANGLE='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll":"webpack --config webpack.ui.config.js --watch --watch-options-poll=1000","bundle:ui:watch:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch","bundle:server:obfuscate":"webpack --config webpack.server.config.js && javascript-obfuscator msh.js --output msh.js --compact true --control-flow-flattening true --control-flow-flattening-threshold 0.6 --dead-code-injection true --dead-code-injection-threshold 0.25 --identifier-names-generator hexadecimal --identifiers-prefix _0x --numbers-to-expressions true --rename-globals false --string-array-rotate true --self-defending false --string-array-shuffle true --split-strings true --split-strings-chunk-length 8 --string-array true --string-array-calls-transform true --string-array-calls-transform-threshold 1 --string-array-encoding rc4 --string-array-indexes-type hexadecimal-number --string-array-threshold 1 --string-array-wrappers-count 2 --string-array-wrappers-chained-calls true --string-array-wrappers-parameters-max-count 3 --string-array-wrappers-type function --transform-object-keys true --unicode-escape-sequence true --target node","analyze:ui:static:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch --watch-options-poll=1000"},"_npmUser":{"name":"abu-sara","email":"walysky@gmail.com"},"_npmVersion":"11.11.0","description":"Magala Media Server — self-hosted streaming and media management server","directories":{},"_nodeVersion":"25.8.0","browserslist":{"production":[">0.5%","last 3 versions","Firefox ESR","not dead","not ie 11","not op_mini all","chrome >= 80","firefox >= 78","safari >= 13","ios_saf >= 13","edge >= 80","android >= 8","samsung >= 12"],"development":["last 3 versions","safari >= 13","android >= 8"]},"dependencies":{"cors":"^2.8.6","axios":"^1.13.4","sharp":"^0.34.5","bcrypt":"^6.0.0","megajs":"^1.3.9","multer":"^2.0.2","undici":"^7.20.0","adm-zip":"^0.5.16","cheerio":"^1.2.0","core-js":"^3.48.0","express":"^5.2.1","archiver":"^7.0.1","bcryptjs":"^3.0.3","fs-extra":"^11.3.3","punycode":"^2.3.1","unzipper":"^0.12.3","node-cron":"^4.2.1","compression":"^1.8.1","whatwg-fetch":"^3.6.20","express-session":"^1.19.0","stream-throttle":"^0.1.3","regenerator-runtime":"^0.14.1"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"glob":"^11.0.0","knip":"^5.86.0","jscpd":"^4.0.8","eslint":"^9.39.2","unocss":"^66.6.6","esbuild":"^0.25.0","globals":"^17.3.0","postcss":"^8.0.0","webpack":"^5.105.0","purgecss":"^8.0.0","stylelint":"^17.4.0","@eslint/js":"^9.39.2","css-loader":"^7.1.4","playwright":"^1.58.2","@babel/core":"^7.29.0","@unocss/cli":"^66.6.6","jscodeshift":"^17.3.0","tailwindcss":"^4.2.1","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","style-loader":"^4.0.0","puppeteer-core":"^24.37.2","stylelint-order":"^8.0.0","@tailwindcss/cli":"^4.2.1","check-unused-css":"^0.2.7","@babel/preset-env":"^7.29.0","@aws-sdk/client-s3":"^3.1005.0","webpack-obfuscator":"^3.6.0","@unocss/preset-mini":"^66.6.6","@unocss/preset-wind":"^66.6.6","eslint-plugin-react":"^7.37.5","@unocss/preset-icons":"^66.6.6","eslint-plugin-compat":"^6.1.0","javascript-obfuscator":"^5.3.0","terser-webpack-plugin":"^5.3.16","webpack-node-externals":"^3.0.0","mini-css-extract-plugin":"^2.10.0","webpack-bundle-analyzer":"^5.2.0","@unocss/preset-typography":"^66.6.6","stylelint-config-standard":"^40.0.0","stylelint-formatter-pretty":"^4.0.1","@fullhuman/postcss-purgecss":"^8.0.0","@projectwallace/css-analyzer":"^9.3.0","css-minimizer-webpack-plugin":"^8.0.0","webpack-remove-empty-scripts":"^1.1.1"},"_npmOperationalInternal":{"tmp":"tmp/magalh_1.0.11_1774657926516_0.012883570811031309","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"magalh","version":"1.0.12","keywords":["media-server","streaming","magala","self-hosted"],"license":"ISC","_id":"magalh@1.0.12","maintainers":[{"name":"abu-sara","email":"walysky@gmail.com"}],"bin":{"magalh":"bin/mgl.js"},"dist":{"shasum":"dd95228ae7c80d28c37a97b43685c5e8cf0a685b","tarball":"https://registry.npmjs.org/magalh/-/magalh-1.0.12.tgz","fileCount":4,"integrity":"sha512-jOT3R7BYpwJINP0dVLd9fFfM9V51vPwIcHqFNyFgUYikwMSGnGbQlSZ0gSWIKR2TIO2pfyPDSmc+aTK4lLwpbA==","signatures":[{"sig":"MEUCIHhGNMXBoFx4C7y8HzpRuiADXlgFrx8NrYCCvPNvABdwAiEAwS6izqxje+wfYo42xK1dFDDUNHOKsD4eeLxnByHzUIw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12806497},"gitHead":"d1c5d84ba17b3f738815ab6df39aab233cbabe58","scripts":{"lint":"eslint .","start":"node pro.js","magala":"node pro.js","css:all":"npm run css:lint:json && node scripts/generate-tools-report.mjs && node scripts/purge-report.mjs && node scripts/deep-css-report.mjs","prepack":"node scripts/prepack.js","css:lint":"stylelint \"rayan/hm/css/**/*.css\" --formatter verbose","postpack":"node scripts/postpack.js","tw:build":"npx @tailwindcss/cli -i tailwind-main.css -o rayan/hm/css/tailwind.css --minify","tw:watch":"npx @tailwindcss/cli -i tailwind-main.css -o rayan/hm/css/tailwind.css --watch","audit:all":"npm run audit:lint && npm run audit:dupes && npm run audit:unused","bundle:ui":"webpack --config webpack.ui.config.js","css:dupes":"node scripts/css-dupes.mjs","css:purge":"node scripts/purge-report.mjs","uno:build":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs","uno:watch":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs --watch","analyze:ui":"node -e \"process.env.ANALYZE='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","audit:lint":"eslint rayan/hm/js/v --max-warnings 9999","bundle:all":"npm run bundle:server && npm run bundle:ui && npm run bundle:css","bundle:css":"webpack --config webpack.css.config.js","css:report":"npm run css:lint:json && node scripts/generate-tools-report.mjs","analyze:all":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","audit:dupes":"jscpd","css:analyze":"node scripts/deep-css-report.mjs","lint:compat":"set BROWSERSLIST_ENV=production&& eslint \"rayan/hm/js/**/*.{js,mjs,cjs,jsx}\"","postinstall":"node bin/mgl.js --install-service","start:quiet":"set QUIET_CONSOLE=1&& node pro.js","audit:unused":"knip --reporter compact","build:update":"node scripts/build-update.js","css:generate":"node scripts/generate-css.mjs","css:lint:fix":"stylelint \"rayan/hm/css/**/*.css\" --fix","start:bundle":"node os.js","tw:build:all":"npm run tw:build && npm run tw:build:admin","bundle:server":"webpack --config webpack.server.config.js","css:lint:json":"stylelint \"rayan/hm/css/**/*.css\" --formatter json --output-file purged/stylelint-report.json --allow-empty-input","deploy:update":"npm run build:update && npm run upload:update","uno:build:min":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs --minify","upload:update":"node scripts/upload-update.js","prepublishOnly":"npm version patch --no-git-tag-version","tw:build:admin":"npx @tailwindcss/cli -i tailwind-admin.css -o rayan/hm/css/adminCss/tailwind-admin.css --minify","tw:watch:admin":"npx @tailwindcss/cli -i tailwind-admin.css -o rayan/hm/css/adminCss/tailwind-admin.css --watch","bundle:ui:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js","bundle:ui:watch":"webpack --config webpack.ui.config.js --watch","analyze:ui:static":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","analyze:all:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","start:bundle:quiet":"set QUIET_CONSOLE=1&& node os.js","analyze:bundle:full":"npm run analyze:all && npm run analyze:bundle:gaps","analyze:bundle:gaps":"node scripts/check-bundle-gaps.mjs","bundle:ui:obfuscate":"set OBFUSCATE=1&& webpack --config webpack.ui.config.js","analyze:all:nomangle":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.DISABLE_MANGLE='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll":"webpack --config webpack.ui.config.js --watch --watch-options-poll=1000","bundle:ui:watch:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch","bundle:server:obfuscate":"webpack --config webpack.server.config.js && javascript-obfuscator msh.js --output msh.js --compact true --control-flow-flattening true --control-flow-flattening-threshold 0.6 --dead-code-injection true --dead-code-injection-threshold 0.25 --identifier-names-generator hexadecimal --identifiers-prefix _0x --numbers-to-expressions true --rename-globals false --string-array-rotate true --self-defending false --string-array-shuffle true --split-strings true --split-strings-chunk-length 8 --string-array true --string-array-calls-transform true --string-array-calls-transform-threshold 1 --string-array-encoding rc4 --string-array-indexes-type hexadecimal-number --string-array-threshold 1 --string-array-wrappers-count 2 --string-array-wrappers-chained-calls true --string-array-wrappers-parameters-max-count 3 --string-array-wrappers-type function --transform-object-keys true --unicode-escape-sequence true --target node","analyze:ui:static:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch --watch-options-poll=1000"},"_npmUser":{"name":"abu-sara","email":"walysky@gmail.com"},"_npmVersion":"11.11.0","description":"Magala Media Server — self-hosted streaming and media management server","directories":{},"_nodeVersion":"25.8.0","browserslist":{"production":[">0.5%","last 3 versions","Firefox ESR","not dead","not ie 11","not op_mini all","chrome >= 80","firefox >= 78","safari >= 13","ios_saf >= 13","edge >= 80","android >= 8","samsung >= 12"],"development":["last 3 versions","safari >= 13","android >= 8"]},"dependencies":{"cors":"^2.8.6","axios":"^1.13.4","sharp":"^0.34.5","bcrypt":"^6.0.0","megajs":"^1.3.9","multer":"^2.0.2","undici":"^7.20.0","adm-zip":"^0.5.16","cheerio":"^1.2.0","core-js":"^3.48.0","express":"^5.2.1","archiver":"^7.0.1","bcryptjs":"^3.0.3","fs-extra":"^11.3.3","punycode":"^2.3.1","unzipper":"^0.12.3","node-cron":"^4.2.1","compression":"^1.8.1","whatwg-fetch":"^3.6.20","express-session":"^1.19.0","stream-throttle":"^0.1.3","regenerator-runtime":"^0.14.1"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"glob":"^11.0.0","knip":"^5.86.0","jscpd":"^4.0.8","eslint":"^9.39.2","unocss":"^66.6.6","esbuild":"^0.25.0","globals":"^17.3.0","postcss":"^8.0.0","webpack":"^5.105.0","purgecss":"^8.0.0","stylelint":"^17.4.0","@eslint/js":"^9.39.2","css-loader":"^7.1.4","playwright":"^1.58.2","@babel/core":"^7.29.0","@unocss/cli":"^66.6.6","jscodeshift":"^17.3.0","tailwindcss":"^4.2.1","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","style-loader":"^4.0.0","puppeteer-core":"^24.37.2","stylelint-order":"^8.0.0","@tailwindcss/cli":"^4.2.1","check-unused-css":"^0.2.7","@babel/preset-env":"^7.29.0","@aws-sdk/client-s3":"^3.1005.0","webpack-obfuscator":"^3.6.0","@unocss/preset-mini":"^66.6.6","@unocss/preset-wind":"^66.6.6","eslint-plugin-react":"^7.37.5","@unocss/preset-icons":"^66.6.6","eslint-plugin-compat":"^6.1.0","javascript-obfuscator":"^5.3.0","terser-webpack-plugin":"^5.3.16","webpack-node-externals":"^3.0.0","mini-css-extract-plugin":"^2.10.0","webpack-bundle-analyzer":"^5.2.0","@unocss/preset-typography":"^66.6.6","stylelint-config-standard":"^40.0.0","stylelint-formatter-pretty":"^4.0.1","@fullhuman/postcss-purgecss":"^8.0.0","@projectwallace/css-analyzer":"^9.3.0","css-minimizer-webpack-plugin":"^8.0.0","webpack-remove-empty-scripts":"^1.1.1"},"_npmOperationalInternal":{"tmp":"tmp/magalh_1.0.12_1774658170733_0.7798037886843028","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"magalh","version":"1.0.13","keywords":["media-server","streaming","magala","self-hosted"],"license":"ISC","_id":"magalh@1.0.13","maintainers":[{"name":"abu-sara","email":"walysky@gmail.com"}],"bin":{"magalh":"bin/mgl.js"},"dist":{"shasum":"1e551bc342cc842a5fec5a5b7517fe5641591f02","tarball":"https://registry.npmjs.org/magalh/-/magalh-1.0.13.tgz","fileCount":4,"integrity":"sha512-ZuqmDACDstpC/FqVJSWyAdKW6r8OEDDfa5kU3IIuI4eqKeo2xnQbi7yvhbWiFiXaNRD4E2FRlCSsGJeYB8DoeA==","signatures":[{"sig":"MEQCID+lApXrc7l8VjwF5X7gdrSWZxYtUX7IMuGSxOUR651SAiB2bAwDitDlr1HWD+yMDhrMR92rK0P/1ICBIb7KF6ZQmA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12806911},"gitHead":"d1c5d84ba17b3f738815ab6df39aab233cbabe58","scripts":{"lint":"eslint .","start":"node pro.js","magala":"node pro.js","css:all":"npm run css:lint:json && node scripts/generate-tools-report.mjs && node scripts/purge-report.mjs && node scripts/deep-css-report.mjs","prepack":"node scripts/prepack.js","css:lint":"stylelint \"rayan/hm/css/**/*.css\" --formatter verbose","postpack":"node scripts/postpack.js","tw:build":"npx @tailwindcss/cli -i tailwind-main.css -o rayan/hm/css/tailwind.css --minify","tw:watch":"npx @tailwindcss/cli -i tailwind-main.css -o rayan/hm/css/tailwind.css --watch","audit:all":"npm run audit:lint && npm run audit:dupes && npm run audit:unused","bundle:ui":"webpack --config webpack.ui.config.js","css:dupes":"node scripts/css-dupes.mjs","css:purge":"node scripts/purge-report.mjs","uno:build":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs","uno:watch":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs --watch","analyze:ui":"node -e \"process.env.ANALYZE='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","audit:lint":"eslint rayan/hm/js/v --max-warnings 9999","bundle:all":"npm run bundle:server && npm run bundle:ui && npm run bundle:css","bundle:css":"webpack --config webpack.css.config.js","css:report":"npm run css:lint:json && node scripts/generate-tools-report.mjs","analyze:all":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","audit:dupes":"jscpd","css:analyze":"node scripts/deep-css-report.mjs","lint:compat":"set BROWSERSLIST_ENV=production&& eslint \"rayan/hm/js/**/*.{js,mjs,cjs,jsx}\"","postinstall":"node bin/mgl.js --install-service","start:quiet":"set QUIET_CONSOLE=1&& node pro.js","audit:unused":"knip --reporter compact","build:update":"node scripts/build-update.js","css:generate":"node scripts/generate-css.mjs","css:lint:fix":"stylelint \"rayan/hm/css/**/*.css\" --fix","start:bundle":"node os.js","tw:build:all":"npm run tw:build && npm run tw:build:admin","bundle:server":"webpack --config webpack.server.config.js","css:lint:json":"stylelint \"rayan/hm/css/**/*.css\" --formatter json --output-file purged/stylelint-report.json --allow-empty-input","deploy:update":"npm run build:update && npm run upload:update","uno:build:min":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs --minify","upload:update":"node scripts/upload-update.js","prepublishOnly":"npm version patch --no-git-tag-version","tw:build:admin":"npx @tailwindcss/cli -i tailwind-admin.css -o rayan/hm/css/adminCss/tailwind-admin.css --minify","tw:watch:admin":"npx @tailwindcss/cli -i tailwind-admin.css -o rayan/hm/css/adminCss/tailwind-admin.css --watch","bundle:ui:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js","bundle:ui:watch":"webpack --config webpack.ui.config.js --watch","analyze:ui:static":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","analyze:all:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","start:bundle:quiet":"set QUIET_CONSOLE=1&& node os.js","analyze:bundle:full":"npm run analyze:all && npm run analyze:bundle:gaps","analyze:bundle:gaps":"node scripts/check-bundle-gaps.mjs","bundle:ui:obfuscate":"set OBFUSCATE=1&& webpack --config webpack.ui.config.js","analyze:all:nomangle":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.DISABLE_MANGLE='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll":"webpack --config webpack.ui.config.js --watch --watch-options-poll=1000","bundle:ui:watch:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch","bundle:server:obfuscate":"webpack --config webpack.server.config.js && javascript-obfuscator msh.js --output msh.js --compact true --control-flow-flattening true --control-flow-flattening-threshold 0.6 --dead-code-injection true --dead-code-injection-threshold 0.25 --identifier-names-generator hexadecimal --identifiers-prefix _0x --numbers-to-expressions true --rename-globals false --string-array-rotate true --self-defending false --string-array-shuffle true --split-strings true --split-strings-chunk-length 8 --string-array true --string-array-calls-transform true --string-array-calls-transform-threshold 1 --string-array-encoding rc4 --string-array-indexes-type hexadecimal-number --string-array-threshold 1 --string-array-wrappers-count 2 --string-array-wrappers-chained-calls true --string-array-wrappers-parameters-max-count 3 --string-array-wrappers-type function --transform-object-keys true --unicode-escape-sequence true --target node","analyze:ui:static:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch --watch-options-poll=1000"},"_npmUser":{"name":"abu-sara","email":"walysky@gmail.com"},"_npmVersion":"11.11.0","description":"Magala Media Server — self-hosted streaming and media management server","directories":{},"_nodeVersion":"25.8.0","browserslist":{"production":[">0.5%","last 3 versions","Firefox ESR","not dead","not ie 11","not op_mini all","chrome >= 80","firefox >= 78","safari >= 13","ios_saf >= 13","edge >= 80","android >= 8","samsung >= 12"],"development":["last 3 versions","safari >= 13","android >= 8"]},"dependencies":{"cors":"^2.8.6","axios":"^1.13.4","sharp":"^0.34.5","bcrypt":"^6.0.0","megajs":"^1.3.9","multer":"^2.0.2","undici":"^7.20.0","adm-zip":"^0.5.16","cheerio":"^1.2.0","core-js":"^3.48.0","express":"^5.2.1","archiver":"^7.0.1","bcryptjs":"^3.0.3","fs-extra":"^11.3.3","punycode":"^2.3.1","unzipper":"^0.12.3","node-cron":"^4.2.1","compression":"^1.8.1","whatwg-fetch":"^3.6.20","express-session":"^1.19.0","stream-throttle":"^0.1.3","regenerator-runtime":"^0.14.1"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"glob":"^11.0.0","knip":"^5.86.0","jscpd":"^4.0.8","eslint":"^9.39.2","unocss":"^66.6.6","esbuild":"^0.25.0","globals":"^17.3.0","postcss":"^8.0.0","webpack":"^5.105.0","purgecss":"^8.0.0","stylelint":"^17.4.0","@eslint/js":"^9.39.2","css-loader":"^7.1.4","playwright":"^1.58.2","@babel/core":"^7.29.0","@unocss/cli":"^66.6.6","jscodeshift":"^17.3.0","tailwindcss":"^4.2.1","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","style-loader":"^4.0.0","puppeteer-core":"^24.37.2","stylelint-order":"^8.0.0","@tailwindcss/cli":"^4.2.1","check-unused-css":"^0.2.7","@babel/preset-env":"^7.29.0","@aws-sdk/client-s3":"^3.1005.0","webpack-obfuscator":"^3.6.0","@unocss/preset-mini":"^66.6.6","@unocss/preset-wind":"^66.6.6","eslint-plugin-react":"^7.37.5","@unocss/preset-icons":"^66.6.6","eslint-plugin-compat":"^6.1.0","javascript-obfuscator":"^5.3.0","terser-webpack-plugin":"^5.3.16","webpack-node-externals":"^3.0.0","mini-css-extract-plugin":"^2.10.0","webpack-bundle-analyzer":"^5.2.0","@unocss/preset-typography":"^66.6.6","stylelint-config-standard":"^40.0.0","stylelint-formatter-pretty":"^4.0.1","@fullhuman/postcss-purgecss":"^8.0.0","@projectwallace/css-analyzer":"^9.3.0","css-minimizer-webpack-plugin":"^8.0.0","webpack-remove-empty-scripts":"^1.1.1"},"_npmOperationalInternal":{"tmp":"tmp/magalh_1.0.13_1774658289660_0.07919923273416463","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"magalh","version":"1.0.14","keywords":["media-server","streaming","magala","self-hosted"],"license":"ISC","_id":"magalh@1.0.14","maintainers":[{"name":"abu-sara","email":"walysky@gmail.com"}],"bin":{"magalh":"bin/mgl.js"},"dist":{"shasum":"96b8a3e6069b6174f3310ba5f29b11ed77c31313","tarball":"https://registry.npmjs.org/magalh/-/magalh-1.0.14.tgz","fileCount":4,"integrity":"sha512-PhTdHnc2bl/mUrO1T25o3S2IK1gHRsFNgSDcI0Y2hov6RjCLDid+rjQMwYudpIAvcuvueWs1HyZ3yIDRWRd/Sw==","signatures":[{"sig":"MEUCICoBTbYkvN1PfeCvSh2V1MRUwMXc/DUveSF42haLtLmCAiEAwvhCQzZ8RaPvGO5Cki7EhlqreTZyKvOONuf1OYXw8hU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12802737},"gitHead":"d1c5d84ba17b3f738815ab6df39aab233cbabe58","scripts":{"lint":"eslint .","start":"node pro.js","magala":"node pro.js","css:all":"npm run css:lint:json && node scripts/generate-tools-report.mjs && node scripts/purge-report.mjs && node scripts/deep-css-report.mjs","prepack":"node scripts/prepack.js","css:lint":"stylelint \"rayan/hm/css/**/*.css\" --formatter verbose","postpack":"node scripts/postpack.js","tw:build":"npx @tailwindcss/cli -i tailwind-main.css -o rayan/hm/css/tailwind.css --minify","tw:watch":"npx @tailwindcss/cli -i tailwind-main.css -o rayan/hm/css/tailwind.css --watch","audit:all":"npm run audit:lint && npm run audit:dupes && npm run audit:unused","bundle:ui":"webpack --config webpack.ui.config.js","css:dupes":"node scripts/css-dupes.mjs","css:purge":"node scripts/purge-report.mjs","uno:build":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs","uno:watch":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs --watch","analyze:ui":"node -e \"process.env.ANALYZE='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","audit:lint":"eslint rayan/hm/js/v --max-warnings 9999","bundle:all":"npm run bundle:server && npm run bundle:ui && npm run bundle:css","bundle:css":"webpack --config webpack.css.config.js","css:report":"npm run css:lint:json && node scripts/generate-tools-report.mjs","analyze:all":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","audit:dupes":"jscpd","css:analyze":"node scripts/deep-css-report.mjs","lint:compat":"set BROWSERSLIST_ENV=production&& eslint \"rayan/hm/js/**/*.{js,mjs,cjs,jsx}\"","postinstall":"node bin/mgl.js --install-service","start:quiet":"set QUIET_CONSOLE=1&& node pro.js","audit:unused":"knip --reporter compact","build:update":"node scripts/build-update.js","css:generate":"node scripts/generate-css.mjs","css:lint:fix":"stylelint \"rayan/hm/css/**/*.css\" --fix","start:bundle":"node os.js","tw:build:all":"npm run tw:build && npm run tw:build:admin","bundle:server":"webpack --config webpack.server.config.js","css:lint:json":"stylelint \"rayan/hm/css/**/*.css\" --formatter json --output-file purged/stylelint-report.json --allow-empty-input","deploy:update":"npm run build:update && npm run upload:update","uno:build:min":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs --minify","upload:update":"node scripts/upload-update.js","prepublishOnly":"npm version patch --no-git-tag-version","tw:build:admin":"npx @tailwindcss/cli -i tailwind-admin.css -o rayan/hm/css/adminCss/tailwind-admin.css --minify","tw:watch:admin":"npx @tailwindcss/cli -i tailwind-admin.css -o rayan/hm/css/adminCss/tailwind-admin.css --watch","bundle:ui:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js","bundle:ui:watch":"webpack --config webpack.ui.config.js --watch","analyze:ui:static":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","analyze:all:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","start:bundle:quiet":"set QUIET_CONSOLE=1&& node os.js","analyze:bundle:full":"npm run analyze:all && npm run analyze:bundle:gaps","analyze:bundle:gaps":"node scripts/check-bundle-gaps.mjs","bundle:ui:obfuscate":"set OBFUSCATE=1&& webpack --config webpack.ui.config.js","analyze:all:nomangle":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.DISABLE_MANGLE='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll":"webpack --config webpack.ui.config.js --watch --watch-options-poll=1000","bundle:ui:watch:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch","bundle:server:obfuscate":"webpack --config webpack.server.config.js && javascript-obfuscator msh.js --output msh.js --compact true --control-flow-flattening true --control-flow-flattening-threshold 0.6 --dead-code-injection true --dead-code-injection-threshold 0.25 --identifier-names-generator hexadecimal --identifiers-prefix _0x --numbers-to-expressions true --rename-globals false --string-array-rotate true --self-defending false --string-array-shuffle true --split-strings true --split-strings-chunk-length 8 --string-array true --string-array-calls-transform true --string-array-calls-transform-threshold 1 --string-array-encoding rc4 --string-array-indexes-type hexadecimal-number --string-array-threshold 1 --string-array-wrappers-count 2 --string-array-wrappers-chained-calls true --string-array-wrappers-parameters-max-count 3 --string-array-wrappers-type function --transform-object-keys true --unicode-escape-sequence true --target node","analyze:ui:static:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch --watch-options-poll=1000"},"_npmUser":{"name":"abu-sara","email":"walysky@gmail.com"},"_npmVersion":"11.11.0","description":"Magala Media Server — self-hosted streaming and media management server","directories":{},"_nodeVersion":"25.8.0","browserslist":{"production":[">0.5%","last 3 versions","Firefox ESR","not dead","not ie 11","not op_mini all","chrome >= 80","firefox >= 78","safari >= 13","ios_saf >= 13","edge >= 80","android >= 8","samsung >= 12"],"development":["last 3 versions","safari >= 13","android >= 8"]},"dependencies":{"cors":"^2.8.6","axios":"^1.13.4","sharp":"^0.34.5","bcrypt":"^6.0.0","megajs":"^1.3.9","multer":"^2.0.2","undici":"^7.20.0","adm-zip":"^0.5.16","cheerio":"^1.2.0","core-js":"^3.48.0","express":"^5.2.1","archiver":"^7.0.1","bcryptjs":"^3.0.3","fs-extra":"^11.3.3","punycode":"^2.3.1","unzipper":"^0.12.3","node-cron":"^4.2.1","compression":"^1.8.1","whatwg-fetch":"^3.6.20","express-session":"^1.19.0","stream-throttle":"^0.1.3","regenerator-runtime":"^0.14.1"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"glob":"^11.0.0","knip":"^5.86.0","jscpd":"^4.0.8","eslint":"^9.39.2","unocss":"^66.6.6","esbuild":"^0.25.0","globals":"^17.3.0","postcss":"^8.0.0","webpack":"^5.105.0","purgecss":"^8.0.0","stylelint":"^17.4.0","@eslint/js":"^9.39.2","css-loader":"^7.1.4","playwright":"^1.58.2","@babel/core":"^7.29.0","@unocss/cli":"^66.6.6","jscodeshift":"^17.3.0","tailwindcss":"^4.2.1","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","style-loader":"^4.0.0","puppeteer-core":"^24.37.2","stylelint-order":"^8.0.0","@tailwindcss/cli":"^4.2.1","check-unused-css":"^0.2.7","@babel/preset-env":"^7.29.0","@aws-sdk/client-s3":"^3.1005.0","webpack-obfuscator":"^3.6.0","@unocss/preset-mini":"^66.6.6","@unocss/preset-wind":"^66.6.6","eslint-plugin-react":"^7.37.5","@unocss/preset-icons":"^66.6.6","eslint-plugin-compat":"^6.1.0","javascript-obfuscator":"^5.3.0","terser-webpack-plugin":"^5.3.16","webpack-node-externals":"^3.0.0","mini-css-extract-plugin":"^2.10.0","webpack-bundle-analyzer":"^5.2.0","@unocss/preset-typography":"^66.6.6","stylelint-config-standard":"^40.0.0","stylelint-formatter-pretty":"^4.0.1","@fullhuman/postcss-purgecss":"^8.0.0","@projectwallace/css-analyzer":"^9.3.0","css-minimizer-webpack-plugin":"^8.0.0","webpack-remove-empty-scripts":"^1.1.1"},"_npmOperationalInternal":{"tmp":"tmp/magalh_1.0.14_1774702739994_0.9065624110477037","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"magalh","version":"1.0.15","keywords":["media-server","streaming","magala","self-hosted"],"license":"ISC","_id":"magalh@1.0.15","maintainers":[{"name":"abu-sara","email":"walysky@gmail.com"}],"bin":{"magalh":"bin/mgl.js"},"dist":{"shasum":"89ad67352ce4f6ed6c4e809c7045c0f1ba795436","tarball":"https://registry.npmjs.org/magalh/-/magalh-1.0.15.tgz","fileCount":3,"integrity":"sha512-dk1C3gYjrJ8X+F7AIAd4KDbSdTr2w7eZeriRHnbkro8Lw/rXWyHaUJa+dWhb3R6O8NwHXoHgP3UdIDMQsX0b2A==","signatures":[{"sig":"MEUCIQCq54w8GRGXYfCKTsfQ7AUwTYt8Y4DIO/1Y/amGJDa49gIgdwFFV0ojonnSEVbvqpgIIqweHgoRwxMWW5RciRW3iIw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12856151},"gitHead":"d1c5d84ba17b3f738815ab6df39aab233cbabe58","scripts":{"lint":"eslint .","start":"node pro.js","magala":"node pro.js","css:all":"npm run css:lint:json && node scripts/generate-tools-report.mjs && node scripts/purge-report.mjs && node scripts/deep-css-report.mjs","prepack":"node scripts/prepack.js","release":"npm run bundle:css && npm run bundle:server:obfuscate && npm run bundle:ui:obfuscate && npm run build:update && npm run upload:update","css:lint":"stylelint \"rayan/hm/css/**/*.css\" --formatter verbose","postpack":"node scripts/postpack.js","tw:build":"npx @tailwindcss/cli -i tailwind-main.css -o rayan/hm/css/tailwind.css --minify","tw:watch":"npx @tailwindcss/cli -i tailwind-main.css -o rayan/hm/css/tailwind.css --watch","audit:all":"npm run audit:lint && npm run audit:dupes && npm run audit:unused","bundle:ui":"webpack --config webpack.ui.config.js","css:dupes":"node scripts/css-dupes.mjs","css:purge":"node scripts/purge-report.mjs","uno:build":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs","uno:watch":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs --watch","analyze:ui":"node -e \"process.env.ANALYZE='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","audit:lint":"eslint rayan/hm/js/v --max-warnings 9999","bundle:all":"npm run bundle:server && npm run bundle:ui && npm run bundle:css","bundle:css":"webpack --config webpack.css.config.js","css:report":"npm run css:lint:json && node scripts/generate-tools-report.mjs","analyze:all":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","audit:dupes":"jscpd","css:analyze":"node scripts/deep-css-report.mjs","lint:compat":"set BROWSERSLIST_ENV=production&& eslint \"rayan/hm/js/**/*.{js,mjs,cjs,jsx}\"","postinstall":"node bin/mgl.js --install-service","start:quiet":"set QUIET_CONSOLE=1&& node pro.js","audit:unused":"knip --reporter compact","build:update":"node scripts/build-update.js","css:generate":"node scripts/generate-css.mjs","css:lint:fix":"stylelint \"rayan/hm/css/**/*.css\" --fix","start:bundle":"node os.js","tw:build:all":"npm run tw:build && npm run tw:build:admin","bundle:server":"webpack --config webpack.server.config.js","css:lint:json":"stylelint \"rayan/hm/css/**/*.css\" --formatter json --output-file purged/stylelint-report.json --allow-empty-input","deploy:update":"npm run build:update && npm run upload:update","uno:build:min":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs --minify","upload:update":"node scripts/upload-update.js","prepublishOnly":"npm version patch --no-git-tag-version","tw:build:admin":"npx @tailwindcss/cli -i tailwind-admin.css -o rayan/hm/css/adminCss/tailwind-admin.css --minify","tw:watch:admin":"npx @tailwindcss/cli -i tailwind-admin.css -o rayan/hm/css/adminCss/tailwind-admin.css --watch","bundle:ui:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js","bundle:ui:watch":"webpack --config webpack.ui.config.js --watch","analyze:ui:static":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","analyze:all:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","start:bundle:quiet":"set QUIET_CONSOLE=1&& node os.js","analyze:bundle:full":"npm run analyze:all && npm run analyze:bundle:gaps","analyze:bundle:gaps":"node scripts/check-bundle-gaps.mjs","bundle:ui:obfuscate":"set OBFUSCATE=1&& webpack --config webpack.ui.config.js","analyze:all:nomangle":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.DISABLE_MANGLE='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll":"webpack --config webpack.ui.config.js --watch --watch-options-poll=1000","bundle:ui:watch:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch","bundle:server:obfuscate":"webpack --config webpack.server.config.js && javascript-obfuscator msh.js --output msh.js --compact true --control-flow-flattening true --control-flow-flattening-threshold 0.6 --dead-code-injection true --dead-code-injection-threshold 0.25 --identifier-names-generator hexadecimal --identifiers-prefix _0x --numbers-to-expressions true --rename-globals false --string-array-rotate true --self-defending false --string-array-shuffle true --split-strings true --split-strings-chunk-length 8 --string-array true --string-array-calls-transform true --string-array-calls-transform-threshold 1 --string-array-encoding rc4 --string-array-indexes-type hexadecimal-number --string-array-threshold 1 --string-array-wrappers-count 2 --string-array-wrappers-chained-calls true --string-array-wrappers-parameters-max-count 3 --string-array-wrappers-type function --transform-object-keys true --unicode-escape-sequence true --target node","analyze:ui:static:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch --watch-options-poll=1000"},"_npmUser":{"name":"abu-sara","email":"walysky@gmail.com"},"_npmVersion":"11.11.0","description":"Magala Media Server — self-hosted streaming and media management server","directories":{},"_nodeVersion":"25.8.0","browserslist":{"production":[">0.5%","last 3 versions","Firefox ESR","not dead","not ie 11","not op_mini all","chrome >= 80","firefox >= 78","safari >= 13","ios_saf >= 13","edge >= 80","android >= 8","samsung >= 12"],"development":["last 3 versions","safari >= 13","android >= 8"]},"dependencies":{"cors":"^2.8.6","axios":"^1.13.4","sharp":"^0.34.5","bcrypt":"^6.0.0","megajs":"^1.3.9","multer":"^2.0.2","undici":"^7.20.0","adm-zip":"^0.5.16","cheerio":"^1.2.0","core-js":"^3.48.0","express":"^5.2.1","archiver":"^7.0.1","bcryptjs":"^3.0.3","fs-extra":"^11.3.3","punycode":"^2.3.1","unzipper":"^0.12.3","node-cron":"^4.2.1","compression":"^1.8.1","whatwg-fetch":"^3.6.20","express-session":"^1.19.0","stream-throttle":"^0.1.3","regenerator-runtime":"^0.14.1"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"glob":"^11.0.0","knip":"^5.86.0","jscpd":"^4.0.8","eslint":"^9.39.2","unocss":"^66.6.6","esbuild":"^0.25.0","globals":"^17.3.0","postcss":"^8.0.0","webpack":"^5.105.0","purgecss":"^8.0.0","stylelint":"^17.4.0","@eslint/js":"^9.39.2","css-loader":"^7.1.4","playwright":"^1.58.2","@babel/core":"^7.29.0","@unocss/cli":"^66.6.6","jscodeshift":"^17.3.0","tailwindcss":"^4.2.1","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","style-loader":"^4.0.0","puppeteer-core":"^24.37.2","stylelint-order":"^8.0.0","@tailwindcss/cli":"^4.2.1","check-unused-css":"^0.2.7","@babel/preset-env":"^7.29.0","@aws-sdk/client-s3":"^3.1005.0","webpack-obfuscator":"^3.6.0","@unocss/preset-mini":"^66.6.6","@unocss/preset-wind":"^66.6.6","eslint-plugin-react":"^7.37.5","@unocss/preset-icons":"^66.6.6","eslint-plugin-compat":"^6.1.0","javascript-obfuscator":"^5.3.0","terser-webpack-plugin":"^5.3.16","webpack-node-externals":"^3.0.0","mini-css-extract-plugin":"^2.10.0","webpack-bundle-analyzer":"^5.2.0","@unocss/preset-typography":"^66.6.6","stylelint-config-standard":"^40.0.0","stylelint-formatter-pretty":"^4.0.1","@fullhuman/postcss-purgecss":"^8.0.0","@projectwallace/css-analyzer":"^9.3.0","css-minimizer-webpack-plugin":"^8.0.0","webpack-remove-empty-scripts":"^1.1.1"},"_npmOperationalInternal":{"tmp":"tmp/magalh_1.0.15_1774706033492_0.09188333052629694","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"name":"magalh","version":"1.0.16","keywords":["media-server","streaming","magala","self-hosted"],"license":"ISC","_id":"magalh@1.0.16","maintainers":[{"name":"abu-sara","email":"walysky@gmail.com"}],"bin":{"magalh":"bin/mgl.js"},"dist":{"shasum":"f109aae28edfcd675bfadb93652d5ef1cd5f3c07","tarball":"https://registry.npmjs.org/magalh/-/magalh-1.0.16.tgz","fileCount":3,"integrity":"sha512-wGSx9yg6h3R7SI4EXLqk19UeOHEYjemmw4DJjIj7fO1dy/KifeoNqx88XqQNfecYcAa7RaE0EGpkU+EOP+xUBQ==","signatures":[{"sig":"MEUCIQCS5fCqDcTaaTXmMCZ+UhWmI1tStrKVzFAYFKLvCtWkAQIgE0yvTd5Opn0N+Fxh3JXt4pWUxBuJFXBXCVAL9OODkS8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12854155},"gitHead":"d1c5d84ba17b3f738815ab6df39aab233cbabe58","scripts":{"lint":"eslint .","start":"node pro.js","magala":"node pro.js","css:all":"npm run css:lint:json && node scripts/generate-tools-report.mjs && node scripts/purge-report.mjs && node scripts/deep-css-report.mjs","prepack":"node scripts/prepack.js","release":"npm run bundle:css && npm run bundle:server:obfuscate && npm run bundle:ui:obfuscate && npm run build:update && npm run upload:update","css:lint":"stylelint \"rayan/hm/css/**/*.css\" --formatter verbose","postpack":"node scripts/postpack.js","tw:build":"npx @tailwindcss/cli -i tailwind-main.css -o rayan/hm/css/tailwind.css --minify","tw:watch":"npx @tailwindcss/cli -i tailwind-main.css -o rayan/hm/css/tailwind.css --watch","audit:all":"npm run audit:lint && npm run audit:dupes && npm run audit:unused","bundle:ui":"webpack --config webpack.ui.config.js","css:dupes":"node scripts/css-dupes.mjs","css:purge":"node scripts/purge-report.mjs","uno:build":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs","uno:watch":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs --watch","analyze:ui":"node -e \"process.env.ANALYZE='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","audit:lint":"eslint rayan/hm/js/v --max-warnings 9999","bundle:all":"npm run bundle:server && npm run bundle:ui && npm run bundle:css","bundle:css":"webpack --config webpack.css.config.js","css:report":"npm run css:lint:json && node scripts/generate-tools-report.mjs","analyze:all":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","audit:dupes":"jscpd","css:analyze":"node scripts/deep-css-report.mjs","lint:compat":"set BROWSERSLIST_ENV=production&& eslint \"rayan/hm/js/**/*.{js,mjs,cjs,jsx}\"","postinstall":"node bin/mgl.js --install-service","start:quiet":"set QUIET_CONSOLE=1&& node pro.js","audit:unused":"knip --reporter compact","build:update":"node scripts/build-update.js","css:generate":"node scripts/generate-css.mjs","css:lint:fix":"stylelint \"rayan/hm/css/**/*.css\" --fix","start:bundle":"node os.js","tw:build:all":"npm run tw:build && npm run tw:build:admin","bundle:server":"webpack --config webpack.server.config.js","css:lint:json":"stylelint \"rayan/hm/css/**/*.css\" --formatter json --output-file purged/stylelint-report.json --allow-empty-input","deploy:update":"npm run build:update && npm run upload:update","uno:build:min":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs --minify","upload:update":"node scripts/upload-update.js","prepublishOnly":"npm version patch --no-git-tag-version","tw:build:admin":"npx @tailwindcss/cli -i tailwind-admin.css -o rayan/hm/css/adminCss/tailwind-admin.css --minify","tw:watch:admin":"npx @tailwindcss/cli -i tailwind-admin.css -o rayan/hm/css/adminCss/tailwind-admin.css --watch","bundle:ui:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js","bundle:ui:watch":"webpack --config webpack.ui.config.js --watch","analyze:ui:static":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","analyze:all:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","start:bundle:quiet":"set QUIET_CONSOLE=1&& node os.js","analyze:bundle:full":"npm run analyze:all && npm run analyze:bundle:gaps","analyze:bundle:gaps":"node scripts/check-bundle-gaps.mjs","bundle:ui:obfuscate":"set OBFUSCATE=1&& webpack --config webpack.ui.config.js","analyze:all:nomangle":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.DISABLE_MANGLE='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll":"webpack --config webpack.ui.config.js --watch --watch-options-poll=1000","bundle:ui:watch:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch","bundle:server:obfuscate":"webpack --config webpack.server.config.js && javascript-obfuscator msh.js --output msh.js --compact true --control-flow-flattening true --control-flow-flattening-threshold 0.6 --dead-code-injection true --dead-code-injection-threshold 0.25 --identifier-names-generator hexadecimal --identifiers-prefix _0x --numbers-to-expressions true --rename-globals false --string-array-rotate true --self-defending false --string-array-shuffle true --split-strings true --split-strings-chunk-length 8 --string-array true --string-array-calls-transform true --string-array-calls-transform-threshold 1 --string-array-encoding rc4 --string-array-indexes-type hexadecimal-number --string-array-threshold 1 --string-array-wrappers-count 2 --string-array-wrappers-chained-calls true --string-array-wrappers-parameters-max-count 3 --string-array-wrappers-type function --transform-object-keys true --unicode-escape-sequence true --target node","analyze:ui:static:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch --watch-options-poll=1000"},"_npmUser":{"name":"abu-sara","email":"walysky@gmail.com"},"_npmVersion":"11.11.0","description":"Magala Media Server — self-hosted streaming and media management server","directories":{},"_nodeVersion":"25.8.0","browserslist":{"production":[">0.5%","last 3 versions","Firefox ESR","not dead","not ie 11","not op_mini all","chrome >= 80","firefox >= 78","safari >= 13","ios_saf >= 13","edge >= 80","android >= 8","samsung >= 12"],"development":["last 3 versions","safari >= 13","android >= 8"]},"dependencies":{"cors":"^2.8.6","axios":"^1.13.4","sharp":"^0.34.5","bcrypt":"^6.0.0","megajs":"^1.3.9","multer":"^2.0.2","undici":"^7.20.0","adm-zip":"^0.5.16","cheerio":"^1.2.0","core-js":"^3.48.0","express":"^5.2.1","archiver":"^7.0.1","bcryptjs":"^3.0.3","fs-extra":"^11.3.3","punycode":"^2.3.1","unzipper":"^0.12.3","node-cron":"^4.2.1","compression":"^1.8.1","whatwg-fetch":"^3.6.20","express-session":"^1.19.0","stream-throttle":"^0.1.3","regenerator-runtime":"^0.14.1"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"glob":"^11.0.0","knip":"^5.86.0","jscpd":"^4.0.8","eslint":"^9.39.2","unocss":"^66.6.6","esbuild":"^0.25.0","globals":"^17.3.0","postcss":"^8.0.0","webpack":"^5.105.0","purgecss":"^8.0.0","stylelint":"^17.4.0","@eslint/js":"^9.39.2","css-loader":"^7.1.4","playwright":"^1.58.2","@babel/core":"^7.29.0","@unocss/cli":"^66.6.6","jscodeshift":"^17.3.0","tailwindcss":"^4.2.1","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","style-loader":"^4.0.0","puppeteer-core":"^24.37.2","stylelint-order":"^8.0.0","@tailwindcss/cli":"^4.2.1","check-unused-css":"^0.2.7","@babel/preset-env":"^7.29.0","@aws-sdk/client-s3":"^3.1005.0","webpack-obfuscator":"^3.6.0","@unocss/preset-mini":"^66.6.6","@unocss/preset-wind":"^66.6.6","eslint-plugin-react":"^7.37.5","@unocss/preset-icons":"^66.6.6","eslint-plugin-compat":"^6.1.0","javascript-obfuscator":"^5.3.0","terser-webpack-plugin":"^5.3.16","webpack-node-externals":"^3.0.0","mini-css-extract-plugin":"^2.10.0","webpack-bundle-analyzer":"^5.2.0","@unocss/preset-typography":"^66.6.6","stylelint-config-standard":"^40.0.0","stylelint-formatter-pretty":"^4.0.1","@fullhuman/postcss-purgecss":"^8.0.0","@projectwallace/css-analyzer":"^9.3.0","css-minimizer-webpack-plugin":"^8.0.0","webpack-remove-empty-scripts":"^1.1.1"},"_npmOperationalInternal":{"tmp":"tmp/magalh_1.0.16_1774707317873_0.49202161091169194","host":"s3://npm-registry-packages-npm-production"}},"1.0.17":{"name":"magalh","version":"1.0.17","keywords":["media-server","streaming","magala","self-hosted"],"license":"ISC","_id":"magalh@1.0.17","maintainers":[{"name":"abu-sara","email":"walysky@gmail.com"}],"bin":{"magalh":"bin/mgl.js"},"dist":{"shasum":"0ddf7997eadf2392d69db5d703397fd62602c071","tarball":"https://registry.npmjs.org/magalh/-/magalh-1.0.17.tgz","fileCount":3,"integrity":"sha512-cA9wpsvwfEL7oI204LP7azB4IMtQJ4flIP3fwDXmSjjStlYZwtU/RLx2CD39rByKMgkUx4V7+ULOu6OjgV8zLA==","signatures":[{"sig":"MEUCIDcMLgD/oJWC9SUuMO08ds1dZvvr8V5gqlM8b05erVFpAiEAqfL17c0H/Ch99aU6QgvQF+VEZXubrmIGLiZgRDKEOU4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12854155},"gitHead":"d1c5d84ba17b3f738815ab6df39aab233cbabe58","scripts":{"lint":"eslint .","start":"node pro.js","magala":"node pro.js","css:all":"npm run css:lint:json && node scripts/generate-tools-report.mjs && node scripts/purge-report.mjs && node scripts/deep-css-report.mjs","prepack":"node scripts/prepack.js","release":"npm run bundle:css && npm run bundle:server:obfuscate && npm run bundle:ui:obfuscate && npm run build:update && npm run upload:update","css:lint":"stylelint \"rayan/hm/css/**/*.css\" --formatter verbose","postpack":"node scripts/postpack.js","tw:build":"npx @tailwindcss/cli -i tailwind-main.css -o rayan/hm/css/tailwind.css --minify","tw:watch":"npx @tailwindcss/cli -i tailwind-main.css -o rayan/hm/css/tailwind.css --watch","audit:all":"npm run audit:lint && npm run audit:dupes && npm run audit:unused","bundle:ui":"webpack --config webpack.ui.config.js","css:dupes":"node scripts/css-dupes.mjs","css:purge":"node scripts/purge-report.mjs","uno:build":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs","uno:watch":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs --watch","analyze:ui":"node -e \"process.env.ANALYZE='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","audit:lint":"eslint rayan/hm/js/v --max-warnings 9999","bundle:all":"npm run bundle:server && npm run bundle:ui && npm run bundle:css","bundle:css":"webpack --config webpack.css.config.js","css:report":"npm run css:lint:json && node scripts/generate-tools-report.mjs","analyze:all":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","audit:dupes":"jscpd","css:analyze":"node scripts/deep-css-report.mjs","lint:compat":"set BROWSERSLIST_ENV=production&& eslint \"rayan/hm/js/**/*.{js,mjs,cjs,jsx}\"","postinstall":"node bin/mgl.js --install-service","start:quiet":"set QUIET_CONSOLE=1&& node pro.js","audit:unused":"knip --reporter compact","build:update":"node scripts/build-update.js","css:generate":"node scripts/generate-css.mjs","css:lint:fix":"stylelint \"rayan/hm/css/**/*.css\" --fix","start:bundle":"node os.js","tw:build:all":"npm run tw:build && npm run tw:build:admin","bundle:server":"webpack --config webpack.server.config.js","css:lint:json":"stylelint \"rayan/hm/css/**/*.css\" --formatter json --output-file purged/stylelint-report.json --allow-empty-input","deploy:update":"npm run build:update && npm run upload:update","uno:build:min":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs --minify","upload:update":"node scripts/upload-update.js","prepublishOnly":"npm version patch --no-git-tag-version","tw:build:admin":"npx @tailwindcss/cli -i tailwind-admin.css -o rayan/hm/css/adminCss/tailwind-admin.css --minify","tw:watch:admin":"npx @tailwindcss/cli -i tailwind-admin.css -o rayan/hm/css/adminCss/tailwind-admin.css --watch","bundle:ui:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js","bundle:ui:watch":"webpack --config webpack.ui.config.js --watch","analyze:ui:static":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","analyze:all:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","start:bundle:quiet":"set QUIET_CONSOLE=1&& node os.js","analyze:bundle:full":"npm run analyze:all && npm run analyze:bundle:gaps","analyze:bundle:gaps":"node scripts/check-bundle-gaps.mjs","bundle:ui:obfuscate":"set OBFUSCATE=1&& webpack --config webpack.ui.config.js","analyze:all:nomangle":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.DISABLE_MANGLE='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll":"webpack --config webpack.ui.config.js --watch --watch-options-poll=1000","bundle:ui:watch:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch","bundle:server:obfuscate":"webpack --config webpack.server.config.js && javascript-obfuscator msh.js --output msh.js --compact true --control-flow-flattening true --control-flow-flattening-threshold 0.6 --dead-code-injection true --dead-code-injection-threshold 0.25 --identifier-names-generator hexadecimal --identifiers-prefix _0x --numbers-to-expressions true --rename-globals false --string-array-rotate true --self-defending false --string-array-shuffle true --split-strings true --split-strings-chunk-length 8 --string-array true --string-array-calls-transform true --string-array-calls-transform-threshold 1 --string-array-encoding rc4 --string-array-indexes-type hexadecimal-number --string-array-threshold 1 --string-array-wrappers-count 2 --string-array-wrappers-chained-calls true --string-array-wrappers-parameters-max-count 3 --string-array-wrappers-type function --transform-object-keys true --unicode-escape-sequence true --target node","analyze:ui:static:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch --watch-options-poll=1000"},"_npmUser":{"name":"abu-sara","email":"walysky@gmail.com"},"_npmVersion":"11.11.0","description":"Magala Media Server — self-hosted streaming and media management server","directories":{},"_nodeVersion":"25.8.0","browserslist":{"production":[">0.5%","last 3 versions","Firefox ESR","not dead","not ie 11","not op_mini all","chrome >= 80","firefox >= 78","safari >= 13","ios_saf >= 13","edge >= 80","android >= 8","samsung >= 12"],"development":["last 3 versions","safari >= 13","android >= 8"]},"dependencies":{"cors":"^2.8.6","axios":"^1.13.4","sharp":"^0.34.5","bcrypt":"^6.0.0","megajs":"^1.3.9","multer":"^2.0.2","undici":"^7.20.0","adm-zip":"^0.5.16","cheerio":"^1.2.0","core-js":"^3.48.0","express":"^5.2.1","archiver":"^7.0.1","bcryptjs":"^3.0.3","fs-extra":"^11.3.3","punycode":"^2.3.1","unzipper":"^0.12.3","node-cron":"^4.2.1","compression":"^1.8.1","whatwg-fetch":"^3.6.20","express-session":"^1.19.0","stream-throttle":"^0.1.3","regenerator-runtime":"^0.14.1"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"glob":"^11.0.0","knip":"^5.86.0","jscpd":"^4.0.8","eslint":"^9.39.2","unocss":"^66.6.6","esbuild":"^0.25.0","globals":"^17.3.0","postcss":"^8.0.0","webpack":"^5.105.0","purgecss":"^8.0.0","stylelint":"^17.4.0","@eslint/js":"^9.39.2","css-loader":"^7.1.4","playwright":"^1.58.2","@babel/core":"^7.29.0","@unocss/cli":"^66.6.6","jscodeshift":"^17.3.0","tailwindcss":"^4.2.1","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","style-loader":"^4.0.0","puppeteer-core":"^24.37.2","stylelint-order":"^8.0.0","@tailwindcss/cli":"^4.2.1","check-unused-css":"^0.2.7","@babel/preset-env":"^7.29.0","@aws-sdk/client-s3":"^3.1005.0","webpack-obfuscator":"^3.6.0","@unocss/preset-mini":"^66.6.6","@unocss/preset-wind":"^66.6.6","eslint-plugin-react":"^7.37.5","@unocss/preset-icons":"^66.6.6","eslint-plugin-compat":"^6.1.0","javascript-obfuscator":"^5.3.0","terser-webpack-plugin":"^5.3.16","webpack-node-externals":"^3.0.0","mini-css-extract-plugin":"^2.10.0","webpack-bundle-analyzer":"^5.2.0","@unocss/preset-typography":"^66.6.6","stylelint-config-standard":"^40.0.0","stylelint-formatter-pretty":"^4.0.1","@fullhuman/postcss-purgecss":"^8.0.0","@projectwallace/css-analyzer":"^9.3.0","css-minimizer-webpack-plugin":"^8.0.0","webpack-remove-empty-scripts":"^1.1.1"},"_npmOperationalInternal":{"tmp":"tmp/magalh_1.0.17_1774707608449_0.5149175963571302","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"magalh","version":"1.0.18","keywords":["media-server","streaming","magala","self-hosted"],"license":"ISC","_id":"magalh@1.0.18","maintainers":[{"name":"abu-sara","email":"walysky@gmail.com"}],"bin":{"magalh":"bin/mgl.js"},"dist":{"shasum":"4a81c675dc64ccb13c63f827347744cf5aeacd12","tarball":"https://registry.npmjs.org/magalh/-/magalh-1.0.18.tgz","fileCount":3,"integrity":"sha512-RpkwTP6mmyXuep4JC7uP0ZKxHeiSlVoCcYTPYDFkUITSd8D5icgVaLBZLjX1Z0kNFRw19Hh9pmZiSK466PAXIg==","signatures":[{"sig":"MEUCIQDJMHGvoiLwnBPlF8exU1eEuroFx6fYmap3vKzuDfLosAIgVpgAiikY7Q9k4ZZ9EV71qLzoA9LcCWJ0JG/7RvFsLuQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12829034},"gitHead":"d1c5d84ba17b3f738815ab6df39aab233cbabe58","scripts":{"lint":"eslint .","start":"node pro.js","magala":"node pro.js","css:all":"npm run css:lint:json && node scripts/generate-tools-report.mjs && node scripts/purge-report.mjs && node scripts/deep-css-report.mjs","prepack":"node scripts/prepack.js","release":"npm run bundle:css && npm run bundle:server:obfuscate && npm run bundle:ui:obfuscate && npm run build:update && npm run upload:update","css:lint":"stylelint \"rayan/hm/css/**/*.css\" --formatter verbose","postpack":"node scripts/postpack.js","tw:build":"npx @tailwindcss/cli -i tailwind-main.css -o rayan/hm/css/tailwind.css --minify","tw:watch":"npx @tailwindcss/cli -i tailwind-main.css -o rayan/hm/css/tailwind.css --watch","audit:all":"npm run audit:lint && npm run audit:dupes && npm run audit:unused","bundle:ui":"webpack --config webpack.ui.config.js","css:dupes":"node scripts/css-dupes.mjs","css:purge":"node scripts/purge-report.mjs","uno:build":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs","uno:watch":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs --watch","analyze:ui":"node -e \"process.env.ANALYZE='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","audit:lint":"eslint rayan/hm/js/v --max-warnings 9999","bundle:all":"npm run bundle:server && npm run bundle:ui && npm run bundle:css","bundle:css":"webpack --config webpack.css.config.js","css:report":"npm run css:lint:json && node scripts/generate-tools-report.mjs","analyze:all":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","audit:dupes":"jscpd","css:analyze":"node scripts/deep-css-report.mjs","lint:compat":"set BROWSERSLIST_ENV=production&& eslint \"rayan/hm/js/**/*.{js,mjs,cjs,jsx}\"","postinstall":"node bin/mgl.js --install-service","start:quiet":"set QUIET_CONSOLE=1&& node pro.js","audit:unused":"knip --reporter compact","build:update":"node scripts/build-update.js","css:generate":"node scripts/generate-css.mjs","css:lint:fix":"stylelint \"rayan/hm/css/**/*.css\" --fix","start:bundle":"node os.js","tw:build:all":"npm run tw:build && npm run tw:build:admin","bundle:server":"webpack --config webpack.server.config.js","css:lint:json":"stylelint \"rayan/hm/css/**/*.css\" --formatter json --output-file purged/stylelint-report.json --allow-empty-input","deploy:update":"npm run build:update && npm run upload:update","uno:build:min":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs --minify","upload:update":"node scripts/upload-update.js","prepublishOnly":"npm version patch --no-git-tag-version","tw:build:admin":"npx @tailwindcss/cli -i tailwind-admin.css -o rayan/hm/css/adminCss/tailwind-admin.css --minify","tw:watch:admin":"npx @tailwindcss/cli -i tailwind-admin.css -o rayan/hm/css/adminCss/tailwind-admin.css --watch","bundle:ui:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js","bundle:ui:watch":"webpack --config webpack.ui.config.js --watch","analyze:ui:static":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","analyze:all:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","start:bundle:quiet":"set QUIET_CONSOLE=1&& node os.js","analyze:bundle:full":"npm run analyze:all && npm run analyze:bundle:gaps","analyze:bundle:gaps":"node scripts/check-bundle-gaps.mjs","bundle:ui:obfuscate":"set OBFUSCATE=1&& webpack --config webpack.ui.config.js","analyze:all:nomangle":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.DISABLE_MANGLE='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll":"webpack --config webpack.ui.config.js --watch --watch-options-poll=1000","bundle:ui:watch:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch","bundle:server:obfuscate":"webpack --config webpack.server.config.js && javascript-obfuscator msh.js --output msh.js --compact true --control-flow-flattening true --control-flow-flattening-threshold 0.6 --dead-code-injection true --dead-code-injection-threshold 0.25 --identifier-names-generator hexadecimal --identifiers-prefix _0x --numbers-to-expressions true --rename-globals false --string-array-rotate true --self-defending false --string-array-shuffle true --split-strings true --split-strings-chunk-length 8 --string-array true --string-array-calls-transform true --string-array-calls-transform-threshold 1 --string-array-encoding rc4 --string-array-indexes-type hexadecimal-number --string-array-threshold 1 --string-array-wrappers-count 2 --string-array-wrappers-chained-calls true --string-array-wrappers-parameters-max-count 3 --string-array-wrappers-type function --transform-object-keys true --unicode-escape-sequence true --target node","analyze:ui:static:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch --watch-options-poll=1000"},"_npmUser":{"name":"abu-sara","email":"walysky@gmail.com"},"_npmVersion":"11.11.0","description":"Magala Media Server — self-hosted streaming and media management server","directories":{},"_nodeVersion":"25.8.0","browserslist":{"production":[">0.5%","last 3 versions","Firefox ESR","not dead","not ie 11","not op_mini all","chrome >= 80","firefox >= 78","safari >= 13","ios_saf >= 13","edge >= 80","android >= 8","samsung >= 12"],"development":["last 3 versions","safari >= 13","android >= 8"]},"dependencies":{"cors":"^2.8.6","axios":"^1.13.4","sharp":"^0.34.5","bcrypt":"^6.0.0","megajs":"^1.3.9","multer":"^2.0.2","undici":"^7.20.0","adm-zip":"^0.5.16","cheerio":"^1.2.0","core-js":"^3.48.0","express":"^5.2.1","archiver":"^7.0.1","bcryptjs":"^3.0.3","fs-extra":"^11.3.3","punycode":"^2.3.1","unzipper":"^0.12.3","node-cron":"^4.2.1","compression":"^1.8.1","whatwg-fetch":"^3.6.20","express-session":"^1.19.0","stream-throttle":"^0.1.3","regenerator-runtime":"^0.14.1"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"glob":"^11.0.0","knip":"^5.86.0","jscpd":"^4.0.8","eslint":"^9.39.2","unocss":"^66.6.6","esbuild":"^0.25.0","globals":"^17.3.0","postcss":"^8.0.0","webpack":"^5.105.0","purgecss":"^8.0.0","stylelint":"^17.4.0","@eslint/js":"^9.39.2","css-loader":"^7.1.4","playwright":"^1.58.2","@babel/core":"^7.29.0","@unocss/cli":"^66.6.6","jscodeshift":"^17.3.0","tailwindcss":"^4.2.1","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","style-loader":"^4.0.0","puppeteer-core":"^24.37.2","stylelint-order":"^8.0.0","@tailwindcss/cli":"^4.2.1","check-unused-css":"^0.2.7","@babel/preset-env":"^7.29.0","@aws-sdk/client-s3":"^3.1005.0","webpack-obfuscator":"^3.6.0","@unocss/preset-mini":"^66.6.6","@unocss/preset-wind":"^66.6.6","eslint-plugin-react":"^7.37.5","@unocss/preset-icons":"^66.6.6","eslint-plugin-compat":"^6.1.0","javascript-obfuscator":"^5.3.0","terser-webpack-plugin":"^5.3.16","webpack-node-externals":"^3.0.0","mini-css-extract-plugin":"^2.10.0","webpack-bundle-analyzer":"^5.2.0","@unocss/preset-typography":"^66.6.6","stylelint-config-standard":"^40.0.0","stylelint-formatter-pretty":"^4.0.1","@fullhuman/postcss-purgecss":"^8.0.0","@projectwallace/css-analyzer":"^9.3.0","css-minimizer-webpack-plugin":"^8.0.0","webpack-remove-empty-scripts":"^1.1.1"},"_npmOperationalInternal":{"tmp":"tmp/magalh_1.0.18_1774708055627_0.13912623840058713","host":"s3://npm-registry-packages-npm-production"}},"1.0.19":{"name":"magalh","version":"1.0.19","keywords":["media-server","streaming","magala","self-hosted"],"license":"ISC","_id":"magalh@1.0.19","maintainers":[{"name":"abu-sara","email":"walysky@gmail.com"}],"bin":{"magalh":"bin/mgl.js"},"dist":{"shasum":"e4d978eba0c40bd65d649541b2472c0d5660684e","tarball":"https://registry.npmjs.org/magalh/-/magalh-1.0.19.tgz","fileCount":3,"integrity":"sha512-1libfs4w37BYgjKRjMaI9iidW4gL6cPP2EtN1EYLTK7QYwuDU/4zD4WjfizPTlkqGX6IiUCXCRDqxvephMZXcQ==","signatures":[{"sig":"MEUCIDFzjthHtsqqPmTVI3L1Mqz5pnZMXKdGac/jRT/yoxqYAiEAkLinLgzq0P6wwVH9mJWxhJJrGwjzm5qmSBmUlYSGrSk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12824053},"gitHead":"d1c5d84ba17b3f738815ab6df39aab233cbabe58","scripts":{"lint":"eslint .","start":"node pro.js","magala":"node pro.js","css:all":"npm run css:lint:json && node scripts/generate-tools-report.mjs && node scripts/purge-report.mjs && node scripts/deep-css-report.mjs","prepack":"node scripts/prepack.js","release":"npm run bundle:css && npm run bundle:server:obfuscate && npm run bundle:ui:obfuscate && npm run build:update && npm run upload:update","css:lint":"stylelint \"rayan/hm/css/**/*.css\" --formatter verbose","postpack":"node scripts/postpack.js","tw:build":"npx @tailwindcss/cli -i tailwind-main.css -o rayan/hm/css/tailwind.css --minify","tw:watch":"npx @tailwindcss/cli -i tailwind-main.css -o rayan/hm/css/tailwind.css --watch","audit:all":"npm run audit:lint && npm run audit:dupes && npm run audit:unused","bundle:ui":"webpack --config webpack.ui.config.js","css:dupes":"node scripts/css-dupes.mjs","css:purge":"node scripts/purge-report.mjs","uno:build":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs","uno:watch":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs --watch","analyze:ui":"node -e \"process.env.ANALYZE='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","audit:lint":"eslint rayan/hm/js/v --max-warnings 9999","bundle:all":"npm run bundle:server && npm run bundle:ui && npm run bundle:css","bundle:css":"webpack --config webpack.css.config.js","css:report":"npm run css:lint:json && node scripts/generate-tools-report.mjs","analyze:all":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","audit:dupes":"jscpd","css:analyze":"node scripts/deep-css-report.mjs","lint:compat":"set BROWSERSLIST_ENV=production&& eslint \"rayan/hm/js/**/*.{js,mjs,cjs,jsx}\"","postinstall":"node bin/mgl.js --install-service","start:quiet":"set QUIET_CONSOLE=1&& node pro.js","audit:unused":"knip --reporter compact","build:update":"node scripts/build-update.js","css:generate":"node scripts/generate-css.mjs","css:lint:fix":"stylelint \"rayan/hm/css/**/*.css\" --fix","start:bundle":"node os.js","tw:build:all":"npm run tw:build && npm run tw:build:admin","bundle:server":"webpack --config webpack.server.config.js","css:lint:json":"stylelint \"rayan/hm/css/**/*.css\" --formatter json --output-file purged/stylelint-report.json --allow-empty-input","deploy:update":"npm run build:update && npm run upload:update","uno:build:min":"unocss \"rayan/hm/**/*.html\" \"rayan/hm/js/**/*.js\" -o rayan/hm/css/uno.css -c uno.config.mjs --minify","upload:update":"node scripts/upload-update.js","prepublishOnly":"npm version patch --no-git-tag-version","tw:build:admin":"npx @tailwindcss/cli -i tailwind-admin.css -o rayan/hm/css/adminCss/tailwind-admin.css --minify","tw:watch:admin":"npx @tailwindcss/cli -i tailwind-admin.css -o rayan/hm/css/adminCss/tailwind-admin.css --watch","bundle:ui:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js","bundle:ui:watch":"webpack --config webpack.ui.config.js --watch","analyze:ui:static":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","analyze:all:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","start:bundle:quiet":"set QUIET_CONSOLE=1&& node os.js","analyze:bundle:full":"npm run analyze:all && npm run analyze:bundle:gaps","analyze:bundle:gaps":"node scripts/check-bundle-gaps.mjs","bundle:ui:obfuscate":"set OBFUSCATE=1&& webpack --config webpack.ui.config.js","analyze:all:nomangle":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.DISABLE_MANGLE='1'; const cp=require('child_process'); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.css.config.js', { stdio: 'inherit' }); cp.execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll":"webpack --config webpack.ui.config.js --watch --watch-options-poll=1000","bundle:ui:watch:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch","bundle:server:obfuscate":"webpack --config webpack.server.config.js && javascript-obfuscator msh.js --output msh.js --compact true --control-flow-flattening true --control-flow-flattening-threshold 0.6 --dead-code-injection true --dead-code-injection-threshold 0.25 --identifier-names-generator hexadecimal --identifiers-prefix _0x --numbers-to-expressions true --rename-globals false --string-array-rotate true --self-defending false --string-array-shuffle true --split-strings true --split-strings-chunk-length 8 --string-array true --string-array-calls-transform true --string-array-calls-transform-threshold 1 --string-array-encoding rc4 --string-array-indexes-type hexadecimal-number --string-array-threshold 1 --string-array-wrappers-count 2 --string-array-wrappers-chained-calls true --string-array-wrappers-parameters-max-count 3 --string-array-wrappers-type function --transform-object-keys true --unicode-escape-sequence true --target node","analyze:ui:static:corejs":"node -e \"process.env.ANALYZE='1'; process.env.ANALYZE_MODE='static'; process.env.USE_COREJS='1'; require('child_process').execSync('node node_modules/webpack/bin/webpack.js --config webpack.ui.config.js', { stdio: 'inherit' });\"","bundle:ui:watch:poll:debug":"set KEEP_UI_CONSOLE=1&& webpack --config webpack.ui.config.js --watch --watch-options-poll=1000"},"_npmUser":{"name":"abu-sara","email":"walysky@gmail.com"},"_npmVersion":"11.11.0","description":"Magala Media Server — self-hosted streaming and media management server","directories":{},"_nodeVersion":"25.8.0","browserslist":{"production":[">0.5%","last 3 versions","Firefox ESR","not dead","not ie 11","not op_mini all","chrome >= 80","firefox >= 78","safari >= 13","ios_saf >= 13","edge >= 80","android >= 8","samsung >= 12"],"development":["last 3 versions","safari >= 13","android >= 8"]},"dependencies":{"cors":"^2.8.6","axios":"^1.13.4","sharp":"^0.34.5","bcrypt":"^6.0.0","megajs":"^1.3.9","multer":"^2.0.2","undici":"^7.20.0","adm-zip":"^0.5.16","cheerio":"^1.2.0","core-js":"^3.48.0","express":"^5.2.1","archiver":"^7.0.1","bcryptjs":"^3.0.3","fs-extra":"^11.3.3","punycode":"^2.3.1","unzipper":"^0.12.3","node-cron":"^4.2.1","compression":"^1.8.1","whatwg-fetch":"^3.6.20","express-session":"^1.19.0","stream-throttle":"^0.1.3","regenerator-runtime":"^0.14.1"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"glob":"^11.0.0","knip":"^5.86.0","jscpd":"^4.0.8","eslint":"^9.39.2","unocss":"^66.6.6","esbuild":"^0.25.0","globals":"^17.3.0","postcss":"^8.0.0","webpack":"^5.105.0","purgecss":"^8.0.0","stylelint":"^17.4.0","@eslint/js":"^9.39.2","css-loader":"^7.1.4","playwright":"^1.58.2","@babel/core":"^7.29.0","@unocss/cli":"^66.6.6","jscodeshift":"^17.3.0","tailwindcss":"^4.2.1","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","style-loader":"^4.0.0","puppeteer-core":"^24.37.2","stylelint-order":"^8.0.0","@tailwindcss/cli":"^4.2.1","check-unused-css":"^0.2.7","@babel/preset-env":"^7.29.0","@aws-sdk/client-s3":"^3.1005.0","webpack-obfuscator":"^3.6.0","@unocss/preset-mini":"^66.6.6","@unocss/preset-wind":"^66.6.6","eslint-plugin-react":"^7.37.5","@unocss/preset-icons":"^66.6.6","eslint-plugin-compat":"^6.1.0","javascript-obfuscator":"^5.3.0","terser-webpack-plugin":"^5.3.16","webpack-node-externals":"^3.0.0","mini-css-extract-plugin":"^2.10.0","webpack-bundle-analyzer":"^5.2.0","@unocss/preset-typography":"^66.6.6","stylelint-config-standard":"^40.0.0","stylelint-formatter-pretty":"^4.0.1","@fullhuman/postcss-purgecss":"^8.0.0","@projectwallace/css-analyzer":"^9.3.0","css-minimizer-webpack-plugin":"^8.0.0","webpack-remove-empty-scripts":"^1.1.1"},"_npmOperationalInternal":{"tmp":"tmp/magalh_1.0.19_1774708778652_0.7002775604413938","host":"s3://npm-registry-packages-npm-production"}},"1.0.20":{"name":"magalh","version":"1.0.20","keywords":["media-server","streaming","magala","self-hosted"],"license":"ISC","_id":"magalh@1.0.20","maintainers":[{"name":"abu-sara","email":"walysky@gmail.com"}],"bin":{"magalh":"bin/mgl.js"},"dist":{"shasum":"c03ba74c92db2a81a7f1c04cfb18b793b3ba2d47","tarball":"https://registry.npmjs.org/magalh/-/magalh-1.0.20.tgz","fileCount":3,"integrity":"sha512-XUFoPpT+LB2KfnSgg5yfTckqUWCIcSYfXdiKVDqmzLh0jWWU6Iz/bQFQFJdc2RbPA7h0FQOnY/jDXIRqoJGk/g==","signatures":[{"sig":"MEYCIQCwZ+4gv9jHMpGkt+h4j5imLsKflz7HJh6YUKxjKlBdVwIhAJxAYcmnRPGy27IxMXwJ5TUuP43hreUyPbCzQzoFANAJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12895857},"type":"commonjs","_from":"file:D:/ترتيب المجلدات/المستندات والصفحات/ميكروتيك/سيررررررفري/سيرفري/MSH/ms/msh/.npm-publish.tgz","_npmUser":{"name":"abu-sara","email":"walysky@gmail.com"},"_resolved":"D:\\ترتيب المجلدات\\المستندات والصفحات\\ميكروتيك\\سيررررررفري\\سيرفري\\MSH\\ms\\msh\\.npm-publish.tgz","_integrity":"sha512-XUFoPpT+LB2KfnSgg5yfTckqUWCIcSYfXdiKVDqmzLh0jWWU6Iz/bQFQFJdc2RbPA7h0FQOnY/jDXIRqoJGk/g==","_npmVersion":"11.11.0","description":"Magala Media Server — self-hosted streaming and media management server","directories":{},"_nodeVersion":"25.8.0","dependencies":{"cors":"^2.8.6","axios":"^1.13.4","sharp":"^0.34.5","bcrypt":"^6.0.0","megajs":"^1.3.9","multer":"^2.0.2","undici":"^7.20.0","adm-zip":"^0.5.16","cheerio":"^1.2.0","core-js":"^3.48.0","express":"^5.2.1","archiver":"^7.0.1","bcryptjs":"^3.0.3","fs-extra":"^11.3.3","punycode":"^2.3.1","unzipper":"^0.12.3","node-cron":"^4.2.1","compression":"^1.8.1","whatwg-fetch":"^3.6.20","express-session":"^1.19.0","stream-throttle":"^0.1.3","regenerator-runtime":"^0.14.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/magalh_1.0.20_1774709309047_0.28596106024703905","host":"s3://npm-registry-packages-npm-production"}},"1.0.21":{"name":"magalh","version":"1.0.21","description":"Magala Media Server — self-hosted streaming and media management server","keywords":["media-server","streaming","magala","self-hosted"],"license":"ISC","type":"commonjs","bin":{"magalh":"bin/mgl.js"},"dependencies":{"adm-zip":"^0.5.16","archiver":"^7.0.1","axios":"^1.13.4","bcrypt":"^6.0.0","bcryptjs":"^3.0.3","cheerio":"^1.2.0","compression":"^1.8.1","core-js":"^3.48.0","cors":"^2.8.6","express":"^5.2.1","express-session":"^1.19.0","fs-extra":"^11.3.3","megajs":"^1.3.9","multer":"^2.0.2","node-cron":"^4.2.1","punycode":"^2.3.1","regenerator-runtime":"^0.14.1","sharp":"^0.34.5","stream-throttle":"^0.1.3","undici":"^7.20.0","unzipper":"^0.12.3","whatwg-fetch":"^3.6.20"},"_id":"magalh@1.0.21","_integrity":"sha512-lbtalFvwn13H+IKqYW7JG09PxrqRZaD2hh+HPDM0yOH6S+3NV/uX6fo3j3fDOAYJ4xpB5xbmgfC5mxZuDyepBQ==","_resolved":"D:\\ترتيب المجلدات\\المستندات والصفحات\\ميكروتيك\\سيررررررفري\\سيرفري\\MSH\\ms\\msh\\.npm-publish.tgz","_from":"file:D:/ترتيب المجلدات/المستندات والصفحات/ميكروتيك/سيررررررفري/سيرفري/MSH/ms/msh/.npm-publish.tgz","_nodeVersion":"25.8.0","_npmVersion":"11.11.0","dist":{"integrity":"sha512-lbtalFvwn13H+IKqYW7JG09PxrqRZaD2hh+HPDM0yOH6S+3NV/uX6fo3j3fDOAYJ4xpB5xbmgfC5mxZuDyepBQ==","shasum":"18b24678dc02847b213f2efa054111d630ff5ac2","tarball":"https://registry.npmjs.org/magalh/-/magalh-1.0.21.tgz","fileCount":3,"unpackedSize":12910074,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDsGhJwvuB3wO2SheXu1Ks+6XlJWNyMCmyerFZYJRPx5wIgOX1keqddx6C31+pGqHI3GcItyUzOxi0bBAtbOyco/I8="}]},"_npmUser":{"name":"abu-sara","email":"walysky@gmail.com"},"directories":{},"maintainers":[{"name":"abu-sara","email":"walysky@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/magalh_1.0.21_1774711244580_0.7861669455188467"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-09T22:10:54.111Z","modified":"2026-03-28T15:20:45.012Z","1.0.0":"2026-03-09T22:10:54.401Z","1.0.1":"2026-03-09T22:17:46.991Z","1.0.2":"2026-03-09T22:46:54.353Z","1.0.3":"2026-03-09T23:09:37.191Z","1.0.4":"2026-03-27T22:57:31.606Z","1.0.5":"2026-03-27T23:09:14.072Z","1.0.6":"2026-03-27T23:10:49.041Z","1.0.7":"2026-03-27T23:13:05.456Z","1.0.8":"2026-03-27T23:15:12.759Z","1.0.9":"2026-03-27T23:18:02.150Z","1.0.10":"2026-03-28T00:28:28.784Z","1.0.11":"2026-03-28T00:32:06.832Z","1.0.12":"2026-03-28T00:36:11.028Z","1.0.13":"2026-03-28T00:38:09.987Z","1.0.14":"2026-03-28T12:59:00.308Z","1.0.15":"2026-03-28T13:53:53.762Z","1.0.16":"2026-03-28T14:15:18.172Z","1.0.17":"2026-03-28T14:20:08.754Z","1.0.18":"2026-03-28T14:27:35.943Z","1.0.19":"2026-03-28T14:39:38.973Z","1.0.20":"2026-03-28T14:48:29.363Z","1.0.21":"2026-03-28T15:20:44.854Z"},"license":"ISC","keywords":["media-server","streaming","magala","self-hosted"],"description":"Magala Media Server — self-hosted streaming and media management server","maintainers":[{"name":"abu-sara","email":"walysky@gmail.com"}],"readme":"ERROR: No README data found!","readmeFilename":""}