{"_id":"parse-dashboard-analytics","_rev":"45-d6de9eee22f0c07eeee22705082b980f","name":"parse-dashboard-analytics","dist-tags":{"latest":"7.4.31"},"versions":{"1.0.0":{"name":"parse-dashboard-analytics","version":"1.0.0","keywords":["parse","dashboard","analytics","parse-server","mongodb","backend","baas","parse-platform"],"author":{"name":"pastordee","email":"your.email@domain.com"},"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@1.0.0","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/pastordee/parse-dashboard-analytics","bugs":{"url":"https://github.com/pastordee/parse-dashboard-analytics/issues"},"bin":{"parse-dashboard-analytics":"bin/parse-dashboard"},"dist":{"shasum":"80c832f85cd72df82271bf6f1be947c21ae07a53","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-1.0.0.tgz","fileCount":77,"integrity":"sha512-eYp2cKwH+s5KboZyPVPoK2BPxfy3Zo1IOivGnH+R/ZalyeViV6c6qcl3/v3JlRmr/n2qqau/Mk9wPxPIfrlKOg==","signatures":[{"sig":"MEUCICpRKFLYXRWsQfBikGMR18t+ghtO8Zenx9ChHzZa4BizAiEAvsHfPGdt0XSpktKUZ3cKLQrCpt8/SRaodlmKchqe+ZE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45946920},"main":"Parse-Dashboard/app.js","engines":{"node":">=14.0.0"},"gitHead":"399f4fcec1a77402efe3e416bd962449a63111b8","scripts":{"help":"node ./Parse-Dashboard/index.js --help","start":"node ./Parse-Dashboard/index.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard-analytics.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A beautiful web-based dashboard for managing Parse Server apps with advanced analytics features","directories":{},"_nodeVersion":"18.20.3","dependencies":{"csurf":"1.11.0","parse":"3.4.4","qrcode":"1.5.3","express":"4.18.2","graphql":"16.6.0","otpauth":"8.0.3","prismjs":"1.29.0","bcryptjs":"2.4.3","graphiql":"2.0.8","inquirer":"8.2.5","passport":"0.5.3","commander":"9.4.1","node-fetch":"2.6.7","body-parser":"1.20.2","js-beautify":"1.14.7","package-json":"6.5.0","connect-flash":"0.1.1","cookie-session":"2.0.0","passport-local":"1.0.0"},"_hasShrinkwrap":false,"parseDashboardFeatures":["Data Browser","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Advanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_1.0.0_1754452314963_0.3222666815896038","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"parse-dashboard-analytics","version":"1.0.1","keywords":["parse","dashboard","analytics","parse-server","mongodb","backend","baas","parse-platform"],"author":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@1.0.1","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/pastordee/parse-dashboard-analytics","bugs":{"url":"https://github.com/pastordee/parse-dashboard-analytics/issues"},"bin":{"parse-dashboard-analytics":"bin/parse-dashboard"},"dist":{"shasum":"2eb5f38c60ca5e1cfd2069cd1d94c99fe0c3bd95","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-1.0.1.tgz","fileCount":77,"integrity":"sha512-rr5DpHGw5XGhNYJZZSq4vOznGV9Fi9krUvHXqaGkVjOU8FvpLyp6jTJRPmBT13zw6/5iKZMDMj2bZlLP042BiQ==","signatures":[{"sig":"MEUCIBfMmLl6FR098DrmDUn2QrCH+XV563uZmLYVMDe8vLUdAiEAqubpCdq1No5YeSkSEPHJPR//gPacvCDz21qi+3fyr/o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45946928},"main":"Parse-Dashboard/app.js","engines":{"node":">=14.0.0"},"gitHead":"399f4fcec1a77402efe3e416bd962449a63111b8","scripts":{"help":"node ./Parse-Dashboard/index.js --help","start":"node ./Parse-Dashboard/index.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard-analytics.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A beautiful web-based dashboard for managing Parse Server apps with advanced analytics features","directories":{},"_nodeVersion":"18.20.3","dependencies":{"csurf":"1.11.0","parse":"3.4.4","qrcode":"1.5.3","express":"4.18.2","graphql":"16.6.0","otpauth":"8.0.3","prismjs":"1.29.0","bcryptjs":"2.4.3","graphiql":"2.0.8","inquirer":"8.2.5","passport":"0.5.3","commander":"9.4.1","node-fetch":"2.6.7","body-parser":"1.20.2","js-beautify":"1.14.7","package-json":"6.5.0","connect-flash":"0.1.1","cookie-session":"2.0.0","passport-local":"1.0.0"},"_hasShrinkwrap":false,"parseDashboardFeatures":["Data Browser","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Advanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_1.0.1_1754453494861_0.9283475620056192","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"parse-dashboard-analytics","version":"1.0.2","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@1.0.2","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"f7fc247b4a666001fded61a62d3742e5828f1d25","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-1.0.2.tgz","fileCount":78,"integrity":"sha512-vcdTkai3hb/+p4+YPfkuyL9AMzHbC1+yqsCztvyhr/IuvufbZF26V0quFhTWnsyC7rmqAVEory2WtZ6dqllgyg==","signatures":[{"sig":"MEYCIQCNsGrorI0xoSRMBILw78wjnkgqZXw6Ip4lOmSagwn12QIhAO9sEMkiGtFLGsRlmfTrCIB+MwblcjvpLYW095Tr0pll","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8512839},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=18.20.4 <19.0.0 || >=20.18.0 <21.0.0 || >=22.12.0 <23.0.0"},"gitHead":"399f4fcec1a77402efe3e416bd962449a63111b8","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.js","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","madge:circular":"madge ./src --circular","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"csurf":"1.11.0","parse":"3.5.1","react":"16.14.0","qrcode":"1.5.4","core-js":"3.42.0","express":"4.21.2","graphql":"16.11.0","otpauth":"8.0.3","prismjs":"1.30.0","bcryptjs":"3.0.2","graphiql":"2.0.8","inquirer":"12.6.3","passport":"0.5.3","commander":"13.1.0","immutable":"5.1.3","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.0","js-beautify":"1.15.4","package-json":"7.0.0","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.27.4","cookie-session":"2.1.1","passport-local":"1.0.0","fast-deep-equal":"3.1.3","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.0.5","react-router-dom":"6.30.1","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.27.4","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"30.0.4","sass":"1.89.2","yaml":"2.8.0","husky":"9.1.7","madge":"8.0.0","eslint":"9.28.0","marked":"15.0.12","semver":"7.7.2","globals":"16.2.0","request":"2.88.2","webpack":"5.99.9","prettier":"3.6.2","svg-prep":"1.0.4","puppeteer":"24.12.1","css-loader":"6.7.3","typescript":"5.8.2","@babel/core":"7.27.4","@types/jest":"30.0.0","http-server":"14.1.1","null-loader":"4.0.1","sass-loader":"13.2.0","webpack-cli":"6.0.1","babel-loader":"10.0.0","style-loader":"3.3.1","@actions/core":"1.11.1","@eslint/compat":"1.3.1","request-promise":"4.2.6","semantic-release":"24.2.7","@babel/preset-env":"7.27.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.0.1","@babel/preset-react":"7.27.1","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.0","@semantic-release/git":"10.0.1","@semantic-release/npm":"12.0.1","jest-environment-jsdom":"30.0.5","@semantic-release/github":"11.0.3","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.28.0","@babel/plugin-proposal-decorators":"7.27.1","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.0.3"},"parseDashboardFeatures":["Data Browser","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_1.0.2_1754457444328_0.021857353681535185","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"parse-dashboard-analytics","version":"1.0.3","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@1.0.3","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"02d1aa23b6a8dd057b56f6375f1b327843c49c15","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-1.0.3.tgz","fileCount":78,"integrity":"sha512-O+v3NhzGlcvke471pFMkiUL7ZC4n5I7uTvvlDVeNnzVyl7EqlOZPedVG3Lpa+M83/o0r6PVGP/mRXBP8UPANYw==","signatures":[{"sig":"MEUCIQCGfUC7uCx2mkcVkVrV8Y1YbtmUx9SOKmpmHl5gWmFJkwIgEKXgY5dju74gzHDP5+1BQy57+RFl1idq1GJc91+EYP4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8511318},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=18.20.4 <19.0.0 || >=20.18.0 <21.0.0 || >=22.12.0 <23.0.0"},"gitHead":"399f4fcec1a77402efe3e416bd962449a63111b8","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.js","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","madge:circular":"madge ./src --circular","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"csurf":"1.11.0","parse":"3.5.1","react":"16.14.0","qrcode":"1.5.4","core-js":"3.42.0","express":"^4.21.2","graphql":"16.11.0","otpauth":"8.0.3","prismjs":"1.30.0","bcryptjs":"3.0.2","graphiql":"2.0.8","inquirer":"12.6.3","passport":"0.5.3","commander":"13.1.0","immutable":"5.1.3","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.0","js-beautify":"1.15.4","package-json":"7.0.0","parse-server":"^8.2.3","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.27.4","cookie-session":"2.1.1","passport-local":"1.0.0","fast-deep-equal":"3.1.3","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.0.5","react-router-dom":"6.30.1","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.27.4","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"30.0.4","sass":"1.89.2","yaml":"2.8.0","husky":"9.1.7","madge":"8.0.0","eslint":"9.28.0","marked":"15.0.12","semver":"7.7.2","globals":"16.2.0","request":"2.88.2","webpack":"5.99.9","prettier":"3.6.2","svg-prep":"1.0.4","puppeteer":"24.12.1","css-loader":"6.7.3","typescript":"5.8.2","@babel/core":"7.27.4","@types/jest":"30.0.0","http-server":"14.1.1","null-loader":"4.0.1","sass-loader":"13.2.0","webpack-cli":"6.0.1","babel-loader":"10.0.0","style-loader":"3.3.1","@actions/core":"1.11.1","@eslint/compat":"1.3.1","request-promise":"4.2.6","semantic-release":"24.2.7","@babel/preset-env":"7.27.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.0.1","@babel/preset-react":"7.27.1","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.0","@semantic-release/git":"10.0.1","@semantic-release/npm":"12.0.1","jest-environment-jsdom":"30.0.5","@semantic-release/github":"11.0.3","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.28.0","@babel/plugin-proposal-decorators":"7.27.1","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.0.3"},"parseDashboardFeatures":["Data Browser","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_1.0.3_1754460835750_0.17769977492403322","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"parse-dashboard-analytics","version":"1.0.4","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@1.0.4","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"ce1c2bddc044f71a48d28f6890987714223f03cb","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-1.0.4.tgz","fileCount":78,"integrity":"sha512-jyIrGKHlVbG9aQRhv+FjC4+jNTw/IxBocboaffuVKGF52VxoUkUbFyStvwrkL5t3MR6DnzRNjteYd3KXM+439Q==","signatures":[{"sig":"MEYCIQDYQT95ZNgR93bJgvAS3uEZaQMyQqQgAPMImNkm1V/s/QIhAK6XrlRpzHjuTd8ZyIu0sTfEbvXFi2WguZyUCl+lDZ9n","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8511345},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=18.20.4 <19.0.0 || >=20.18.0 <21.0.0 || >=22.12.0 <23.0.0"},"gitHead":"399f4fcec1a77402efe3e416bd962449a63111b8","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.js","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","madge:circular":"madge ./src --circular","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"cors":"^2.8.5","csurf":"1.11.0","parse":"3.5.1","react":"16.14.0","qrcode":"1.5.4","core-js":"3.42.0","express":"^4.21.2","graphql":"16.11.0","otpauth":"8.0.3","prismjs":"1.30.0","bcryptjs":"3.0.2","graphiql":"2.0.8","inquirer":"12.6.3","passport":"0.5.3","commander":"13.1.0","immutable":"5.1.3","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.0","js-beautify":"1.15.4","package-json":"7.0.0","parse-server":"^8.2.3","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.27.4","cookie-session":"2.1.1","passport-local":"1.0.0","fast-deep-equal":"3.1.3","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.0.5","react-router-dom":"6.30.1","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.27.4","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"30.0.4","sass":"1.89.2","yaml":"2.8.0","husky":"9.1.7","madge":"8.0.0","eslint":"9.28.0","marked":"15.0.12","semver":"7.7.2","globals":"16.2.0","request":"2.88.2","webpack":"5.99.9","prettier":"3.6.2","svg-prep":"1.0.4","puppeteer":"24.12.1","css-loader":"6.7.3","typescript":"5.8.2","@babel/core":"7.27.4","@types/jest":"30.0.0","http-server":"14.1.1","null-loader":"4.0.1","sass-loader":"13.2.0","webpack-cli":"6.0.1","babel-loader":"10.0.0","style-loader":"3.3.1","@actions/core":"1.11.1","@eslint/compat":"1.3.1","request-promise":"4.2.6","semantic-release":"24.2.7","@babel/preset-env":"7.27.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.0.1","@babel/preset-react":"7.27.1","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.0","@semantic-release/git":"10.0.1","@semantic-release/npm":"12.0.1","jest-environment-jsdom":"30.0.5","@semantic-release/github":"11.0.3","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.28.0","@babel/plugin-proposal-decorators":"7.27.1","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.0.3"},"parseDashboardFeatures":["Data Browser","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_1.0.4_1754462635304_0.4364084252474363","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"parse-dashboard-analytics","version":"1.0.5","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@1.0.5","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"2c33dda82d03a4baa0f3a6eb15c63ba5dd021e55","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-1.0.5.tgz","fileCount":78,"integrity":"sha512-7hkHttT4PDpZAPmW5pAZMWhzLoQYpdBYR+6fbSlu7baVBhfsmWmVdPQhN15/f9VTbi62XOWJAHFdi92c37t6uw==","signatures":[{"sig":"MEYCIQD0Cuwqkn2i3kuWNBtjahKcMgteHPzfaNZQTfx7BRiAAwIhAO8cpTlkQCYWGkw+kSZGfVgCwfKHo6GLuVpkaCq2RbD1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8511345},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=18.20.4 <19.0.0 || >=20.18.0 <21.0.0 || >=22.12.0 <23.0.0"},"gitHead":"399f4fcec1a77402efe3e416bd962449a63111b8","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.js","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","madge:circular":"madge ./src --circular","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"cors":"^2.8.5","csurf":"1.11.0","parse":"3.5.1","react":"16.14.0","qrcode":"1.5.4","core-js":"3.42.0","express":"^4.21.2","graphql":"16.11.0","otpauth":"8.0.3","prismjs":"1.30.0","bcryptjs":"3.0.2","graphiql":"2.0.8","inquirer":"12.6.3","passport":"0.5.3","commander":"13.1.0","immutable":"5.1.3","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.0","js-beautify":"1.15.4","package-json":"7.0.0","parse-server":"^8.2.3","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.27.4","cookie-session":"2.1.1","passport-local":"1.0.0","fast-deep-equal":"3.1.3","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.0.5","react-router-dom":"6.30.1","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.27.4","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"30.0.4","sass":"1.89.2","yaml":"2.8.0","husky":"9.1.7","madge":"8.0.0","eslint":"9.28.0","marked":"15.0.12","semver":"7.7.2","globals":"16.2.0","request":"2.88.2","webpack":"5.99.9","prettier":"3.6.2","svg-prep":"1.0.4","puppeteer":"24.12.1","css-loader":"6.7.3","typescript":"5.8.2","@babel/core":"7.27.4","@types/jest":"30.0.0","http-server":"14.1.1","null-loader":"4.0.1","sass-loader":"13.2.0","webpack-cli":"6.0.1","babel-loader":"10.0.0","style-loader":"3.3.1","@actions/core":"1.11.1","@eslint/compat":"1.3.1","request-promise":"4.2.6","semantic-release":"24.2.7","@babel/preset-env":"7.27.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.0.1","@babel/preset-react":"7.27.1","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.0","@semantic-release/git":"10.0.1","@semantic-release/npm":"12.0.1","jest-environment-jsdom":"30.0.5","@semantic-release/github":"11.0.3","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.28.0","@babel/plugin-proposal-decorators":"7.27.1","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.0.3"},"parseDashboardFeatures":["Data Browser","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_1.0.5_1754463303287_0.8914172878034412","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"parse-dashboard-analytics","version":"1.0.6","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@1.0.6","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"e0d190dacbfd1e07588247929539491a0b0d526e","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-1.0.6.tgz","fileCount":83,"integrity":"sha512-J/x1yUMk7qzH1Yhl3Tgp0j7XfZuUF0GP0MBwiv99Yi7HvkmN74JPTUQlKlzr/ci1Gl//27xHH4tyjgc6gWj9zw==","signatures":[{"sig":"MEUCIEB0xcK2inTpP7q6tEi8bjF35090Q2XuhWUNEatAUPJGAiEAjpIlr6PakbfeYYiUOD6PePEXBbH4fy15wf7vg2+9Ljs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14480768},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=18.20.4 <19.0.0 || >=20.18.0 <21.0.0 || >=22.12.0 <23.0.0"},"gitHead":"0be8767091de050fb93fce8404d6a2d978aefcb7","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.js","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","madge:circular":"madge ./src --circular","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"cors":"^2.8.5","csurf":"1.11.0","parse":"3.5.1","react":"16.14.0","qrcode":"1.5.4","core-js":"3.42.0","express":"^4.21.2","graphql":"16.11.0","otpauth":"8.0.3","prismjs":"1.30.0","bcryptjs":"3.0.2","graphiql":"2.0.8","inquirer":"12.6.3","passport":"0.5.3","commander":"13.1.0","immutable":"5.1.3","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.0","js-beautify":"1.15.4","package-json":"7.0.0","parse-server":"^8.2.3","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.27.4","cookie-session":"2.1.1","passport-local":"1.0.0","fast-deep-equal":"3.1.3","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.0.5","react-router-dom":"6.30.1","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.27.4","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"30.0.4","sass":"1.89.2","yaml":"2.8.0","husky":"9.1.7","madge":"8.0.0","eslint":"9.28.0","marked":"15.0.12","semver":"7.7.2","globals":"16.2.0","request":"2.88.2","webpack":"5.99.9","prettier":"3.6.2","svg-prep":"1.0.4","puppeteer":"24.12.1","css-loader":"6.7.3","typescript":"5.8.2","@babel/core":"7.27.4","@types/jest":"30.0.0","http-server":"14.1.1","null-loader":"4.0.1","sass-loader":"13.2.0","webpack-cli":"6.0.1","babel-loader":"10.0.0","style-loader":"3.3.1","@actions/core":"1.11.1","@eslint/compat":"1.3.1","request-promise":"4.2.6","semantic-release":"24.2.7","@babel/preset-env":"7.27.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.0.1","@babel/preset-react":"7.27.1","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.0","@semantic-release/git":"10.0.1","@semantic-release/npm":"12.0.1","jest-environment-jsdom":"30.0.5","@semantic-release/github":"11.0.3","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.28.0","@babel/plugin-proposal-decorators":"7.27.1","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.0.3"},"parseDashboardFeatures":["Data Browser","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_1.0.6_1754497894326_0.9307840639162019","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"parse-dashboard-analytics","version":"1.0.7","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@1.0.7","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"0fb22736efebe986d9398c4bf6c5305b47b15d33","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-1.0.7.tgz","fileCount":83,"integrity":"sha512-Fx2dMmBX+wJCWd1UVW9t1nHaNFIGsb9Nteseti6HknZDWtdbQKUtieu+cVWHA/i9YqtNNnZm3Wf6479Av43bNg==","signatures":[{"sig":"MEUCIQCTGzoPNkwYXrIkedAt3wF0pp4BdkXvOruy85jRQ4kCgQIgMqRS6t5+man38VKOOpeY3ccD3J4twTbfZIdijOFIBD8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14482128},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=18.20.4 <19.0.0 || >=20.18.0 <21.0.0 || >=22.12.0 <23.0.0"},"gitHead":"f5d5e3baeaef12ca25d72fe8eff61a6b3868a5bb","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.js","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.js","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"cors":"^2.8.5","csurf":"1.11.0","parse":"3.5.1","react":"16.14.0","qrcode":"1.5.4","core-js":"3.42.0","express":"^4.21.2","graphql":"16.11.0","otpauth":"8.0.3","prismjs":"1.30.0","bcryptjs":"3.0.2","graphiql":"2.0.8","inquirer":"12.6.3","passport":"0.5.3","commander":"13.1.0","immutable":"5.1.3","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.0","js-beautify":"1.15.4","package-json":"7.0.0","parse-server":"^8.2.3","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.27.4","cookie-session":"2.1.1","passport-local":"1.0.0","fast-deep-equal":"3.1.3","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.0.5","react-router-dom":"6.30.1","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.27.4","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"30.0.4","sass":"1.89.2","yaml":"2.8.0","husky":"9.1.7","madge":"8.0.0","eslint":"9.28.0","marked":"15.0.12","semver":"7.7.2","globals":"16.2.0","request":"2.88.2","webpack":"5.99.9","prettier":"3.6.2","svg-prep":"1.0.4","puppeteer":"24.12.1","css-loader":"6.7.3","typescript":"5.8.2","@babel/core":"7.27.4","@types/jest":"30.0.0","http-server":"14.1.1","null-loader":"4.0.1","sass-loader":"13.2.0","webpack-cli":"6.0.1","babel-loader":"10.0.0","style-loader":"3.3.1","@actions/core":"1.11.1","@eslint/compat":"1.3.1","request-promise":"4.2.6","semantic-release":"24.2.7","@babel/preset-env":"7.27.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.0.1","@babel/preset-react":"7.27.1","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.0","@semantic-release/git":"10.0.1","@semantic-release/npm":"12.0.1","jest-environment-jsdom":"30.0.5","@semantic-release/github":"11.0.3","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.28.0","@babel/plugin-proposal-decorators":"7.27.1","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.0.3"},"parseDashboardFeatures":["Data Browser","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_1.0.7_1754549951317_0.2591690783660592","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"parse-dashboard-analytics","version":"1.0.8","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@1.0.8","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"e152754037088b4dde8868d913b0d0e34d7929bd","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-1.0.8.tgz","fileCount":85,"integrity":"sha512-LiBSOW/Wgc9C4JuSi46sX8p1addqkXyuC6UCp0x9akMjKMZaPkaf7nk7BMntTBqn/Q6mdMcR5PJjxu2d4msbqw==","signatures":[{"sig":"MEYCIQDEZGXpGeEsRFP5fuKTMQQcCLqwpjh/T9lXyFzs3WcqjQIhAMZ6TamVM8heeAcvotwhappeFy9p+Jv0O7zF04HfNxAd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14533296},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=18.20.4 <19.0.0 || >=20.18.0 <21.0.0 || >=22.12.0 <23.0.0"},"gitHead":"f5d5e3baeaef12ca25d72fe8eff61a6b3868a5bb","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.js","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.js","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"cors":"^2.8.5","csurf":"1.11.0","parse":"3.5.1","react":"16.14.0","qrcode":"1.5.4","core-js":"3.42.0","express":"^4.21.2","graphql":"16.11.0","otpauth":"8.0.3","prismjs":"1.30.0","bcryptjs":"3.0.2","graphiql":"2.0.8","inquirer":"12.6.3","passport":"0.5.3","commander":"13.1.0","immutable":"5.1.3","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.0","js-beautify":"1.15.4","package-json":"7.0.0","parse-server":"^8.2.3","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.27.4","cookie-session":"2.1.1","passport-local":"1.0.0","fast-deep-equal":"3.1.3","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.0.5","react-router-dom":"6.30.1","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.27.4","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"30.0.4","sass":"1.89.2","yaml":"2.8.0","husky":"9.1.7","madge":"8.0.0","eslint":"9.28.0","marked":"15.0.12","semver":"7.7.2","globals":"16.2.0","request":"2.88.2","webpack":"5.99.9","prettier":"3.6.2","svg-prep":"1.0.4","puppeteer":"24.12.1","css-loader":"6.7.3","typescript":"5.8.2","@babel/core":"7.27.4","@types/jest":"30.0.0","http-server":"14.1.1","null-loader":"4.0.1","sass-loader":"13.2.0","webpack-cli":"6.0.1","babel-loader":"10.0.0","style-loader":"3.3.1","@actions/core":"1.11.1","@eslint/compat":"1.3.1","request-promise":"4.2.6","semantic-release":"24.2.7","@babel/preset-env":"7.27.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.0.1","@babel/preset-react":"7.27.1","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.0","@semantic-release/git":"10.0.1","@semantic-release/npm":"12.0.1","jest-environment-jsdom":"30.0.5","@semantic-release/github":"11.0.3","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.28.0","@babel/plugin-proposal-decorators":"7.27.1","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.0.3"},"parseDashboardFeatures":["Data Browser","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_1.0.8_1754567915698_0.9063451782054548","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"parse-dashboard-analytics","version":"1.0.9","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@1.0.9","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"f8757801de0c77f23006b3a97882be040ce199d0","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-1.0.9.tgz","fileCount":85,"integrity":"sha512-o2fR8dFVK3kzM7bw7FaeCwfmOxBCxKuR9eDq/dali105fq6R8Tvb9NLjmQF7teDiJEVDOIwCjIrSBKOzQnUoWg==","signatures":[{"sig":"MEUCID75qRX3hhgm1qaFJzIDxMlS1JJ6QGCf3YlkiCbshcb7AiEAnIjJC1oyMb+fCRz8nPlZG0fR3rC4+lzZgApRfByW0ZY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14534456},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=18.20.4 <19.0.0 || >=20.18.0 <21.0.0 || >=22.12.0 <23.0.0"},"gitHead":"f5d5e3baeaef12ca25d72fe8eff61a6b3868a5bb","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.js","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.js","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"cors":"^2.8.5","csurf":"1.11.0","parse":"3.5.1","react":"16.14.0","qrcode":"1.5.4","core-js":"3.42.0","express":"^4.21.2","graphql":"16.11.0","otpauth":"8.0.3","prismjs":"1.30.0","bcryptjs":"3.0.2","graphiql":"2.0.8","inquirer":"12.6.3","passport":"0.5.3","commander":"13.1.0","immutable":"5.1.3","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.0","js-beautify":"1.15.4","package-json":"7.0.0","parse-server":"^8.2.3","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.27.4","cookie-session":"2.1.1","passport-local":"1.0.0","fast-deep-equal":"3.1.3","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.0.5","react-router-dom":"6.30.1","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.27.4","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"30.0.4","sass":"1.89.2","yaml":"2.8.0","husky":"9.1.7","madge":"8.0.0","eslint":"9.28.0","marked":"15.0.12","semver":"7.7.2","globals":"16.2.0","request":"2.88.2","webpack":"5.99.9","prettier":"3.6.2","svg-prep":"1.0.4","puppeteer":"24.12.1","css-loader":"6.7.3","typescript":"5.8.2","@babel/core":"7.27.4","@types/jest":"30.0.0","http-server":"14.1.1","null-loader":"4.0.1","sass-loader":"13.2.0","webpack-cli":"6.0.1","babel-loader":"10.0.0","style-loader":"3.3.1","@actions/core":"1.11.1","@eslint/compat":"1.3.1","request-promise":"4.2.6","semantic-release":"24.2.7","@babel/preset-env":"7.27.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.0.1","@babel/preset-react":"7.27.1","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.0","@semantic-release/git":"10.0.1","@semantic-release/npm":"12.0.1","jest-environment-jsdom":"30.0.5","@semantic-release/github":"11.0.3","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.28.0","@babel/plugin-proposal-decorators":"7.27.1","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.0.3"},"parseDashboardFeatures":["Data Browser","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_1.0.9_1754574039494_0.4293906951497062","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"parse-dashboard-analytics","version":"1.1.0","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@1.1.0","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"ba18037df990ff1fb33283bb55aeaa4d96ee4c9d","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-1.1.0.tgz","fileCount":85,"integrity":"sha512-mB67OSn4E1VfdK1Ws0BT/9YBs6TUOMnpcZ9ap9guFLEWf0P8EN1Dr4I1o3+QYOABWCptu1FAvv5obmgnZpuDdg==","signatures":[{"sig":"MEYCIQCRgR2apO0UuWas7M2rPefxCA/6vqhHfg0U+hBWo7Aw6AIhALMJIPVXbgb7fsQCTD1VGztq3XnRpUl+4KdYyNvtShyY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14535899},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=18.20.4 <19.0.0 || >=20.18.0 <21.0.0 || >=22.12.0 <23.0.0"},"gitHead":"f5d5e3baeaef12ca25d72fe8eff61a6b3868a5bb","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.js","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.js","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"cors":"^2.8.5","csurf":"1.11.0","parse":"3.5.1","react":"16.14.0","qrcode":"1.5.4","core-js":"3.42.0","express":"^4.21.2","graphql":"16.11.0","otpauth":"8.0.3","prismjs":"1.30.0","bcryptjs":"3.0.2","graphiql":"2.0.8","inquirer":"12.6.3","passport":"0.5.3","commander":"13.1.0","immutable":"5.1.3","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.0","js-beautify":"1.15.4","package-json":"7.0.0","parse-server":"^8.2.3","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.27.4","cookie-session":"2.1.1","passport-local":"1.0.0","fast-deep-equal":"3.1.3","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.0.5","react-router-dom":"6.30.1","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.27.4","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"30.0.4","sass":"1.89.2","yaml":"2.8.0","husky":"9.1.7","madge":"8.0.0","eslint":"9.28.0","marked":"15.0.12","semver":"7.7.2","globals":"16.2.0","request":"2.88.2","webpack":"5.99.9","prettier":"3.6.2","svg-prep":"1.0.4","puppeteer":"24.12.1","css-loader":"6.7.3","typescript":"5.8.2","@babel/core":"7.27.4","@types/jest":"30.0.0","http-server":"14.1.1","null-loader":"4.0.1","sass-loader":"13.2.0","webpack-cli":"6.0.1","babel-loader":"10.0.0","style-loader":"3.3.1","@actions/core":"1.11.1","@eslint/compat":"1.3.1","request-promise":"4.2.6","semantic-release":"24.2.7","@babel/preset-env":"7.27.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.0.1","@babel/preset-react":"7.27.1","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.0","@semantic-release/git":"10.0.1","@semantic-release/npm":"12.0.1","jest-environment-jsdom":"30.0.5","@semantic-release/github":"11.0.3","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.28.0","@babel/plugin-proposal-decorators":"7.27.1","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.0.3"},"parseDashboardFeatures":["Data Browser","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_1.1.0_1754584036296_0.23180570729857153","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"parse-dashboard-analytics","version":"1.1.1","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@1.1.1","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"af9cd47c448317107c5dbc21f347ad85a2353d39","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-1.1.1.tgz","fileCount":85,"integrity":"sha512-MDLuDqrscQy89B40WrR22Ozjrf/toTSqd/n/1G3dQzri7Lu2yXXSFhll5B5ZWMJhClx26gEMSOp5NrrS3S5/ZQ==","signatures":[{"sig":"MEUCIF/MwbOyFz0gomjBNT4GWRnA4F8y4h1XyLrgUW2k4CEDAiEAyAqM8tRABknhoH0YZ0D6ZUkVi4qmPZifVHeZss/dPsg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14536754},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=18.20.4 <19.0.0 || >=20.18.0 <21.0.0 || >=22.12.0 <23.0.0"},"gitHead":"f5d5e3baeaef12ca25d72fe8eff61a6b3868a5bb","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.js","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.js","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"cors":"^2.8.5","csurf":"1.11.0","parse":"3.5.1","react":"16.14.0","qrcode":"1.5.4","core-js":"3.42.0","express":"^4.21.2","graphql":"16.11.0","otpauth":"8.0.3","prismjs":"1.30.0","bcryptjs":"3.0.2","graphiql":"2.0.8","inquirer":"12.6.3","passport":"0.5.3","commander":"13.1.0","immutable":"5.1.3","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.0","js-beautify":"1.15.4","package-json":"7.0.0","parse-server":"^8.2.3","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.27.4","cookie-session":"2.1.1","passport-local":"1.0.0","fast-deep-equal":"3.1.3","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.0.5","react-router-dom":"6.30.1","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.27.4","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"30.0.4","sass":"1.89.2","yaml":"2.8.0","husky":"9.1.7","madge":"8.0.0","eslint":"9.28.0","marked":"15.0.12","semver":"7.7.2","globals":"16.2.0","request":"2.88.2","webpack":"5.99.9","prettier":"3.6.2","svg-prep":"1.0.4","puppeteer":"24.12.1","css-loader":"6.7.3","typescript":"5.8.2","@babel/core":"7.27.4","@types/jest":"30.0.0","http-server":"14.1.1","null-loader":"4.0.1","sass-loader":"13.2.0","webpack-cli":"6.0.1","babel-loader":"10.0.0","style-loader":"3.3.1","@actions/core":"1.11.1","@eslint/compat":"1.3.1","request-promise":"4.2.6","semantic-release":"24.2.7","@babel/preset-env":"7.27.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.0.1","@babel/preset-react":"7.27.1","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.0","@semantic-release/git":"10.0.1","@semantic-release/npm":"12.0.1","jest-environment-jsdom":"30.0.5","@semantic-release/github":"11.0.3","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.28.0","@babel/plugin-proposal-decorators":"7.27.1","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.0.3"},"parseDashboardFeatures":["Data Browser","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_1.1.1_1754585001804_0.5223133631694843","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"parse-dashboard-analytics","version":"1.1.2","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@1.1.2","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"6e94193aea9d2f3f36021a6a808e799759586717","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-1.1.2.tgz","fileCount":85,"integrity":"sha512-syjJzPJz2MuYQpN0OtsyJ8RvoOHwJdJQujYDH/excxstq0WIanmxbW+68QCT9SMfsaTAdgV8R1wAbs/U5nYBEA==","signatures":[{"sig":"MEQCIAi60+/U6iEKd21GvpiU8BkXjWXvb6NimXOimoMCgltaAiAG49bAVek6CUb77Ti0gFUPAVV9xE2KGv6WcXtSB0/a6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14536986},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=18.20.4 <19.0.0 || >=20.18.0 <21.0.0 || >=22.12.0 <23.0.0"},"gitHead":"f5d5e3baeaef12ca25d72fe8eff61a6b3868a5bb","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.js","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.js","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"cors":"^2.8.5","csurf":"1.11.0","parse":"3.5.1","react":"16.14.0","qrcode":"1.5.4","core-js":"3.42.0","express":"^4.21.2","graphql":"16.11.0","otpauth":"8.0.3","prismjs":"1.30.0","bcryptjs":"3.0.2","graphiql":"2.0.8","inquirer":"12.6.3","passport":"0.5.3","commander":"13.1.0","immutable":"5.1.3","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.0","js-beautify":"1.15.4","package-json":"7.0.0","parse-server":"^8.2.3","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.27.4","cookie-session":"2.1.1","passport-local":"1.0.0","fast-deep-equal":"3.1.3","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.0.5","react-router-dom":"6.30.1","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.27.4","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"30.0.4","sass":"1.89.2","yaml":"2.8.0","husky":"9.1.7","madge":"8.0.0","eslint":"9.28.0","marked":"15.0.12","semver":"7.7.2","globals":"16.2.0","request":"2.88.2","webpack":"5.99.9","prettier":"3.6.2","svg-prep":"1.0.4","puppeteer":"24.12.1","css-loader":"6.7.3","typescript":"5.8.2","@babel/core":"7.27.4","@types/jest":"30.0.0","http-server":"14.1.1","null-loader":"4.0.1","sass-loader":"13.2.0","webpack-cli":"6.0.1","babel-loader":"10.0.0","style-loader":"3.3.1","@actions/core":"1.11.1","@eslint/compat":"1.3.1","request-promise":"4.2.6","semantic-release":"24.2.7","@babel/preset-env":"7.27.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.0.1","@babel/preset-react":"7.27.1","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.0","@semantic-release/git":"10.0.1","@semantic-release/npm":"12.0.1","jest-environment-jsdom":"30.0.5","@semantic-release/github":"11.0.3","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.28.0","@babel/plugin-proposal-decorators":"7.27.1","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.0.3"},"parseDashboardFeatures":["Data Browser","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_1.1.2_1754586800334_0.4195109688417469","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"parse-dashboard-analytics","version":"1.1.3","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@1.1.3","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"489985eed2a6c448e7c58300e4e6005db3d7d2c8","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-1.1.3.tgz","fileCount":85,"integrity":"sha512-QrJYUVTAncaFCLE6jwGA6ecY+IJhA2eJYxTB2872zdjMICOzofZYj5oyxvPJWolUD/utlfhI23GDRW2cPRkovg==","signatures":[{"sig":"MEUCICJRcI3LZX85iSItgokY3rlxl/FiC/uEnj2W3R4OvaN1AiEAu8AYlp/SEoEZ+as4qePnGnMaFVZwTr+6FElCtDPqUO8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14538336},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=18.20.4 <19.0.0 || >=20.18.0 <21.0.0 || >=22.12.0 <23.0.0"},"gitHead":"9368900a030e99939b2b65c3ef846132e9e002a2","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.js","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.js","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"cors":"^2.8.5","csurf":"1.11.0","parse":"3.5.1","react":"16.14.0","qrcode":"1.5.4","core-js":"3.42.0","express":"^4.21.2","graphql":"16.11.0","otpauth":"8.0.3","prismjs":"1.30.0","bcryptjs":"3.0.2","graphiql":"2.0.8","inquirer":"12.6.3","passport":"0.5.3","commander":"13.1.0","immutable":"5.1.3","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.0","js-beautify":"1.15.4","package-json":"7.0.0","parse-server":"^8.2.3","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.27.4","cookie-session":"2.1.1","passport-local":"1.0.0","fast-deep-equal":"3.1.3","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.0.5","react-router-dom":"6.30.1","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.27.4","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"30.0.4","sass":"1.89.2","yaml":"2.8.0","husky":"9.1.7","madge":"8.0.0","eslint":"9.28.0","marked":"15.0.12","semver":"7.7.2","globals":"16.2.0","request":"2.88.2","webpack":"5.99.9","prettier":"3.6.2","svg-prep":"1.0.4","puppeteer":"24.12.1","css-loader":"6.7.3","typescript":"5.8.2","@babel/core":"7.27.4","@types/jest":"30.0.0","http-server":"14.1.1","null-loader":"4.0.1","sass-loader":"13.2.0","webpack-cli":"6.0.1","babel-loader":"10.0.0","style-loader":"3.3.1","@actions/core":"1.11.1","@eslint/compat":"1.3.1","request-promise":"4.2.6","semantic-release":"24.2.7","@babel/preset-env":"7.27.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.0.1","@babel/preset-react":"7.27.1","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.0","@semantic-release/git":"10.0.1","@semantic-release/npm":"12.0.1","jest-environment-jsdom":"30.0.5","@semantic-release/github":"11.0.3","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.28.0","@babel/plugin-proposal-decorators":"7.27.1","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.0.3"},"parseDashboardFeatures":["Data Browser","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_1.1.3_1754593365161_0.17153888457906996","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"parse-dashboard-analytics","version":"1.1.4","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@1.1.4","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"063ed65e809cc9c8bc3640d3b36b3ea278b3a3b0","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-1.1.4.tgz","fileCount":85,"integrity":"sha512-NP28HwpHBlEI5YvE41/7RuyxAmUicEndbKs4tBRWfj6vI2QlCqVaYC+GAaHEAu68n7CPX6mrQw0XBu0YCBG3eg==","signatures":[{"sig":"MEUCIQCC7Pv7tQ7/hvnn0W1lGAa720HqtJjU9QUe78WTIOQQPQIgdD84FoBcKqsYJYyExhlWY2rq10dOecJiCgPB77tQk/s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14540026},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=18.20.4 <19.0.0 || >=20.18.0 <21.0.0 || >=22.12.0 <23.0.0"},"gitHead":"6435accb6b67b644b9dd81efdd6e670df88d37a4","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.js","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.js","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"cors":"^2.8.5","csurf":"1.11.0","parse":"3.5.1","react":"16.14.0","qrcode":"1.5.4","core-js":"3.42.0","express":"^4.21.2","graphql":"16.11.0","otpauth":"8.0.3","prismjs":"1.30.0","bcryptjs":"3.0.2","graphiql":"2.0.8","inquirer":"12.6.3","passport":"0.5.3","commander":"13.1.0","immutable":"5.1.3","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.0","js-beautify":"1.15.4","package-json":"7.0.0","parse-server":"^8.2.3","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.27.4","cookie-session":"2.1.1","passport-local":"1.0.0","fast-deep-equal":"3.1.3","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.0.5","react-router-dom":"6.30.1","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.27.4","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"30.0.4","sass":"1.89.2","yaml":"2.8.0","husky":"9.1.7","madge":"8.0.0","eslint":"9.28.0","marked":"15.0.12","semver":"7.7.2","globals":"16.2.0","request":"2.88.2","webpack":"5.99.9","prettier":"3.6.2","svg-prep":"1.0.4","puppeteer":"24.12.1","css-loader":"6.7.3","typescript":"5.8.2","@babel/core":"7.27.4","@types/jest":"30.0.0","http-server":"14.1.1","null-loader":"4.0.1","sass-loader":"13.2.0","webpack-cli":"6.0.1","babel-loader":"10.0.0","style-loader":"3.3.1","@actions/core":"1.11.1","@eslint/compat":"1.3.1","request-promise":"4.2.6","semantic-release":"24.2.7","@babel/preset-env":"7.27.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.0.1","@babel/preset-react":"7.27.1","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.0","@semantic-release/git":"10.0.1","@semantic-release/npm":"12.0.1","jest-environment-jsdom":"30.0.5","@semantic-release/github":"11.0.3","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.28.0","@babel/plugin-proposal-decorators":"7.27.1","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.0.3"},"parseDashboardFeatures":["Data Browser","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_1.1.4_1754595481856_0.9046124970054241","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"parse-dashboard-analytics","version":"1.1.5","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@1.1.5","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"9febb0838a89e3db6209458fd0c841b521a9fce5","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-1.1.5.tgz","fileCount":85,"integrity":"sha512-XUx+nX6ZyiwCkAhqcm2yxB3b48UwvaI3Mr/nDnz8emhpFr5HtCc4ZrWC8PDV0iIwJEw+i/5iQ1s0b2rkspLjtg==","signatures":[{"sig":"MEQCIHF4D4ddwiNOdsnG8Z1A6pAZTjOKLYrBQ2Qw82Ms5dzzAiARWaSTzEIer040pHXT5nl94cuF7rJhmTYlIUn/Xv/jlQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14539945},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=18.20.4 <19.0.0 || >=20.18.0 <21.0.0 || >=22.12.0 <23.0.0"},"gitHead":"4ae9bc5a7f832df6099b73826cc8a28ff5711b0d","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.js","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.js","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"cors":"^2.8.5","csurf":"1.11.0","parse":"3.5.1","react":"16.14.0","qrcode":"1.5.4","core-js":"3.42.0","express":"^4.21.2","graphql":"16.11.0","otpauth":"8.0.3","prismjs":"1.30.0","bcryptjs":"3.0.2","graphiql":"2.0.8","inquirer":"12.6.3","passport":"0.5.3","commander":"13.1.0","immutable":"5.1.3","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.0","js-beautify":"1.15.4","package-json":"7.0.0","parse-server":"^8.2.3","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.27.4","cookie-session":"2.1.1","passport-local":"1.0.0","fast-deep-equal":"3.1.3","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.0.5","react-router-dom":"6.30.1","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.27.4","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"30.0.4","sass":"1.89.2","yaml":"2.8.0","husky":"9.1.7","madge":"8.0.0","eslint":"9.28.0","marked":"15.0.12","semver":"7.7.2","globals":"16.2.0","request":"2.88.2","webpack":"5.99.9","prettier":"3.6.2","svg-prep":"1.0.4","puppeteer":"24.12.1","css-loader":"6.7.3","typescript":"5.8.2","@babel/core":"7.27.4","@types/jest":"30.0.0","http-server":"14.1.1","null-loader":"4.0.1","sass-loader":"13.2.0","webpack-cli":"6.0.1","babel-loader":"10.0.0","style-loader":"3.3.1","@actions/core":"1.11.1","@eslint/compat":"1.3.1","request-promise":"4.2.6","semantic-release":"24.2.7","@babel/preset-env":"7.27.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.0.1","@babel/preset-react":"7.27.1","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.0","@semantic-release/git":"10.0.1","@semantic-release/npm":"12.0.1","jest-environment-jsdom":"30.0.5","@semantic-release/github":"11.0.3","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.28.0","@babel/plugin-proposal-decorators":"7.27.1","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.0.3"},"parseDashboardFeatures":["Data Browser","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_1.1.5_1754614749598_0.6766016255318408","host":"s3://npm-registry-packages-npm-production"}},"7.4.0":{"name":"parse-dashboard-analytics","version":"7.4.0","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@7.4.0","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"6dbd2a280c3fbc70b08a1f3e39fb3dc64b2a387b","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-7.4.0.tgz","fileCount":85,"integrity":"sha512-L8x3d36IL66eCFCAnECsqsrK1/1GArmfgz2QOm85qFD6sTiToAzjWxOFbJFf95bXLT9RIOVp1AQidtFlphDfKQ==","signatures":[{"sig":"MEUCIDUvkl+pKHER/gjuMozQbE7M5qJrV5D7ZW7o1nqWSUUpAiEAprRqrrEyi6NbvcvPudW1S+Dz4TSowqk3WYBJVrX770w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14595884},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=18.20.4 <19.0.0 || >=20.18.0 <21.0.0 || >=22.12.0 <23.0.0"},"gitHead":"ca6e961e28226879a59992bf880e9097995bb1f5","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.js","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.js","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"cors":"^2.8.5","csurf":"1.11.0","parse":"3.5.1","react":"16.14.0","qrcode":"1.5.4","core-js":"3.42.0","express":"^4.21.2","graphql":"16.11.0","otpauth":"8.0.3","prismjs":"1.30.0","bcryptjs":"3.0.2","graphiql":"2.0.8","inquirer":"12.9.0","passport":"0.5.3","commander":"13.1.0","immutable":"5.1.3","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.0","js-beautify":"1.15.4","package-json":"7.0.0","parse-server":"^8.2.3","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.27.4","cookie-session":"2.1.1","passport-local":"1.0.0","fast-deep-equal":"3.1.3","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.0.5","react-router-dom":"6.30.1","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.28.3","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"30.0.4","sass":"1.89.2","yaml":"2.8.0","husky":"9.1.7","madge":"8.0.0","eslint":"9.28.0","marked":"15.0.12","semver":"7.7.2","globals":"16.2.0","request":"2.88.2","webpack":"5.99.9","prettier":"3.6.2","svg-prep":"1.0.4","puppeteer":"24.12.1","css-loader":"6.7.3","typescript":"5.8.2","@babel/core":"7.27.4","@types/jest":"30.0.0","http-server":"14.1.1","null-loader":"4.0.1","sass-loader":"13.2.0","webpack-cli":"6.0.1","babel-loader":"10.0.0","style-loader":"3.3.1","@actions/core":"1.11.1","@eslint/compat":"1.3.1","request-promise":"4.2.6","semantic-release":"24.2.7","@babel/preset-env":"7.27.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.0.1","@babel/preset-react":"7.27.1","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.0","@semantic-release/git":"10.0.1","@semantic-release/npm":"12.0.1","jest-environment-jsdom":"30.0.5","@semantic-release/github":"11.0.3","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.28.0","@babel/plugin-proposal-decorators":"7.27.1","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.0.3"},"parseDashboardFeatures":["Data Browser","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_7.4.0_1757596268591_0.295525528232786","host":"s3://npm-registry-packages-npm-production"}},"7.4.1":{"name":"parse-dashboard-analytics","version":"7.4.1","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@7.4.1","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"55d2196b533e3f3f68ac496d208f2d9fd3094389","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-7.4.1.tgz","fileCount":85,"integrity":"sha512-J5NbLgzMrX50ZNCqRRSj627IerJB9xhFAgfMq/6mBaMRp0WnY29jyqlbMafi+f978lnlfJjASvxgHAG/xYyh5g==","signatures":[{"sig":"MEQCICol5bFBLMQ9/xPAIGgZ9qSwwKHO8BBG80pCuV604uQYAiAn/ZhIT0DSRDXSLsRcvgsg/5bw1Z/C/9yc+VD3AF8RdA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14640964},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=18.20.4 <19.0.0 || >=20.18.0 <21.0.0 || >=22.12.0 <23.0.0"},"gitHead":"f7fe40ff02af1d695aa6a77f53cc08dfb2a65e21","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.js","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.js","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"cors":"^2.8.5","csurf":"1.11.0","parse":"7.1.2","react":"16.14.0","qrcode":"1.5.4","core-js":"3.42.0","express":"4.21.2","graphql":"16.11.0","otpauth":"8.0.3","prismjs":"1.30.0","bcryptjs":"3.0.2","graphiql":"2.0.8","inquirer":"12.9.0","passport":"0.7.0","commander":"13.1.0","immutable":"5.1.3","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.1","js-beautify":"1.15.4","package-json":"7.0.0","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.27.4","passport-local":"1.0.0","express-session":"1.18.2","fast-deep-equal":"3.1.3","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.0.5","react-router-dom":"6.30.1","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.28.3","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"30.0.4","sass":"1.89.2","yaml":"2.8.0","husky":"9.1.7","madge":"8.0.0","eslint":"9.28.0","marked":"15.0.12","semver":"7.7.2","globals":"16.2.0","request":"2.88.2","webpack":"5.99.9","prettier":"3.6.2","svg-prep":"1.0.4","puppeteer":"24.12.1","css-loader":"6.7.3","typescript":"5.8.2","@babel/core":"7.27.4","@types/jest":"30.0.0","http-server":"14.1.1","null-loader":"4.0.1","sass-loader":"13.2.0","webpack-cli":"6.0.1","babel-loader":"10.0.0","style-loader":"3.3.1","@actions/core":"1.11.1","@eslint/compat":"1.3.1","request-promise":"4.2.6","semantic-release":"24.2.7","@babel/preset-env":"7.28.5","all-node-versions":"13.0.1","eslint-plugin-jest":"29.0.1","@babel/preset-react":"7.27.1","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.0","@semantic-release/git":"10.0.1","@semantic-release/npm":"12.0.1","jest-environment-jsdom":"30.0.5","@semantic-release/github":"11.0.3","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.28.0","@babel/plugin-proposal-decorators":"7.27.1","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.0.3"},"parseDashboardFeatures":["Data Browser","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_7.4.1_1765052390807_0.16019928712999643","host":"s3://npm-registry-packages-npm-production"},"supportedParseServerVersion":">=7.0.0"},"7.4.2":{"name":"parse-dashboard-analytics","version":"7.4.2","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@7.4.2","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"2e70e875adbcc9842ac5e0d704c447a94582e877","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-7.4.2.tgz","fileCount":85,"integrity":"sha512-RV3O4e34vFXnsndg4OcDV2i9LNKA2vBW9t1ZNFumNBGeXTIk80H7KGwZS15MUC/hi9E9K0L/Kd4cquNwpt4lhw==","signatures":[{"sig":"MEUCIQCR4q3Oi/5SOtG8HxTNgPxa+L1rRybYD8D/F/WTOaR5dAIgRguyqMxI5fdvpBcelyGnyV+Xv1UPdRuRjvhetoDQe/0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14640964},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=18.20.4 <19.0.0 || >=20.18.0 <21.0.0 || >=22.12.0 <23.0.0"},"gitHead":"eb809d38262b56faeb81c01833c4f3e9ad9df730","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.js","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.js","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"cors":"^2.8.5","csurf":"1.11.0","parse":"7.1.2","react":"16.14.0","qrcode":"1.5.4","core-js":"3.42.0","express":"4.21.2","graphql":"16.11.0","otpauth":"8.0.3","prismjs":"1.30.0","bcryptjs":"3.0.2","graphiql":"2.0.8","inquirer":"12.9.0","passport":"0.7.0","commander":"13.1.0","immutable":"5.1.3","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.1","js-beautify":"1.15.4","package-json":"7.0.0","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.27.4","passport-local":"1.0.0","express-session":"1.18.2","fast-deep-equal":"3.1.3","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.0.5","react-router-dom":"6.30.1","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.28.3","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"30.0.4","sass":"1.89.2","yaml":"2.8.0","husky":"9.1.7","madge":"8.0.0","eslint":"9.28.0","marked":"15.0.12","semver":"7.7.2","globals":"16.2.0","request":"2.88.2","webpack":"5.99.9","prettier":"3.6.2","svg-prep":"1.0.4","puppeteer":"24.12.1","css-loader":"6.7.3","typescript":"5.8.2","@babel/core":"7.27.4","@types/jest":"30.0.0","http-server":"14.1.1","null-loader":"4.0.1","sass-loader":"13.2.0","webpack-cli":"6.0.1","babel-loader":"10.0.0","style-loader":"3.3.1","@actions/core":"1.11.1","@eslint/compat":"1.3.1","request-promise":"4.2.6","semantic-release":"24.2.7","@babel/preset-env":"7.28.5","all-node-versions":"13.0.1","eslint-plugin-jest":"29.0.1","@babel/preset-react":"7.27.1","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.0","@semantic-release/git":"10.0.1","@semantic-release/npm":"12.0.1","jest-environment-jsdom":"30.0.5","@semantic-release/github":"11.0.3","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.28.0","@babel/plugin-proposal-decorators":"7.27.1","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.0.3"},"parseDashboardFeatures":["Data Browser","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_7.4.2_1765052655340_0.21636232223920082","host":"s3://npm-registry-packages-npm-production"},"supportedParseServerVersion":">=7.0.0"},"7.4.4":{"name":"parse-dashboard-analytics","version":"7.4.4","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@7.4.4","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"c2236027c1f00c728067c1b3a8b695568919ca81","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-7.4.4.tgz","fileCount":92,"integrity":"sha512-5NpHO/ODrMzLFUp5T/o8VmO5AExyu7fKHZNFL5fio7EidnhVI6zANiGHjUjtRu7ozoYE2q/pthc9grVkprxgjg==","signatures":[{"sig":"MEUCIQCtdS9MX03XA1FnaQvq3+8fmKEFZCG28b3Mppb7gnZWhAIgOaGl0WHeqLWFEwwLGetv/S9mW7ILjlOZ6djpa+Wz6/0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15222850},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"transformIgnorePatterns":["node_modules/(?!(marked)/)"],"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=20.19.0 <21.0.0 || >=22.12.0 <23.0.0 || >=24.1.0 <25.0.0"},"gitHead":"875886cafb14b79aeeda599c980a10ee29fe0a46","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --config-node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.mjs","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","browser-control":"PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.mjs","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js","browser-control:visible":"BROWSER_HEADLESS=false PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"overrides":{"madge":{"typescript":"$typescript"}},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"diff":"8.0.3","parse":"8.5.0","react":"16.14.0","qrcode":"1.5.4","core-js":"3.48.0","express":"5.2.1","graphql":"16.12.0","otpauth":"9.5.0","prismjs":"1.30.0","bcryptjs":"3.0.3","chart.js":"4.5.1","graphiql":"2.0.8","inquirer":"13.2.2","passport":"0.7.0","commander":"13.1.0","csrf-sync":"4.2.1","immutable":"5.1.5","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","react-rnd":"10.5.3","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.2","js-beautify":"1.15.4","package-json":"7.0.0","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.29.2","expr-eval-fork":"3.0.3","passport-local":"1.0.0","express-session":"1.19.0","fast-deep-equal":"3.1.3","react-chartjs-2":"5.3.1","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.1.3","react-router-dom":"6.30.3","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.29.2","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"ws":"8.19.0","jest":"30.0.4","sass":"1.98.0","yaml":"2.8.3","husky":"9.1.7","madge":"8.0.0","eslint":"9.39.2","marked":"17.0.5","semver":"7.7.4","globals":"17.3.0","webpack":"5.105.1","get-port":"7.2.0","prettier":"3.8.1","puppeteer":"24.37.2","css-loader":"7.1.4","typescript":"6.0.2","@babel/core":"7.29.0","@types/jest":"30.0.0","http-server":"14.1.1","sass-loader":"16.0.7","webpack-cli":"7.0.2","babel-loader":"10.1.1","parse-server":"9.7.0","style-loader":"3.3.1","@actions/core":"3.0.0","@eslint/compat":"2.0.3","mongodb-runner":"^6.6.0","semantic-release":"25.0.3","@babel/preset-env":"7.29.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.15.1","@babel/preset-react":"7.28.5","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.6","@semantic-release/git":"10.0.1","@semantic-release/npm":"13.1.4","jest-environment-jsdom":"30.0.5","@semantic-release/github":"12.0.6","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.29.0","@babel/plugin-proposal-decorators":"7.29.0","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.1.0"},"parseDashboardFeatures":["Data Browser","Data Graphs","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_7.4.4_1776145564973_0.9158005449268198","host":"s3://npm-registry-packages-npm-production"},"supportedParseServerVersion":">=7.0.0"},"7.4.5":{"name":"parse-dashboard-analytics","version":"7.4.5","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@7.4.5","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"ae50daa572b5764364b4c1917fe9cfc25e66bc28","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-7.4.5.tgz","fileCount":92,"integrity":"sha512-kZDx8/6H701UNrokofNQ/NuqcjkRofyveP+2WC5dTi4b90DiXzEl+zJ+mhlCgFEhKeSIyBnMUDBDclkdtXz5qg==","signatures":[{"sig":"MEUCIQC7Hp+qZEchRiGRh8ol0Btt5SyPG3Pp71b88D7rAZcNWgIgItTx9fhg/ud+GJ2b1A1LjS8owBRJ1DV8BySY1qgFPmk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15222661},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"transformIgnorePatterns":["node_modules/(?!(marked)/)"],"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=20.19.0 <21.0.0 || >=22.12.0 <23.0.0 || >=24.1.0 <25.0.0"},"gitHead":"cb9d6cac5bd42d1e7098066e9d0c352d2ab47ea4","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --config-node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.mjs","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","browser-control":"PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.mjs","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js","browser-control:visible":"BROWSER_HEADLESS=false PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"overrides":{"madge":{"typescript":"$typescript"}},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"diff":"8.0.3","parse":"8.5.0","react":"16.14.0","qrcode":"1.5.4","core-js":"3.48.0","express":"5.2.1","graphql":"16.12.0","otpauth":"9.5.0","prismjs":"1.30.0","bcryptjs":"3.0.3","chart.js":"4.5.1","graphiql":"2.0.8","inquirer":"13.2.2","passport":"0.7.0","commander":"13.1.0","csrf-sync":"4.2.1","immutable":"5.1.5","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","react-rnd":"10.5.3","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.2","js-beautify":"1.15.4","package-json":"7.0.0","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.29.2","expr-eval-fork":"3.0.3","passport-local":"1.0.0","express-session":"1.19.0","fast-deep-equal":"3.1.3","react-chartjs-2":"5.3.1","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.1.3","react-router-dom":"6.30.3","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.29.2","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"ws":"8.19.0","jest":"30.0.4","sass":"1.98.0","yaml":"2.8.3","husky":"9.1.7","madge":"8.0.0","eslint":"9.39.2","marked":"17.0.5","semver":"7.7.4","globals":"17.3.0","webpack":"5.105.1","get-port":"7.2.0","prettier":"3.8.1","puppeteer":"24.37.2","css-loader":"7.1.4","typescript":"6.0.2","@babel/core":"7.29.0","@types/jest":"30.0.0","http-server":"14.1.1","sass-loader":"16.0.7","webpack-cli":"7.0.2","babel-loader":"10.1.1","parse-server":"9.7.0","style-loader":"3.3.1","@actions/core":"3.0.0","@eslint/compat":"2.0.3","mongodb-runner":"^6.6.0","semantic-release":"25.0.3","@babel/preset-env":"7.29.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.15.1","@babel/preset-react":"7.28.5","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.6","@semantic-release/git":"10.0.1","@semantic-release/npm":"13.1.4","jest-environment-jsdom":"30.0.5","@semantic-release/github":"12.0.6","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.29.0","@babel/plugin-proposal-decorators":"7.29.0","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.1.0"},"parseDashboardFeatures":["Data Browser","Data Graphs","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_7.4.5_1776146109192_0.42868634664880245","host":"s3://npm-registry-packages-npm-production"},"supportedParseServerVersion":">=7.0.0"},"7.4.6":{"name":"parse-dashboard-analytics","version":"7.4.6","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@7.4.6","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"ed7b34ca0471322e6b048605484f986faf03463f","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-7.4.6.tgz","fileCount":92,"integrity":"sha512-ugjsfQuOupN5O28ard79ETNWSpyMi3FoNinWdIopPrLraN5Qi9A0kCOFDo3IDxiMt86PqP9+rqLALsVrJG3YEA==","signatures":[{"sig":"MEUCIQCeoEeC3P1EEjvdPrl4x7JtFaSdtnVieO3iCcvvA8LKSQIgMHQH7S9AEhMA6s4Hg5LFEKvryiXO7SdlrLI4fzYz3q8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15224706},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"transformIgnorePatterns":["node_modules/(?!(marked)/)"],"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=20.19.0 <21.0.0 || >=22.12.0 <23.0.0 || >=24.1.0 <25.0.0"},"gitHead":"d3fb646cfaf0e9bbf7f353ca7fcf317e2912ca20","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --config-node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.mjs","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","browser-control":"PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.mjs","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js","browser-control:visible":"BROWSER_HEADLESS=false PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"overrides":{"madge":{"typescript":"$typescript"}},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"diff":"8.0.3","parse":"8.5.0","react":"16.14.0","qrcode":"1.5.4","core-js":"3.48.0","express":"5.2.1","graphql":"16.12.0","otpauth":"9.5.0","prismjs":"1.30.0","bcryptjs":"3.0.3","chart.js":"4.5.1","graphiql":"2.0.8","inquirer":"13.2.2","passport":"0.7.0","commander":"13.1.0","csrf-sync":"4.2.1","immutable":"5.1.5","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","react-rnd":"10.5.3","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.2","js-beautify":"1.15.4","package-json":"7.0.0","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.29.2","expr-eval-fork":"3.0.3","passport-local":"1.0.0","express-session":"1.19.0","fast-deep-equal":"3.1.3","react-chartjs-2":"5.3.1","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.1.3","react-router-dom":"6.30.3","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.29.2","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"ws":"8.19.0","jest":"30.0.4","sass":"1.98.0","yaml":"2.8.3","husky":"9.1.7","madge":"8.0.0","eslint":"9.39.2","marked":"17.0.5","semver":"7.7.4","globals":"17.3.0","webpack":"5.105.1","get-port":"7.2.0","prettier":"3.8.1","puppeteer":"24.37.2","css-loader":"7.1.4","typescript":"6.0.2","@babel/core":"7.29.0","@types/jest":"30.0.0","http-server":"14.1.1","sass-loader":"16.0.7","webpack-cli":"7.0.2","babel-loader":"10.1.1","parse-server":"9.7.0","style-loader":"3.3.1","@actions/core":"3.0.0","@eslint/compat":"2.0.3","mongodb-runner":"^6.6.0","semantic-release":"25.0.3","@babel/preset-env":"7.29.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.15.1","@babel/preset-react":"7.28.5","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.6","@semantic-release/git":"10.0.1","@semantic-release/npm":"13.1.4","jest-environment-jsdom":"30.0.5","@semantic-release/github":"12.0.6","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.29.0","@babel/plugin-proposal-decorators":"7.29.0","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.1.0"},"parseDashboardFeatures":["Data Browser","Data Graphs","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_7.4.6_1783343389257_0.7978958622826084","host":"s3://npm-registry-packages-npm-production"},"supportedParseServerVersion":">=7.0.0"},"7.4.7":{"name":"parse-dashboard-analytics","version":"7.4.7","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@7.4.7","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"f7ccaf08188cec44cd772166d5b7c263d3cc9baa","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-7.4.7.tgz","fileCount":92,"integrity":"sha512-lDo6azxI+0FuH1baN0gDvZxk4mx8J1d+msUJF+V6T8VU9o4cyHOL3JhY6tibk72HsbbqXHnccVSj39r773VXvw==","signatures":[{"sig":"MEUCIQCp3zyEJnT+XKXccc+OANxKIn/YjGV9CefMyuPIqEYRYgIgU4bdTsjL7rYCv/kzrHY+0HBmYYvxdQOZ3vptXOeMINY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15224807},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"transformIgnorePatterns":["node_modules/(?!(marked)/)"],"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=20.19.0 <21.0.0 || >=22.12.0 <23.0.0 || >=24.1.0 <25.0.0"},"gitHead":"3065d5ea0a895b47d4f9c2c49aac79801f5f4a2a","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --config-node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.mjs","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","browser-control":"PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.mjs","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js","browser-control:visible":"BROWSER_HEADLESS=false PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"overrides":{"madge":{"typescript":"$typescript"}},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"diff":"8.0.3","parse":"8.5.0","react":"16.14.0","qrcode":"1.5.4","core-js":"3.48.0","express":"5.2.1","graphql":"16.12.0","otpauth":"9.5.0","prismjs":"1.30.0","bcryptjs":"3.0.3","chart.js":"4.5.1","graphiql":"2.0.8","inquirer":"13.2.2","passport":"0.7.0","commander":"13.1.0","csrf-sync":"4.2.1","immutable":"5.1.5","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","react-rnd":"10.5.3","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.2","js-beautify":"1.15.4","package-json":"7.0.0","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.29.2","expr-eval-fork":"3.0.3","passport-local":"1.0.0","express-session":"1.19.0","fast-deep-equal":"3.1.3","react-chartjs-2":"5.3.1","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.1.3","react-router-dom":"6.30.3","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.29.2","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"ws":"8.19.0","jest":"30.0.4","sass":"1.98.0","yaml":"2.8.3","husky":"9.1.7","madge":"8.0.0","eslint":"9.39.2","marked":"17.0.5","semver":"7.7.4","globals":"17.3.0","webpack":"5.105.1","get-port":"7.2.0","prettier":"3.8.1","puppeteer":"24.37.2","css-loader":"7.1.4","typescript":"6.0.2","@babel/core":"7.29.0","@types/jest":"30.0.0","http-server":"14.1.1","sass-loader":"16.0.7","webpack-cli":"7.0.2","babel-loader":"10.1.1","parse-server":"9.7.0","style-loader":"3.3.1","@actions/core":"3.0.0","@eslint/compat":"2.0.3","mongodb-runner":"^6.6.0","semantic-release":"25.0.3","@babel/preset-env":"7.29.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.15.1","@babel/preset-react":"7.28.5","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.6","@semantic-release/git":"10.0.1","@semantic-release/npm":"13.1.4","jest-environment-jsdom":"30.0.5","@semantic-release/github":"12.0.6","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.29.0","@babel/plugin-proposal-decorators":"7.29.0","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.1.0"},"parseDashboardFeatures":["Data Browser","Data Graphs","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_7.4.7_1783344962800_0.6776723117298367","host":"s3://npm-registry-packages-npm-production"},"supportedParseServerVersion":">=7.0.0"},"7.4.8":{"name":"parse-dashboard-analytics","version":"7.4.8","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@7.4.8","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"10d3f93dceae1a919b859bf65cda1e530db2a0a4","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-7.4.8.tgz","fileCount":92,"integrity":"sha512-DmKCs7QbLQ48UTbjzdl4XTohJyTNTBvevxN1XJaWutjkOuzgFHgkPVPm8IXoTDsgNla/tWmyiRD7npy4yaDyAw==","signatures":[{"sig":"MEUCICveCbfi0+uhaclMfT92m/aj19YWr25uujCVi9mc2FZ0AiEAyIuT1daXGigKcenwrZHlENvE9TDk16vvGjeSutgU5f4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15224798},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"transformIgnorePatterns":["node_modules/(?!(marked)/)"],"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=20.19.0 <21.0.0 || >=22.12.0 <23.0.0 || >=24.1.0 <25.0.0"},"gitHead":"a922d569e4a6b907e936a676c78172f235459314","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --config-node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.mjs","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","browser-control":"PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.mjs","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js","browser-control:visible":"BROWSER_HEADLESS=false PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"overrides":{"madge":{"typescript":"$typescript"}},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"diff":"8.0.3","parse":"8.5.0","react":"16.14.0","qrcode":"1.5.4","core-js":"3.48.0","express":"5.2.1","graphql":"16.12.0","otpauth":"9.5.0","prismjs":"1.30.0","bcryptjs":"3.0.3","chart.js":"4.5.1","graphiql":"2.0.8","inquirer":"13.2.2","passport":"0.7.0","commander":"13.1.0","csrf-sync":"4.2.1","immutable":"5.1.5","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","react-rnd":"10.5.3","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.2","js-beautify":"1.15.4","package-json":"7.0.0","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.29.2","expr-eval-fork":"3.0.3","passport-local":"1.0.0","express-session":"1.19.0","fast-deep-equal":"3.1.3","react-chartjs-2":"5.3.1","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.1.3","react-router-dom":"6.30.3","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.29.2","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"ws":"8.19.0","jest":"30.0.4","sass":"1.98.0","yaml":"2.8.3","husky":"9.1.7","madge":"8.0.0","eslint":"9.39.2","marked":"17.0.5","semver":"7.7.4","globals":"17.3.0","webpack":"5.105.1","get-port":"7.2.0","prettier":"3.8.1","puppeteer":"24.37.2","css-loader":"7.1.4","typescript":"6.0.2","@babel/core":"7.29.0","@types/jest":"30.0.0","http-server":"14.1.1","sass-loader":"16.0.7","webpack-cli":"7.0.2","babel-loader":"10.1.1","parse-server":"9.7.0","style-loader":"3.3.1","@actions/core":"3.0.0","@eslint/compat":"2.0.3","mongodb-runner":"^6.6.0","semantic-release":"25.0.3","@babel/preset-env":"7.29.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.15.1","@babel/preset-react":"7.28.5","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.6","@semantic-release/git":"10.0.1","@semantic-release/npm":"13.1.4","jest-environment-jsdom":"30.0.5","@semantic-release/github":"12.0.6","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.29.0","@babel/plugin-proposal-decorators":"7.29.0","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.1.0"},"parseDashboardFeatures":["Data Browser","Data Graphs","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_7.4.8_1783346937853_0.5756106987984149","host":"s3://npm-registry-packages-npm-production"},"supportedParseServerVersion":">=7.0.0"},"7.4.9":{"name":"parse-dashboard-analytics","version":"7.4.9","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@7.4.9","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"31bcc97a468c08780dc7b039bafe0171cd828690","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-7.4.9.tgz","fileCount":92,"integrity":"sha512-nQyfoPoE9yKvz/HlXJuxY9lvuy/5xanue80rFR1T6inGfRqgKvSGCa0mGIDe9sIXRrdbCQxPgtIjwCPwFkE7KQ==","signatures":[{"sig":"MEQCIH4wLjGkE9lRAwzhT+dvv4nelMMtuVYLCZOlSbv6bqQHAiBgWSmKl4m63LU4aKUqn/CfSaSYC/c1PCT/FFY7O5u7uA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15225030},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"transformIgnorePatterns":["node_modules/(?!(marked)/)"],"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=20.19.0 <21.0.0 || >=22.12.0 <23.0.0 || >=24.1.0 <25.0.0"},"gitHead":"1ef961f274e9f279c2870859168cbff4632d7f79","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --config-node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.mjs","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","browser-control":"PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.mjs","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js","browser-control:visible":"BROWSER_HEADLESS=false PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"overrides":{"madge":{"typescript":"$typescript"}},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"diff":"8.0.3","parse":"8.5.0","react":"16.14.0","qrcode":"1.5.4","core-js":"3.48.0","express":"5.2.1","graphql":"16.12.0","otpauth":"9.5.0","prismjs":"1.30.0","bcryptjs":"3.0.3","chart.js":"4.5.1","graphiql":"2.0.8","inquirer":"13.2.2","passport":"0.7.0","commander":"13.1.0","csrf-sync":"4.2.1","immutable":"5.1.5","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","react-rnd":"10.5.3","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.2","js-beautify":"1.15.4","package-json":"7.0.0","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.29.2","expr-eval-fork":"3.0.3","passport-local":"1.0.0","express-session":"1.19.0","fast-deep-equal":"3.1.3","react-chartjs-2":"5.3.1","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.1.3","react-router-dom":"6.30.3","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.29.2","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"ws":"8.19.0","jest":"30.0.4","sass":"1.98.0","yaml":"2.8.3","husky":"9.1.7","madge":"8.0.0","eslint":"9.39.2","marked":"17.0.5","semver":"7.7.4","globals":"17.3.0","webpack":"5.105.1","get-port":"7.2.0","prettier":"3.8.1","puppeteer":"24.37.2","css-loader":"7.1.4","typescript":"6.0.2","@babel/core":"7.29.0","@types/jest":"30.0.0","http-server":"14.1.1","sass-loader":"16.0.7","webpack-cli":"7.0.2","babel-loader":"10.1.1","parse-server":"9.7.0","style-loader":"3.3.1","@actions/core":"3.0.0","@eslint/compat":"2.0.3","mongodb-runner":"^6.6.0","semantic-release":"25.0.3","@babel/preset-env":"7.29.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.15.1","@babel/preset-react":"7.28.5","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.6","@semantic-release/git":"10.0.1","@semantic-release/npm":"13.1.4","jest-environment-jsdom":"30.0.5","@semantic-release/github":"12.0.6","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.29.0","@babel/plugin-proposal-decorators":"7.29.0","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.1.0"},"parseDashboardFeatures":["Data Browser","Data Graphs","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_7.4.9_1783348647307_0.865413583661119","host":"s3://npm-registry-packages-npm-production"},"supportedParseServerVersion":">=7.0.0"},"7.4.10":{"name":"parse-dashboard-analytics","version":"7.4.10","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@7.4.10","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"8c966ff86d2b6597b7fce10aecc935182a819b9a","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-7.4.10.tgz","fileCount":92,"integrity":"sha512-bfsteDvRZdT9V2DFDl83dee7s8gixh2PMBiqP8vVBn3SvFSTuq0BYHfPFMcDvIm/hDFYOHzB+GGCkVpMb4467w==","signatures":[{"sig":"MEYCIQCvyr+9fV6a0tftwbFmaM6ZCZzGjPdB6rAaWPyzkN/lGwIhALI9xrpF/deFWSvUYvooaDlAn5rldsJ1XIXJu2D0P1x2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15225037},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"transformIgnorePatterns":["node_modules/(?!(marked)/)"],"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=20.19.0 <21.0.0 || >=22.12.0 <23.0.0 || >=24.1.0 <25.0.0"},"gitHead":"7d4930e8c2adc6d41ca04bf2a55b14a84d7c4921","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --config-node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.mjs","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","browser-control":"PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.mjs","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js","browser-control:visible":"BROWSER_HEADLESS=false PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"overrides":{"madge":{"typescript":"$typescript"}},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"diff":"8.0.3","parse":"8.5.0","react":"16.14.0","qrcode":"1.5.4","core-js":"3.48.0","express":"5.2.1","graphql":"16.12.0","otpauth":"9.5.0","prismjs":"1.30.0","bcryptjs":"3.0.3","chart.js":"4.5.1","graphiql":"2.0.8","inquirer":"13.2.2","passport":"0.7.0","commander":"13.1.0","csrf-sync":"4.2.1","immutable":"5.1.5","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","react-rnd":"10.5.3","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.2","js-beautify":"1.15.4","package-json":"7.0.0","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.29.2","expr-eval-fork":"3.0.3","passport-local":"1.0.0","express-session":"1.19.0","fast-deep-equal":"3.1.3","react-chartjs-2":"5.3.1","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.1.3","react-router-dom":"6.30.3","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.29.2","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"ws":"8.19.0","jest":"30.0.4","sass":"1.98.0","yaml":"2.8.3","husky":"9.1.7","madge":"8.0.0","eslint":"9.39.2","marked":"17.0.5","semver":"7.7.4","globals":"17.3.0","webpack":"5.105.1","get-port":"7.2.0","prettier":"3.8.1","puppeteer":"24.37.2","css-loader":"7.1.4","typescript":"6.0.2","@babel/core":"7.29.0","@types/jest":"30.0.0","http-server":"14.1.1","sass-loader":"16.0.7","webpack-cli":"7.0.2","babel-loader":"10.1.1","parse-server":"9.7.0","style-loader":"3.3.1","@actions/core":"3.0.0","@eslint/compat":"2.0.3","mongodb-runner":"^6.6.0","semantic-release":"25.0.3","@babel/preset-env":"7.29.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.15.1","@babel/preset-react":"7.28.5","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.6","@semantic-release/git":"10.0.1","@semantic-release/npm":"13.1.4","jest-environment-jsdom":"30.0.5","@semantic-release/github":"12.0.6","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.29.0","@babel/plugin-proposal-decorators":"7.29.0","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.1.0"},"parseDashboardFeatures":["Data Browser","Data Graphs","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_7.4.10_1783349244256_0.07908792825480515","host":"s3://npm-registry-packages-npm-production"},"supportedParseServerVersion":">=7.0.0"},"7.4.11":{"name":"parse-dashboard-analytics","version":"7.4.11","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@7.4.11","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"30e98e3996a219957166fb9854c2ca268eab7c24","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-7.4.11.tgz","fileCount":92,"integrity":"sha512-gutijzOAnSq8g5CWiuLEgE2BDz0dlU7xVl/XVrfOOmNVAr4FN2OZ6BkT+Shro7p/WnCvk+jSeFQu0WbNQJA2wQ==","signatures":[{"sig":"MEUCIGuejZWSpNCrDoKrLFV4zZAuSWSMciuEkoAUelbLvCvGAiEAmws3dF7KQpqBLxySN8+u5SOXzaoFeru8zJhbXMPgqHM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15225071},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"transformIgnorePatterns":["node_modules/(?!(marked)/)"],"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=20.19.0 <21.0.0 || >=22.12.0 <23.0.0 || >=24.1.0 <25.0.0"},"gitHead":"05e47f36d2bcd944878d74adc0c94c14cc51551b","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --config-node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.mjs","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","browser-control":"PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.mjs","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js","browser-control:visible":"BROWSER_HEADLESS=false PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"overrides":{"madge":{"typescript":"$typescript"}},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"diff":"8.0.3","parse":"8.5.0","react":"16.14.0","qrcode":"1.5.4","core-js":"3.48.0","express":"5.2.1","graphql":"16.12.0","otpauth":"9.5.0","prismjs":"1.30.0","bcryptjs":"3.0.3","chart.js":"4.5.1","graphiql":"2.0.8","inquirer":"13.2.2","passport":"0.7.0","commander":"13.1.0","csrf-sync":"4.2.1","immutable":"5.1.5","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","react-rnd":"10.5.3","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.2","js-beautify":"1.15.4","package-json":"7.0.0","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.29.2","expr-eval-fork":"3.0.3","passport-local":"1.0.0","express-session":"1.19.0","fast-deep-equal":"3.1.3","react-chartjs-2":"5.3.1","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.1.3","react-router-dom":"6.30.3","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.29.2","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"ws":"8.19.0","jest":"30.0.4","sass":"1.98.0","yaml":"2.8.3","husky":"9.1.7","madge":"8.0.0","eslint":"9.39.2","marked":"17.0.5","semver":"7.7.4","globals":"17.3.0","webpack":"5.105.1","get-port":"7.2.0","prettier":"3.8.1","puppeteer":"24.37.2","css-loader":"7.1.4","typescript":"6.0.2","@babel/core":"7.29.0","@types/jest":"30.0.0","http-server":"14.1.1","sass-loader":"16.0.7","webpack-cli":"7.0.2","babel-loader":"10.1.1","parse-server":"9.7.0","style-loader":"3.3.1","@actions/core":"3.0.0","@eslint/compat":"2.0.3","mongodb-runner":"^6.6.0","semantic-release":"25.0.3","@babel/preset-env":"7.29.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.15.1","@babel/preset-react":"7.28.5","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.6","@semantic-release/git":"10.0.1","@semantic-release/npm":"13.1.4","jest-environment-jsdom":"30.0.5","@semantic-release/github":"12.0.6","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.29.0","@babel/plugin-proposal-decorators":"7.29.0","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.1.0"},"parseDashboardFeatures":["Data Browser","Data Graphs","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_7.4.11_1783356130119_0.4117802492750158","host":"s3://npm-registry-packages-npm-production"},"supportedParseServerVersion":">=7.0.0"},"7.4.12":{"name":"parse-dashboard-analytics","version":"7.4.12","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@7.4.12","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"81e3d8b76453cf90e6046d355c8a1a9de63e1dc9","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-7.4.12.tgz","fileCount":92,"integrity":"sha512-OpKcaEq7MQ6O/bkjYkmvKnrqSfQRdHT1pN1fVsSd/3h+liDIRfEPIpaNZ2xVouv7n4rNV5hj2atGMRyBDDDKiQ==","signatures":[{"sig":"MEUCIFprcttHOvZYVuegaSMIfZ82FyqAkcSH2hg0AaYOcG8fAiEAmSeY3kN1ZPg8jxcfaofPriavt3uzS4n2/ZHgrpYHLbw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15225156},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"transformIgnorePatterns":["node_modules/(?!(marked)/)"],"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=20.19.0 <21.0.0 || >=22.12.0 <23.0.0 || >=24.1.0 <25.0.0"},"gitHead":"614cd47ed5696ddf2de9292428d5ad9f655f673e","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --config-node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.mjs","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","browser-control":"PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.mjs","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js","browser-control:visible":"BROWSER_HEADLESS=false PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"overrides":{"madge":{"typescript":"$typescript"}},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"diff":"8.0.3","parse":"8.5.0","react":"16.14.0","qrcode":"1.5.4","core-js":"3.48.0","express":"5.2.1","graphql":"16.12.0","otpauth":"9.5.0","prismjs":"1.30.0","bcryptjs":"3.0.3","chart.js":"4.5.1","graphiql":"2.0.8","inquirer":"13.2.2","passport":"0.7.0","commander":"13.1.0","csrf-sync":"4.2.1","immutable":"5.1.5","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","react-rnd":"10.5.3","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.2","js-beautify":"1.15.4","package-json":"7.0.0","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.29.2","expr-eval-fork":"3.0.3","passport-local":"1.0.0","express-session":"1.19.0","fast-deep-equal":"3.1.3","react-chartjs-2":"5.3.1","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.1.3","react-router-dom":"6.30.3","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.29.2","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"ws":"8.19.0","jest":"30.0.4","sass":"1.98.0","yaml":"2.8.3","husky":"9.1.7","madge":"8.0.0","eslint":"9.39.2","marked":"17.0.5","semver":"7.7.4","globals":"17.3.0","webpack":"5.105.1","get-port":"7.2.0","prettier":"3.8.1","puppeteer":"24.37.2","css-loader":"7.1.4","typescript":"6.0.2","@babel/core":"7.29.0","@types/jest":"30.0.0","http-server":"14.1.1","sass-loader":"16.0.7","webpack-cli":"7.0.2","babel-loader":"10.1.1","parse-server":"9.7.0","style-loader":"3.3.1","@actions/core":"3.0.0","@eslint/compat":"2.0.3","mongodb-runner":"^6.6.0","semantic-release":"25.0.3","@babel/preset-env":"7.29.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.15.1","@babel/preset-react":"7.28.5","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.6","@semantic-release/git":"10.0.1","@semantic-release/npm":"13.1.4","jest-environment-jsdom":"30.0.5","@semantic-release/github":"12.0.6","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.29.0","@babel/plugin-proposal-decorators":"7.29.0","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.1.0"},"parseDashboardFeatures":["Data Browser","Data Graphs","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_7.4.12_1783356711437_0.8672829413508536","host":"s3://npm-registry-packages-npm-production"},"supportedParseServerVersion":">=7.0.0"},"7.4.13":{"name":"parse-dashboard-analytics","version":"7.4.13","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@7.4.13","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"e2e1a3f9fdd74db91afc2eece17c888aee652be2","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-7.4.13.tgz","fileCount":92,"integrity":"sha512-v+O3uc9DGwlGhAkhBDLxgypPJz7bOGlYtVvopBVxOtxKg8JX2CmgBof5azgp7UtNKLT/Crgk+juQ7Vnw3XHJng==","signatures":[{"sig":"MEUCIQCsxB94A34ogqPuG6RT12UoKT75rs/FHxVpJj66vZnQQQIgL/KAiITRpDxEQlGRVbwrOLEb9o5DEc2k7Ogg0MCG+p0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15225158},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"transformIgnorePatterns":["node_modules/(?!(marked)/)"],"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=20.19.0 <21.0.0 || >=22.12.0 <23.0.0 || >=24.1.0 <25.0.0"},"gitHead":"5179d4c7a15377879de50db006f45b967b601886","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --config-node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.mjs","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","browser-control":"PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.mjs","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js","browser-control:visible":"BROWSER_HEADLESS=false PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"overrides":{"madge":{"typescript":"$typescript"}},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"diff":"8.0.3","parse":"8.5.0","react":"16.14.0","qrcode":"1.5.4","core-js":"3.48.0","express":"5.2.1","graphql":"16.12.0","otpauth":"9.5.0","prismjs":"1.30.0","bcryptjs":"3.0.3","chart.js":"4.5.1","graphiql":"2.0.8","inquirer":"13.2.2","passport":"0.7.0","commander":"13.1.0","csrf-sync":"4.2.1","immutable":"5.1.5","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","react-rnd":"10.5.3","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.2","js-beautify":"1.15.4","package-json":"7.0.0","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.29.2","expr-eval-fork":"3.0.3","passport-local":"1.0.0","express-session":"1.19.0","fast-deep-equal":"3.1.3","react-chartjs-2":"5.3.1","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.1.3","react-router-dom":"6.30.3","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.29.2","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"ws":"8.19.0","jest":"30.0.4","sass":"1.98.0","yaml":"2.8.3","husky":"9.1.7","madge":"8.0.0","eslint":"9.39.2","marked":"17.0.5","semver":"7.7.4","globals":"17.3.0","webpack":"5.105.1","get-port":"7.2.0","prettier":"3.8.1","puppeteer":"24.37.2","css-loader":"7.1.4","typescript":"6.0.2","@babel/core":"7.29.0","@types/jest":"30.0.0","http-server":"14.1.1","sass-loader":"16.0.7","webpack-cli":"7.0.2","babel-loader":"10.1.1","parse-server":"9.7.0","style-loader":"3.3.1","@actions/core":"3.0.0","@eslint/compat":"2.0.3","mongodb-runner":"^6.6.0","semantic-release":"25.0.3","@babel/preset-env":"7.29.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.15.1","@babel/preset-react":"7.28.5","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.6","@semantic-release/git":"10.0.1","@semantic-release/npm":"13.1.4","jest-environment-jsdom":"30.0.5","@semantic-release/github":"12.0.6","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.29.0","@babel/plugin-proposal-decorators":"7.29.0","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.1.0"},"parseDashboardFeatures":["Data Browser","Data Graphs","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_7.4.13_1783358244419_0.9787178880566465","host":"s3://npm-registry-packages-npm-production"},"supportedParseServerVersion":">=7.0.0"},"7.4.14":{"name":"parse-dashboard-analytics","version":"7.4.14","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@7.4.14","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"af46e7c1fae2903cb74fe5ce6efd13ec0735e481","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-7.4.14.tgz","fileCount":92,"integrity":"sha512-HIwHH4xAFE6Xi8bssjGvHb9v1Ih0CCVfwrKDN1iI+kTedij4BtpPioZRczyl852DYQxxD6oL4SVB1rg4UIKH9A==","signatures":[{"sig":"MEUCIAe6AcYsVHHujhqE2XQgog1TLIkU/atbPjzWtar72U6dAiEA/t0vwb1ZZRalIvVRCkmzN36LAVLO8pFsIfnjMj94Fh4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15225277},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"transformIgnorePatterns":["node_modules/(?!(marked)/)"],"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=20.19.0 <21.0.0 || >=22.12.0 <23.0.0 || >=24.1.0 <25.0.0"},"gitHead":"ad8f561ea503fc0613f058e3ab8f090207b2093c","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --config-node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.mjs","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","browser-control":"PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.mjs","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js","browser-control:visible":"BROWSER_HEADLESS=false PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"overrides":{"madge":{"typescript":"$typescript"}},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"diff":"8.0.3","parse":"8.5.0","react":"16.14.0","qrcode":"1.5.4","core-js":"3.48.0","express":"5.2.1","graphql":"16.12.0","otpauth":"9.5.0","prismjs":"1.30.0","bcryptjs":"3.0.3","chart.js":"4.5.1","graphiql":"2.0.8","inquirer":"13.2.2","passport":"0.7.0","commander":"13.1.0","csrf-sync":"4.2.1","immutable":"5.1.5","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","react-rnd":"10.5.3","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.2","js-beautify":"1.15.4","package-json":"7.0.0","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.29.2","expr-eval-fork":"3.0.3","passport-local":"1.0.0","express-session":"1.19.0","fast-deep-equal":"3.1.3","react-chartjs-2":"5.3.1","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.1.3","react-router-dom":"6.30.3","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.29.2","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"ws":"8.19.0","jest":"30.0.4","sass":"1.98.0","yaml":"2.8.3","husky":"9.1.7","madge":"8.0.0","eslint":"9.39.2","marked":"17.0.5","semver":"7.7.4","globals":"17.3.0","webpack":"5.105.1","get-port":"7.2.0","prettier":"3.8.1","puppeteer":"24.37.2","css-loader":"7.1.4","typescript":"6.0.2","@babel/core":"7.29.0","@types/jest":"30.0.0","http-server":"14.1.1","sass-loader":"16.0.7","webpack-cli":"7.0.2","babel-loader":"10.1.1","parse-server":"9.7.0","style-loader":"3.3.1","@actions/core":"3.0.0","@eslint/compat":"2.0.3","mongodb-runner":"^6.6.0","semantic-release":"25.0.3","@babel/preset-env":"7.29.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.15.1","@babel/preset-react":"7.28.5","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.6","@semantic-release/git":"10.0.1","@semantic-release/npm":"13.1.4","jest-environment-jsdom":"30.0.5","@semantic-release/github":"12.0.6","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.29.0","@babel/plugin-proposal-decorators":"7.29.0","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.1.0"},"parseDashboardFeatures":["Data Browser","Data Graphs","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_7.4.14_1783359814012_0.4822819287994229","host":"s3://npm-registry-packages-npm-production"},"supportedParseServerVersion":">=7.0.0"},"7.4.15":{"name":"parse-dashboard-analytics","version":"7.4.15","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@7.4.15","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"214f6237468e6cce0476eb3094da6ccc1fe91784","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-7.4.15.tgz","fileCount":92,"integrity":"sha512-ySH6o6iKNj7YhT4TudQsmpJjRgv/x0TTyhRDPdsGfnkUnXQwrXPXY5Zv/eXZuGvZjNwj3aJLRYkuZugA4rxl6A==","signatures":[{"sig":"MEUCICWORLM56cso7wDIMWze9KveWFi9qOa1bUHiqjp5i1LkAiEA/bc8A1EOnSFMRg4IB1O8uh9hy3sXjIl776BXy343PHk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15225277},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"transformIgnorePatterns":["node_modules/(?!(marked)/)"],"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=20.19.0 <21.0.0 || >=22.12.0 <23.0.0 || >=24.1.0 <25.0.0"},"gitHead":"15099b08eb2f4313aa1dbf037443d2d1f3d7ab5e","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --config-node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.mjs","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","browser-control":"PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.mjs","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js","browser-control:visible":"BROWSER_HEADLESS=false PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"overrides":{"madge":{"typescript":"$typescript"}},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"diff":"8.0.3","parse":"8.5.0","react":"16.14.0","qrcode":"1.5.4","core-js":"3.48.0","express":"5.2.1","graphql":"16.12.0","otpauth":"9.5.0","prismjs":"1.30.0","bcryptjs":"3.0.3","chart.js":"4.5.1","graphiql":"2.0.8","inquirer":"13.2.2","passport":"0.7.0","commander":"13.1.0","csrf-sync":"4.2.1","immutable":"5.1.5","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","react-rnd":"10.5.3","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.2","js-beautify":"1.15.4","package-json":"7.0.0","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.29.2","expr-eval-fork":"3.0.3","passport-local":"1.0.0","express-session":"1.19.0","fast-deep-equal":"3.1.3","react-chartjs-2":"5.3.1","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.1.3","react-router-dom":"6.30.3","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.29.2","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"ws":"8.19.0","jest":"30.0.4","sass":"1.98.0","yaml":"2.8.3","husky":"9.1.7","madge":"8.0.0","eslint":"9.39.2","marked":"17.0.5","semver":"7.7.4","globals":"17.3.0","webpack":"5.105.1","get-port":"7.2.0","prettier":"3.8.1","puppeteer":"24.37.2","css-loader":"7.1.4","typescript":"6.0.2","@babel/core":"7.29.0","@types/jest":"30.0.0","http-server":"14.1.1","sass-loader":"16.0.7","webpack-cli":"7.0.2","babel-loader":"10.1.1","parse-server":"9.7.0","style-loader":"3.3.1","@actions/core":"3.0.0","@eslint/compat":"2.0.3","mongodb-runner":"^6.6.0","semantic-release":"25.0.3","@babel/preset-env":"7.29.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.15.1","@babel/preset-react":"7.28.5","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.6","@semantic-release/git":"10.0.1","@semantic-release/npm":"13.1.4","jest-environment-jsdom":"30.0.5","@semantic-release/github":"12.0.6","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.29.0","@babel/plugin-proposal-decorators":"7.29.0","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.1.0"},"parseDashboardFeatures":["Data Browser","Data Graphs","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_7.4.15_1783361645565_0.11360034109457451","host":"s3://npm-registry-packages-npm-production"},"supportedParseServerVersion":">=7.0.0"},"7.4.16":{"name":"parse-dashboard-analytics","version":"7.4.16","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@7.4.16","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"ba5171f02bf38bf8660984e1513ecce96bd539e2","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-7.4.16.tgz","fileCount":92,"integrity":"sha512-N3tbCTHCwzIY8MrArkpqptbhLzrs6ead9aQLXbXNyFwdF4vVlqE8GYALR0ql/5sL0JG8bjpwYar93ClQQLGgFQ==","signatures":[{"sig":"MEUCIQDsQ9KpAyoPTterLdymmNJUCcgB3+RFnUW9vNKpzp9xkgIgUJJmEBW58yBNe2hCBcKA0Q5pP4kf9hrP+/lxD37iE00=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15225820},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"transformIgnorePatterns":["node_modules/(?!(marked)/)"],"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=20.19.0 <21.0.0 || >=22.12.0 <23.0.0 || >=24.1.0 <25.0.0"},"gitHead":"56e547587cb10f4601d0ec3cabd9df43dd10e5e8","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --config-node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.mjs","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","browser-control":"PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.mjs","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js","browser-control:visible":"BROWSER_HEADLESS=false PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"overrides":{"madge":{"typescript":"$typescript"}},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"diff":"8.0.3","parse":"8.5.0","react":"16.14.0","qrcode":"1.5.4","core-js":"3.48.0","express":"5.2.1","graphql":"16.12.0","otpauth":"9.5.0","prismjs":"1.30.0","bcryptjs":"3.0.3","chart.js":"4.5.1","graphiql":"2.0.8","inquirer":"13.2.2","passport":"0.7.0","commander":"13.1.0","csrf-sync":"4.2.1","immutable":"5.1.5","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","react-rnd":"10.5.3","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.2","js-beautify":"1.15.4","package-json":"7.0.0","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.29.2","expr-eval-fork":"3.0.3","passport-local":"1.0.0","express-session":"1.19.0","fast-deep-equal":"3.1.3","react-chartjs-2":"5.3.1","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.1.3","react-router-dom":"6.30.3","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.29.2","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"ws":"8.19.0","jest":"30.0.4","sass":"1.98.0","yaml":"2.8.3","husky":"9.1.7","madge":"8.0.0","eslint":"9.39.2","marked":"17.0.5","semver":"7.7.4","globals":"17.3.0","webpack":"5.105.1","get-port":"7.2.0","prettier":"3.8.1","puppeteer":"24.37.2","css-loader":"7.1.4","typescript":"6.0.2","@babel/core":"7.29.0","@types/jest":"30.0.0","http-server":"14.1.1","sass-loader":"16.0.7","webpack-cli":"7.0.2","babel-loader":"10.1.1","parse-server":"9.7.0","style-loader":"3.3.1","@actions/core":"3.0.0","@eslint/compat":"2.0.3","mongodb-runner":"^6.6.0","semantic-release":"25.0.3","@babel/preset-env":"7.29.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.15.1","@babel/preset-react":"7.28.5","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.6","@semantic-release/git":"10.0.1","@semantic-release/npm":"13.1.4","jest-environment-jsdom":"30.0.5","@semantic-release/github":"12.0.6","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.29.0","@babel/plugin-proposal-decorators":"7.29.0","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.1.0"},"parseDashboardFeatures":["Data Browser","Data Graphs","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_7.4.16_1783362148976_0.474324576731356","host":"s3://npm-registry-packages-npm-production"},"supportedParseServerVersion":">=7.0.0"},"7.4.18":{"name":"parse-dashboard-analytics","version":"7.4.18","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@7.4.18","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"2c9172e2d5525b8c80bf11dabeb31d68f2f577af","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-7.4.18.tgz","fileCount":92,"integrity":"sha512-BcDFXzVI1QkLWs9UkuJSGbbfufC7UZ2RmVtL2NuP53nEio/tCQ2O8YsY0Etpn1qMvQyPaKvOnEnSVUKSr6oSvg==","signatures":[{"sig":"MEYCIQDuzRnvLDC4jbQ8nfeiMRZC4ejkM5Yt/X5ycz4Rd6V7IwIhAPndbrttmgvVlEa7bGwAfma/cVzxMFVPdDlflYSVDmws","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15257354},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"transformIgnorePatterns":["node_modules/(?!(marked)/)"],"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=20.19.0 <21.0.0 || >=22.12.0 <23.0.0 || >=24.1.0 <25.0.0"},"gitHead":"2a4505ba44f17fce64203fa51bbba293d1befed7","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --config-node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.mjs","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","browser-control":"PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.mjs","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js","browser-control:visible":"BROWSER_HEADLESS=false PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"overrides":{"madge":{"typescript":"$typescript"}},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"diff":"8.0.3","parse":"8.5.0","react":"16.14.0","qrcode":"1.5.4","core-js":"3.48.0","express":"5.2.1","graphql":"16.12.0","otpauth":"9.5.0","prismjs":"1.30.0","bcryptjs":"3.0.3","chart.js":"4.5.1","graphiql":"2.0.8","inquirer":"13.2.2","passport":"0.7.0","commander":"13.1.0","csrf-sync":"4.2.1","immutable":"5.1.5","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","react-rnd":"10.5.3","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.2","js-beautify":"1.15.4","package-json":"7.0.0","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.29.2","expr-eval-fork":"3.0.3","passport-local":"1.0.0","express-session":"1.19.0","fast-deep-equal":"3.1.3","react-chartjs-2":"5.3.1","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.1.3","react-router-dom":"6.30.3","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.29.2","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"ws":"8.19.0","jest":"30.0.4","sass":"1.98.0","yaml":"2.8.3","husky":"9.1.7","madge":"8.0.0","eslint":"9.39.2","marked":"17.0.5","semver":"7.7.4","globals":"17.3.0","webpack":"5.105.1","get-port":"7.2.0","prettier":"3.8.1","puppeteer":"24.37.2","css-loader":"7.1.4","typescript":"6.0.2","@babel/core":"7.29.0","@types/jest":"30.0.0","http-server":"14.1.1","sass-loader":"16.0.7","webpack-cli":"7.0.2","babel-loader":"10.1.1","parse-server":"9.7.0","style-loader":"3.3.1","@actions/core":"3.0.0","@eslint/compat":"2.0.3","mongodb-runner":"^6.6.0","semantic-release":"25.0.3","@babel/preset-env":"7.29.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.15.1","@babel/preset-react":"7.28.5","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.6","@semantic-release/git":"10.0.1","@semantic-release/npm":"13.1.4","jest-environment-jsdom":"30.0.5","@semantic-release/github":"12.0.6","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.29.0","@babel/plugin-proposal-decorators":"7.29.0","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.1.0"},"parseDashboardFeatures":["Data Browser","Data Graphs","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_7.4.18_1783364106158_0.10934142369859279","host":"s3://npm-registry-packages-npm-production"},"supportedParseServerVersion":">=7.0.0"},"7.4.19":{"name":"parse-dashboard-analytics","version":"7.4.19","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@7.4.19","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"03fbe4361b7c435cb148dbff0ad5c59732bf35af","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-7.4.19.tgz","fileCount":92,"integrity":"sha512-3PdKRwSZPtHgZuOlX0v3wo3VnYtFCPn6d02S8MCDFfDAaC4X7Hi2947gCAtN+4Rf9+EvsFS1YwkiSnXFSWSjVA==","signatures":[{"sig":"MEUCIQC/fy9l6moaavOUhSqg/8jObSlYCtRWJapSjsaqrBPAwQIgYNPOrfBL2nW9pzYCfqmN2RHa0w7x3Sa2AZFdpOVtEo8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15256520},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"transformIgnorePatterns":["node_modules/(?!(marked)/)"],"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=20.19.0 <21.0.0 || >=22.12.0 <23.0.0 || >=24.1.0 <25.0.0"},"gitHead":"e28f0c1cbefb662704abdaad96cc9edb2a95cfa3","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --config-node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.mjs","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","browser-control":"PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.mjs","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js","browser-control:visible":"BROWSER_HEADLESS=false PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"overrides":{"madge":{"typescript":"$typescript"}},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"diff":"8.0.3","parse":"8.5.0","react":"16.14.0","qrcode":"1.5.4","core-js":"3.48.0","express":"5.2.1","graphql":"16.12.0","otpauth":"9.5.0","prismjs":"1.30.0","bcryptjs":"3.0.3","chart.js":"4.5.1","graphiql":"2.0.8","inquirer":"13.2.2","passport":"0.7.0","commander":"13.1.0","csrf-sync":"4.2.1","immutable":"5.1.5","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","react-rnd":"10.5.3","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.2","js-beautify":"1.15.4","package-json":"7.0.0","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.29.2","expr-eval-fork":"3.0.3","passport-local":"1.0.0","express-session":"1.19.0","fast-deep-equal":"3.1.3","react-chartjs-2":"5.3.1","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.1.3","react-router-dom":"6.30.3","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.29.2","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"ws":"8.19.0","jest":"30.0.4","sass":"1.98.0","yaml":"2.8.3","husky":"9.1.7","madge":"8.0.0","eslint":"9.39.2","marked":"17.0.5","semver":"7.7.4","globals":"17.3.0","webpack":"5.105.1","get-port":"7.2.0","prettier":"3.8.1","puppeteer":"24.37.2","css-loader":"7.1.4","typescript":"6.0.2","@babel/core":"7.29.0","@types/jest":"30.0.0","http-server":"14.1.1","sass-loader":"16.0.7","webpack-cli":"7.0.2","babel-loader":"10.1.1","parse-server":"9.7.0","style-loader":"3.3.1","@actions/core":"3.0.0","@eslint/compat":"2.0.3","mongodb-runner":"^6.6.0","semantic-release":"25.0.3","@babel/preset-env":"7.29.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.15.1","@babel/preset-react":"7.28.5","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.6","@semantic-release/git":"10.0.1","@semantic-release/npm":"13.1.4","jest-environment-jsdom":"30.0.5","@semantic-release/github":"12.0.6","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.29.0","@babel/plugin-proposal-decorators":"7.29.0","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.1.0"},"parseDashboardFeatures":["Data Browser","Data Graphs","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_7.4.19_1783364720000_0.6299713520443244","host":"s3://npm-registry-packages-npm-production"},"supportedParseServerVersion":">=7.0.0"},"7.4.20":{"name":"parse-dashboard-analytics","version":"7.4.20","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@7.4.20","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"d12596650b2e5b2f0e922ab7ba8592f58cbd7c25","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-7.4.20.tgz","fileCount":92,"integrity":"sha512-+TRLI3SAvJoK7q3x3QUtAlViEgiep0O78a8xBAvtaGlMEAJNQ7RLTNJHc/768PmInkXw5zTwhAeXqCqwZghEnw==","signatures":[{"sig":"MEYCIQCT999zkJyobk5fCbmEnlO23xWR/WgcwRkMG6J0rHTbXAIhAJtoXFpxuHg9gaQodHSvkU3hXcRmx6H7oJ2WKHI/jIPJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICJNkpFAtYrTLMXa8OVx9PziDGsWtIvtAG4LeKIuMYwfAiB4y8nZIhqRa0qQ1M/NzPnbBFKCQbrILUSIc3vix1nCaQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15287476},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"transformIgnorePatterns":["node_modules/(?!(marked)/)"],"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=20.19.0 <21.0.0 || >=22.12.0 <23.0.0 || >=24.1.0 <25.0.0"},"gitHead":"ee5de6a06ff162d3bea33bb5e31b72766fb25242","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --config-node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.mjs","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","browser-control":"PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.mjs","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js","browser-control:visible":"BROWSER_HEADLESS=false PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"overrides":{"madge":{"typescript":"$typescript"}},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"diff":"8.0.3","parse":"8.5.0","react":"16.14.0","qrcode":"1.5.4","core-js":"3.48.0","express":"5.2.1","graphql":"16.12.0","otpauth":"9.5.0","prismjs":"1.30.0","bcryptjs":"3.0.3","chart.js":"4.5.1","graphiql":"2.0.8","inquirer":"13.2.2","passport":"0.7.0","commander":"13.1.0","csrf-sync":"4.2.1","immutable":"5.1.5","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","react-rnd":"10.5.3","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.2","js-beautify":"1.15.4","package-json":"7.0.0","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.29.2","expr-eval-fork":"3.0.3","passport-local":"1.0.0","express-session":"1.19.0","fast-deep-equal":"3.1.3","react-chartjs-2":"5.3.1","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.1.3","react-router-dom":"6.30.3","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.29.2","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"ws":"8.19.0","jest":"30.0.4","sass":"1.98.0","yaml":"2.8.3","husky":"9.1.7","madge":"8.0.0","eslint":"9.39.2","marked":"17.0.5","semver":"7.7.4","globals":"17.3.0","webpack":"5.105.1","get-port":"7.2.0","prettier":"3.8.1","puppeteer":"24.37.2","css-loader":"7.1.4","typescript":"6.0.2","@babel/core":"7.29.0","@types/jest":"30.0.0","http-server":"14.1.1","sass-loader":"16.0.7","webpack-cli":"7.0.2","babel-loader":"10.1.1","parse-server":"9.7.0","style-loader":"3.3.1","@actions/core":"3.0.0","@eslint/compat":"2.0.3","mongodb-runner":"^6.6.0","semantic-release":"25.0.3","@babel/preset-env":"7.29.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.15.1","@babel/preset-react":"7.28.5","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.6","@semantic-release/git":"10.0.1","@semantic-release/npm":"13.1.4","jest-environment-jsdom":"30.0.5","@semantic-release/github":"12.0.6","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.29.0","@babel/plugin-proposal-decorators":"7.29.0","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.1.0"},"parseDashboardFeatures":["Data Browser","Data Graphs","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_7.4.20_1790493637906_0.1738291348951182","host":"s3://npm-registry-packages-npm-production"},"supportedParseServerVersion":">=7.0.0"},"7.4.21":{"name":"parse-dashboard-analytics","version":"7.4.21","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@7.4.21","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"fbd5348d30bf2fb43e6110783e71a5b71379280d","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-7.4.21.tgz","fileCount":92,"integrity":"sha512-cw3gvG4VZSITHOrLUKeNWprttq1oj7q7ZEopHuDMQVjn2DO8qQ0Sx4V/pRMR49suJaBbQ9OEOtrELI2oaTbnVQ==","signatures":[{"sig":"MEUCIQDmLcAworu2Cinva/oY2hckle2Nb9cjrijWn20oMT4cWwIgNkoLMoIPVrDOORsUAyFFPlgHiVxkiTp/55c6a5M20DA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCYdUR0422/SmlPpeXqnlTEK9B2Mcu6qCi3m1v3+OvbSwIgUFDhV75lVKuRv1MXDH1p9+g15ozvPf/sHezlXiNYczc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15284979},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"transformIgnorePatterns":["node_modules/(?!(marked)/)"],"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=20.19.0 <21.0.0 || >=22.12.0 <23.0.0 || >=24.1.0 <25.0.0"},"gitHead":"c8e66b72260ab21eb6c68aa5b2acc875b837384f","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --config-node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.mjs","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","browser-control":"PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.mjs","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js","browser-control:visible":"BROWSER_HEADLESS=false PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"overrides":{"madge":{"typescript":"$typescript"}},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"diff":"8.0.3","parse":"8.5.0","react":"16.14.0","qrcode":"1.5.4","core-js":"3.48.0","express":"5.2.1","graphql":"16.12.0","otpauth":"9.5.0","prismjs":"1.30.0","bcryptjs":"3.0.3","chart.js":"4.5.1","graphiql":"2.0.8","inquirer":"13.2.2","passport":"0.7.0","commander":"13.1.0","csrf-sync":"4.2.1","immutable":"5.1.5","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","react-rnd":"10.5.3","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.2","js-beautify":"1.15.4","package-json":"7.0.0","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.29.2","expr-eval-fork":"3.0.3","passport-local":"1.0.0","express-session":"1.19.0","fast-deep-equal":"3.1.3","react-chartjs-2":"5.3.1","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.1.3","react-router-dom":"6.30.3","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.29.2","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"ws":"8.19.0","jest":"30.0.4","sass":"1.98.0","yaml":"2.8.3","husky":"9.1.7","madge":"8.0.0","eslint":"9.39.2","marked":"17.0.5","semver":"7.7.4","globals":"17.3.0","webpack":"5.105.1","get-port":"7.2.0","prettier":"3.8.1","puppeteer":"24.37.2","css-loader":"7.1.4","typescript":"6.0.2","@babel/core":"7.29.0","@types/jest":"30.0.0","http-server":"14.1.1","sass-loader":"16.0.7","webpack-cli":"7.0.2","babel-loader":"10.1.1","parse-server":"9.7.0","style-loader":"3.3.1","@actions/core":"3.0.0","@eslint/compat":"2.0.3","mongodb-runner":"^6.6.0","semantic-release":"25.0.3","@babel/preset-env":"7.29.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.15.1","@babel/preset-react":"7.28.5","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.6","@semantic-release/git":"10.0.1","@semantic-release/npm":"13.1.4","jest-environment-jsdom":"30.0.5","@semantic-release/github":"12.0.6","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.29.0","@babel/plugin-proposal-decorators":"7.29.0","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.1.0"},"parseDashboardFeatures":["Data Browser","Data Graphs","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_7.4.21_1790494888702_0.20204189691018515","host":"s3://npm-registry-packages-npm-production"},"supportedParseServerVersion":">=7.0.0"},"7.4.22":{"name":"parse-dashboard-analytics","version":"7.4.22","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@7.4.22","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"14a1f7a8e860aad0d61ba2b11cd5a81e5f3fad5c","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-7.4.22.tgz","fileCount":92,"integrity":"sha512-zte8KYP8GLw+PBqkzzfTBBhk/dGd2s9I7+HcXnm+9c2OGkLWi5sBGixXXL5qSYgmL/ir9L1Q7/XI4KUxSdNa4g==","signatures":[{"sig":"MEQCIAenju11nSLu8/RGO0h55rrEhVB/02826+xWU41zdpJXAiAmorJTD7N0iFfhP+0TNGYHVLYogjjZ5dVAKbKnBCOuww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCtZOqGwelzLitjRw8ekfAorvXPDWEP2suxVjyufc2gRgIhANy7/soWU4CG/El/PLAiTOstpIisaYhQ4tPQ3ykB53vl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15330288},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"transformIgnorePatterns":["node_modules/(?!(marked)/)"],"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=20.19.0 <21.0.0 || >=22.12.0 <23.0.0 || >=24.1.0 <25.0.0"},"gitHead":"9c4424d30b62f463bf913ceba7d0b9cbf3f387da","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --config-node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.mjs","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","browser-control":"PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.mjs","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js","browser-control:visible":"BROWSER_HEADLESS=false PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"overrides":{"madge":{"typescript":"$typescript"}},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"diff":"8.0.3","parse":"8.5.0","react":"16.14.0","qrcode":"1.5.4","core-js":"3.48.0","express":"5.2.1","graphql":"16.12.0","otpauth":"9.5.0","prismjs":"1.30.0","bcryptjs":"3.0.3","chart.js":"4.5.1","graphiql":"2.0.8","inquirer":"13.2.2","passport":"0.7.0","commander":"13.1.0","csrf-sync":"4.2.1","immutable":"5.1.5","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","react-rnd":"10.5.3","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.2","js-beautify":"1.15.4","package-json":"7.0.0","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.29.2","expr-eval-fork":"3.0.3","passport-local":"1.0.0","express-session":"1.19.0","fast-deep-equal":"3.1.3","react-chartjs-2":"5.3.1","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.1.3","react-router-dom":"6.30.3","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.29.2","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"ws":"8.19.0","jest":"30.0.4","sass":"1.98.0","yaml":"2.8.3","husky":"9.1.7","madge":"8.0.0","eslint":"9.39.2","marked":"17.0.5","semver":"7.7.4","globals":"17.3.0","webpack":"5.105.1","get-port":"7.2.0","prettier":"3.8.1","puppeteer":"24.37.2","css-loader":"7.1.4","typescript":"6.0.2","@babel/core":"7.29.0","@types/jest":"30.0.0","http-server":"14.1.1","sass-loader":"16.0.7","webpack-cli":"7.0.2","babel-loader":"10.1.1","parse-server":"9.7.0","style-loader":"3.3.1","@actions/core":"3.0.0","@eslint/compat":"2.0.3","mongodb-runner":"^6.6.0","semantic-release":"25.0.3","@babel/preset-env":"7.29.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.15.1","@babel/preset-react":"7.28.5","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.6","@semantic-release/git":"10.0.1","@semantic-release/npm":"13.1.4","jest-environment-jsdom":"30.0.5","@semantic-release/github":"12.0.6","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.29.0","@babel/plugin-proposal-decorators":"7.29.0","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.1.0"},"parseDashboardFeatures":["Data Browser","Data Graphs","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_7.4.22_1790497221641_0.6424840339681674","host":"s3://npm-registry-packages-npm-production"},"supportedParseServerVersion":">=7.0.0"},"7.4.24":{"name":"parse-dashboard-analytics","version":"7.4.24","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@7.4.24","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"ef38711265453a919e782d9df06b6d839d37b012","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-7.4.24.tgz","fileCount":92,"integrity":"sha512-9gNXoY/jOdFuB8707W5PHKE3H2Yw1OP90AY+NawnpkKRd6ikHkpghadjxmai5l1RqGKm93R1L7o8EhfEK1ZFng==","signatures":[{"sig":"MEUCIFPA7i758Ho/C/BPXJgDO011Qzrjy4vuuJBuGMZYPH4UAiEApxY4oOxTWpb90Fp7eKL5TZqt24+2ligcRkHKV88g+Lc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEJWnNKz55cIMlhnBlwUNd92m6xIy/3IMddf84hlKuktAiEAkrwTjSavUN8rl3N/4VkEvdoSZYKyeRSpRwT+rHqltz0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15387153},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"transformIgnorePatterns":["node_modules/(?!(marked)/)"],"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=20.19.0 <21.0.0 || >=22.12.0 <23.0.0 || >=24.1.0 <25.0.0"},"gitHead":"2aa175761a6ffbe4e64147ce559e3a4486e7b595","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --config-node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.mjs","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","browser-control":"PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.mjs","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js","browser-control:visible":"BROWSER_HEADLESS=false PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"overrides":{"madge":{"typescript":"$typescript"}},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"diff":"8.0.3","parse":"8.5.0","react":"16.14.0","qrcode":"1.5.4","core-js":"3.48.0","express":"5.2.1","graphql":"16.12.0","otpauth":"9.5.0","prismjs":"1.30.0","bcryptjs":"3.0.3","chart.js":"4.5.1","graphiql":"2.0.8","inquirer":"13.2.2","passport":"0.7.0","commander":"13.1.0","csrf-sync":"4.2.1","immutable":"5.1.5","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","react-rnd":"10.5.3","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.2","js-beautify":"1.15.4","package-json":"7.0.0","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.29.2","expr-eval-fork":"3.0.3","passport-local":"1.0.0","express-session":"1.19.0","fast-deep-equal":"3.1.3","react-chartjs-2":"5.3.1","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.1.3","react-router-dom":"6.30.3","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.29.2","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"ws":"8.19.0","jest":"30.0.4","sass":"1.98.0","yaml":"2.8.3","husky":"9.1.7","madge":"8.0.0","eslint":"9.39.2","marked":"17.0.5","semver":"7.7.4","globals":"17.3.0","webpack":"5.105.1","get-port":"7.2.0","prettier":"3.8.1","puppeteer":"24.37.2","css-loader":"7.1.4","typescript":"6.0.2","@babel/core":"7.29.0","@types/jest":"30.0.0","http-server":"14.1.1","sass-loader":"16.0.7","webpack-cli":"7.0.2","babel-loader":"10.1.1","parse-server":"9.7.0","style-loader":"3.3.1","@actions/core":"3.0.0","@eslint/compat":"2.0.3","mongodb-runner":"^6.6.0","semantic-release":"25.0.3","@babel/preset-env":"7.29.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.15.1","@babel/preset-react":"7.28.5","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.6","@semantic-release/git":"10.0.1","@semantic-release/npm":"13.1.4","jest-environment-jsdom":"30.0.5","@semantic-release/github":"12.0.6","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.29.0","@babel/plugin-proposal-decorators":"7.29.0","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.1.0"},"parseDashboardFeatures":["Data Browser","Data Graphs","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_7.4.24_1790498552726_0.8274168536550321","host":"s3://npm-registry-packages-npm-production"},"supportedParseServerVersion":">=7.0.0"},"7.4.25":{"name":"parse-dashboard-analytics","version":"7.4.25","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@7.4.25","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"b7688d523c837ddd23c0a9a18c3b15673f971b36","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-7.4.25.tgz","fileCount":92,"integrity":"sha512-3MDlv43Ax5JhrLC0xyHE4A6ZY8dgVFXeUKcPVT+GHCB5bknOQEq10BQc4hl1PRSGI0IkxMsfoYpA/5sh0rrIlQ==","signatures":[{"sig":"MEQCHycyyZEMXPcpfOzMTOU6kuPhmFcMtYEPLH2x9cDHflwCIQCa+4v+TvW0hwcm4tTDKj9QHCb9bG+VtiJH1YyQ0mQUaA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCdzZoKhlJ4xG0x0j8XR33F0yVdzS5QLZC7JVjQa/L+PwIhAO2U5xPOVLo8JNboATTVa8ZxOCAlTqE4QDT3DmCFJWCm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15408244},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"transformIgnorePatterns":["node_modules/(?!(marked)/)"],"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=20.19.0 <21.0.0 || >=22.12.0 <23.0.0 || >=24.1.0 <25.0.0"},"gitHead":"7f89fec361610faa853027893e85da7a12b4ba99","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --config-node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.mjs","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","browser-control":"PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.mjs","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js","browser-control:visible":"BROWSER_HEADLESS=false PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"overrides":{"madge":{"typescript":"$typescript"}},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"diff":"8.0.3","parse":"8.5.0","react":"16.14.0","qrcode":"1.5.4","core-js":"3.48.0","express":"5.2.1","graphql":"16.12.0","otpauth":"9.5.0","prismjs":"1.30.0","bcryptjs":"3.0.3","chart.js":"4.5.1","graphiql":"2.0.8","inquirer":"13.2.2","passport":"0.7.0","commander":"13.1.0","csrf-sync":"4.2.1","immutable":"5.1.5","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","react-rnd":"10.5.3","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.2","js-beautify":"1.15.4","package-json":"7.0.0","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.29.2","expr-eval-fork":"3.0.3","passport-local":"1.0.0","express-session":"1.19.0","fast-deep-equal":"3.1.3","react-chartjs-2":"5.3.1","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.1.3","react-router-dom":"6.30.3","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.29.2","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"ws":"8.19.0","jest":"30.0.4","sass":"1.98.0","yaml":"2.8.3","husky":"9.1.7","madge":"8.0.0","eslint":"9.39.2","marked":"17.0.5","semver":"7.7.4","globals":"17.3.0","webpack":"5.105.1","get-port":"7.2.0","prettier":"3.8.1","puppeteer":"24.37.2","css-loader":"7.1.4","typescript":"6.0.2","@babel/core":"7.29.0","@types/jest":"30.0.0","http-server":"14.1.1","sass-loader":"16.0.7","webpack-cli":"7.0.2","babel-loader":"10.1.1","parse-server":"9.7.0","style-loader":"3.3.1","@actions/core":"3.0.0","@eslint/compat":"2.0.3","mongodb-runner":"^6.6.0","semantic-release":"25.0.3","@babel/preset-env":"7.29.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.15.1","@babel/preset-react":"7.28.5","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.6","@semantic-release/git":"10.0.1","@semantic-release/npm":"13.1.4","jest-environment-jsdom":"30.0.5","@semantic-release/github":"12.0.6","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.29.0","@babel/plugin-proposal-decorators":"7.29.0","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.1.0"},"parseDashboardFeatures":["Data Browser","Data Graphs","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_7.4.25_1790568575517_0.6906884441099101","host":"s3://npm-registry-packages-npm-production"},"supportedParseServerVersion":">=7.0.0"},"7.4.26":{"name":"parse-dashboard-analytics","version":"7.4.26","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@7.4.26","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"658017d166be9ecd9da1de75f2e1bbb0aee2b12c","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-7.4.26.tgz","fileCount":92,"integrity":"sha512-pNDVheO/Y6VeeyRIPStkzO885jAAbAkFH6E05ktM1vu2+LYavB2DsPj+9HVSvmkBrDl8GkOVXIkpNc+dViMNMw==","signatures":[{"sig":"MEUCID7tI/HarxXBEhXA6JB46nHm2qZeMmH8wnZpHhTZyTZ0AiEA6PQqzv8WwVxrrVvkgJmgUc0sNX261wfbzRVIsu0lehI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEqzczO4c/FxiDOjlLhMMMjp98JkAWjRM66fGj+2dVK2AiEAlVqL6RnqdODr2vsJz4fohZGmdbDT3htjZA2fCo8kagE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15412220},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"transformIgnorePatterns":["node_modules/(?!(marked)/)"],"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=20.19.0 <21.0.0 || >=22.12.0 <23.0.0 || >=24.1.0 <25.0.0"},"gitHead":"9140b3f90baee99760e2de02f37f2f1ed1dd499f","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --config-node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.mjs","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","browser-control":"PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.mjs","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js","browser-control:visible":"BROWSER_HEADLESS=false PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"overrides":{"madge":{"typescript":"$typescript"}},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"diff":"8.0.3","parse":"8.5.0","react":"16.14.0","qrcode":"1.5.4","core-js":"3.48.0","express":"5.2.1","graphql":"16.12.0","otpauth":"9.5.0","prismjs":"1.30.0","bcryptjs":"3.0.3","chart.js":"4.5.1","graphiql":"2.0.8","inquirer":"13.2.2","passport":"0.7.0","commander":"13.1.0","csrf-sync":"4.2.1","immutable":"5.1.5","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","react-rnd":"10.5.3","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.2","js-beautify":"1.15.4","package-json":"7.0.0","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.29.2","expr-eval-fork":"3.0.3","passport-local":"1.0.0","express-session":"1.19.0","fast-deep-equal":"3.1.3","react-chartjs-2":"5.3.1","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.1.3","react-router-dom":"6.30.3","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.29.2","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"ws":"8.19.0","jest":"30.0.4","sass":"1.98.0","yaml":"2.8.3","husky":"9.1.7","madge":"8.0.0","eslint":"9.39.2","marked":"17.0.5","semver":"7.7.4","globals":"17.3.0","webpack":"5.105.1","get-port":"7.2.0","prettier":"3.8.1","puppeteer":"24.37.2","css-loader":"7.1.4","typescript":"6.0.2","@babel/core":"7.29.0","@types/jest":"30.0.0","http-server":"14.1.1","sass-loader":"16.0.7","webpack-cli":"7.0.2","babel-loader":"10.1.1","parse-server":"9.7.0","style-loader":"3.3.1","@actions/core":"3.0.0","@eslint/compat":"2.0.3","mongodb-runner":"^6.6.0","semantic-release":"25.0.3","@babel/preset-env":"7.29.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.15.1","@babel/preset-react":"7.28.5","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.6","@semantic-release/git":"10.0.1","@semantic-release/npm":"13.1.4","jest-environment-jsdom":"30.0.5","@semantic-release/github":"12.0.6","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.29.0","@babel/plugin-proposal-decorators":"7.29.0","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.1.0"},"parseDashboardFeatures":["Data Browser","Data Graphs","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_7.4.26_1790570318883_0.4763722361350644","host":"s3://npm-registry-packages-npm-production"},"supportedParseServerVersion":">=7.0.0"},"7.4.27":{"name":"parse-dashboard-analytics","version":"7.4.27","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@7.4.27","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"de6c5d84e03ea8287e55ce22c967758c6349e594","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-7.4.27.tgz","fileCount":92,"integrity":"sha512-PzZ/7SCoa+J4eRVigdT6bf0B+5PCzopYweb7ZUwH/vRurTxusU/KcX9z8TwvkIHtPc7bWqYwx3t2S29OLHt0aw==","signatures":[{"sig":"MEQCICDF3v4/6cUaCPVqD7L90//H+zruRMckumLwBNP2Z7w2AiACJ5tHZCO5QYcwUXmculqe3K6KgxY1cPM7Lu7rSmgFmQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCayLUi1auQGmqeiMcrVUwpvB/YpB2j15L54mi1IMMYngIgP94gA6bp0+KQG/hB63FQgkTy9mS0WAsBnTzrlFhKBVQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15414202},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"transformIgnorePatterns":["node_modules/(?!(marked)/)"],"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=20.19.0 <21.0.0 || >=22.12.0 <23.0.0 || >=24.1.0 <25.0.0"},"gitHead":"2c0e633adaf6fb07dbad7ac085b2b534a975bcfd","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --config-node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.mjs","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","browser-control":"PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.mjs","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js","browser-control:visible":"BROWSER_HEADLESS=false PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"overrides":{"madge":{"typescript":"$typescript"}},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"diff":"8.0.3","parse":"8.5.0","react":"16.14.0","qrcode":"1.5.4","core-js":"3.48.0","express":"5.2.1","graphql":"16.12.0","otpauth":"9.5.0","prismjs":"1.30.0","bcryptjs":"3.0.3","chart.js":"4.5.1","graphiql":"2.0.8","inquirer":"13.2.2","passport":"0.7.0","commander":"13.1.0","csrf-sync":"4.2.1","immutable":"5.1.5","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","react-rnd":"10.5.3","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.2","js-beautify":"1.15.4","package-json":"7.0.0","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.29.2","expr-eval-fork":"3.0.3","passport-local":"1.0.0","express-session":"1.19.0","fast-deep-equal":"3.1.3","react-chartjs-2":"5.3.1","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.1.3","react-router-dom":"6.30.3","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.29.2","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"ws":"8.19.0","jest":"30.0.4","sass":"1.98.0","yaml":"2.8.3","husky":"9.1.7","madge":"8.0.0","eslint":"9.39.2","marked":"17.0.5","semver":"7.7.4","globals":"17.3.0","webpack":"5.105.1","get-port":"7.2.0","prettier":"3.8.1","puppeteer":"24.37.2","css-loader":"7.1.4","typescript":"6.0.2","@babel/core":"7.29.0","@types/jest":"30.0.0","http-server":"14.1.1","sass-loader":"16.0.7","webpack-cli":"7.0.2","babel-loader":"10.1.1","parse-server":"9.7.0","style-loader":"3.3.1","@actions/core":"3.0.0","@eslint/compat":"2.0.3","mongodb-runner":"^6.6.0","semantic-release":"25.0.3","@babel/preset-env":"7.29.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.15.1","@babel/preset-react":"7.28.5","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.6","@semantic-release/git":"10.0.1","@semantic-release/npm":"13.1.4","jest-environment-jsdom":"30.0.5","@semantic-release/github":"12.0.6","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.29.0","@babel/plugin-proposal-decorators":"7.29.0","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.1.0"},"parseDashboardFeatures":["Data Browser","Data Graphs","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_7.4.27_1790573430370_0.8279188541236724","host":"s3://npm-registry-packages-npm-production"},"supportedParseServerVersion":">=7.0.0"},"7.4.28":{"name":"parse-dashboard-analytics","version":"7.4.28","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@7.4.28","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"b3c9d0038b281a23937daca4a02128321c183734","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-7.4.28.tgz","fileCount":92,"integrity":"sha512-Jgcg6J3czQ+J90sqqry3bVzST4WCftfYmo7PEiKgWOWXYCT2rBYfpbiMJW0OwRfvTMbGvc4H7Gr3Azlh73XRsA==","signatures":[{"sig":"MEQCIH1HbMmltRNU9CVHkvxhq7ZEe0lKhTKk3+3thKT9baPuAiBy0CoaC16Vzc0FLiJNJ8NkddM6XwdODqikqCbzs4PIPg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAkC5PiqxBVMNNJG0apq38og/rujTVlLZDsSEcKyhUZFAiBH2hOfFl9L5s7JG4d5eQCqffbYQL3IjD4/2WB6DsJw4A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15418231},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"transformIgnorePatterns":["node_modules/(?!(marked)/)"],"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=20.19.0 <21.0.0 || >=22.12.0 <23.0.0 || >=24.1.0 <25.0.0"},"gitHead":"a883b37329a5a6742f7719b59e875af0c337f6bd","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --config-node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.mjs","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","browser-control":"PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.mjs","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js","browser-control:visible":"BROWSER_HEADLESS=false PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"overrides":{"madge":{"typescript":"$typescript"}},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"diff":"8.0.3","parse":"8.5.0","react":"16.14.0","qrcode":"1.5.4","core-js":"3.48.0","express":"5.2.1","graphql":"16.12.0","otpauth":"9.5.0","prismjs":"1.30.0","bcryptjs":"3.0.3","chart.js":"4.5.1","graphiql":"2.0.8","inquirer":"13.2.2","passport":"0.7.0","commander":"13.1.0","csrf-sync":"4.2.1","immutable":"5.1.5","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","react-rnd":"10.5.3","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.2","js-beautify":"1.15.4","package-json":"7.0.0","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.29.2","expr-eval-fork":"3.0.3","passport-local":"1.0.0","express-session":"1.19.0","fast-deep-equal":"3.1.3","react-chartjs-2":"5.3.1","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.1.3","react-router-dom":"6.30.3","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.29.2","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"ws":"8.19.0","jest":"30.0.4","sass":"1.98.0","yaml":"2.8.3","husky":"9.1.7","madge":"8.0.0","eslint":"9.39.2","marked":"17.0.5","semver":"7.7.4","globals":"17.3.0","webpack":"5.105.1","get-port":"7.2.0","prettier":"3.8.1","puppeteer":"24.37.2","css-loader":"7.1.4","typescript":"6.0.2","@babel/core":"7.29.0","@types/jest":"30.0.0","http-server":"14.1.1","sass-loader":"16.0.7","webpack-cli":"7.0.2","babel-loader":"10.1.1","parse-server":"9.7.0","style-loader":"3.3.1","@actions/core":"3.0.0","@eslint/compat":"2.0.3","mongodb-runner":"^6.6.0","semantic-release":"25.0.3","@babel/preset-env":"7.29.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.15.1","@babel/preset-react":"7.28.5","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.6","@semantic-release/git":"10.0.1","@semantic-release/npm":"13.1.4","jest-environment-jsdom":"30.0.5","@semantic-release/github":"12.0.6","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.29.0","@babel/plugin-proposal-decorators":"7.29.0","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.1.0"},"parseDashboardFeatures":["Data Browser","Data Graphs","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_7.4.28_1790577072832_0.8568961999692299","host":"s3://npm-registry-packages-npm-production"},"supportedParseServerVersion":">=7.0.0"},"7.4.29":{"name":"parse-dashboard-analytics","version":"7.4.29","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@7.4.29","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"9340b0a007db6eec8f04a73edae66685d2009bc2","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-7.4.29.tgz","fileCount":92,"integrity":"sha512-qN5/dWamwNUp1t3Hvc6FdgqsroEBsOdRgyNLwgcSjV/dzpcEWVDkoW32WA3LVQXB3NahoyZtU2RL7+SUmiddRA==","signatures":[{"sig":"MEQCIE48pfdU2c2v18NN23dPK1SEv1kGGJbTNlCQ77oQYgtMAiBPc61DE8lCeKatIn+TMQgpQXud9Yte9CpkDLX3oCsWBA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCD27GazwLM7nrzSiKwlGNfwyz2Tsh26hmUIbvloCPdAAIgdTPNWtOqkNX19/CL6Pp5zujjdrHkoCBeEYTFKa7lg94=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15420128},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"transformIgnorePatterns":["node_modules/(?!(marked)/)"],"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=20.19.0 <21.0.0 || >=22.12.0 <23.0.0 || >=24.1.0 <25.0.0"},"gitHead":"d9f0c7884fa679edc0f6611fdd97b1af00d369cb","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --config-node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.mjs","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","browser-control":"PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.mjs","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js","browser-control:visible":"BROWSER_HEADLESS=false PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"overrides":{"madge":{"typescript":"$typescript"}},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"diff":"8.0.3","parse":"8.5.0","react":"16.14.0","qrcode":"1.5.4","core-js":"3.48.0","express":"5.2.1","graphql":"16.12.0","otpauth":"9.5.0","prismjs":"1.30.0","bcryptjs":"3.0.3","chart.js":"4.5.1","graphiql":"2.0.8","inquirer":"13.2.2","passport":"0.7.0","commander":"13.1.0","csrf-sync":"4.2.1","immutable":"5.1.5","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","react-rnd":"10.5.3","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.2","js-beautify":"1.15.4","package-json":"7.0.0","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.29.2","expr-eval-fork":"3.0.3","passport-local":"1.0.0","express-session":"1.19.0","fast-deep-equal":"3.1.3","react-chartjs-2":"5.3.1","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.1.3","react-router-dom":"6.30.3","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.29.2","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"ws":"8.19.0","jest":"30.0.4","sass":"1.98.0","yaml":"2.8.3","husky":"9.1.7","madge":"8.0.0","eslint":"9.39.2","marked":"17.0.5","semver":"7.7.4","globals":"17.3.0","webpack":"5.105.1","get-port":"7.2.0","prettier":"3.8.1","puppeteer":"24.37.2","css-loader":"7.1.4","typescript":"6.0.2","@babel/core":"7.29.0","@types/jest":"30.0.0","http-server":"14.1.1","sass-loader":"16.0.7","webpack-cli":"7.0.2","babel-loader":"10.1.1","parse-server":"9.7.0","style-loader":"3.3.1","@actions/core":"3.0.0","@eslint/compat":"2.0.3","mongodb-runner":"^6.6.0","semantic-release":"25.0.3","@babel/preset-env":"7.29.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.15.1","@babel/preset-react":"7.28.5","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.6","@semantic-release/git":"10.0.1","@semantic-release/npm":"13.1.4","jest-environment-jsdom":"30.0.5","@semantic-release/github":"12.0.6","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.29.0","@babel/plugin-proposal-decorators":"7.29.0","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.1.0"},"parseDashboardFeatures":["Data Browser","Data Graphs","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_7.4.29_1790602289103_0.8170744857145595","host":"s3://npm-registry-packages-npm-production"},"supportedParseServerVersion":">=7.0.0"},"7.4.30":{"name":"parse-dashboard-analytics","version":"7.4.30","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"license":"SEE LICENSE IN LICENSE","_id":"parse-dashboard-analytics@7.4.30","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"homepage":"https://github.com/ParsePlatform/parse-dashboard","bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"bin":{"parse-dashboard":"bin/parse-dashboard"},"dist":{"shasum":"243fa5b24594407c896885adc765528453513daf","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-7.4.30.tgz","fileCount":92,"integrity":"sha512-TulEpijowxsnB/Vqnyn86aYibmbQgN8bwyVnVQGdQRA79aJPgVc3sJHLR+Vy7x3WM1UQXg7f1u8xEo4sdpPNTA==","signatures":[{"sig":"MEQCIFXsb7x63EZzYv8VgQZB+sAQrPkxa7Fi/CCK2bBZEmTiAiBitS9YbXNuNkluXW8rkdUCoJ+jFfqJ/yLjJ5bdh9xXrA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDBTM75ek11vFqbqxhibh3zlkhd4s6BerG/Z9RwltmB4AiB8bLbLat/I0fSm752nzoTNRMlsoUmuUb3AdtB9QSN5zA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15421533},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"transformIgnorePatterns":["node_modules/(?!(marked)/)"],"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=20.19.0 <21.0.0 || >=22.12.0 <23.0.0 || >=24.1.0 <25.0.0"},"gitHead":"e47adf575d13a4a0dca3089818e9243361e135dc","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --config-node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.mjs","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","browser-control":"PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.mjs","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js","browser-control:visible":"BROWSER_HEADLESS=false PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js"},"_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"overrides":{"madge":{"typescript":"$typescript"}},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"_nodeVersion":"18.20.3","dependencies":{"diff":"8.0.3","parse":"8.5.0","react":"16.14.0","qrcode":"1.5.4","core-js":"3.48.0","express":"5.2.1","graphql":"16.12.0","otpauth":"9.5.0","prismjs":"1.30.0","bcryptjs":"3.0.3","chart.js":"4.5.1","graphiql":"2.0.8","inquirer":"13.2.2","passport":"0.7.0","commander":"13.1.0","csrf-sync":"4.2.1","immutable":"5.1.5","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","react-rnd":"10.5.3","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.2","js-beautify":"1.15.4","package-json":"7.0.0","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.29.2","expr-eval-fork":"3.0.3","passport-local":"1.0.0","express-session":"1.19.0","fast-deep-equal":"3.1.3","react-chartjs-2":"5.3.1","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.1.3","react-router-dom":"6.30.3","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.29.2","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"ws":"8.19.0","jest":"30.0.4","sass":"1.98.0","yaml":"2.8.3","husky":"9.1.7","madge":"8.0.0","eslint":"9.39.2","marked":"17.0.5","semver":"7.7.4","globals":"17.3.0","webpack":"5.105.1","get-port":"7.2.0","prettier":"3.8.1","puppeteer":"24.37.2","css-loader":"7.1.4","typescript":"6.0.2","@babel/core":"7.29.0","@types/jest":"30.0.0","http-server":"14.1.1","sass-loader":"16.0.7","webpack-cli":"7.0.2","babel-loader":"10.1.1","parse-server":"9.7.0","style-loader":"3.3.1","@actions/core":"3.0.0","@eslint/compat":"2.0.3","mongodb-runner":"^6.6.0","semantic-release":"25.0.3","@babel/preset-env":"7.29.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.15.1","@babel/preset-react":"7.28.5","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.6","@semantic-release/git":"10.0.1","@semantic-release/npm":"13.1.4","jest-environment-jsdom":"30.0.5","@semantic-release/github":"12.0.6","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.29.0","@babel/plugin-proposal-decorators":"7.29.0","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.1.0"},"parseDashboardFeatures":["Data Browser","Data Graphs","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"tmp":"tmp/parse-dashboard-analytics_7.4.30_1790840321665_0.8177370340495351","host":"s3://npm-registry-packages-npm-production"},"supportedParseServerVersion":">=7.0.0"},"7.4.31":{"_id":"parse-dashboard-analytics@7.4.31","bin":{"parse-dashboard":"bin/parse-dashboard"},"bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"dist":{"shasum":"e28d5e6263c0cbadc7cb6803fda8f84e5d2d19b2","tarball":"https://registry.npmjs.org/parse-dashboard-analytics/-/parse-dashboard-analytics-7.4.31.tgz","fileCount":92,"integrity":"sha512-PDNeWF8nXrnW7qdHfUNiRGLRt3lCinuzurmjBtkahgNKKdiMIzATWvWa2cABBXP12V9pV9LrGB3Jao6wxf8cwQ==","signatures":[{"sig":"MEYCIQDzOfcGuZneWyUf+8qMKiZr4ltgRyFXVpQt+gchFe/jsQIhAOsGjO+e2FngHaXNVBGeTXgjItuo1nauP6LGypgwvpvX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDtjfS/MIttMV/BL1duf0ax7Jsht5ZOqp/p7FeqY8fVCAiANCzyzot0G/9shSZx5d+OEZia8blDfg3ipPwTiR9RLyg=="}],"unpackedSize":15421981},"jest":{"roots":["src/lib"],"transform":{".*":"<rootDir>/testing/preprocessor.js"},"moduleNameMapper":{"\\.(css|less)$":"<rootDir>/testing/styleMock.js"},"transformIgnorePatterns":["node_modules/(?!(marked)/)"],"unmockedModulePathPatterns":["react","react-dom","react-addons-test-utils","fbjs"]},"main":"Parse-Dashboard/app.js","name":"parse-dashboard-analytics","husky":{"hooks":{"pre-commit":"lint-staged"}},"engines":{"node":">=20.19.0 <21.0.0 || >=22.12.0 <23.0.0 || >=24.1.0 <25.0.0"},"gitHead":"604d73d3afdb2e4e9fa341ecdb05c4f601ce70f8","license":"SEE LICENSE IN LICENSE","scripts":{"dev":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --devtool eval-source-map --progress --watch","pig":"http-server ./PIG -p 4041 -s & webpack --config webpack/PIG.config.js --progress --watch","lint":"eslint --cache ./","test":"jest","build":"webpack --config-node-env=production --config webpack/production.config.js && webpack --config webpack/PIG.config.js","start":"node ./Parse-Dashboard/index.js","prepare":"webpack --config webpack/publish.config.js --progress","ci:check":"node ./ci/ciCheck.mjs","generate":"node scripts/generate.js","lint:fix":"DEBUG=eslint:cli-engine eslint --fix --cache ./","prettier":"prettier --write '{src,webpack}/**/*.js'","dashboard":"node ./Parse-Dashboard/index.js & webpack --config webpack/build.config.js --progress --watch","demo-analytics":"node demo-analytics-server.js","madge:circular":"madge ./src --circular","browser-control":"PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js","semantic-release":"semantic-release","ci:checkNodeEngine":"node ./ci/nodeEngineCheck.mjs","demo-analytics:3001":"MAIN_PORT=3001 node demo-analytics-server.js","demo-analytics:remote":"MAIN_PORT=3001 node demo-analytics-server.js","browser-control:visible":"BROWSER_HEADLESS=false PARSE_DASHBOARD_BROWSER_CONTROL=true node ./Parse-Dashboard/index.js"},"version":"7.4.31","_npmUser":{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"},"homepage":"https://github.com/ParsePlatform/parse-dashboard","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"overrides":{"madge":{"typescript":"$typescript"}},"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"_npmVersion":"10.7.0","description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","directories":{},"lint-staged":{"{src,webpack}/{**/*,*}.js":["prettier --write","eslint --fix --cache","git add"]},"maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"_nodeVersion":"18.20.3","dependencies":{"diff":"8.0.3","parse":"8.5.0","react":"16.14.0","qrcode":"1.5.4","core-js":"3.48.0","express":"5.2.1","graphql":"16.12.0","otpauth":"9.5.0","prismjs":"1.30.0","bcryptjs":"3.0.3","chart.js":"4.5.1","graphiql":"2.0.8","inquirer":"13.2.2","passport":"0.7.0","commander":"13.1.0","csrf-sync":"4.2.1","immutable":"5.1.5","react-ace":"14.0.1","react-dnd":"10.0.2","react-dom":"16.14.0","react-rnd":"10.5.3","node-fetch":"3.3.2","prop-types":"15.8.1","body-parser":"2.2.2","js-beautify":"1.15.4","package-json":"7.0.0","react-helmet":"6.1.0","connect-flash":"0.1.1","@babel/runtime":"7.29.2","expr-eval-fork":"3.0.3","passport-local":"1.0.0","express-session":"1.19.0","fast-deep-equal":"3.1.3","react-chartjs-2":"5.3.1","react-draggable":"4.5.0","react-json-view":"1.21.3","react-resizable":"3.1.3","react-router-dom":"6.30.3","copy-to-clipboard":"3.3.3","immutable-devtools":"0.1.5","regenerator-runtime":"0.14.1","react-popper-tooltip":"4.4.2","@babel/runtime-corejs3":"7.29.2","react-dnd-html5-backend":"16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"ws":"8.19.0","jest":"30.0.4","sass":"1.98.0","yaml":"2.8.3","husky":"9.1.7","madge":"8.0.0","eslint":"9.39.2","marked":"17.0.5","semver":"7.7.4","globals":"17.3.0","webpack":"5.105.1","get-port":"7.2.0","prettier":"3.8.1","puppeteer":"24.37.2","css-loader":"7.1.4","typescript":"6.0.2","@babel/core":"7.29.0","@types/jest":"30.0.0","http-server":"14.1.1","sass-loader":"16.0.7","webpack-cli":"7.0.2","babel-loader":"10.1.1","parse-server":"9.7.0","style-loader":"3.3.1","@actions/core":"3.0.0","@eslint/compat":"2.0.3","mongodb-runner":"^6.6.0","semantic-release":"25.0.3","@babel/preset-env":"7.29.2","all-node-versions":"13.0.1","eslint-plugin-jest":"29.15.1","@babel/preset-react":"7.28.5","eslint-plugin-react":"7.37.5","react-test-renderer":"16.13.1","@babel/eslint-parser":"7.28.6","@semantic-release/git":"10.0.1","@semantic-release/npm":"13.1.4","jest-environment-jsdom":"30.0.5","@semantic-release/github":"12.0.6","@semantic-release/changelog":"6.0.3","@babel/plugin-transform-runtime":"7.29.0","@babel/plugin-proposal-decorators":"7.29.0","@semantic-release/commit-analyzer":"13.0.1","@saithodev/semantic-release-backmerge":"4.0.1","@semantic-release/release-notes-generator":"14.1.0"},"parseDashboardFeatures":["Data Browser","Data Graphs","Cloud Code Viewer","Cloud Code Jobs Viewer and Runner","Parse Config","REST API Console","GraphQL API Console","JS Custom Query Console","Class Level Permissions Editor","Pointer Permissions Editor","Send Push Notifications","Logs Viewer","Push Status Page","Relation Editor","Enhanced Analytics Dashboard"],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/parse-dashboard-analytics_7.4.31_1790842847678_0.0690061000906117"},"supportedParseServerVersion":">=7.0.0"}},"time":{"created":"2025-08-06T03:51:54.962Z","modified":"2026-10-01T08:20:48.041Z","1.0.0":"2025-08-06T03:51:55.293Z","1.0.1":"2025-08-06T04:11:35.282Z","1.0.2":"2025-08-06T05:17:24.601Z","1.0.3":"2025-08-06T06:13:55.982Z","1.0.4":"2025-08-06T06:43:55.576Z","1.0.5":"2025-08-06T06:55:03.582Z","1.0.6":"2025-08-06T16:31:34.635Z","1.0.7":"2025-08-07T06:59:11.582Z","1.0.8":"2025-08-07T11:58:35.994Z","1.0.9":"2025-08-07T13:40:39.737Z","1.1.0":"2025-08-07T16:27:16.595Z","1.1.1":"2025-08-07T16:43:22.137Z","1.1.2":"2025-08-07T17:13:20.634Z","1.1.3":"2025-08-07T19:02:45.574Z","1.1.4":"2025-08-07T19:38:02.168Z","1.1.5":"2025-08-08T00:59:09.941Z","7.4.0":"2025-09-11T13:11:08.830Z","7.4.1":"2025-12-06T20:19:51.128Z","7.4.2":"2025-12-06T20:24:15.656Z","7.4.4":"2026-04-14T05:46:05.318Z","7.4.5":"2026-04-14T05:55:09.527Z","7.4.6":"2026-07-06T13:09:49.644Z","7.4.7":"2026-07-06T13:36:03.045Z","7.4.8":"2026-07-06T14:08:58.130Z","7.4.9":"2026-07-06T14:37:27.587Z","7.4.10":"2026-07-06T14:47:24.459Z","7.4.11":"2026-07-06T16:42:10.373Z","7.4.12":"2026-07-06T16:51:51.903Z","7.4.13":"2026-07-06T17:17:24.626Z","7.4.14":"2026-07-06T17:43:34.284Z","7.4.15":"2026-07-06T18:14:05.908Z","7.4.16":"2026-07-06T18:22:29.216Z","7.4.18":"2026-07-06T18:55:06.466Z","7.4.19":"2026-07-06T19:05:20.304Z","7.4.20":"2026-09-27T07:20:38.080Z","7.4.21":"2026-09-27T07:41:28.859Z","7.4.22":"2026-09-27T08:20:21.836Z","7.4.24":"2026-09-27T08:42:32.890Z","7.4.25":"2026-09-28T04:09:35.706Z","7.4.26":"2026-09-28T04:38:39.192Z","7.4.27":"2026-09-28T05:30:30.534Z","7.4.28":"2026-09-28T06:31:13.065Z","7.4.29":"2026-09-28T13:31:29.348Z","7.4.30":"2026-10-01T07:38:41.827Z","7.4.31":"2026-10-01T08:20:47.872Z"},"bugs":{"url":"https://github.com/ParsePlatform/parse-dashboard/issues"},"license":"SEE LICENSE IN LICENSE","homepage":"https://github.com/ParsePlatform/parse-dashboard","keywords":["parse","dashboard","analytics","parse-server","backend","dashboard-analytics"],"repository":{"url":"git+https://github.com/pastordee/parse-dashboard.git","type":"git"},"description":"Parse Dashboard with Enhanced Analytics - A comprehensive analytics dashboard for Parse Server","maintainers":[{"name":"pastordee","email":"bureaus-alleles.5h@icloud.com"}],"readme":"![parse-repository-header-dashboard](https://user-images.githubusercontent.com/5673677/138276825-9b430df8-b1f6-41d7-af32-4852a8fbc143.png)\n\n---\n\n[![Build Status](https://github.com/parse-community/parse-dashboard/workflows/ci/badge.svg?branch=alpha)](https://github.com/parse-community/parse-dashboard/actions?query=workflow%3Aci+branch%3Aalpha)\n[![Build Status](https://github.com/parse-community/parse-dashboard/workflows/ci/badge.svg?branch=release)](https://github.com/parse-community/parse-dashboard/actions?query=workflow%3Aci+branch%3Arelease)\n[![Snyk Badge](https://snyk.io/test/github/parse-community/parse-dashboard/badge.svg)](https://snyk.io/test/github/parse-community/parse-dashboard)\n\n[![Node Version](https://img.shields.io/badge/nodejs-20,_22,_24-green.svg?logo=node.js&style=flat)](https://nodejs.org/)\n[![auto-release](https://img.shields.io/badge/%F0%9F%9A%80-auto--release-9e34eb.svg)](https://github.com/parse-community/parse-dashboard/releases)\n\n[![npm latest version](https://img.shields.io/npm/v/parse-dashboard/latest.svg)](https://www.npmjs.com/package/parse-dashboard)\n[![npm alpha version](https://img.shields.io/npm/v/parse-dashboard/alpha.svg)](https://www.npmjs.com/package/parse-dashboard)\n\n[![Backers on Open Collective](https://opencollective.com/parse-server/backers/badge.svg)][open-collective-link]\n[![Sponsors on Open Collective](https://opencollective.com/parse-server/sponsors/badge.svg)][open-collective-link]\n[![License][license-svg]][license-link]\n[![Forum](https://img.shields.io/discourse/https/community.parseplatform.org/topics.svg)](https://community.parseplatform.org/c/parse-server)\n[![Twitter](https://img.shields.io/twitter/follow/ParsePlatform.svg?label=Follow&style=social)](https://twitter.com/intent/follow?screen_name=ParsePlatform)\n\n---\n\nParse Dashboard is a standalone dashboard for managing your [Parse Server](https://github.com/ParsePlatform/parse-server) apps.\n\n## 📊 Analytics Edition\n\nThis enhanced version includes comprehensive analytics capabilities:\n- **Real-time Metrics**: User analytics, installation tracking, performance monitoring\n- **Retention Analysis**: Configurable periods from 28 days to 5 years with automatic refresh\n- **Performance Insights**: Slow query detection, response time monitoring, optimization recommendations\n- **Easy Integration**: Drop-in replacement with demo server for testing\n\n### 🚀 Quick Start with Analytics\n```bash\nnpm install parse-dashboard-analytics\nnpx parse-dashboard --config your-config.json\n```\n\n### 📚 Documentation\n- **[📖 Complete Guide](https://github.com/pastordee/parse-dashboard/blob/pc_link_with_parse_server/ANALYTICS_GUIDE.md)** - Comprehensive documentation and API reference\n- **[⚡ Quick Reference](https://github.com/pastordee/parse-dashboard/blob/pc_link_with_parse_server/QUICK_REFERENCE.md)** - Developer cheat sheet and common patterns  \n- **[🎯 Step-by-Step Tutorial](https://github.com/pastordee/parse-dashboard/blob/pc_link_with_parse_server/TUTORIAL.md)** - 15-minute hands-on tutorial with demo server\n\n### 🔧 Analytics Features\n- **Overview Dashboard**: Total users, active users, installation metrics with trend indicators\n- **Retention Analysis**: User retention tracking with 6 configurable time periods\n- **Performance Monitor**: API response times, error rates, system performance metrics\n- **Slow Query Analyzer**: Database optimization insights with class-based filtering\n- **Explorer Tool**: Custom analytics queries with flexible time ranges\n\n### 📸 Analytics Dashboard Preview\n\n<div align=\"center\">\n\n| **📊 Dashboard Overview** | **📈 App Health Overview** |\n|:---:|:---:|\n| ![Analytics Dashboard](https://github.com/pastordee/parse-dashboard/blob/pc_link_with_parse_server/analytic_image/1.png) | ![Overview Page](https://github.com/pastordee/parse-dashboard/blob/pc_link_with_parse_server/analytic_image/2.png) |\n| *Real-time metrics with trend indicators and performance charts* | *Comprehensive app health monitoring with user engagement insights* |\n\n| **🎯 Explorer Tool** | **⚡ Performance Monitoring** |\n|:---:|:---:|\n| ![Explorer](https://github.com/pastordee/parse-dashboard/blob/pc_link_with_parse_server/analytic_image/3.png) | ![Performance](https://github.com/pastordee/parse-dashboard/blob/pc_link_with_parse_server/analytic_image/4.png) |\n| *Custom analytics queries with flexible date ranges* | *API response time tracking and system performance metrics* |\n\n| **🔄 Retention Analysis** | **🐌 Slow Query Analysis** |\n|:---:|:---:|\n| ![Retention](https://github.com/pastordee/parse-dashboard/blob/pc_link_with_parse_server/analytic_image/5.png) | ![Slow Queries](https://github.com/pastordee/parse-dashboard/blob/pc_link_with_parse_server/analytic_image/6.png) |\n| *User retention heatmap with configurable periods* | *Database optimization insights with detailed query performance* |\n\n</div>\n\n---\n\n- [Getting Started](#getting-started)\n  - [Compatibility](#compatibility)\n    - [Parse Server](#parse-server)\n    - [Node.js](#nodejs)\n  - [Configuring Parse Dashboard](#configuring-parse-dashboard)\n    - [Options](#options)\n      - [Root Options](#root-options)\n        - [App Options](#app-options)\n        - [Column Options](#column-options)\n        - [Script Options](#script-options)\n        - [Info Panel Options](#info-panel-options)\n        - [User Options](#user-options)\n      - [CLI \\& Server Options](#cli--server-options)\n      - [Helper CLI Commands](#helper-cli-commands)\n    - [File](#file)\n    - [Environment variables](#environment-variables)\n      - [Multiple apps](#multiple-apps)\n      - [Single app](#single-app)\n  - [Managing Multiple Apps](#managing-multiple-apps)\n  - [GraphQL Playground](#graphql-playground)\n  - [App Icon Configuration](#app-icon-configuration)\n  - [App Background Color Configuration](#app-background-color-configuration)\n  - [Other Configuration Options](#other-configuration-options)\n    - [Prevent columns sorting](#prevent-columns-sorting)\n    - [Custom order in the filter popup](#custom-order-in-the-filter-popup)\n    - [Persistent Filters](#persistent-filters)\n    - [Keyboard Shortcuts](#keyboard-shortcuts)\n    - [Resource Cache](#resource-cache)\n- [Running as Express Middleware](#running-as-express-middleware)\n  - [Browser Control API (Development Only)](#browser-control-api-development-only)\n    - [⚠️ Security Requirements](#️-security-requirements)\n    - [Configuration](#configuration)\n    - [Usage](#usage)\n- [Deploying Parse Dashboard](#deploying-parse-dashboard)\n  - [Preparing for Deployment](#preparing-for-deployment)\n  - [Security Considerations](#security-considerations)\n    - [Security Checks](#security-checks)\n    - [Configuring Basic Authentication](#configuring-basic-authentication)\n    - [Multi-Factor Authentication (One-Time Password)](#multi-factor-authentication-one-time-password)\n    - [Running Multiple Dashboard Replicas](#running-multiple-dashboard-replicas)\n      - [Using a Custom Session Store](#using-a-custom-session-store)\n  - [Use Read-Only masterKey](#use-read-only-masterkey)\n    - [Making an app read-only for all users](#making-an-app-read-only-for-all-users)\n    - [Makings users read-only](#makings-users-read-only)\n    - [Making user's apps readOnly](#making-users-apps-readonly)\n  - [Configuring Localized Push Notifications](#configuring-localized-push-notifications)\n  - [Run with Docker](#run-with-docker)\n- [Features](#features)\n  - [Data Browser](#data-browser)\n    - [Filters](#filters)\n    - [Info Panel](#info-panel)\n      - [Response](#response)\n        - [Segments](#segments)\n        - [Text Item](#text-item)\n        - [Key-Value Item](#key-value-item)\n        - [Table Item](#table-item)\n        - [Image Item](#image-item)\n        - [Video Item](#video-item)\n        - [Audio Item](#audio-item)\n        - [Button Item](#button-item)\n        - [Panel Item](#panel-item)\n      - [Auto-Scroll](#auto-scroll)\n      - [Prefetching](#prefetching)\n    - [Scripts](#scripts)\n      - [Script Response Form](#script-response-form)\n        - [Response Fields](#response-fields)\n        - [Form Elements](#form-elements)\n          - [Drop-Down](#drop-down)\n          - [Checkbox](#checkbox)\n          - [Toggle](#toggle)\n          - [Text Input](#text-input)\n    - [Graph](#graph)\n      - [Calculated Values](#calculated-values)\n      - [Formula Operator](#formula-operator)\n        - [Arithmetic Operators](#arithmetic-operators)\n        - [Comparison Operators](#comparison-operators)\n        - [Conditional Operator](#conditional-operator)\n        - [Math Functions](#math-functions)\n    - [Freeze Columns](#freeze-columns)\n    - [Browse as User](#browse-as-user)\n    - [Change Pointer Key](#change-pointer-key)\n      - [Limitations](#limitations)\n    - [Data Export](#data-export)\n    - [Data Import](#data-import)\n  - [AI Agent](#ai-agent)\n    - [Configuration](#configuration-1)\n    - [Providers](#providers)\n      - [OpenAI](#openai)\n  - [Views](#views)\n    - [Data Sources](#data-sources)\n      - [Aggregation Pipeline](#aggregation-pipeline)\n      - [Cloud Function](#cloud-function)\n    - [View Table](#view-table)\n      - [Pointer](#pointer)\n      - [Link](#link)\n      - [Image](#image)\n      - [Video](#video)\n- [Contributing](#contributing)\n\n# Getting Started\n\nInstall the dashboard from `npm`.\n\n```\nnpm install -g parse-dashboard\n```\n\nYou can launch the dashboard for an app with a single command by supplying an app ID, master key, URL, and name like this:\n\n```\nparse-dashboard --dev --appId yourAppId --masterKey yourMasterKey --serverURL \"https://example.com/parse\" --appName optionalName\n```\n\nYou may set the host, port and mount path by supplying the `--host`, `--port` and `--mountPath` options to parse-dashboard. You can use anything you want as the app name, or leave it out in which case the app ID will be used.\n\nThe `--dev` parameter disables production-ready security features. This parameter is useful when running Parse Dashboard on Docker. Using this parameter will:\n\n- allow insecure http connections from anywhere, bypassing the option `allowInsecureHTTP`\n- allow the Parse Server `masterKey` to be transmitted in cleartext without encryption\n- allow dashboard access without user authentication\n\n> ⚠️ Do not use this parameter when deploying Parse Dashboard in a production environment.\n\nAfter starting the dashboard, you can visit http://localhost:4040 in your browser:\n\n![Parse Dashboard](.github/dash-shot.png)\n\n## Compatibility\n\n### Parse Server\nParse Dashboard is compatible with the following versions of Parse Server.\n\n| Parse Dashboard | Parse Server     |\n|-----------------|------------------|\n| >= 1.0.0        | >= 2.1.4 < 7.0.0 |\n| >= 8.0.0        | >= 7.0.0         |\n\nParse Dashboard automatically checks the Parse Server version when connecting and displays a warning if the server version does not meet the minimum required version. The required Parse Server version is defined in the `supportedParseServerVersion` field in `package.json`.\n\n### Node.js\nParse Dashboard is continuously tested with the most recent releases of Node.js to ensure compatibility. We follow the [Node.js Long Term Support plan](https://github.com/nodejs/Release) and only test against versions that are officially supported and have not reached their end-of-life date.\n\n| Version    | Minimum version | End-of-Life | Compatible |\n|------------|----------------|-------------|------------|\n| Node.js 20 | 20.18.0        | April 2026  | ✅ Yes      |\n| Node.js 22 | 22.9.0         | April 2027  | ✅ Yes      |\n| Node.js 24 | 24.0.0         | April 2028  | ✅ Yes      |\n\n## Configuring Parse Dashboard\n\n### Options\n\nThis section provides a comprehensive reference for all Parse Dashboard configuration options that can be used in the configuration file, via CLI arguments, or as environment variables.\n\n#### Root Options\n\n| Key | Type | Required | Default | CLI | Env Variable | Example | Description | Links to Details |\n|-----|------|----------|---------|-----|--------------|---------|-------------|------------------|\n| `apps` | Array&lt;Object&gt; | Yes | - | - | `PARSE_DASHBOARD_CONFIG` | `[{...}]` | Array of Parse Server apps to manage | [App Options](#app-options) |\n| `users` | Array&lt;Object&gt; | No | - | - | - | `[{...}]` | User accounts for dashboard authentication | [User Configuration](#user-options) |\n| `useEncryptedPasswords` | Boolean | No | `false` | - | - | `true` | Use bcrypt hashes instead of plain text passwords | - |\n| `trustProxy` | Boolean \\| Number | No | `false` | `--trustProxy` | `PARSE_DASHBOARD_TRUST_PROXY` | `1` | Trust X-Forwarded-* headers when behind proxy | - |\n| `iconsFolder` | String | No | - | - | - | `\"icons\"` | Folder for app icons (relative or absolute path) | - |\n| `agent` | Object | No | - | - | `PARSE_DASHBOARD_AGENT` (JSON) | `{...}` | AI agent configuration | [AI Agent Configuration](#ai-agent) |\n| `enableResourceCache` | Boolean | No | `false` | - | - | `true` | Enable browser caching of dashboard resources | - |\n\n\n##### App Options\n\n| Parameter                  | Type                | Optional | Default   | CLI                  | Env Variable                         | Example                           | Description                                                                                                  |\n| -------------------------- | ------------------- | -------- | --------- | -------------------- | ------------------------------------ | --------------------------------- | ------------------------------------------------------------------------------------------------------------ |\n| `appId`                    | String              | no       | -         | `--appId`            | `PARSE_DASHBOARD_APP_ID`             | `\"myAppId\"`                       | The Application ID for your Parse Server instance.                                                           |\n| `masterKey`                | String \\| Function  | no       | -         | `--masterKey`        | `PARSE_DASHBOARD_MASTER_KEY`         | `\"key\"` or `() => \"key\"`          | Master key for full access. Can be a String or Function returning a String.                                  |\n| `serverURL`                | String              | no       | -         | `--serverURL`        | `PARSE_DASHBOARD_SERVER_URL`         | `\"http://localhost:1337/parse\"`   | The URL where your Parse Server is running.                                                                  |\n| `appName`                  | String              | yes      | `appId`   | `--appName`          | `PARSE_DASHBOARD_APP_NAME`           | `\"MyApp\"`                         | Display name of the app.                                                                                     |\n| `masterKeyTtl`             | Number              | yes      | -         | `--masterKeyTtl`     | -                                    | `3600`                            | TTL for master key cache in seconds (only when masterKey is a function).                                        |\n| `readOnlyMasterKey`        | String              | yes      | -         | -                    | -                                    | `\"myReadOnlyKey\"`                 | Read-only master key that prevents mutations.                                                                |\n| `clientKey`                | String              | yes      | -         | -                    | -                                    | `\"myClientKey\"`                   | Client key for Parse SDK (legacy, mostly unused).                                                            |\n| `javascriptKey`            | String              | yes      | -         | -                    | -                                    | `\"myJsKey\"`                       | JavaScript key for Parse SDK (legacy, mostly unused).                                                        |\n| `restKey`                  | String              | yes      | -         | -                    | -                                    | `\"myRestKey\"`                     | REST API key for server-side REST applications.                                                              |\n| `windowsKey`               | String              | yes      | -         | -                    | -                                    | `\"myWindowsKey\"`                  | Windows SDK key (legacy, mostly unused).                                                                     |\n| `webhookKey`               | String              | yes      | -         | -                    | -                                    | `\"myWebhookKey\"`                  | Webhook key for Cloud Code Webhooks.                                                                         |\n| `fileKey`                  | String              | yes      | -         | -                    | -                                    | `\"myFileKey\"`                     | File key used for file migrations.                                                           |\n| `graphQLServerURL`         | String              | yes      | -         | `--graphQLServerURL` | `PARSE_DASHBOARD_GRAPHQL_SERVER_URL` | `\"http://localhost:1337/graphql\"` | The URL where your Parse GraphQL Server is running.                                                          |\n| `appNameForURL`            | String              | yes      | `appName` | -                    | -                                    | `\"my-app\"`                        | URL-friendly name used in dashboard URLs.                                                                    |\n| `production`               | Boolean             | yes      | `false`   | -                    | -                                    | `true`                            | Mark as production environment.                                                                              |\n| `iconName`                 | String              | yes      | -         | -                    | -                                    | `\"icon.png\"`                      | Filename of app icon (requires global `iconsFolder`).                                                        |\n| `primaryBackgroundColor`   | String              | yes      | -         | -                    | -                                    | `\"#FFA500\"`                       | Primary background color (CSS value).                                                                        |\n| `secondaryBackgroundColor` | String              | yes      | -         | -                    | -                                    | `\"#FF4500\"`                       | Secondary background color (CSS value).                                                                      |\n| `supportedPushLocales`     | Array&lt;String&gt; | yes      | -         | -                    | -                                    | `[\"en\",\"fr\"]`                     | Supported locales for push notifications.                                                                    |\n| `preventSchemaEdits`       | Boolean             | yes      | `false`   | -                    | -                                    | `true`                            | Prevent schema modifications through the dashboard.                                                          |\n| `columnPreference`         | Object              | yes      | -         | -                    | -                                    | `{\"_User\":[...]}`                 | Column visibility/sorting/filtering preferences. See [column preferences details](#prevent-columns-sorting). |\n| `classPreference`          | Object              | yes      | -         | -                    | -                                    | `{\"_Role\":{...}}`                 | Persistent filters for all users. See [persistent filters details](#persistent-filters).                     |\n| `enableSecurityChecks`     | Boolean             | yes      | `false`   | -                    | -                                    | `true`                            | Enable security checks under App Settings > Security.                                                        |\n| `cloudConfigHistoryLimit`  | Integer             | yes      | `100`     | -                    | -                                    | `200`                             | Number of historic Cloud Config values (0 to Number.MAX_SAFE_INTEGER).                                       |\n| `config`                   | Object              | yes      | -         | -                    | -                                    | `{...}`                           | Settings for storing dashboard config on server.                                                             |\n| `config.className`         | String              | yes      | -         | -                    | -                                    | `\"DashboardConfig\"`               | Table name for dashboard configuration.                                                                      |\n| `scripts`                  | Array&lt;Object&gt; | yes      | `[]`      | -                    | -                                    | `[{...}]`                         | Scripts for this app. See [scripts table below](#scripts).                                                   |\n| `infoPanel`                | Array&lt;Object&gt; | yes      | -         | -                    | -                                    | `[{...}]`                         | Info panel config. See [info panel table below](#info-panel).                                                |\n\n##### Column Options\n\nEach class in `columnPreference` can have an array of column configurations:\n\n| Parameter         | Type    | Optional | Default | Example       | Description                                        |\n| ------------------|---------|----------|---------|---------------|----------------------------------------------------|\n| `name`            | String  | no       | -       | `\"createdAt\"` | Column/field name.                                 |\n| `visible`         | Boolean | yes      | `true`  | `false`       | Whether the column is visible in the data browser. |\n| `preventSort`     | Boolean | yes      | `false` | `true`        | Prevent this column from being sortable.           |\n| `filterSortToTop` | Boolean | yes      | `false` | `true`        | Sort this column to the top in filter popup.       |\n\n##### Script Options\n\n| Parameter                 | Type                                       | Optional | Default | Example         | Description                                       |\n| --------------------------|--------------------------------------------|----------|---------|-----------------|---------------------------------------------------|\n| `title`                   | String                                     | no       | -       | `\"Delete User\"` | Title in context menu and confirmation dialog.    |\n| `classes`                 | Array&lt;String&gt; \\| Array&lt;Object&gt; | no       | -       | `[\"_User\"]`     | Classes for which script can run.                 |\n| `cloudCodeFunction`       | String                                     | no       | -       | `\"deleteUser\"`  | Parse Cloud Function name to execute.             |\n| `executionBatchSize`      | Integer                                    | yes      | `1`     | `10`            | Batch size for multiple objects (runs in serial). |\n| `showConfirmationDialog`  | Boolean                                    | yes      | `false` | `true`          | Show confirmation dialog before execution.        |\n| `confirmationDialogStyle` | String                                     | yes      | `info`  | `critical`      | Dialog style: `info` (blue) or `critical` (red).  |\n\n##### Info Panel Options\n\n| Parameter           | Type                | Optional | Default | Example            | Description                                   |\n| --------------------|---------------------|----------|---------|--------------------|-----------------------------------------------|\n| `title`             | String              | no       | -       | `\"User Details\"`   | Panel title.                                  |\n| `classes`           | Array&lt;String&gt; | no       | -       | `[\"_User\"]`        | Classes for which panel is displayed.         |\n| `cloudCodeFunction` | String              | no       | -       | `\"getUserDetails\"` | Cloud Function receiving selected object.     |\n| `prefetchObjects`   | Number              | yes      | `0`     | `2`                | Number of next rows to prefetch.              |\n| `prefetchStale`     | Number              | yes      | `0`     | `10`               | Seconds after which prefetched data is stale. |\n| `prefetchImage`     | Boolean             | yes      | `true`  | `false`            | Whether to prefetch image content.            |\n| `prefetchVideo`     | Boolean             | yes      | `true`  | `false`            | Whether to prefetch video content.            |\n| `prefetchAudio`     | Boolean             | yes      | `true`  | `false`            | Whether to prefetch audio content.            |\n\n\n##### User Options\n\n| Parameter         | Type                | Optional | Default  | CLI              | Env Variable                    | Example              | Description                            |\n| ------------------|---------------------|----------|----------|------------------|---------------------------------|----------------------|----------------------------------------|\n| `user`            | String              | no       | -        | `--userId`       | `PARSE_DASHBOARD_USER_ID`       | `\"admin\"`            | Username for authentication.           |\n| `pass`            | String              | no       | -        | `--userPassword` | `PARSE_DASHBOARD_USER_PASSWORD` | `\"pass\"`             | Password (plain or bcrypt hash).       |\n| `mfa`             | String              | yes      | -        | -                | -                               | `\"JBSWY3DPEHPK3PXP\"` | MFA secret for TOTP.                   |\n| `mfaAlgorithm`    | String              | yes      | `\"SHA1\"` | -                | -                               | `\"SHA256\"`           | TOTP algorithm for MFA.                |\n| `mfaDigits`       | Number              | yes      | `6`      | -                | -                               | `8`                  | Number of digits in MFA code.          |\n| `mfaPeriod`       | Number              | yes      | `30`     | -                | -                               | `60`                 | MFA code validity period in seconds.   |\n| `readOnly`        | Boolean             | yes      | `false`  | -                | -                               | `true`               | Read-only access to all their apps.    |\n| `apps`            | Array&lt;Object&gt; | yes      | -        | -                | -                               | `[{...}]`            | Apps user can access (all if omitted). |\n| `apps[].appId`    | String              | no       | -        | -                | -                               | `\"myAppId\"`          | App ID user can access.                |\n| `apps[].readOnly` | Boolean             | yes      | `false`  | -                | -                               | `true`               | Read-only access to this specific app. |\n\n#### CLI & Server Options\n\n| Parameter             | Type    | Optional | Default      | CLI                     | Env Variable                             | Example         | Description                                      |\n| ----------------------|---------|----------|--------------|-------------------------|------------------------------------------|-----------------| -------------------------------------------------|\n| `host`                | String  | yes      | `\"0.0.0.0\"`  | `--host`                | `HOST`                                   | `\"127.0.0.1\"`   | Host address to bind server.                     |\n| `port`                | Number  | yes      | `4040`       | `--port`                | `PORT`                                   | `8080`          | Port for dashboard server.                       |\n| `mountPath`           | String  | yes      | `\"/\"`        | `--mountPath`           | `MOUNT_PATH`                             | `\"/dashboard\"`  | Mount path for application.                      |\n| `allowInsecureHTTP`   | Boolean | yes      | `false`      | `--allowInsecureHTTP`   | `PARSE_DASHBOARD_ALLOW_INSECURE_HTTP`    | `true`          | Allow HTTP (use behind HTTPS proxy).             |\n| `sslKey`              | String  | yes      | -            | `--sslKey`              | `PARSE_DASHBOARD_SSL_KEY`                | `\"/path/key\"`   | Path to SSL private key for HTTPS.               |\n| `sslCert`             | String  | yes      | -            | `--sslCert`             | `PARSE_DASHBOARD_SSL_CERT`               | `\"/path/cert\"`  | Path to SSL certificate for HTTPS.               |\n| `cookieSessionSecret` | String  | yes      | Random       | `--cookieSessionSecret` | `PARSE_DASHBOARD_COOKIE_SESSION_SECRET`  | `\"secret\"`      | Secret for session cookies (for multi-server).   |\n| `cookieSessionMaxAge` | Number  | yes      | Session-only | `--cookieSessionMaxAge` | `PARSE_DASHBOARD_COOKIE_SESSION_MAX_AGE` | `3600`          | Session cookie expiration (seconds).             |\n| `dev`                 | Boolean | yes      | `false`      | `--dev`                 | -                                        | -               | Development mode (**DO NOT use in production**). |\n| `browserControl`      | Boolean | yes      | `false`      | -                       | `PARSE_DASHBOARD_BROWSER_CONTROL`        | `true`          | Enable Browser Control API (dev only, **NEVER in production**). See [Browser Control](Parse-Dashboard/browser-control/). |\n| `config`              | String  | yes      | -            | `--config`              | -                                        | `\"config.json\"` | Path to JSON configuration file.                 |\n\n#### Helper CLI Commands\n\n| Command        | Description                                                         |\n| ---------------|---------------------------------------------------------------------|\n| `--createUser` | Interactive tool to generate secure user passwords and MFA secrets. |\n| `--createMFA`  | Interactive tool to generate MFA secrets for existing users.        |\n\n### File\n\nYou can also start the dashboard from the command line with a config file. To do this, create a new file called `parse-dashboard-config.json` inside your local Parse Dashboard directory hierarchy. The file should match the following format:\n\n```json\n{\n  \"apps\": [\n    {\n      \"serverURL\": \"http://localhost:1337/parse\",\n      \"appId\": \"myAppId\",\n      \"masterKey\": \"myMasterKey\",\n      \"appName\": \"MyApp\"\n    }\n  ]\n}\n```\n\nYou can then start the dashboard using `parse-dashboard --config parse-dashboard-config.json`.\n\n### Environment variables\n\n> This only works when starting the app using the `parse-dashboard` command\n\nThere are also two methods you can use to configure the dashboard using environment variables.\n\n#### Multiple apps\n\nProvide the entire JSON configuration in `PARSE_DASHBOARD_CONFIG` and it will be parsed just like the config file.\n\n#### Single app\n\nYou can also define each configuration option individually.\n\n```\nHOST: \"0.0.0.0\"\nPORT: \"4040\"\nMOUNT_PATH: \"/\"\nPARSE_DASHBOARD_TRUST_PROXY: undefined // Or \"1\" to trust connection info from a proxy's X-Forwarded-* headers\nPARSE_DASHBOARD_SERVER_URL: \"http://localhost:1337/parse\"\nPARSE_DASHBOARD_MASTER_KEY: \"myMasterKey\"\nPARSE_DASHBOARD_APP_ID: \"myAppId\"\nPARSE_DASHBOARD_APP_NAME: \"MyApp\"\nPARSE_DASHBOARD_USER_ID: \"user1\"\nPARSE_DASHBOARD_USER_PASSWORD: \"pass\"\nPARSE_DASHBOARD_SSL_KEY: \"sslKey\"\nPARSE_DASHBOARD_SSL_CERT: \"sslCert\"\nPARSE_DASHBOARD_CONFIG: undefined // Only for reference, it must not exist\nPARSE_DASHBOARD_COOKIE_SESSION_SECRET: undefined // set the cookie session secret, defaults to a random string. Use this option if you want sessions to work across multiple servers, or across restarts\nPARSE_DASHBOARD_AGENT: undefined // JSON string containing the full agent configuration with models array\n\n```\n\n## Managing Multiple Apps\n\nManaging multiple apps from the same dashboard is also possible. Simply add additional entries into the `parse-dashboard-config.json` file's `\"apps\"` array:\n\n```json\n{\n  \"apps\": [\n    {\n      \"serverURL\": \"http://localhost:1337/parse\", // Self-hosted Parse Server\n      \"appId\": \"myAppId\",\n      \"masterKey\": \"myMasterKey\",\n      \"appName\": \"My Parse Server App\"\n    },\n    {\n      \"serverURL\": \"http://localhost:1337/parse2\", // Self-hosted Parse Server\n      \"appId\": \"myAppId\",\n      \"masterKey\": \"myMasterKey\",\n      \"appName\": \"My Parse Server App 2\"\n    }\n  ]\n}\n```\n\n## GraphQL Playground\n\nParse Dashboard has a built-in GraphQL Playground to play with the auto-generated [Parse GraphQL API](https://github.com/parse-community/parse-server#graphql).\n\nYou can setup the GraphQL Playground by passing the `--graphQLServerURL` option to the `parse-dashboard` CLI:\n\n```\nparse-dashboard --dev --appId yourAppId --masterKey yourMasterKey --serverURL \"https://example.com/parse\" --graphQLServerURL \"https://example.com/graphql\" --appName optionalName\n```\n\nThe `graphQLServerURL` option is also available through an environment variable called `PARSE_DASHBOARD_GRAPHQL_SERVER_URL`:\n\n```\nHOST: \"0.0.0.0\"\nPORT: \"4040\"\nMOUNT_PATH: \"/\"\nPARSE_DASHBOARD_SERVER_URL: \"http://localhost:1337/parse\"\nPARSE_DASHBOARD_GRAPHQL_SERVER_URL: \"http://localhost:1337/graphql\"\nPARSE_DASHBOARD_MASTER_KEY: \"myMasterKey\"\nPARSE_DASHBOARD_APP_ID: \"myAppId\"\nPARSE_DASHBOARD_APP_NAME: \"MyApp\"\n```\n\nYou can also setup the GraphQL Playground in your `parse-dashboard-config.json` file:\n\n```json\n{\n  \"apps\": [\n    {\n      \"serverURL\": \"http://localhost:1337/parse\",\n      \"graphQLServerURL\": \"http://localhost:1337/graphql\",\n      \"appId\": \"myAppId\",\n      \"masterKey\": \"myMasterKey\",\n      \"appName\": \"My Parse Server App\"\n    },\n    {\n      \"serverURL\": \"http://localhost:1337/parse2\",\n      \"graphQLServerURL\": \"http://localhost:1337/graphql2\",\n      \"appId\": \"myAppId\",\n      \"masterKey\": \"myMasterKey\",\n      \"appName\": \"My Parse Server App 2\"\n    }\n  ]\n}\n```\n\nAfter starting the dashboard, you can visit http://0.0.0.0:4040/apps/MyTestApp/api_console/graphql in your browser:\n\n![Parse Dashboard GraphQL Playground](.github/graphql-playground.png)\n\n## App Icon Configuration\n\nParse Dashboard supports adding an optional icon for each app, so you can identify them easier in the list. To do so, you *must* use the configuration file, define an `iconsFolder` in it, and define the `iconName` parameter for each app (including the extension). The path of the `iconsFolder` is relative to the configuration file. If you have installed ParseDashboard globally you need to use the full path as value for the `iconsFolder`. To visualize what it means, in the following example `icons` is a directory located under the same directory as the configuration file:\n\n```json\n{\n  \"apps\": [\n    {\n      \"serverURL\": \"http://localhost:1337/parse\",\n      \"appId\": \"myAppId\",\n      \"masterKey\": \"myMasterKey\",\n      \"appName\": \"My Parse Server App\",\n      \"iconName\": \"MyAppIcon.png\",\n    }\n  ],\n  \"iconsFolder\": \"icons\"\n}\n```\n\n## App Background Color Configuration\n\nParse Dashboard supports adding an optional background color for each app, so you can identify them easier in the list. To do so, you *must* use the configuration file, define an `primaryBackgroundColor` and `secondaryBackgroundColor` in it, parameter for each app. It is `CSS style`. To visualize what it means, in the following example `backgroundColor` is a configuration file:\n\n```json\n{\n  \"apps\": [\n    {\n      \"serverURL\": \"http://localhost:1337/parse\",\n      \"appId\": \"myAppId\",\n      \"masterKey\": \"myMasterKey\",\n      \"appName\": \"My Parse Server App\",\n      \"primaryBackgroundColor\": \"#FFA500\", // Orange\n      \"secondaryBackgroundColor\": \"#FF4500\" // OrangeRed\n    },\n    {\n      \"serverURL\": \"http://localhost:1337/parse\",\n      \"appId\": \"myAppId\",\n      \"masterKey\": \"myMasterKey\",\n      \"appName\": \"My Parse Server App [2]\",\n      \"primaryBackgroundColor\": \"rgb(255, 0, 0)\", // Red\n      \"secondaryBackgroundColor\": \"rgb(204, 0, 0)\" // DarkRed\n    }\n  ]\n}\n```\n\n## Other Configuration Options\n\nYou can set `appNameForURL` in the config file for each app to control the url of your app within the dashboard. This can make it easier to use bookmarks or share links on your dashboard.\n\nTo change the app to production, simply set `production` to `true` in your config file. The default value is false if not specified.\n\n ### Prevent columns sorting\n\nYou can prevent some columns to be sortable by adding `preventSort` to columnPreference options in each app configuration\n\n```json\n\n\"apps\": [\n  {\n    \"appId\": \"local_app_id\",\n    \"columnPreference\": {\n        \"_User\": [\n          {\n            \"name\": \"createdAt\",\n            \"visible\": true,\n            \"preventSort\": true\n          },\n          {\n            \"name\": \"updatedAt\",\n            \"visible\": true,\n            \"preventSort\": false\n          },\n        ]\n      }\n    }\n]\n```\n\n### Custom order in the filter popup\n\nIf you have classes with a lot of columns and you filter them often with the same columns you can sort those to the top by extending the `columnPreference` setting with the `filterSortToTop` option:\n\n```json\n\"apps\": [\n  {\n    \"columnPreference\": {\n        \"_User\": [\n          {\n            \"name\": \"objectId\",\n            \"filterSortToTop\": true\n          },\n          {\n            \"name\": \"email\",\n            \"filterSortToTop\": true\n          }\n        ]\n      }\n    }\n]\n```\n\n### Persistent Filters\n\nThe filters you save in the data browser of Parse Dashboard are only available for the current dashboard user in the current browser session. To make filters permanently available for all dashboard users of an app, you can define filters in the `classPreference` setting.\n\nFor example:\n\n```json\n\"apps\": [{\n  \"classPreference\": {\n    \"_Role\": {\n      \"filters\": [{\n        \"name\": \"Filter Name\",\n        \"filter\": [\n          {\n            \"field\": \"objectId\",\n            \"constraint\": \"exists\"\n          }\n        ]\n      }]\n    }\n  }\n}]\n```\n\nYou can conveniently create a filter definition without having to write it by hand by first saving a filter in the data browser, then exporting the filter definition under *App Settings > Export Class Preferences*.\n\n### Keyboard Shortcuts\n\nConfigure custom keyboard shortcuts for dashboard actions in **App Settings > Keyboard Shortcuts**.\n\nDelete a shortcut key to disable the shortcut.\n\n### Resource Cache\n\nParse Dashboard can cache its resources such as bundles in the browser, so that opening the dashboard in another tab does not reload the dashboard resources from the server but from the local browser cache. Caching only starts after login in the dashboard.\n\n| Parameter             | Type    | Optional | Default | Example | Description                                                                                                    |\n|-----------------------|---------|----------|---------|---------|----------------------------------------------------------------------------------------------------------------|\n| `enableResourceCache` | Boolean | yes      | `false` | `true`  | Enables caching of dashboard resources in the browser for faster dashboard loading in additional browser tabs. |\n\n\nExample configuration:\n\n```javascript\nconst dashboard = new ParseDashboard({\n  enableResourceCache: true,\n  apps: [\n    {\n      serverURL: 'http://localhost:1337/parse',\n      appId: 'myAppId',\n      masterKey: 'myMasterKey',\n      appName: 'MyApp'\n    }\n  ]\n});\n```\n\n> [!Warning]\n> This feature can make it more difficult to push dashboard updates to users. Enabling the resource cache will start a browser service worker that caches dashboard resources locally only once. As long as the service worker is running, it will prevent loading any dashboard updates from the server, even if the user reloads the browser tab. The service worker is automatically stopped, once the last dashboard browser tab is closed. On the opening of the first dashboard browser tab, a new service worker is started and the dashboard resources are loaded from the server.\n\n> [!Note]\n> For developers: during dashboard development, the resource cache should be disabled to ensure reloading the dashboard tab in the browser loads the new dashboard bundle with any changes you made in the source code. You can inspect the service worker in the developer tools of most browsers. For example in Google Chrome, go to *Developer Tools > Application tab > Service workers* to see whether the dashboard service worker is currently running and to debug it.\n\n# Running as Express Middleware\n\nInstead of starting Parse Dashboard with the CLI, you can also run it as an [express](https://github.com/expressjs/express) middleware.\n\n```javascript\nvar express = require('express');\nvar ParseDashboard = require('parse-dashboard');\n\nvar dashboard = new ParseDashboard({\n  \"apps\": [\n    {\n      \"serverURL\": \"http://localhost:1337/parse\",\n      \"appId\": \"myAppId\",\n      \"masterKey\": \"myMasterKey\",\n      \"appName\": \"MyApp\"\n    }\n  ]\n});\n\nvar app = express();\n\n// make the Parse Dashboard available at /dashboard\napp.use('/dashboard', dashboard);\n\nvar httpServer = require('http').createServer(app);\nhttpServer.listen(4040);\n```\n\nIf you want to run both [Parse Server](https://github.com/ParsePlatform/parse-server) and Parse Dashboard on the same server/port, you can run them both as express middleware:\n\n```javascript\nvar express = require('express');\nvar ParseServer = require('parse-server').ParseServer;\nvar ParseDashboard = require('parse-dashboard');\n\nvar api = new ParseServer({\n\t// Parse Server settings\n});\n\nvar options = { allowInsecureHTTP: false };\n\nvar dashboard = new ParseDashboard({\n\t// Parse Dashboard settings\n}, options);\n\nvar app = express();\n\n// make the Parse Server available at /parse\napp.use('/parse', api);\n\n// make the Parse Dashboard available at /dashboard\napp.use('/dashboard', dashboard);\n\nvar httpServer = require('http').createServer(app);\nhttpServer.listen(4040);\n```\n\n## Browser Control API (Development Only)\n\nThe Browser Control API allows AI agents to interact with Parse Dashboard through an automated browser during feature implementation and debugging. This is a **development-only tool** designed for real-time verification during active development.\n\n### ⚠️ Security Requirements\n\nThe Browser Control API uses **defense-in-depth** with multiple security layers:\n\n1. **Config-level opt-in** (Required)\n   - Must set `\"browserControl\": true` in your config file\n   - Prevents accidental enablement via environment variables\n\n2. **Production environment blocking**\n   - Automatically disabled when `NODE_ENV=production`\n   - Cannot be overridden, even with explicit flags\n\n3. **Development-only deployment**\n   - Only accessible in `dev` mode or with `PARSE_DASHBOARD_BROWSER_CONTROL=true`\n\n### Configuration\n\nAdd to your `parse-dashboard-config.json`:\n\n```json\n{\n  \"browserControl\": true,\n  \"apps\": [...],\n  \"users\": [...]\n}\n```\n\n**⚠️ CRITICAL**: Never deploy with `browserControl: true` in production. Remove this field or set to `false` before deploying.\n\n### Usage\n\n```bash\nnpm run browser-control\n```\n\nFor complete documentation, API reference, and examples, see the [Browser Control README](Parse-Dashboard/browser-control/README.md).\n\n# Deploying Parse Dashboard\n\n## Preparing for Deployment\n\nMake sure the server URLs for your apps can be accessed by your browser. If you are deploying the dashboard, then `localhost` urls will not work.\n\n## Security Considerations\nIn order to securely deploy the dashboard without leaking your apps master key, you will need to use HTTPS and Basic Authentication.\n\nThe deployed dashboard detects if you are using a secure connection. If you are deploying the dashboard behind a load balancer or front-facing proxy, then the app won't be able to detect that the connection is secure. In this case, you can start the dashboard with the `--trustProxy=1` option (or set the PARSE_DASHBOARD_TRUST_PROXY config var to 1) to rely on the X-Forwarded-* headers for the client's connection security.  This is useful for hosting on services like Heroku, where you can trust the provided proxy headers to correctly determine whether you're using HTTP or HTTPS.  You can also turn on this setting when using the dashboard as [express](https://github.com/expressjs/express) middleware:\n\n```javascript\nvar trustProxy = true;\nvar dashboard = new ParseDashboard({\n  \"apps\": [\n    {\n      \"serverURL\": \"http://localhost:1337/parse\",\n      \"appId\": \"myAppId\",\n      \"masterKey\": \"myMasterKey\",\n      \"appName\": \"MyApp\"\n    }\n  ],\n  \"trustProxy\": 1\n});\n```\n\n### Security Checks\n\nYou can view the security status of your Parse Server by enabling the dashboard option `enableSecurityChecks`, and visiting App Settings > Security.\n\n```javascript\nconst dashboard = new ParseDashboard({\n  \"apps\": [\n    {\n      \"serverURL\": \"http://localhost:1337/parse\",\n      \"appId\": \"myAppId\",\n      \"masterKey\": \"myMasterKey\",\n      \"appName\": \"MyApp\"\n      \"enableSecurityChecks\": true\n    }\n  ],\n});\n```\n\n### Configuring Basic Authentication\nYou can configure your dashboard for Basic Authentication by adding usernames and passwords your `parse-dashboard-config.json` configuration file:\n\n```json\n{\n  \"apps\": [{\"...\": \"...\"}],\n  \"users\": [\n    {\n      \"user\":\"user1\",\n      \"pass\":\"pass\"\n    },\n    {\n      \"user\":\"user2\",\n      \"pass\":\"pass\"\n    }\n  ],\n  \"useEncryptedPasswords\": true | false\n}\n```\n\nYou can store the password in either `plain text` or `bcrypt` formats. To use the `bcrypt` format, you must set the config `useEncryptedPasswords` parameter to `true`.\nYou can generate encrypted passwords by using `parse-dashboard --createUser`, and pasting the result in your users config.\n\n### Multi-Factor Authentication (One-Time Password)\n\nYou can add an additional layer of security for a user account by requiring multi-factor authentication (MFA) for the user to login.\n\nWith MFA enabled, a user must provide a one-time password that is typically bound to a physical device, in addition to their login password. This means in addition to knowing the login password, the user needs to have physical access to a device to generate the one-time password. This one-time password is time-based (TOTP) and only valid for a short amount of time, typically 30 seconds, until it expires.\n\nThe user requires an authenticator app to generate the one-time password. These apps are provided by many 3rd parties and mostly for free.\n\nIf you create a new user by running `parse-dashboard --createUser`, you will be  asked whether you want to enable MFA for the new user. To enable MFA for an existing user, run `parse-dashboard --createMFA` to generate a `mfa` secret that you then add to the existing user configuration, for example:\n\n```json\n{\n  \"apps\": [{\"...\": \"...\"}],\n  \"users\": [\n    {\n      \"user\":\"user1\",\n      \"pass\":\"pass\",\n      \"mfa\": \"lmvmOIZGMTQklhOIhveqkumss\"\n    }\n  ]\n}\n```\n\n Parse Dashboard follows the industry standard and supports the common OTP algorithm `SHA-1` by default, to be compatible with most authenticator apps. If you have specific security requirements regarding TOTP characteristics (algorithm, digit length, time period) you can customize them by using the guided configuration mentioned above.\n\n### Running Multiple Dashboard Replicas\n\nWhen deploying Parse Dashboard with multiple replicas behind a load balancer, you need to use a shared session store to ensure that CSRF tokens and user sessions work correctly across all replicas. Without a shared session store, login attempts may fail with \"CSRF token validation failed\" errors when requests are distributed across different replicas.\n\n#### Using a Custom Session Store\n\nParse Dashboard supports using any session store compatible with [express-session](https://github.com/expressjs/session). The `sessionStore` option must be configured programmatically when initializing the dashboard.\n\n**Suggested Session Stores:**\n\n- [connect-redis](https://www.npmjs.com/package/connect-redis) - Redis session store\n- [connect-mongo](https://www.npmjs.com/package/connect-mongo) - MongoDB session store\n- [connect-pg-simple](https://www.npmjs.com/package/connect-pg-simple) - PostgreSQL session store\n- [memorystore](https://www.npmjs.com/package/memorystore) - Memory session store with TTL support\n\n**Example using connect-redis:**\n\n```js\nconst express = require('express');\nconst ParseDashboard = require('parse-dashboard');\nconst { createClient } = require('redis');\nconst RedisStore = require('connect-redis').default;\n\n// Instantiate Redis client\nconst redisClient = createClient({ url: 'redis://localhost:6379' });\nredisClient.connect();\n\n// Instantiate Redis session store\nconst cookieSessionStore = new RedisStore({ client: redisClient });\n\n// Configure dashboard with session store\nconst dashboard = new ParseDashboard({\n  apps: [...],\n  users: [...],\n}, {\n  cookieSessionStore,\n  cookieSessionSecret: 'your-secret-key',\n});\n\n**Important Notes:**\n\n- The `cookieSessionSecret` option must be set to the same value across all replicas to ensure session cookies work correctly.\n- If `cookieSessionStore` is not provided, Parse Dashboard will use the default in-memory session store, which only works for single-instance deployments.\n- For production deployments with multiple replicas, always configure a shared session store.\n\n#### Alternative: Using Sticky Sessions\n\nIf you cannot use a shared session store, you can configure your load balancer to use sticky sessions (session affinity), which ensures that requests from the same user are always routed to the same replica. However, using a shared session store is the recommended approach as it provides better reliability and scalability.\n\n### Separating App Access Based on User Identity\nIf you have configured your dashboard to manage multiple applications, you can restrict the management of apps based on user identity.\n\nTo do so, update your `parse-dashboard-config.json` configuration file to match the following format:\n\n```json\n{\n  \"apps\": [{\"...\": \"...\"}],\n  \"users\": [\n     {\n       \"user\":\"user1\",\n       \"pass\":\"pass1\",\n       \"apps\": [{\"appId\": \"myAppId1\"}, {\"appId\": \"myAppId2\"}]\n     },\n     {\n       \"user\":\"user2\",\n       \"pass\":\"pass2\",\n       \"apps\": [{\"appId\": \"myAppId1\"}]\n     }  ]\n}\n```\nThe effect of such a configuration is as follows:\n\nWhen `user1` logs in, he/she will be able to manage `myAppId1` and `myAppId2` from the dashboard.\n\nWhen *`user2`*  logs in, he/she will only be able to manage *`myAppId1`* from the dashboard.\n\n## Use Read-Only masterKey\n\nStarting parse-server 2.6.5, it is possible to provide a `readOnlyMasterKey` to parse-server to prevent mutations on objects from a client.\nIf you want to protect your dashboard with this feature, just use the `readOnlyMasterKey` instead of the `masterKey`. All write calls will fail.\n\n### Making an app read-only for all users\n\nStart your `parse-server` with\n\n```json\n{\n\"masterKey\": \"YOUR_MASTER_KEY_HERE\",\n\"readOnlyMasterKey\": \"YOUR_READ_ONLY_MASTER_KEY\",\n}\n```\n\nThen in your dashboard configuration:\n\n```javascript\nvar trustProxy = true;\nvar dashboard = new ParseDashboard({\n  \"apps\": [\n    {\n      \"serverURL\": \"http://localhost:1337/parse\",\n      \"appId\": \"myAppId\",\n      \"masterKey\": \"YOUR_READ_ONLY_MASTER_KEY\",\n      \"appName\": \"MyApp\"\n    }\n  ],\n  \"trustProxy\": 1\n});\n```\n\n### Makings users read-only\n\nMake sure you specify the `readOnlyMasterKey` for the apps that you want to use read-only feature in \"apps\" configuration.\nYou can mark a user as a read-only user:\n\n```json\n{\n  \"apps\": [\n    {\n      \"appId\": \"myAppId1\",\n      \"masterKey\": \"myMasterKey1\",\n      \"readOnlyMasterKey\": \"myReadOnlyMasterKey1\",\n      \"serverURL\": \"myURL1\",\n      \"port\": 4040,\n      \"production\": true\n    },\n    {\n      \"appId\": \"myAppId2\",\n      \"masterKey\": \"myMasterKey2\",\n      \"readOnlyMasterKey\": \"myReadOnlyMasterKey2\",\n      \"serverURL\": \"myURL2\",\n      \"port\": 4041,\n      \"production\": true\n    }\n  ],\n  \"users\": [\n    {\n      \"user\":\"user1\",\n      \"pass\":\"pass1\",\n      \"readOnly\": true,\n      \"apps\": [{\"appId\": \"myAppId1\"}, {\"appId\": \"myAppId2\"}]\n    },\n    {\n      \"user\":\"user2\",\n      \"pass\":\"pass2\",\n      \"apps\": [{\"appId\": \"myAppId1\"}]\n    }\n  ]\n}\n```\n\nThis way `user1` will have a readOnly access to `myAppId1` and `myAppId2`\n\n### Making user's apps readOnly\n\nMake sure you specify the `readOnlyMasterKey` for the apps that you want to use read-only feature in \"apps\" configuration.\nYou can give read only access to a user on a per-app basis:\n\n```json\n{\n  \"apps\": [\n    {\n      \"appId\": \"myAppId1\",\n      \"masterKey\": \"myMasterKey1\",\n      \"readOnlyMasterKey\": \"myReadOnlyMasterKey1\",\n      \"serverURL\": \"myURL\",\n      \"port\": 4040,\n      \"production\": true\n    },\n    {\"...\": \"...\"}\n  ],\n  \"users\": [\n    {\n      \"user\":\"user\",\n      \"pass\":\"pass\",\n      \"apps\": [{\"appId\": \"myAppId\", \"readOnly\": true}, {\"appId\": \"myAppId2\"}]\n    }\n  ]\n}\n```\n\nWith this configuration, user1 will have read only access to `myAppId1` and read/write access to `myAppId2`.\n\n## Configuring Localized Push Notifications\n\nWith the latest version of the [dashboard](https://www.npmjs.com/package/parse-dashboard), it is possible to send localized messages for push notifications.\nYou can provide a list of locales or languages you want to support for your dashboard users.\n\n```json\n{\n  \"apps\": [\n    {\n      \"serverURL\": \"http://localhost:1337/parse\",\n      \"appId\": \"myAppId\",\n      \"masterKey\": \"myMasterKey\",\n      \"appName\": \"My Parse Server App\",\n      \"iconName\": \"MyAppIcon.png\",\n      \"supportedPushLocales\": [\"en\", \"ru\", \"fr\"]\n    }\n  ],\n  \"iconsFolder\": \"icons\"\n}\n```\n\n## Run with Docker\n\nThe official docker image is published on [docker hub](https://hub.docker.com/r/parseplatform/parse-dashboard)\n\nRun the image with your ``config.json`` mounted as a volume\n\n```\ndocker run -d -p 8080:4040 -v host/path/to/config.json:/src/Parse-Dashboard/parse-dashboard-config.json parseplatform/parse-dashboard --dev\n```\n\nYou can also pass the appId, masterKey and serverURL as arguments:\n\n```\ndocker run -d -p 4040:4040 parseplatform/parse-dashboard --dev --appId $APP_ID --masterKey $MASTER_KEY --serverURL $SERVER_URL\n```\n\nBy default, the container will start the app at port 4040 inside the container. However, you can run custom command as well (see ``Deploying in production`` for custom setup).\n\nIn this example, we want to run the application in production mode at port 80 of the host machine.\n\n```\ndocker run -d -p 80:8080 -v host/path/to/config.json:/src/Parse-Dashboard/parse-dashboard-config.json parse-dashboard --port 8080 --dev\n```\n\nIf you are not familiar with Docker, ``--port 8080`` will be passed in as argument to the entrypoint to form the full command ``npm start -- --port 8080``. The application will start at port 8080 inside the container and port ``8080`` will be mounted to port ``80`` on your host machine.\n\n# Features\n*(The following is not a complete list of features but a work in progress to build a comprehensive feature list.)*\n\n## Data Browser\n\n### Filters\n\n▶️ *Core > Browser > Filter*\n\nThe filter dialog allows to add relational filter conditions based on other classes that have a pointer to the current class.\n\nFor example, users in the `_User` class may have:\n\n- purchases in a `Purchase` class with a `_User` pointer field\n- transactions in a `Payment` class with a `_User` pointer field\n\nA relational filter allows you filter all users who:\n\n- purchased a specific item (in `Purchase` class)\n- payed with a specific payment method (in `Payment` class)\n\nTo apply such a filter, simply go to the `_User` class and add the two required filter conditions with the `Purchase` and `Payment` classes.\n\n### Info Panel\n\n▶️ *Core > Browser > Show Panel / Hide Panel*\n\nThe data browser offers an info panel that can display information related to the currently selected object in the data browser table. The info panel is made visible by clicking on the menu button *Show Panel* in the top right corner when browsing a class for which the info panel is configured in the dashboard options.\n\nThe following example dashboard configuration shows an info panel for the `_User` class with the title `User Details`, by calling the Cloud Code Function `getUserDetails` and displaying the returned response.\n\n```json\n\"apps\": [\n  {\n    \"infoPanel\": [\n      {\n        \"title\": \"User Details\",\n        \"classes\": [\"_User\"],\n        \"cloudCodeFunction\": \"getUserDetails\",\n        \"prefetchObjects\": 2,\n        \"prefetchStale\": 10,\n        \"prefetchImage\": true,\n        \"prefetchVideo\": true,\n        \"prefetchAudio\": true\n      }\n    ]\n  }\n]\n```\n\nThe Cloud Code Function receives the selected object in the payload and returns a response that can include various items.\n\n#### Response\n\n##### Segments\n\nThe info panel can contain multiple segments to display different groups of information.\n\n| Parameter                | Value  | Optional | Description                                                                                                                            |\n|--------------------------|--------|----------|----------------------------------------------------------------------------------------------------------------------------------------|\n| `segments`               | Array  | No       | An ordered array of segments, where each segment represents a distinct group of items to display.                                      |\n| `segments[i].title`      | String | No       | The title of the segment that will be displayed.                                                                                       |\n| `segments[i].items`      | Array  | No       | An ordered array of items within the segment. Each item can be of different types, such as text, key-value pairs, tables, images, etc. |\n| `segments[i].style`      | Object | Yes      | The CSS style definition for the segment.                                                                                              |\n| `segments[i].titleStyle` | Object | Yes      | The CSS style definition for the segment title.                                                                                        |\n\nExample:\n\n```json\n{\n  \"panel\": {\n    \"segments\": [\n      {\n        \"title\": \"Purchases\",\n        \"style\": { \"backgroundColor\": \"lightgray\", \"font-size\": \"10px\" },\n        \"titleStyle\": { \"backgroundColor\": \"orange\", \"color\": \"white\" },\n        \"items\": [\n          {\n            \"type\": \"text\",\n            \"text\": \"This user has a high churn risk!\"\n          }\n        ]\n      }\n    ]\n  }\n}\n```\n\nThe items array can include various types of content such as text, key-value pairs, tables, images, videos, audios, and buttons. Each type offers a different way to display information within the info panel, allowing for a customizable and rich user experience. Below is a detailed explanation of each type.\n\n##### Text Item\n\nA simple text field.\n\n| Parameter | Value  | Optional | Description               |\n|-----------|--------|----------|---------------------------|\n| `type`    | String | No       | Must be `\"text\"`.         |\n| `text`    | String | No       | The text to display.      |\n| `style`   | Object | Yes      | The CSS style definition. |\n\nExample:\n\n```json\n{\n  \"type\": \"text\",\n  \"text\": \"This user has a high churn risk!\",\n  \"style\": { \"backgroundColor\": \"red\" },\n}\n```\n\n##### Key-Value Item\n\nA text item that consists of a key and a value. The value can optionally be linked to a URL.\n\n| Parameter       | Value   | Default     | Optional | Description                                                                                                                                                                                             |\n|-----------------|---------|-------------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `type`          | String  | -           | No       | Must be `\"keyValue\"`.                                                                                                                                                                                   |\n| `key`           | String  | -           | No       | The key text to display.                                                                                                                                                                                |\n| `value`         | String  | -           | No       | The value text to display.                                                                                                                                                                              |\n| `url`           | String  | `undefined` | Yes      | The URL that will be opened in a new browser tab when clicking on the value text. It can be set to an absolute URL or a relative URL in which case the base URL is `<PROTOCOL>://<HOST>/<MOUNT_PATH>/`. |\n| `isRelativeUrl` | Boolean | `false`     | Yes      | Set this to `true` when linking to another dashboard page, in which case the base URL for the relative URL will be `<PROTOCOL>://<HOST>/<MOUNT_PATH>/apps/<APP_NAME>/`.                                 |\n| `values`        | Array   | -           | Yes      | Additional values to display after `value`. Each item is an object with `value`, optional `url` and `isRelativeUrl`.                                                                                    |\n| `style`         | Object  | -           | Yes      | The CSS style definition.                                                                                                                                                                               |\n\nExamples:\n\n```json\n{\n  \"type\": \"keyValue\",\n  \"key\": \"Lifetime purchase value\",\n  \"value\": \"$10k\",\n  \"style\": { \"backgroundColor\": \"green\" },\n}\n```\n\n```json\n{\n  \"type\": \"keyValue\",\n  \"key\": \"Last purchase ID\",\n  \"value\": \"123\",\n  \"url\": \"https://example.com/purchaseDetails?purchaseId=123\"\n}\n```\n\n```json\n{\n  \"type\": \"keyValue\",\n  \"key\": \"Purchase\",\n  \"value\": \"123\",\n  \"url\": \"browser/Purchase\",\n  \"isRelativeUrl\": true\n}\n```\n\n```json\n{\n  \"type\": \"keyValue\",\n  \"key\": \"Purchase Value\",\n  \"value\": \"123\",\n  \"url\": \"browser/Purchase\",\n  \"isRelativeUrl\": true,\n  \"values\": [{ \"value\": \"456\" }]\n}\n```\n\nTo navigate to a specific object using a relative URL, the query parameters must be URL encoded:\n\n```js\nconst objectId = 'abc123';\nconst className = 'Purchase';\nconst query = [{ field: 'objectId', constraint: 'eq', compareTo: objectId }];\nconst url = `browser/Purchase?filters=${JSON.stringify(query)}`;\nconst item = {\n  type: 'keyValue',\n  key: 'Purchase',\n  value: objectId,\n  url,\n  isRelativeUrl: true\n}\n```\n\n##### Table Item\n\nA table with columns and rows to display data in a structured format.\n\n| Parameter         | Value  | Optional | Description                                                                      |\n|-------------------|--------|----------|----------------------------------------------------------------------------------|\n| `type`            | String | No       | Must be `\"table\"`.                                                               |\n| `columns`         | Array  | No       | The column definitions, including names and types.                               |\n| `columns[*].name` | String | No       | The name of the column to display.                                               |\n| `columns[*].type` | String | No       | The type of the column value (e.g., `\"string\"`, `\"number\"`).                     |\n| `rows`            | Array  | No       | The rows of data, where each row is an object containing values for each column. |\n| `style`           | Object | Yes      | The CSS style definition.                                                        |\n\nExample:\n\n```json\n{\n  \"type\": \"table\",\n  \"columns\": [\n    {\n      \"name\": \"Name\",\n      \"type\": \"string\"\n    },\n    {\n      \"name\": \"Age\",\n      \"type\": \"number\"\n    }\n  ],\n  \"rows\": [\n    {\n      \"Name\": \"Alice\",\n      \"Age\": 30\n    },\n    {\n      \"Name\": \"Bob\",\n      \"Age\": 40\n    }\n  ],\n  \"style\": { \"backgroundColor\": \"lightGray\" }\n}\n```\n\n##### Image Item\n\nAn image to be displayed in the panel.\n\n| Parameter | Value  | Optional | Description                      |\n|-----------|--------|----------|----------------------------------|\n| `type`    | String | No       | Must be `\"image\"`.               |\n| `url`     | String | No       | The URL of the image to display. |\n| `style`   | Object | Yes      | The CSS style definition.        |\n\nExample:\n\n```json\n{\n  \"type\": \"image\",\n  \"url\": \"https://example.com/images?purchaseId=012345\",\n  \"style\": { \"backgroundColor\": \"white\" }\n}\n```\n\n##### Video Item\n\nA video to be displayed in the panel.\n\n| Parameter | Value  | Optional | Description                      |\n|-----------|--------|----------|----------------------------------|\n| `type`    | String | No       | Must be `\"video\"`.               |\n| `url`     | String | No       | The URL of the video to display. |\n| `style`   | Object | Yes      | The CSS style definition.        |\n\nExample:\n\n```json\n{\n  \"type\": \"video\",\n  \"url\": \"https://example.com/video.mp4\",\n  \"style\": { \"backgrou","readmeFilename":"README.md"}